在这篇文章中,我分享为什么我现在选择了Jekyll和GitHub页面来构建这个博客。
当我年纪大了时,我已经积累了我所做或试图做的几十个项目。其中大多数失败或不超越快速原型。然而,在几乎所有的人中,我学到了一些新技术,最终这些学习是这些侧面项目的最有价值的结果。
完全控制网页。只要我强烈地相信分散的网络,而不是像Facebook或媒介这样的托管服务。
“只是工作”。我想要一个系统,让我专注于写作而不是运行网站。
良好的人体工程学。我希望能够编写Markdown并拥有一个相当良好的格式化网站,而不是直接编写HTML。
我了解GitHub页面,让您直接从GitHub存储库主持静态网站。这适合我的需求非常好,因为它会抽出大部分运行网站的工作,如果我希望将来可以轻松地将其迁移到我自己的服务器。
但是,GitHub页面要求内容在HTML中,这对我来说并不是符合人体工程学的。我的第一个倾斜是编写一些简单的代码来将标记文件转换为HTML,并自动使用GitHub操作构建它。当我开始思考如何思考如何代码列出帖子时的基本功能以及所有页面上的布局重新使用时,这开始变得更加复杂。我想专注于写作这个项目的人类,而不是写更多的代码。
然后,我在做一些关于这些要求的研究后,我现在发现了Jekyll。它确实听起来就像我想要的那样,但我最初被一个似乎过于复杂的存储库的榜样推出。它有一个巨大的配置文件和许多功能,如链接Facebook,LinkedIn,Google+(!!!),Twitter,Google Analytics等,我担心进入技术兔洞。
尽管如此,我决定在jekyll中学到一点是jekyll作为从头开始创造一些东西的替代方案也不那么简单。我很高兴我做了。 Jekyll优雅,具有非常简单的规则和功能,使我能满足我所有的需求:
URL:存储库根目录上名为foo.html或foo.md的文档将在您的网站上生成相应的/ foo页面。
布局:只需在_layouts文件夹上创建名为foo.html的文件即可重新使用布局,然后添加到要使用它的页面的标题或其他布局。该页面将在布局文件上替换{{content}}。
帖子页面:_POSTS文件夹中创建的Markdown文件,格式Yyyy-mm-ddd-title.md将创建一个博客文章。可以使用永久链接配置设置POSTS URL。在本网站中,我有配置为/博客/:title /,所以命名_posts / 2021-01-01-hello-world.md的文件将具有链接/博客/ hello-world。
帖子摘要:您可以使用任何页面中使用site.posts变量循环循环。每个帖子都有标题,也可以自动生成的摘录在列出所有帖子的页面上。
自动推送:Jekyll现在附带预先构建的GitHub动作,以自动构建网站,从而在更改任何文件后在几秒钟内反映您的GitHub页面。无需终端:)。
开发环境:为了快速在本地机器上进行更改并查看结果,您只需安装Ruby 2.7,这个Gem:Gem安装GitHub页面并运行Jekyll服务 总而言之,现在使用Jekyll并删除其膨胀一直是一个很好的解决方案,使我能够灵活地向我不得不开放。 您可以在此处查看此博客的最终代码。 于2021年4月11日撰写