用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 相关文章推荐
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
Python制作Windows系统服务
Mar 25 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
《与孩子一起学编程》python自测题
May 27 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 Python
python路径的写法及目录的获取方式
Dec 26 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
jupyter notebook 增加kernel教程
Apr 10 Python
pandas时间序列之pd.to_datetime()的实现
Jun 16 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下通过file_get_contents的代理使用方法
2011/02/16 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
浅谈php7的重大新特性
2015/10/23 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
js+JQuery返回顶部功能如何实现
2012/12/03 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
日语专业毕业生求职信
2013/12/04 职场文书
少先队学雷锋活动月总结
2014/03/09 职场文书
会员活动策划方案
2014/08/19 职场文书
社会工作专业自荐信
2014/09/26 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
小学少先队活动总结
2015/05/08 职场文书
鸡毛信观后感
2015/06/11 职场文书
护士医德医风心得体会
2016/01/25 职场文书
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电