用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使用Image处理图片常用技巧分析
Jun 01 Python
详解Python编程中包的概念与管理
Oct 16 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python正则表达式之作业计算器
Mar 18 Python
Django 生成登陆验证码代码分享
Dec 12 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
教你使用一行Python代码玩遍童年的小游戏
Aug 23 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
再说下636单管机
2021/03/02 无线电
微信access_token的获取开发示例
2015/04/16 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
jQuery构造函数init参数分析
2015/05/13 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
AngularJS实现进度条功能示例
2017/07/05 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
基于IView中on-change属性的使用详解
2018/03/15 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
vue实现div单选多选功能
2020/07/16 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python中replace方法实例分析
2014/08/20 Python
Python中字符串的修改及传参详解
2016/11/30 Python
Django命名URL和反向解析URL实现解析
2019/08/09 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
应届实习生的自我评价范文
2014/01/05 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
开除员工通知
2015/04/22 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
Golang 并发编程 SingleFlight模式
2022/04/26 Golang