使用 Python 30分钟 教你快速搭建一个博客

640?wx_fmt=png

10个优秀的程序员里,有9个人都有写博客的习惯。这是非常好的习惯,它使得知识得以提炼,转输出为输入,在提升自己的同时,还能利用互联网易传播的特性,将知识分享给每一个热爱学习的人。这是值得每个程序员,投入时间和精力去坚持做下去的事。

博客既然是自己的一个知识宝库,那么索引将变得极为重要。通过自己的探索,小明发现了一个能够很好地满足这个需求的 Python 框架 Sphnix

实现的大体的思路如下:

  • Markdown:书写文档

  • Pandoc:格式转化

  • Sphinx:生成网页

  • GitHub:托管项目

  • ReadtheDocs:发布网页


接下来,就来看看到底是如何实现的?



01


成品展示



以我的博客为例,先给大家展示一下。

这是首页。显示了你所有的文章索引。

640?

这是我的导航栏。是不是结构很清晰,很方便索引。

640?

点击文章后,还可以很方便查看标题,跳转。

640?

体验下搜索功能,速度很快。

640?

看完这些你是不是也很想拥有这样一个博客呢?

只要你认真往下看,30分钟搭建这样一个博客不在话下。


02


安装Sphnix



安装之前,请确认下Python版本。我这里使用的是Python 2.7.14,其他版本请自行尝试(Py3有点不一样,不想踩坑的,请跟我一样使用 Py2)。

安装Python工具包

$ pip install sphinx sphinx-autobuild sphinx_rtd_theme

初始化

# 先创建一个工程目录:F:\\mkdocs
$ cd F:\\mkdocs

$
 sphinx-quickstart

执行这个命令sphinx-quickstart的时候,会让你输入配置。除了这几个个性化配置,其他的都可以按照默认的来。

> Project name: MING's BLOG
> Author name(s): MING
> Project release []: 1.0
> Project language [en]: zh_CN

完了后,就可以看见创建的工程文件。

F:\mkdocs
(mkdocs) λ ls -l
total 5
-rw-r--r-- 1 wangbm 1049089 610 Jun 23 16:57 Makefile
drwxr-xr-x 1 wangbm 1049089   0 Jun 23 16:57 build/
-rw-r--r-- 1 wangbm 1049089 817 Jun 23 16:57 make.bat
drwxr-xr-x 1 wangbm 1049089   0 Jun 23 16:57 source/

F:\mkdocs
(mkdocs) λ tree
卷 文档 的文件夹 PATH 列表
卷序列号为 0002-B4B9
F:.
├─build
└─source
    ├─_static
    └─_templates

解释下这些文件/夹:

  • build:文件夹,当你执行make html的时候,生成的html静态文件都存放在这里。

  • source:文件夹:你的文档源文件全部应全部放在source根目录下。

  • Makefile:编译文件。完全不用管。

  • make.bat:bat脚本。你也不用管。


03


配置及扩展



Sphinx 的配置文件是 source\conifg.py

由于修改的内容比较多而杂,为了使这个搭建过程,更加顺畅。

小明已经给你精心准备了一份配置文件。你只要关注我的公众号,后台直接回复Sphinx即可获取

关于配置文件,我做了哪些事:

  • 配置主题

  • 支持LaTeX

  • 支持中文检索

以上配置文件,需要搭配扩展模块才能使用。扩展模块同样我也给你准备好了,在你回复Sphinx后,获取压缩包后,里面有个 exts 文件夹。你只要将这个文件夹原封不动的放置在与source的同级目录下即可。

由于扩展模块会用到一些第三方依赖包,需要你去包装它。requirements.txt 同样我也给你准备好了,在压缩包里有。

你只要执行这个命令,即可安装。

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



04


撰写文章


万事俱备,接下来要写文档了。

在source目录下,新增文件 how_to_be_a_rich_man.rst(至于什么是rst格式呢,请自行搜索引擎噢)

文件内容如下

第一章 如何成为有钱人
======================

1.1 财富继承法
---------------------

有个有钱的老爸。


1.2 财富共享法
---------------------

有个有钱的老婆。

写好文档后,千万记得要把这个文档写进,目录排版里面。

排版配置文件是 source\index.rst,千万要注意中间的空行不可忽略。

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

   how_to_be_a_rich_man

然后删除这几行

Indices and tables
==================


:ref:`genindex`
:ref:`modindex`
:ref:`search`

然后执行make html 生成html静态文件

F:\mkdocs
(mkdocs) λ make html
Running Sphinx v1.7.4
loading translations [zh_CN]... done
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 2 source files that are out of date
updating environment: [extensions changed] 2 added, 0 changed, 0 removed
reading sources... [100%] index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index
generating indices... genindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded.

The HTML pages are in build\html.

执行完了后,你可以发现原先的build,不再是空文件夹了。

我们点进去 build\html\打开index.html

640?

点击 我们刚写的暴富指南。

640



05


托管项目



看到网页的那一刻是不是相当激动。

不过别激动,这只是本地的,我们需要将其发布在线上。

这里我将工程文件,托管在GitHub上,然后由Read the Docs发布。

在托管之前呢,我们需要准备工作。在mkdocs根目录下,添加文件.gitignore(聪明的你,肯定知道这是什么),内容如下

build/
.idea/
*.pyc

接下来,在你的GitHub上新建一个仓库。然后把mkdocs这个目录下的所有文件都提交上去。步骤很简单,这里就不细讲。


06


发布上线


托管完成后,我们要发布它,让别人可以访问。

你需要先去 Read the Docs 注册下帐号。

关联一下GitHub

640?

640

导入代码库。填好与你对应的信息。

640

640

构建网页后。右下方,你可以看见你的在线地址。

640?


这里要提醒一下的是,Sphinx的文档格式,默认是 rst 格式,如果你习惯了使用Markdown来写文章,可以使用 Pandoc 这个神器转换一下。

这里给出转换命令。

pandoc -V mainfont="SimSun" -f markdown -t rst hello.md -o hello.rst

者你也可以在Sphinx上添加支持Markdown渲染的扩展模块及配置。也很简单,但是,我发现使用 md 文件,在网站上的导航无法实现跳转。

到这里,属于你的个人博客就搭建好了,快去试一下吧。

640?wx_fmt=gif

Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以公安部、工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

640?wx_fmt=jpeg

▼ 点击下方阅读原文免费成为社区会员

Python中文社区
关注 关注
  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Telegram bot程:利用Python如何快速搭建一个引导Telegram bot
鄙人kunzhi96,感恩遇见!
09-01 1万+
本篇文章也是源于日常工作中的需求,因此做一个记录和分享,本文参考使用 [Python-Telegram-Bot](https://github.com/python-telegram-bot/python-telegram-bot?tab=readme-ov-file) ,做了一个简单的示例。玩tg的应该都见过不少tg boot,下面就以常见的引导bot为例子来看
小白怎么搭建属于自己博客(一键式部署)
无知的贤者博客
07-27 1885
这里我们假设读者从来没有接触过编程或者刚刚接触编程。 本文将从最开始的步骤逐步讲解,读者只需要按照步骤进行操作便可。 搭建个人博客获得服务器购买服务器设置服务器安装 获得服务器 购买服务器 想要搭建个人网站,最好有一台个人服务器。 阿里云购买链接. 点击上方的购买链接,可以领取优惠卷购买。 上面贴出的六种服务器均可购买。但较为推荐购买ECS服务器,其次推荐购买轻量应用服务器。理论上云电脑应该也可以,但笔者没买过,故不做推荐。 设置服务器 当服务器购买完成后点击右上角的控制台。 在搜索框输入“云服务器”
基于Python的个人博客系统设计与实现 报告+项目源码
毕业作品网站
03-08 3495
基于个人博客的特点,本系统实现个人博客的主要功能,包括博客系统的站主登录/退出,博客站主并发表文章、图片等,游客发表评论、分页浏览文章等。网站登录仅限于博客站主,博客站主可以登陆写下自己的文章,登陆即拥有网站管理的权限,未登录时均以游客身份访问。参考现有开发资料、文档等资源,个人博客系统的体系结构比较完善,开发要求相比于复杂的系统较低,具备进一步进行需求分析与后续开发的条件。(1)系统为博客网站站主提供专门的登录、退出界面,不为浏览网站的用户提供登陆界面,亦不包括登陆后的管理界面。
从零开始搭建自己的个人博客——编程环境搭建篇之Python
最新发布
星墨漓尘的博客
07-31 1086
Python以及Pycharm的安装及设置
Python Flask快速搭建静态博客
通过这个程,读者可以了解到如何利用Flask的简单易用性和Flask-FlatPages的Markdown支持,快速搭建一个能满足基本文档分享需求的静态博客。这不仅有助于提高开发效率,还让文档的管理变得轻松。
Flask入门程实例:搭建一个静态博客
12-23
在本程中,我们将学习如何使用Python的Flask框架搭建一个静态博客。Flask是一个轻量级的Web服务器网关接口(WSGI)Web应用程序框架,适合开发小型但功能丰富的Web应用。在这个实例中,我们将利用Flask-FlatPages...
使用python SimpleHTTPServer 快速搭建Web服务器
04-06
标题中的“使用python SimpleHTTPServer 快速搭建Web服务器”是指利用Python内置的SimpleHTTPServer模块来创建一个简单的HTTP服务器,这个服务器可以用于本地文件共享、测试网页或者演示静态内容。SimpleHTTPServer...
这都行?Python 自动发微博
苏克的博客
03-02 3862
最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人。基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材(...
基于django的博客系统源码_python学习项目
08-29
学习python后端开发的基础项目,完整的博客系统源码。
【Flask】Flask开发实战:个人博客(一)
书山有路,学海无涯。记录成长,追逐梦想
11-13 4283
本文要学习的示例程序是一个个人博客程序:Bluelog。博客是典型的 CMS(Content Management System,内容管理系统),通常由两部分组成:一部分是博客前台,用来展示开放给所有用户的博客内容;另一部分是博客后台,这部分内容仅开放给博客管理员,用来对博客资源进行添加、修改和删除等操作。
【Flask】Flask开发实战:个人博客(三)
书山有路,学海无涯。记录成长,追逐梦想
11-15 2850
那么,本篇文章将会介绍如何初始化博客、利用 Flask-Login 管理用户认证、使用 CSRFProtect 实现 CSRF 保护。
python搭建个人博客过程_手把手搭建个人博客(图文程)
weixin_39756481的博客
12-11 1825
搭建个人博客浏览体验更棒请移步原文:手把手搭建个人博客首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的。比如你看网课学习,在听老师讲解的时候感觉简单易懂,代码逻辑明了清晰,当自己敲代码的时候,却无从下手,这也属于眼高手低的范畴。当自己主动学习,主动思考其效率和对个人的提升无疑是高于被动接受的。然而使你提高最大的是主动说出自己认知,把自己的知识和理解传达给他人,...
[开源]django+python的个人博客项目
zhanshendiaq的博客
09-04 7520
django:1.10.6 python:3.5 含有大量注释 适合人群:初学者 已实现:个人博客的基本功能 待完善:服务器和页面更多功能的完善 github仓库:https://github.com/17688832018/blog 主要参考”追梦人物”的个人博客程:https://www.zmrenwu.com/post/2/ ...
Python-简易博客搭建
MoLin_Eel的博客
01-02 1164
简易博客设计 目录 简易博客设计 页面概要 Django中的超链接 Templates过滤器 Django Shell Admin补充 页面概要 博客主页面 文章标题列表,超链接 发标博客的按钮,超链接 博客文章内容页面 标题 文章内容 修改文章按钮,超链接 博客撰写页面 标题编辑栏 文章内容编辑区域 提交按钮   博客主页面编写思路 ...
基于python的图片比较
u013617229的博客
02-17 5079
基于Python的图片比较 原文地址 -How-To: Python Compare Two Images- 通过阅读作者原文,感觉文章通俗易懂,根据个人理解整理成中文,并不逐句翻译,因未找到原文图片,文末个人试验图片来自网络。 原文主要使用MSE(均方差)和SSIM(结构化相似度指数)来进行图片的比较,环境python3/opencv3 原文效果图 1.图片样本 观察上述三幅图,左边为...
python将笔记本电脑作为服务器搭建网站
weixin_41855010的博客
02-22 3294
我们可以用flask来实现一个最单的CS(Client-Server)的网页,供其他用户远程通过浏览器访问本地文件。比如我整理了一张vivid_alphabet.csv表格,想让远端的朋友看到,就可以编写python代码来生成一个html页面,然后把这个页面的地址发送给对方,对方就可以在他的电脑上看到这个文件了。具体的操作步骤如下: 一、新建一个工程目录。新建一个python文件,把需要展示的表格...
写文章

热门文章

  • 用 Python 对数据进行相关性分析 95838
  • 用 Python 进行多元线性回归分析(附代码) 93061
  • Python 调用 kafka 构建完整实例分析与应用 88538
  • Python 中删除文件的几种方法 67766
  • Java 10的10个新特性,将彻底改变你写代码的方式! 54957

最新评论

  • 基于LSTM的多变量多步预测模型

    dubinski: 求完整代码

  • 用 Python 实现 RSI 指标线与股价的顶背离、底背离

    m0_72805247: getpeaks函数16行明显失误:应该是data[f'{key}_lows']=data[f'{key}_lows']..fill().fillna(0),却被抄成了data[f'{key}_lows']=data[f'{key}_highs'].fill().fillna(0)

  • 用 python-docx 创建浮动图片

    eternal_moon: 浮空图片怎么样能嵌入在父级元素(para)里而不是生成在页面左上角?如果使用pos_x指定图片位置,我该如何预先获取指定para的坐标信息?

  • 用 Python 中的蒙特卡洛模拟预测股票收益

    lrypower: 博主,按你给的代码,这里的时间T好像有点问题,不管时间改长改短结果差异并不大,我把T改成1也差不多

  • 用 python-docx 创建浮动图片

    不染pigpig: 真的牛,解决了

大家在看

  • Golang | Leetcode Golang题解之第485题最大连续1的个数
  • 被网络诈骗怎么报案,了解110报案过程?
  • 问:JVM中对象是怎么分‘宿舍’的? 299
  • C++ | Leetcode C++题解之第485题最大连续1的个数
  • Python | Leetcode Python题解之第485题最大连续1的个数

最新文章

  • 朝夕光年困境:字节跳动游戏业务前途未卜
  • 收藏!35句提示词,数据科学的灵感源泉
  • Chatbot开发三剑客:LLAMA、LangChain和Python
2023年10篇
2022年36篇
2021年281篇
2020年276篇
2019年352篇
2018年291篇
2017年48篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司室内设计平面优化网站厦门网站优化专业网站内链生态环境优化宁德市网站seo优化费用网站系统性能优化方案域名如何影响网站优化卷积神经网络优化图像网站黄山企业网站seo优化哪家快桃源独立外贸网站优化网站排名优化seo淮安市网站公告优化价格昌乐网站关键词优化兰州网站权重优化的平台有哪些大沥网站优化广告宿州网站优化怎么选山西网站优化厂家报价信息类网站优化方案百度网站优化策略网站优化重要方向黑河关键词网站优化seo网站优化待遇义马优化网站建设网站seo优化内容什么是网站外链优化贺州网站优化排名成都网站推广优化公司哪家好巴中优化网站连云网站优化排名系统公司购物网站内部优化铜陵网站优化怎么收费多少香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化