用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中生成器和yield语句的用法详解
Apr 17 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
May 24 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
Python中Proxypool库的安装与配置
Oct 19 Python
Python玩转PDF的各种骚操作
May 06 Python
Golang GBK转UTF-8的例子
Aug 26 Python
你可能不知道的Python 技巧小结
Jan 29 Python
python爬虫使用scrapy注意事项
Nov 23 Python
Python更改pip镜像源的方法示例
Dec 01 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
Python爬虫基础讲解之请求
May 13 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实现百度人脸识别
2019/05/06 PHP
THREE.JS入门教程(5)你应当知道的十件事
2013/01/24 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
2019/05/02 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue实现列表滚动的过渡动画
2020/06/29 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
德国购买门票网站:ADticket.de
2019/10/31 全球购物
档案管理员岗位职责
2013/12/01 职场文书
二年级语文教学反思
2014/02/02 职场文书
导购员的岗位职责
2014/02/08 职场文书
外贸员简历中的自我评价
2014/03/04 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
工作检讨书怎么写
2015/01/23 职场文书
爱国教育主题班会
2015/08/14 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
python脚本框架webpy模板控制结构
2021/11/20 Python