用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使用pil生成缩略图的方法
Mar 26 Python
python连接数据库的方法
Oct 19 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
python3利用Socket实现通信的方法示例
May 06 Python
Numpy数组array和矩阵matrix转换方法
Aug 05 Python
Python列表list常用内建函数实例小结
Oct 22 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
pandas map(),apply(),applymap()区别解析
Feb 24 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
关于svn冲突的解决方法
2013/06/21 PHP
非常实用的php验证码类
2016/05/15 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
javascript检测两个数组是否相似
2015/05/19 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
2016/04/21 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
微信小程序自定义联系人弹窗
2020/05/26 Javascript
python图片验证码生成代码
2016/07/02 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
python爬虫请求头的使用
2020/12/01 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
如何为DataGridView添加一个定制的Column Type
2014/01/21 面试题
学术会议邀请函范文
2014/01/22 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
2014迎新年晚会策划方案
2014/02/23 职场文书
目标责任书范文
2014/04/14 职场文书
综治工作汇报材料
2014/10/27 职场文书
会计工作总结范文2014
2014/12/23 职场文书
碧霞祠导游词
2015/02/09 职场文书
市场督导岗位职责
2015/04/10 职场文书
单位车辆管理制度
2015/08/05 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL