用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 re模块findall()函数实例解析
Jan 19 Python
Python中协程用法代码详解
Feb 10 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
实例讲解python中的序列化知识点
Oct 08 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 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 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
Python脚本后台运行的几种方式
2015/03/09 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
JavaScript实现随机点名器实例详解
2019/05/07 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
python实现udp数据报传输的方法
2014/09/26 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
使用Python写一个小游戏
2018/04/02 Python
python2.7实现爬虫网页数据
2018/05/25 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
户籍证明的格式
2014/01/13 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
导游词之杭州西湖
2019/09/19 职场文书