Jekyll和GitHub Pages有什么区别?

3

我开始在GitHub pages上托管我的个人博客,Jekyll似乎是一个不错的选择。但是我必须在电脑上安装Jekyll吗?我认为Jekyll只提供了一种本地预览网站的方式。是否有可能仅通过使用GitHub pages来托管我的网站?


完全可以不使用Jekyll。GitHub Pages无论如何都会使用Jekyll来渲染您的文档,您不需要做任何特殊处理。但是,如果您想在本地预览您的网站,则安装Jekyll会有所帮助。如果您不介意不断提交到github存储库以在GitHub Pages上实时预览更改,则可以跳过此步骤。 - Terry
2个回答

5

关于您的标题问题:

GitHub Pages是GitHub的静态网站托管服务,可直接从您的GitHub存储库中提供个人页面或项目。Jekyll是一个静态网站生成器,可以从模板生成您的站点(请参阅下文)。

GitHub Pages自我定义:

GitHub Pages是通过[GitHub的]网站进行托管和发布的公共网页。参考资料

Jekyll自我定义:

Jekyll是一个简单的、博客感知的、静态网站生成器。它需要一个包含各种格式的原始文本文件的模板目录,通过转换器(如Markdown)和我们的Liquid渲染器运行它,并输出一个完整的、准备好发布的静态网站,适合使用您喜欢的Web服务器进行服务。Jekyll也恰好是GitHub Pages的引擎,这意味着您可以使用Jekyll免费从GitHub的服务器上托管您的项目页面、博客或网站。参考资料

关于您的问题:

我需要在我的电脑上安装Jekyll吗?

您不必安装Jekyll。但是,如果没有安装Jekyll,您只能通过提交到存储库来预览站点。如果您想在本地预览站点,则需要安装 Jekyll。这是一个链接,可以使用Jekyll在本地设置GitHub页面站点(请确保选择正确的操作系统)

详情:Jekyll的引擎已经并入了GitHub页面中,因此它会在内部运行jekyll build。将提交推送到您的存储库将触发Jekyll引擎重新构建您的站点。如果您希望本地服务和查看,则仍需要运行jekyll build jekyll serve等命令。

是否可能仅使用GitHub Pages托管我的网站?

是的。虽然GitHub页面为各种中间语言(例如Sass和CoffeeScript)提供本地支持的预编译,但任何其他未覆盖的语言都需要您在GitHub页面上正常提供之前进行预编译。


错误。您不需要 Jekyll 来使用 Github Pages。GitHub Pages 由 Jekyll 提供支持,因此 GitHub 将执行 Jekyll 通常执行的所有解析操作,但缺少一些功能和安装自定义 Jekyll 插件的能力。 - Terry
你的回答有些令人困惑。当楼主问到“但如果你必须在我的电脑上安装Jekyll”,你回答了“是的”,并解释说需要Jekyll来预编译文件。实际上,你不需要预编译任何东西。 - Terry
你说得对。我有点跳到像SCSS这样需要预编译的东西上了。那就是我所指的。Jekyll提供了一个gem来完成这个任务。如果没有Jekyll gem,那么就需要它。谢谢你的意见,我可以看出这可能会让人感到困惑。 - timolawl
很抱歉打破你的幻想,但自2014年以来,Github已经自动编译.scss文件,以及coffeescripts和SASS:https://github.com/blog/1867-github-pages-now-runs-jekyll-2-2-0 - Terry
我明白了。我的担忧仍然存在,因为它可能没有涵盖需要预处理的所有文件。我现在会更加通用地修正帖子。 - timolawl
显示剩余2条评论

0
是的,这是可能的。GitHub Pages支持最新版本的Jekyll。您可以参考此链接:https://blog.github.com/2014-07-30-github-pages-now-runs-jekyll-2-2-0/
  • 支持本地Sass和CoffeeScript - 只需将 .coffee, .sass 或者 .scss 文件提交至您的网站存储库中,GitHub Pages 将在发布站点时自动输出 JavaScript 或 CSS。
  • Kramdown作为默认的Markdown引擎 - 除了更好的错误处理外,Kramdown还支持MathJax、围栏代码块、嵌套列表、表格等众多功能。
  • Collections - 具有集合功能后, Jekyll 不再仅限于发布文章和页面,而且现在可以发布各种不同类型的文档,例如代码方法、团队成员或您最喜欢的开源项目。
  • JSON 数据 - 存储在 _data 目录下的 .json 文件现在被读取并暴露给Liquid模板作为site.data命名空间(与.yml文件一样)。

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