用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调用新浪微博API项目实践
Jul 28 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
使用Python实现简单的服务器功能
Aug 25 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
浅析python的优势和不足之处
Nov 20 Python
Python操作多维数组输出和矩阵运算示例
Nov 28 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
python中使用you-get库批量在线下载bilibili视频的教程
Mar 10 Python
python实现梯度下降和逻辑回归
Mar 24 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
mac安装python3后使用pip和pip3的区别说明
Sep 01 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实现蜘蛛访问日志统计
2013/07/05 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
Knockoutjs的环境搭建教程
2012/11/26 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
jquery form表单序列化为对象的示例代码
2014/03/05 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python Django 命名空间模式的实现
2019/08/09 Python
python创建学生管理系统
2019/11/22 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
Python列表list操作相关知识小结
2020/01/29 Python
python扫描线填充算法详解
2020/02/19 Python
Python 高效编程技巧分享
2020/09/10 Python
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
项目计划书范文
2014/01/09 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
聘用意向书范本
2014/04/01 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
2015毕业寄语大全
2015/02/26 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery