使用 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小时后,再访问。



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/339583.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全新小白菜QQ云端机器人登录系统源码 /去除解密授权学习版源码

源码介绍: 全新小白菜QQ云端机器人登录系统源码,是一款经过全面解密的授权学习版源码。 这款源码已解除了授权版的限制,然而许多人可能对其用途并不了解。实际上,该源码主要面向群机器人爱好者设计。它是一个基于挂机宝机器人框…

理解Herbrand Equivalence

笔者最近在看GVN的一系列论文,总会看到一个概念叫Herbran Equivalence,依靠这种定义,能够判断一个GVN算法是否是complete的,也即检测一个算法是否是precise的,只有找到所有Herbrand Equivalence关系的算法才能称得上是…

SD-WAN如何实现广域网加速

随着企业的全球化和数字化转型,广域网(WAN)的性能和可靠性成为业务成功的关键因素。在这一背景下,软件定义广域网SD-WAN作为一种先进的网络技术,被广泛应用于提升广域网的加速效果。本文将深入探讨SD-WAN是如何实现广域…

CSCD期刊目录中,审稿及出版效率均较好的10本医药期刊推荐!

常笑医学整理了适合医、药、护、技及医学工程等人员进行论文投稿的中国科学引文数据库(CSCD)中的10本医药期刊, 以及期刊详细参数,供大家参考。 1.《中国实用内科杂志》 (详细投稿信息请点击刊物名称查看) …

本地远程实时获取无人机采集视频图像(天空端 + jetson nano + 检测分割 + 回传地面端显示)

无线图传设备介绍 2、jetson nano天空端数据采集检测保存 3、本地回传显示 1、无线图传设备介绍 由于本设计考虑将无人机得到检测结果实时回传给地面站显示,因此需要考虑一个远程无线通信设备进行传输。本设计采用思翼HM30图传设备。通过无线图传的wifi将天空端的桌…

HMM算法(Hidden Markov Models)揭秘

序列数据 机器学习的数据通常有两类,最常见的是独立同分布数据,其次就是序列数据。对于前者,一般出现在各种分类/回归问题中,其最大似然估计是所有数据点的概率分布乘积。对于后者,一般出现在各种时间序列问题中&…

基于Java SSM框架实现高校校园点餐系统项目【项目源码+论文说明】

基于java的SSM框架实现高校校园点餐系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&a…

SSL证书链是什么?SSL证书链如何工作?

SSL证书链作为公钥基础设施(PKI)的一项关键功能,它支持许多与安全相关的服务,包括数据机密性、数据完整性和最终实体身份验证,它使得互联网上的安全在线通信成为可能。那么SSL证书链是什么?SSL证书链如何工…

应用GIS进行生态敏感性评价

生态环境敏感性是指生态系统对区域内自然和人类活动干扰的敏感程度,它反映区域生态系统在遇到干扰时,发生生态环境问题的难易程度和可能性的大小,并用来表征外界干扰可能造成的后果。即在同样干扰强度或外力作用下,各类生态系统出…

盲盒小程序能够为企业商家带来哪些优势?

近几年,盲盒深受大家关注,现在在各大商场中,盲盒的身影也处处可见,商家也因此获得了一定的利润。 随着人们生活消费水平的提高,消费者在消费中也逐渐追求新颖的消费模式,而盲盒的未知性特点,恰…

力扣 | 139. 单词拆分

主要是要注意组合的顺序是任意的&#xff01;所以就要先选择目标字串&#xff0c;再选择wordDict public boolean wordBreak(String s, List<String> wordDict) {// dp[i]: 表示前 i 个字符组成的子串是否可以被 wordDict 中的字符串组合而成boolean[] dp new boolean[s…

了解开源协议吗,简单介绍下开源协议

简单图解 开源协议的简单图解 列表图解