
10个优秀的Python程序员里,有9个人都有写博客的习惯。这是非常好的习惯,它使得知识得以提炼,转输出为输入,在提升自己的同时,还能利用互联网易传播的特性,将知识分享给每一个热爱学习的人。这是值得每个程序员,投入时间和精力去坚持做下去的事。
博客既然是自己的一个知识宝库,那么索引将变得极为重要。通过自己的探索,小明发现了一个能够很好地满足这个需求的 Python 框架 Sphnix。
实现的大体的思路如下:

成品展示
这是首页。显示了你所有的文章索引。

导航栏结构很清晰,很方便索引。


点击文章后,还可以很方便查看标题,跳转。

体验下搜索功能,速度很快。

到底是如何实现的?
安装Sphnix
安装之前,请确认下Python版本。我这里使用的是Python 2.7.14,其他版本请自行尝试(Py3有点不一样,不想踩坑的,请跟我一样使用 Py2)。
安装Python工具包




解释下这些文件/夹:

配置及扩展


撰写文章










托管项目
看到网页的那一刻是不是相当激动。
不过别激动,这只是本地的,我们需要将其发布在线上。
这里我将工程文件,托管在GitHub上,然后由Read the Docs发布。
在托管之前呢,我们需要准备工作。在mkdocs根目录下,添加文件.gitignore(聪明的你,肯定知道这是什么),内容如下

发布上线
托管完成后,我们要发布它,让别人可以访问。
你需要先去 Read the Docs 注册下帐号。
关联一下GitHub

导入代码库。填好与你对应的信息。

构建网页后。右下方,你可以看见你的在线地址。

这里要提醒一下的是,Sphinx的文档格式,默认是 rst 格式,如果你习惯了使用Markdown来写文章,可以使用 Pandoc 这个神器转换一下。
这里给出转换命令。

网友评论