用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 datetime时间格式化去掉前导0
Jul 31 Python
Python实现通讯录功能
Feb 22 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
Dec 07 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
Pytorch根据layers的name冻结训练方式
Jan 06 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
Keras中 ImageDataGenerator函数的参数用法
Jul 03 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 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数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
easyui validatebox验证
2016/04/29 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
python实现公司年会抽奖程序
2019/01/22 Python
jupyter notebook 多行输出实例
2020/04/09 Python
openCV提取图像中的矩形区域
2020/07/21 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
毕业生求职自荐信怎么写
2014/01/08 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
邀请函的格式
2015/01/30 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python