Conversation

trusktr

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 Pages.

As an example, https://docs.lume.io is published on 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 repo automatically updates the deployment using this 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!)

@trusktrtrusktr requested a review from sy-records January 22, 2023 19:00
@vercel

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

NameStatusPreviewCommentsUpdated
docsify-preview✅ Ready (Inspect)Visit Preview💬 Add your feedbackJan 26, 2023 at 6:39AM (UTC)

@codesandbox-ci

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:

SandboxSource
docsify-templateConfiguration

@trusktr

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

@trusktrtrusktr changed the title (WIP, DO NOT MERGE) routerMode:history for the docsify site routerMode:history for the docsify site Jan 22, 2023
@trusktr

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

@trusktrtrusktr requested a review from Koooooo-7 January 22, 2023 19:21
@trusktrtrusktr changed the title routerMode:history for the docsify site (WIP, NO MERGE) routerMode:history for the docsify site Jan 23, 2023
@trusktrtrusktr marked this pull request as draft January 23, 2023 01:19
@sy-records

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

@trusktr

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 Pages, which behaves in a different way: the 404.html page is needed on 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 Pages.

So, for vercel, the 404.html stuff is not needed, it is only for , 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 . Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.