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

news/2024/5/17 20:09:28 标签: gitee, sphinx, 个人博客搭建

 

 

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

 

 

前言

<a class=sphinx.gif" height="972" src="https://img-blog.csdnimg.cn/img_convert/01a2d61fea7deaef2f44365c3a8566db.gif" width="1200" />

这是我本地运行的一个使用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.niftyadmin.cn/n/5318719.html

相关文章

JWT---JSON Web Token

JSON Web Token是什么 JSON Web Token (JWT)是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任&#xff0c;因为它是数字签名的。 JSON Web Token的结构是什么样的 JSON…

构建基于RHEL9系列(CentOS9,AlmaLinux9,RockyLinux9等)的MySQL8.0.32的RPM包

本文适用&#xff1a;rhel9系列&#xff0c;或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期&#xff1a;2023年 因系统版本不同&#xff0c;构建部署应略有差异&#xff0c;但本文未做细分&#xff0c;对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…

1.12寒假集训

A: 解题思路&#xff1a; 输出整体可以分成两部分&#xff1a; 第一部分循环3*n次&#xff0c;第一部分又可以分成三个部分&#xff0c;分别是*,.,*&#xff0c;分别循环n,2 * n,n次 第二部分循环n次,又可以分成五个部分&#xff0c;.,*,.,*,.,循环i,n(n - i) * 2,n,i次 下…

如何把本地项目一次性上传github(避免一个一个上传)

一、方法如下&#xff08;亲测有效&#xff09;&#xff1a; 如何把本地项目上传github_本地已有工程上传github-CSDN博客 执行成功截图如下&#xff1a; 二、如果按照上面链接遇到问题&#xff1a; 问题0&#xff1a; 上面链接方法最后一步执行后&#xff0c;提示不能访问g…

【期末不挂科-单片机考前速过系列P9】(第九章:11题中断系统的工作原理及应用)经典例题盘点(带图解析)

前言 大家好吖&#xff0c;欢迎来到 YY 滴单片机期末速过系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过单片机的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》…

Vue入门五(Vue-CLI项目搭建|vue项目目录介绍|vue项目开发规范|es6导入导出语法)

文章目录 一、Vue-CLI 项目搭建介绍node环境搭建1) 下载与安装2&#xff09;测试是否安装成功 安装vue-cli安装vue脚手架 创建Vue项目1&#xff09;使用命令创建项目2&#xff09;使用图形化界面创建项目 二、vue项目目录介绍1.命令行运行vue项目2.Pycharm中运行项目3.目录结构…

【微信小程序开发】深入学习小程序开发之功能扩展和优化

前言 随着移动互联网的快速发展&#xff0c;微信小程序作为一种轻量级应用&#xff0c;已经逐渐成为许多企业和个人进行业务推广和服务提供的重要平台本文将详细介绍 微信小程序开发的功能扩展和优化&#xff0c;帮助开发者更好地提升小程序的用户体验和性能。 一、功能扩展 …

精选免费好用的API汇总推荐,开启高效开发之旅

短信验证码&#xff1a;支持三大运营商&#xff0c;支持大容量高并发。通知短信&#xff1a;当您需要快速通知用户时&#xff0c;通知短信是最快捷有效的方式。短信通知支持三大运营商以及虚拟运营商&#xff0c;我们提供电信级运维保障、独享专用通道。全国快递物流查询&#…