概要:
GitHub 是一个非常受欢迎的源代码控制Web服务,它使用Git将本地文件与GitHub服务器上保存的副本同步,这样您就可以轻松共享和备份您的工作。除了为代码存储库提供用户界面外,GitHub还使用户能够直接从存储库发布网页。GitHub推荐的网站生成包是用Ruby编写的Jekyll。对于Python的忠实粉丝, Pelican是不二之选。
这是一个基于Python的博客平台,可以很好地与GitHub配合使用。Pelican和Jekyll都将用Markdown或reStructuredText编写的内容转换为HTML以生成静态网站,两个生成器都支持允许无限制自定义的主题。
在本文中,将介绍如何安装Pelican,设置GitHub存储库,运行快速入门帮助程序,编写一些Markdown文件以及发布第一页。要学习本文,需要注册一个GitHub帐户,对基本的Git命令感到满意,并希望使用Pelican发布博客。
安装Pelican
首先,必须在本地计算机上安装Pelican(和ghp-import)。pip来安装是非常容易的,Python包安装工具:
接下来,打开浏览器并在GitHub上为您的新博客创建一个新的存储库。将其命名如下(在此处和本教程中,将您的GitHub用户名替换为):
使用命令行(命令行权限?),将空的Git存储库克隆到本地计算机:
强烈建议不要将所有Pelican配置文件和原始Markdown文件保留在master中,而不仅仅是web内容。所以将Pelican配置和原始内容保存在一个单独的分支中,称之为内容。
我喜欢这种结构,因为我可以丢弃master中的所有文件并使用内容分支重新填充它。
配置Pelican
现在是内容配置的时候了。Pelican提供了一个很棒的初始化工具,名为pelican-quickstart,它将向您提示设置博客的一系列选项。
可以在每个问题上采用默认值,除了:
网站标题,应该是独特和特殊的
网站作者,可以是个人用户名或您的全名
时区,按照你当地时区设置
上传到GitHub页面,在我们的案例中是“y”
在回答完所有问题后,Pelican将以下内容留在当前目录中:
推送博客
将所有Pelican生成的文件添加到本地Git仓库的内容分支,提交更改,并通过输入以下命令将本地更改推送到GitHub上托管的远程仓库:
这不是非常令人兴奋,但如果我们需要将编辑内容还原到其中一个文件,它将会很方便。
撰写博客
好的,现在你可以搞博客了!您的所有博文,照片,图片,PDF等都将位于内容目录中,该目录最初为空。要开始创建第一个帖子和带有照片的“关于”页面,请输入:
接下来,在您喜欢的文本编辑器中打开空文件first-post.md并添加以下内容:
前三行包含Pelican用于组织事物的元数据。你可以在那里放置许多不同的元数据; 再次,文档是您了解更多选项的最佳选择。
现在,打开空文件页面/ about.md并添加此文本:
您现在在内容目录中有三个新的Web内容。内容分支。这是很多内容。
发布博客
别担心; 收益即将到来!
剩下要做的就是:
运行Pelican以在输出中生成静态HTML文件:
使用ghp-import将输出目录的内容添加到主分支:
将本地主分支推送到远程仓库:
提交并将新内容推送到内容分支:
天哪,博客发布成功!
现在,当你看到你发布的内容供大家看时,令人兴奋的部分就在这里!打开浏览器并输入:
恭喜您的新博客,在GitHub上自行发布!只要您想添加更多页面或文章,就可以遵循此模式。
当然,良好的Pelican使用,绝对需要听取长期使用高手的诀窍,下面就给出几个能更好使用Pelican的诀窍。
Pelican的诀窍
自定义404页面
当浏览器请求Web服务器找不到的资源时,Web服务器通常显示通用的“未找到文件”(404)错误页面,该页面可能是鲜明且难看的。提供与您网站主题相匹配的错误页面的一种方法是创建自定义404页面,例如此Markdown格式示例:
下一步是配置Web服务器以显示此自定义页面而不是其默认的404页面。对于Nginx,将以下内容添加到配置文件的location块中:
对于Apache:
ErrorDocument 404 /404.html
发布到Github
GitHub Pages提供了一种简单方便的方式来发布Pelican站点。GitHub页面有两种类型:项目页面和用户页面。Pelican站点可以作为项目页面和用户页面发布。
项目页面
要将Pelican站点作为项目页面发布,您需要将output Pelican生成的目录内容推送到gh-pagesGitHub上的存储库分支。
可以安装的优秀ghp-importpip使这个过程非常简单。
例如,如果Pelican站点的源包含在GitHub存储库中,并且您希望以项目页面的形式将该Pelican站点发布到此存储库,则可以使用以下命令:
该命令使用目录的内容更新本地分支(如果该分支尚不存在,则创建分支)。该命令更新远程 分支,有效地发布Pelican站点。ghp-import outputgh-pagesoutputgit push origin gh-pagesgh-pages
用户页面
要以用户页面的形式发布Pelican站点,您需要将output Pelican生成的目录内容推送到GitHub上master的.github.io存储库分支。
再次,你可以利用ghp-import:
注意
要将Pelican站点发布为用户页面,请随意调整githubMakefile 的 目标。
自定义404页面
GitHub页面将显示上述自定义404页面,如相关GitHub文档中所述。
额外提示
提示#1:
要在每次提交时自动更新Pelican站点,您可以创建一个提交后挂钩。例如,您可以将以下内容添加到 .git/hooks/post-commit:
提示#2:
要在GitHub页面中使用自定义域,您需要将站点的域(例如 blog.example.com)放在CNAME站点根目录下的文件中。为此,请创建content/extra/目录并向其中添加CNAME文件。然后使用该STATIC_PATHS设置告诉Pelican将此文件复制到输出目录。例如:
注意:使用正斜杠/,即使在Windows上也是如此。
暗示
您还可以使用该EXTRA_PATH_METADATA机制放置favicon.ico或robots.txt在任何站点的根目录。
如何添加YouTube或Vimeo视频
最简单的方法是将来自这些网站的视频的嵌入代码直接粘贴到您的源内容中。
另外,您也可以使用Pelican插件,像liquid_tags, pelican_youtube或pelican_vimeo嵌入视频中您的内容。
此外,reST和Markdown等标记语言都有插件,可以让您在标记中嵌入视频。您可以将reST视频指令用于reST或mdx_video插件用于Markdown。
结束语:
谢谢大家的阅读。作为一个具有10多年互联网,大数据的技术开发者。近十年工作,主要在从事大数据架构工作,涉及人工智能开发。有兴趣的同学可以关注v信公众号:python_dada来关注我的知识输出。
领取专属 10元无门槛券
私享最新 技术干货