使用 gitee+sphinx+readthedocs 搭建个人博客

2024-01-12 11:04

本文主要是介绍使用 gitee+sphinx+readthedocs 搭建个人博客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

给大家安利如何快速搭建个人博客网站!

 

 

前言

sphinx.gif

这是我本地运行的一个使用sphinx构建的博客服务,这些文章,都是用markdown写的。

一直有个想法,就是把自己写的这些文件,搞成一个博客网站,放到网上,但是,一想,要搞个域名、一个服务器,这样长期运营维护,成本有些高。再一个,个人技术博客,独立地址,百度中抓取率可能也不高,结果就是花了大成本,结果自嗨,别人搜索、访问不到,所以,一直没有行动。

最近,发现用 gitee + sphinx + readthedocs 可以低学习成本,免资金投入,长期运营。今天,就来把这个技术分享给大家。

解决方案介绍

gitee,是国内免费的代码托管平台,相比github在国内,有更快的访问速度,全中文界面,对国人,更友好。

sphinx,是一个功能强大的文档生成器,具有许多用于编写技术文档的强大功能。

readthedocs,是一个免费在线文档托管范围平台,可以使用二级域名显示个人博客。

具体操作

  • Ⅰ、首先在gitee上创建一个开源项目

  • Ⅱ、下载项目,并配置python3环境

    • 建议使用虚拟运行环境
  • Ⅲ、安装sphinx

    • 在虚拟环境中安装sphinx pip install sphinx
      • **如果想在本地调试运行查看效果,需要安装sphinx-autobuild: pip install autobuild
    • 安装docutils: pip install docutils
    • 如果自己使用的markdown编写的文档,需要安装myst-parser: pip install myst-parser

    环境安装好之后,可以使用 sphinx-quickstart . 创建项目架构
    项目创建好之后,会在当前路径下生成如下文件结构:

    项目名称
    |————build
    |————makde.bat
    |————Makefile
    |————source|————_static|————_templates|————conf.py|————index.rst
     

    build文件夹: 生成的文件的输出目录

    source文件夹: 存放文档源文件

    _static文件夹: 静态文件目录

    _template文件夹: 模板目录

    conf.py文件: 进行sphinx配置的文件

    index.rst文件: 文档项目的起始文件,用于配置整个项目文档结构

    make.bat文件: Windows命令行中编译用的脚本

    Makefile文件: 编译脚本,make命令使用

  • Ⅳ、修改配置文件

    • 修改index.rst文件
    一级目录
    ============.. toctree:::maxdepth: 2文档名称或rst文件路径
    

    rst文件中,在双下划线或单下划线 上面一行的是一级目录;空行;“.. toctree::” 这是一个固定写法,代表这是目录树根;“:maxdepth: 2” 代表下面下面文档在目录树中显示几级目录;空行;你的文档名称(不带后缀)或者rst文件路径(不带后缀),不能顶行写,要与上面的“:maxdepth:”起始位置对齐。

    如果,你想做出分类的效果,上面这个模板,可以再复制粘贴到文件下面。如下图:

    Snipaste20230110125015.png

    • 修改conf.py文件

      • 这是项目的一个重要配置文件,具体配置参数,可以安装官方帮助来。如下图:

      Snipaste20230110125721.png

      • 在这个配置文件中,“html_theme”可以配置HTML的主题样式,默认是‘alabaster’,如果觉得这个主题样式自己不喜欢,可以去找自己喜欢的主题样式,然后,根据主题样式的帮助文档,使用主题。
  • Ⅴ、用markdown编写文档

    • 用markdown的编辑器编写你自己的md文档。
    • 把写好的md文件,放到项目的source文件夹下,再编辑index.rst文件,在文件中,添加md文件名称。这种方式,很简单、快捷。但是,一旦md文件多了,管理上就会有诸多不便。
    • 也可以在source文件夹下,自己创建文件夹,把md文件丢在自己建的文件夹中,分类管理,md文件中,有图片,也可以在md同级建文件夹管理图片,然后在index.rst文件中,添加“文件夹名/md文件名”,这种方式添加文件,或者,在新建的文件夹下,再新建一个rst文件,安装文章图1中的配置写法管理。
  • Ⅵ、本地测试(可选)

    • 这个步骤,不是必须的,但是建议还是本地测试一下,测试通过了,才正式用readthedocs来发布。
    • 安装sphinx-autobuild: pip install sphinx-autobuild
    • 执行: sphinix-autobuild.exe .\source\ .\build\html (windows系统) 这样,就会自动编译。编译通过,可以通过http://127.0.0.1:8000 来访问,看下效果。 如果觉得是界面效果不满意,可以去更换主题。
  • Ⅶ、在readthedocs上导入项目

    • 在导入readthedocs之前,需要把项目中安装的库生成到requirements.txt文件中。如:
     
    =====下面是requirements.txt文件中的内容=====
    sphinx
    docutils
    myst-parser
    
     
    • 上传已经通过自己验证之后的项目文件到gitee。build文件夹下的内容,可以不用上传。(github也是类似)
    • 访问 www.readthedocs.org 网站,注册一个账户,登录
    • 点击【导入一个项目】> 【手动导入】
    • 填写项目名称、gitee的项目路径(不带.git)、默认分支(master)
      • 注意: 这个项目名称将作为博客访问的readthedocs的二级域名,为了好记住,用英文,不要太长,与gitee上的项目名称没有关系,可以不同名。
    • 在readthedocs中找到自己导入的项目的【构建】,点击【构建版本】,此时就会开始构建。
      • 注意: readthedocs默认配置,构建项目时,会构建sphinx-HTML、PDF、EPUB 三种,如果你项目中的文档、图片较少,构建这三个没有问题。但是如果你项目文档、图片都比较大,可能会报错,可以在readthedocs项目的【管理】> 高级设置 中取消 PDF、EPUB的构建。
      • 注意: 因为readthedocs也是国外服务,在国内,可能也会出现访问慢或无法访问、或没有及时更新博客界面情况,只要构建成功,24小时后,再访问。



这篇关于使用 gitee+sphinx+readthedocs 搭建个人博客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/597661

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma