Python利用sphinx构建个人博客

简介:

一、基础概念

利用sphinx+pandoc+github+readthedocs构建个人博客

  • Sphinx: 是一个基于ReStructuredText的文档生成工具,可以令人轻松的撰写出清晰且优美的文档, 由Georg Brandl在BSD许可证下开发。新版的Python文档就是由Sphinx生成的,并且它已成为Python项目首选的文档工具,同时它对C/C++项目也有很好的支持;并计划对其它开发语言添加特殊支持。
  • Read the Docs是一个在线文档托管服务,可以从各种版本控制系统中导入文档。支持webhooks,当你提交代码时,文档将被自动构建。
  • Pandoc:pandoc是一款开源转换工具,可以实现常见的格式转换。支持全平台操作,以命令行的方式进行转换。

二、流程

Sphinx + GitHub + ReadtheDocs 作为一个文档写作工具,利用pandoc文本转换, 用Sphinx生成文档,GitHub托管文档,再导入到 ReadtheDocs。我们可以使用这个工具写文档、记笔记等。

三、实施部署

3.1 安装环境

此处利用的centos7.4 系统默认python版本2.7

[root@xuel-server ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@xuel-server ~]# python --version
Python 2.7.5
需要安装git

3.2 pip 安装sphinx环境

pip install sphinx sphinx-autobuild sphinx_rtd_theme

3.3 初始化项目

mkdir /mywike && cd /mywiki
sphinx-quickstart                 # 执行初始化,以下为自己输入,其他可按照默认直接回车
> Separate source and build directories (y/n) [n]: y    # 创建source目录
> Project name: KaliArch SHELL BLOG         # 项目名称
> Author name(s): KaliArch                  # 作者名称
> Project release []: 1.0                   

3.4 目录结构

[root@xuel-server mywike]# tree 
.
├── build           #文件夹,当你执行make html的时候,生成的html静态文件都存放在这里
├── make.bat
├── Makefile        #编译文件用 make 命令时,可以使用这些指令来构建文档输出
└── source          #文件夹,文档源文件全部应全部放在source根目录下
    ├── conf.py     #Sphinx 的配置文件
    ├── index.rst
    ├── _static
    └── _templates

3.5 修改配置文件

开启sys和os模块

* 配置主题
html_theme = 'alabaster'
* 支持LaTeX
* 支持中文检索
extensions = ['chinese_search']

source_suffix = ['.rst', '.md']

由于修改模板较麻烦可以直接git clone我的模板进行简单修改即可

博客git地址

3.6 安装第三方模块

yum install python-devel  
pip install -r requirements.txt -i https://pypi.douban.com/simple/

如果报错可能由于下载超时,重新执行即可。

3.7 利用pandoc安装

pandoc下载地址

cd /usr/local
wget -c https://github.com/jgm/pandoc/releases/download/2.2.3.2/pandoc-2.2.3.2-linux.tar.gz
ln -sv pandoc-2.2.3.2 pandoc
echo "export PATH=\$PATH:/usr/local/pandoc/bin" >/etc/profile.d/pandoc.sh
source /etc/profile.d/pandoc.sh

3.8 利用pandoc转换文件

利用pandoc将之前的markdown格式的博客源文件转换成rst格式

pandoc -s -t rst --toc markdown.md -o index.rst
[root@xuel-server source]# pandoc -s -t rst --toc myshell-note.md -o myshell-note.rst
[root@xuel-server source]# ls
conf.py  index.rst  myshell-note.md  myshell-note.rst  _static  _templates

编辑index.rst,进行引用文件

.. toctree::
   :maxdepth: 2
   :caption: Contents:

   myshell-note

3.9 编译生成html文件

cd /mywiki
make html    # 生成网页文件

[root@xuel-server build]# ls
doctrees  html

3.10 将页面项目托管至github

如果不会github可以参考git笔记

3.11 关联github和read the docs

如果没有readthedocs账号可以通过github账号登陆

readthedocs登陆地址

  • 管理github

  • 导入代码库
  • 项目编译
  • 可以通过连接地址查看博客

四、查看

链接地址:

日常博客

myshell-note


目录
相关文章
|
1天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
15 3
|
6天前
|
JSON API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
13 6
|
6天前
|
Python
使用Python和Flask构建简单的Web应用
使用Python和Flask构建简单的Web应用
18 6
|
5天前
|
数据可视化 数据处理 开发者
构建高效的数据流图:Python与PyGraphviz的实践
【9月更文挑战第13天】在本文中,我们将探索如何利用Python和PyGraphviz库来创建和操作数据流图。我们将通过一个具体示例,展示如何从零开始构建一张数据流图,并讨论如何优化图表以提高可读性。文章旨在为初学者提供一个清晰的入门指南,同时为有经验的开发者提供一些高级技巧。
|
8天前
|
消息中间件 Kafka 数据安全/隐私保护
Python IPC实战指南:构建高效稳定的进程间通信桥梁
【9月更文挑战第11天】在软件开发中,随着应用复杂度的提升,进程间通信(IPC)成为构建高效系统的关键。本文通过一个分布式日志处理系统的案例,介绍如何使用Python和套接字实现可靠的IPC。案例涉及定义通信协议、实现日志发送与接收,并提供示例代码。通过本教程,你将学会构建高效的IPC桥梁,并了解如何根据需求选择合适的IPC机制,确保系统的稳定性和安全性。
24 5
|
10天前
|
JSON 安全 数据安全/隐私保护
实战指南:Python中OAuth与JWT的完美结合,构建安全认证防线
【9月更文挑战第9天】当今互联网应用的安全性至关重要,尤其在处理用户数据和个人隐私时。OAuth 和 JWT 是两种广泛使用的认证机制,各具优势。本文探讨如何在 Python 中结合 OAuth 和 JSON Web Tokens (JWT) 构建安全可靠的认证系统。OAuth 允许第三方应用获取有限访问权限而不暴露用户密码;JWT 则是一种轻量级数据交换格式,用于安全传输信息。结合使用这两种技术,可以在确保安全性的同时简化认证流程。
11 4
|
8天前
|
存储 安全 数据库
双重防护,无懈可击!Python AES+RSA加密方案,构建最强数据安全堡垒
【9月更文挑战第11天】在数字时代,数据安全至关重要。AES与RSA加密技术相结合,构成了一道坚固防线。AES以其高效性保障数据加密,而RSA则确保密钥安全传输,二者相辅相成,提供双重保护。本文通过Python代码示例展示了这一加密方案的魅力,强调了其在实际应用中的重要性和安全性。使用HTTPS等安全协议传输加密密钥和密文,确保数据在数字世界中自由流通而无忧。
19 1
|
10天前
|
数据采集 JavaScript 前端开发
构建你的首个Python网络爬虫
【9月更文挑战第8天】本文将引导你从零开始,一步步构建属于自己的Python网络爬虫。我们将通过实际的代码示例和详细的步骤解释,让你理解网络爬虫的工作原理,并学会如何使用Python编写简单的网络爬虫。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开网络数据获取的新世界。
|
14天前
|
算法 程序员 Linux
Python编程入门:构建你的第一个程序
【9月更文挑战第4天】编程是现代技术发展的基石,而Python作为一门简洁、易学且功能强大的编程语言,已成为众多初学者的首选。本文将引导你通过一个简单的Python程序,探索编程世界的奥秘,并了解如何利用Python实现基本的算法逻辑。无论你是完全的新手还是希望巩固基础的开发者,这篇文章都将为你提供一个清晰的学习路径。从安装Python环境开始,到编写第一个程序,我们将一步步揭开编程的神秘面纱。
|
18天前
|
数据采集 JavaScript 前端开发
构建简易Python爬虫:抓取网页数据入门指南
【8月更文挑战第31天】在数字信息的时代,数据抓取成为获取网络资源的重要手段。本文将引导你通过Python编写一个简单的网页爬虫,从零基础到实现数据抓取的全过程。我们将一起探索如何利用Python的requests库进行网络请求,使用BeautifulSoup库解析HTML文档,并最终提取出有价值的数据。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开数据抓取的大门。