Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Add base href to each page to fix relative URLs #16046

merged 2 commits into from Jun 28, 2022


Copy link

@nzakas nzakas commented Jun 23, 2022

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[x] Documentation update
[ ] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

What changes did you make? (Give an overview)

This adds <base> to each page so relative URLs work correctly.

Fixes #15844

Is there anything you'd like reviewers to focus on?

Please double-check the deploy preview because this can't really be tested locally.

@eslint-github-bot eslint-github-bot bot added triage An ESLint team member will look at this issue soon bug ESLint is working incorrectly labels Jun 23, 2022
Copy link

netlify bot commented Jun 23, 2022

Deploy Preview for docs-eslint ready!

Name Link
🔨 Latest commit 0f12707
🔍 Latest deploy log
😎 Deploy Preview
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

@nzakas nzakas changed the title fix: Redirect on incorrect URL location docs: Add base href to each page to fix relative URLs Jun 23, 2022
@nzakas nzakas added the documentation Relates to ESLint's documentation label Jun 23, 2022
Copy link

@mdjermanovic mdjermanovic left a comment

This breaks UI in deploy previews, too. Maybe we should add <base> only in production builds?

Copy link
Member Author

nzakas commented Jun 25, 2022

Hmmm, that will make it impossible to know if there’s a problem until we push live, as we can’t really test locally either. There must be a way to make this work for deploy preview that will give us confidence that it will work live.

Copy link
Member Author

nzakas commented Jun 25, 2022

So this is a cross-origin fetch error, because the base URL is for, we can't load stuff from the deploy preview URL. Looking at this.

Copy link

mdjermanovic commented Jun 25, 2022

In deploy previews, if href in <base> is an absolute URL then it would have to match the real one, i.e. to start with for PR number 16046. Otherwise, all resources (css, js...) would be pulled from elsewhere, because <base> applies to everything. Per the MDN docs href in <base> can be relative, but I'm not sure if that would be representative for testing either.

Copy link

mdjermanovic commented Jun 25, 2022

We could maybe try with domain-relative URLs in href regardless of the context.

Copy link
Member Author

nzakas commented Jun 25, 2022

Turns out you can use a relative base URL, and that will work everywhere. 🎉

Copy link

@mdjermanovic mdjermanovic left a comment

LGTM! I don't see anything wrong in the deploy preview.

But the preview is doing trailing slash redirects, so it seems that the only way to find out if this fixes the issue is to merge and test with proxying on

Copy link

@snitin315 snitin315 left a comment

Let's try this in prod 🚀

@nzakas nzakas merged commit f50cf43 into main Jun 28, 2022
20 checks passed
@nzakas nzakas deleted the docs-url-fix branch Jun 28, 2022
Copy link

mdjermanovic commented Jun 28, 2022

This seems to work well! I checked relative links on and they are good now, unlike the links on the current page.

The only thing that looks a bit unusual on non-canonical URLs is that anchor-only links (href="#...", e.g., the links in Table of Contents) are now pointing to the canonical URL, so they'll open another page instead of just scrolling the current page. I think this is okay.

crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this issue Jul 4, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
| [eslint]( ([source]( | devDependencies | minor | [`8.18.0` -> `8.19.0`]( |


### Release Notes


### [`v8.19.0`](

[Compare Source](eslint/eslint@v8.18.0...v8.19.0)

#### Features

-   [`7023628`](eslint/eslint@7023628) feat: add importNames support for patterns in no-restricted-imports ([#&#8203;16059](eslint/eslint#16059)) (Brandon Scott)
-   [`472c368`](eslint/eslint@472c368) feat: fix handling of blockless `with` statements in indent rule ([#&#8203;16068](eslint/eslint#16068)) (Milos Djermanovic)

#### Bug Fixes

-   [`fc81848`](eslint/eslint@fc81848) fix: throw helpful exception when rule has wrong return type ([#&#8203;16075](eslint/eslint#16075)) (Bryan Mishkin)

#### Documentation

-   [`3ae0574`](eslint/eslint@3ae0574) docs: Remove duplicate rule descriptions ([#&#8203;16052](eslint/eslint#16052)) (Amaresh  S M)
-   [`f50cf43`](eslint/eslint@f50cf43) docs: Add base href to each page to fix relative URLs ([#&#8203;16046](eslint/eslint#16046)) (Nicholas C. Zakas)
-   [`ae4b449`](eslint/eslint@ae4b449) docs: make logo link clickable on small width screens ([#&#8203;16058](eslint/eslint#16058)) (Milos Djermanovic)
-   [`280f898`](eslint/eslint@280f898) docs: use only fenced code blocks ([#&#8203;16044](eslint/eslint#16044)) (Milos Djermanovic)
-   [`f5d63b9`](eslint/eslint@f5d63b9) docs: add listener only if element exists ([#&#8203;16045](eslint/eslint#16045)) (Amaresh  S M)
-   [`8b639cc`](eslint/eslint@8b639cc) docs: add missing migrating-to-8.0.0 in the user guide ([#&#8203;16048](eslint/eslint#16048)) (唯然)
-   [`b8e68c1`](eslint/eslint@b8e68c1) docs: Update release process ([#&#8203;16036](eslint/eslint#16036)) (Nicholas C. Zakas)
-   [`6d0cb11`](eslint/eslint@6d0cb11) docs: remove table of contents from markdown text ([#&#8203;15999](eslint/eslint#15999)) (Nitin Kumar)

#### Chores

-   [`e884933`](eslint/eslint@e884933) chore: use `github-slugger` for markdown anchors ([#&#8203;16067](eslint/eslint#16067)) (Strek)
-   [`02e9cb0`](eslint/eslint@02e9cb0) chore: revamp carbon ad style ([#&#8203;16078](eslint/eslint#16078)) (Amaresh  S M)
-   [`b6aee95`](eslint/eslint@b6aee95) chore: remove unwanted comments from rules markdown ([#&#8203;16054](eslint/eslint#16054)) (Strek)
-   [`6840940`](eslint/eslint@6840940) chore: correctly use .markdownlintignore in Makefile ([#&#8203;16060](eslint/eslint#16060)) (Bryan Mishkin)
-   [`48904fb`](eslint/eslint@48904fb) chore: add missing images ([#&#8203;16017](eslint/eslint#16017)) (Amaresh  S M)
-   [`910f741`](eslint/eslint@910f741) chore: add architecture to nav ([#&#8203;16039](eslint/eslint#16039)) (Strek)
-   [`9bb24c1`](eslint/eslint@9bb24c1) chore: add correct incorrect in all rules doc ([#&#8203;16021](eslint/eslint#16021)) (Deepshika S)
-   [`5a96af8`](eslint/eslint@5a96af8) chore: prepare versions data file ([#&#8203;16035](eslint/eslint#16035)) (Nicholas C. Zakas)
-   [`50afe6f`](eslint/eslint@50afe6f) chore: Included githubactions in the dependabot config ([#&#8203;15985](eslint/eslint#15985)) (Naveen)
-   [`473411e`](eslint/eslint@473411e) chore: add deploy workflow for playground ([#&#8203;16034](eslint/eslint#16034)) (Milos Djermanovic)
-   [`a30b66c`](eslint/eslint@a30b66c) chore: fix print style ([#&#8203;16025](eslint/eslint#16025)) (Amaresh  S M)
-   [`f4dad59`](eslint/eslint@f4dad59) chore: add noindex meta tag ([#&#8203;16016](eslint/eslint#16016)) (Milos Djermanovic)
-   [`db387a8`](eslint/eslint@db387a8) chore: fix sitemap ([#&#8203;16026](eslint/eslint#16026)) (Milos Djermanovic)
-   [`285fbc5`](eslint/eslint@285fbc5) chore: remove TOC from printable ([#&#8203;16020](eslint/eslint#16020)) (Strek)
-   [`8e84c21`](eslint/eslint@8e84c21) chore: remove ligatures from fonts ([#&#8203;16019](eslint/eslint#16019)) (Strek)



### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

 **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.


 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.


This PR has been generated by [Renovate Bot](

Co-authored-by: cabr2-bot <>
Reviewed-by: 6543 <>
Co-authored-by: Calciumdibromid Bot <>
Co-committed-by: Calciumdibromid Bot <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
bug ESLint is working incorrectly documentation Relates to ESLint's documentation triage An ESLint team member will look at this issue soon
None yet

Successfully merging this pull request may close these issues.

3 participants