如何从GitHub Pages的自动生成器中获取多页面站点?

35

我正在使用 GitHub Pages 的 "自动生成器",我发现它只会生成一个 index.html 文件和其他网页资源。

如果我想要从其他 Markdown 文件生成多个页面的网站,该怎么做呢?


1
这不是一个答案,但如果你有Dropbox的话,你可能会喜欢Scriptogr.am提供的这个功能。对于Markdown和Github,你真的需要一个静态网站生成器,比如jekyll。GitHub Pages的描述方式有点误导。 - Chris Bosco
7个回答

23
您可以通过确保 .markdown 文件的顶部以----块开头来让 Github 生成 .html 文件,如下所示:
您可以通过确保 .markdown 文件的顶部以----块开头来让 Github 生成 .html 文件,如下所示:
---
title: This will be used as the title-tag of the page head
---

hello
=====

**You are here!**

在这里找到了这个链接:http://xlson.com/2010/11/09/getting-started-with-github-pages.html


此外,请务必不要像我一样犯同样的愚蠢错误;确保您已经检出了分支,无论是master还是gh-pages,这取决于您的仓库实际提供的服务! - Nate Anderson

16
如果你包含 Markdown 文件,Github 将会自动为你创建页面。
以下是对应的 URL:
- index.html - yourname.github.io/project-name/ - about.md - yourname.github.io/project-name/about - foo.md - yourname.github.io/project-name/foo 我测试过这个方法,并且有效。
如果想要更深入地玩弄页面,你需要了解 Jekyll。请访问http://jekyllrb.com/

4
你可以拉取生成的页面,进行任何修改和添加(包括添加新页面和页面之间的链接),然后提交和推送。
生成的单个页面可以帮助你开始。你可以手动复制其布局,生成其他外观类似的页面。 请参见帮助

2
很遗憾它只能“帮我开始”,因为之后我需要在我的项目网站上进行双倍的工作,以保持README.md、维基和网站同步。 它可能在开始时有所帮助,但之后可能会变得无用。 我错了吗? - Luigi R. Viggiano
1
我不明白。你希望它能为你保持一切同步,并自动生成内容吗? - JB Nizet
2
如果我的项目中有许多Markdown源文件,为什么不能使用多个页面重新生成网站呢?当我在master分支上更改某些内容后,只需重新生成gh-pages即可自动更新网站。这就是文档生成的美妙之处,不是吗? 顺便说一句,即使对于初学者来说,单个页面也是相当有限制性的。 - Luigi R. Viggiano
@LuigiR.Viggiano 如果你想要的是魔法,也许你需要的不是一个静态网站,而是一个通过JavaScript和GitHub API动态获取README当前状态并即时生成HTML内容的网站。这绝对是可行的,并且在更新README时可以省去任何同步工作的负担。 - Ivan Zuzak
首先,您可以像这里描述的那样将布局与内容分开:https://dev59.com/R2Yr5IYBdhLWcg3wAFrE#14835530然后,您可以使用脚本生成多个页面,并在其中替换链接。我将其作为自定义脚本完成,但制作通用解决方案并不太困难:https://github.com/epoberezkin/ajv/blob/gh-pages/generate - esp

4

3
  • GitHub Pages自动生成器只生成一个页面。
  • 您可以直接添加新文件,Github页面会为您发布所有数据(包括子文件夹内的数据)。

1

我刚刚制作了gh-pages-generator - 这个工具可以根据多个相互链接的Markdown文件生成带有导航的网站。


0
“Github Pages” 是从 index.md / readme.md 作为主页托管网页的。但是如果你有一个 index.html 文件,那么它就会从 html 文件中托管。然而,如果你想使用 “Jekyll themes” 托管多页面网站,则 Jekyll 主题不会直接部署在子页面中。
情况 1) 你正在使用 markdown 来托管你的页面。 index.md -> 主页 page1.md -> 你的网站第一页 ... 以此类推
为了生成一个使用 Github Page 的多页面网站,只需给出所需页面的相对路径,不包括扩展名。例如,制作一个按钮。
<a href="./page1">Go to next page</a>

点击此按钮,您将被重定向到已部署Jekyll主题的page1页面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接