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


目录
相关文章
|
28天前
|
搜索推荐 程序员 调度
精通Python异步编程:利用Asyncio与Aiohttp构建高效网络应用
【10月更文挑战第5天】随着互联网技术的快速发展,用户对于网络应用的响应速度和服务质量提出了越来越高的要求。为了构建能够处理高并发请求、提供快速响应时间的应用程序,开发者们需要掌握高效的编程技术和框架。在Python语言中,`asyncio` 和 `aiohttp` 是两个非常强大的库,它们可以帮助我们编写出既简洁又高效的异步网络应用。
107 1
|
24天前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
48 2
|
27天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第6天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先简述了API的重要性及RESTful API的设计理念,接着详细说明了Flask框架的基础知识、环境准备、创建基本应用、定义资源和路由、请求与响应处理以及错误处理等内容。通过具体示例,展示了如何实现常见的HTTP方法,如GET、POST、PUT和DELETE,以操作“图书”资源。最后,提供了运行和测试API的方法,总结了Flask在构建API方面的优势。
34 3
|
2天前
|
弹性计算 数据管理 数据库
从零开始构建员工管理系统:Python与SQLite3的完美结合
本文介绍如何使用Python和Tkinter构建一个图形界面的员工管理系统(EMS)。系统包括数据库设计、核心功能实现和图形用户界面创建。主要功能有查询、添加、删除员工信息及统计员工数量。通过本文,你将学会如何结合SQLite数据库进行数据管理,并使用Tkinter创建友好的用户界面。
从零开始构建员工管理系统:Python与SQLite3的完美结合
|
15天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
8天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
20 2
|
9天前
|
数据采集 存储 机器学习/深度学习
构建高效的Python网络爬虫
【10月更文挑战第25天】本文将引导你通过Python编程语言实现一个高效网络爬虫。我们将从基础的爬虫概念出发,逐步讲解如何利用Python强大的库和框架来爬取、解析网页数据,以及存储和管理这些数据。文章旨在为初学者提供一个清晰的爬虫开发路径,同时为有经验的开发者提供一些高级技巧。
10 1
|
11天前
|
存储 人工智能 数据挖掘
Python编程入门:构建你的第一个程序
【10月更文挑战第22天】编程,这个听起来高深莫测的词汇,实际上就像搭积木一样简单有趣。本文将带你走进Python的世界,用最浅显的语言和实例,让你轻松掌握编写第一个Python程序的方法。无论你是编程新手还是希望了解Python的爱好者,这篇文章都将是你的理想起点。让我们一起开始这段奇妙的编程之旅吧!
16 3
|
10天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
22 1
|
19天前
|
消息中间件 监控 网络协议
Python中的Socket魔法:如何利用socket模块构建强大的网络通信
本文介绍了Python的`socket`模块,讲解了其基本概念、语法和使用方法。通过简单的TCP服务器和客户端示例,展示了如何创建、绑定、监听、接受连接及发送/接收数据。进一步探讨了多用户聊天室的实现,并介绍了非阻塞IO和多路复用技术以提高并发处理能力。最后,讨论了`socket`模块在现代网络编程中的应用及其与其他通信方式的关系。