用Pelican搭建一个极简静态博客系统过程解析


Posted in Python onAugust 22, 2019

我一直建议每个开发者都要有写博客记笔记的习惯,一来可以沉淀知识,二来可以帮助别人,我使用过很多博客平台,也用Python开发过博客系统,就这么个东西折腾好几年,一直找不到理想的产品,直到我用Pelican之前。

Pelican 是基于Python实现的开源静态博客系统,所谓静态博客系统就是无需数据库,每一篇文章会事先渲染成HTML静态文件,访问速度非常快。所以今天给大家介绍下怎么使用Pelican。

使用Pelican 你需要了解一点git,熟悉基本的Linux shell 命令,懂一点Python知识,如果都不懂,没关系,只要确保你已经安装了Python环境,跟着我的步骤来

安装 pelican

pip install pelican markdown --upgrade

创建项目

D:\my>mkdir blog # 创建项目目录
D:\my>cd blog # 进入项目目录
D:\my\blog>pelican-quickstart # 生成pelican骨架
Welcome to pelican-quickstart v3.7.1.
This script will help you create a new Pelican-based website.
Please answer the following questions so this script can generate the files
needed by Pelican.
...
Done. Your new project is available at D:\my\blog

安装过程过,会有很多需要你输入的配置项,如果不知道怎么填就直接忽略或者选择n,因为这些配置项在后面可以自己手动再添加的。

创建完成后生成的目录结构如下:

.
├── Makefile
├── content/
├── develop_server.sh
├── fabfile.py
├── output/
├── pelicanconf.py
└── publishconf.py

你的文章需要保存在content目录下,通常情况我们写文章采用markdown语法,所以,现在我们在content目录创建一篇文章,文章内容:

```python Title: 这是我的第一篇技术博客 Date: 2019-04-24 13:47:06 Category: 技术 Tags: python Slug: hello-world Summary: 这是我的第一篇技术博客,欢迎捧场

这是我的第一篇技术博客,欢迎捧场,第一次写文章,还没想好怎么写,所有就随便写了一点儿。

将文章保存在 `D:\my\blog\content\hello_world.md`。 
### 生成静态文件
上面编写的内容只是我们的原始文章,最终需要经过 Pelican 的处理生成一个html格式的静态文件对外提供访问。

pelican content

执行完成后,`output` 目录会多出一些文件,markdown文件最终也会转换成html文件放到该目录下。
### 启动服务
Pelican 自己内置了一个HTTP Server,所以即使不需要Nginx也可以将程序运行起来。

pelican --listen ```

启动 http 服务,默认端口是8000,访问:http://localhost:8000/

用Pelican搭建一个极简静态博客系统过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python解析树及树的遍历
Feb 03 Python
获取python文件扩展名和文件名方法
Feb 02 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
python安装模块如何通过setup.py安装(超简单)
May 05 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
Python 日期与时间转换的方法
Aug 01 Python
Python接收手机短信的代码整理
Aug 02 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 #Python
Django stark组件使用及原理详解
Aug 22 #Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 #Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 #Python
Django上线部署之IIS的配置方法
Aug 22 #Python
对python中UDP,socket的使用详解
Aug 22 #Python
python3的url编码和解码,自定义gbk、utf-8的例子
Aug 22 #Python
You might like
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
jquery序列化方法实例分析
2015/06/10 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
2018/05/21 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
为python设置socket代理的方法
2015/01/14 Python
Python制作爬虫采集小说
2015/10/25 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Selenium定位元素操作示例
2018/08/10 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
档案检查欢迎词
2014/01/13 职场文书
服装促销活动方案
2014/02/23 职场文书
企业元宵节主持词
2014/03/25 职场文书
设计师求职信模板
2014/05/06 职场文书
低碳日宣传活动总结
2014/07/09 职场文书
优秀共产党员事迹材料
2014/12/18 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书