带有静态 html 的 gh-pages 在文件存在时无法访问它

gh-pages with static html can't access file when it exists

index.html 主页显示正常,但是任何 link 都会抛出 404。

静态网站有包含 html 的文件夹,索引 link 到这些 html 的路径正确,但显示 404。

当点击 this link 时,我收到了 404。

但是文件在您 can see here 时存在。

我真的在用一个简单的 html pb 敲脑袋,这令人沮丧。

好吧,虽然我可以在这里回答我自己的问题。

Github 页面不允许多个静态 HTML 文件。

老实说,这在他们的文档中不是很清楚,但解决方案很简单:

假设您的本地静态文档工作正常,只需按照以下步骤操作:

安装 jekyll

gem install jekyll bundler

添加一个文件_config.yml

在您的 docs 或您的 gh-pages 分支的根目录中,内容如下:

auto: true

执行jekyll serve

并测试这是否在控制台输出的 url 上正常工作

在你的 .gitignore

添加 _site

推和宾果游戏!

如果你像我一样使用 typedoc 将打字稿编译成漂亮的文档,你将 运行 惹上麻烦。

因为 Jekyll 会自动从构建中排除任何以 _ 开头的文件,而 typedoc 只生成那个,我写了一个 simple yeoman generator 来为你做所有的替换。

我自己 运行 解决了这个问题,最终发现了一个更简单的解决方案。问题是Jekyll ignores all files that start with _。简单的解决方案是将 .nojekyll 文件添加到您的文档目录。

我的文档脚本如下所示: "rimraf ./docs && typedoc src/ --out docs --mode modules --module commonjs --target es6 --excludePrivate && touch ./docs/.nojekyll && gh-pages -d docs -t"

touch 是一个创建文件的 npm 模块,gh-pages 上的 -t 标志是上传该点文件所必需的。