用Pelican搭建一个极简静态博客系统过程解析
作者:FOOFISH-PYTHON之禅 时间:2022-07-21 19:18:39
我一直建议每个开发者都要有写博客记笔记的习惯,一来可以沉淀知识,二来可以帮助别人,我使用过很多博客平台,也用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/
来源:https://foofish.net/pelican.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
![](https://img.aspxhome.com/file/2023/2/97492_0s.png)
全面解读Python Web开发框架Django
Python制作一个多功能音乐播放器
Python最长公共子串算法实例
NumPy对数组按索引查询实战方法总结
![](https://img.aspxhome.com/file/2023/9/107219_0s.png)
python线程、进程和协程详解
屏蔽Flash 右键菜单的方法
python的staticmethod与classmethod实现实例代码
无障碍网页应用 WAI-ARIA
![](https://img.aspxhome.com/file/UploadPic/200911/16/1284_001-30s.png)
分析Python感知线程状态的解决方案之Event与信号量
![](https://img.aspxhome.com/file/2023/3/76783_0s.jpg)
Python如何telnet到网络设备
![](https://img.aspxhome.com/file/2023/4/112984_0s.gif)
Python读取二进制文件代码方法解析
PyTorch 多GPU下模型的保存与加载(踩坑笔记)
Python基于Twilio及腾讯云实现国际国内短信接口
![](https://img.aspxhome.com/file/2023/1/109971_0s.jpg)
不要放弃使用CSS中的新技术
php错误级别的设置方法
js选取多个或单个元素的实现代码(用class)
PHP的Socket网络编程入门指引
![](https://img.aspxhome.com/file/2023/3/104183_0s.jpg)
Python使用JSON库解析JSON数据的方法
![](https://img.aspxhome.com/file/2023/2/71492_0s.jpg)
利用python在excel里面直接使用sql函数的方法
![](https://img.aspxhome.com/file/2023/1/81781_0s.jpg)