Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

(WIP, NO MERGE) routerMode:history for the docsify site #1968

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

Draft
trusktr wants to merge 3 commits into develop
base: develop
Choose a base branch
Loading
from routerMode-history-for-website

Conversation

Copy link
Member

@trusktr trusktr commented Jan 22, 2023
edited
Loading

Summary

This allows us to deploy the Docsify site to a static server that handles unknown URLs with a default 404.html page, for example GitHub Pages.

As an example, https://docs.lume.io is published on GitHub pages. Notice that the URLs are in history mode, and you can refresh the site while on any path, and it works. Pushing to the github repo automatically updates the deployment using this GitHub Actions file.

What kind of change does this PR introduce?

Repo settings

Docs

For any code change,

  • Related documentation has been updated if needed
  • Related tests have been updated or tests have been added

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing applications:

Related issue, if any:

Tested in the following browsers:

  • Chrome
  • Firefox
  • Safari
  • Edge
  • IE (nope!)

Copy link

vercel bot commented Jan 22, 2023
edited
Loading

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
docsify-preview ✅ Ready (Inspect) Visit Preview 💬 Add your feedback Jan 26, 2023 at 6:39AM (UTC)

Copy link

codesandbox-ci bot commented Jan 22, 2023
edited
Loading

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 2da44fa:

Sandbox Source
docsify-template Configuration

Copy link
Member Author

trusktr commented Jan 22, 2023

Nice, the deployment works fine with it! F.e. https://docsify-preview-ll3a2gp9v-docsifyjs.vercel.app/markdown

@trusktr trusktr changed the title (削除) (WIP, DO NOT MERGE) routerMode:history for the docsify site (削除ここまで) (追記) routerMode:history for the docsify site (追記ここまで) Jan 22, 2023
Copy link
Member Author

trusktr commented Jan 22, 2023

Old bookmarks will still work fine. Try the following (with a hash): https://docsify-preview-ll3a2gp9v-docsifyjs.vercel.app/#/language-highlight

@trusktr trusktr changed the title (削除) routerMode:history for the docsify site (削除ここまで) (追記) (WIP, NO MERGE) routerMode:history for the docsify site (追記ここまで) Jan 23, 2023
@trusktr trusktr marked this pull request as draft January 23, 2023 01:19
Copy link
Member

sy-records commented Jan 23, 2023
edited
Loading

Edit: see https://docsify-preview-git-routermode-history-for-website-docsifyjs.vercel.app/quickstart

It works fine, but doesn't seem to show 404.

image


Great job, but it seems that when using a browser to view the source code, it is a 404 page code, is this normal?
image

Copy link
Member Author

trusktr commented Jan 26, 2023
edited
Loading

Ah, you found an issue! There's actually two things happening in your screenshot:

1) For the vercel deploy, it is not using the 404.html trick, it is using vercel.json to rewrite URLs on the server. So for a path like /notexistspage, it sends back the content of /index.html. Here's a screenshot that shows status code 200, with index.html being returned:

Screenshot 2023年01月25日 at 10 33 21 PM

What we can do is update the vercel.json so that it will not rewrite a URL if it ends with .md, that way the client will receive 404 and will know what file to look for.

2) For docsify.js.org this is deployed on GitHub Pages, which behaves in a different way: the 404.html page is needed on GitHub in order to redirect to the root / path, then our Docsify JS code can load the content. Without this, routerMode:history won't function on GitHub Pages.

So, for vercel, the 404.html stuff is not needed, it is only for GitHub, and doesn't have the issue that Vercel does.

For Vercel, I'll update vercel.json so it'll do what we want with the .md lookups.

I've been experimenting on https://docs.lume.io. I'll bring back what I learn from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Reviewers

@sy-records sy-records Awaiting requested review from sy-records

@Koooooo-7 Koooooo-7 Awaiting requested review from Koooooo-7

At least 2 approving reviews are required to merge this pull request.

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /