用Pelican搭建一个极简静态博客系统过程解析
我一直建议每个开发者都要有写博客记笔记的习惯,一来可以沉淀知识,二来可以帮助别人,我使用过很多博客平台,也用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/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Flask入门教程实例:搭建一个静态博客
现在流行的静态博客/网站生成工具有很多,比如 Jekyll, Pelican, Middleman, Hyde 等等,StaticGen 列出了目前最流行的一些静态网站生成工具. 我们的内部工具由 Python/Flask/MongoDB 搭建,现在需要加上文档功能,写作格式是 Markdown,不想把文档放到数据库里,也不想再弄一套静态博客工具来管理文档,于是找到了 Flask-FlatPages 这个好用的 Flask 模块.熟悉 Flask 的同学花几分钟的时间就可以用搭建一个简单博客,加
-
利用ASP.NET MVC和Bootstrap快速搭建个人博客之后台dataTable数据列表
jQuery dataTables 插件是一个优秀的表格插件,是后台工程师的福音!它提供了针对数据表格的排序.浏览器分页.服务器分页.查询.格式化等功能.dataTables 官网也提供了大量的演示和详细的文档进行说明,为了方便使用,这里进行详细说明. 去官网:https://www.datatables.net/ 下载最新版本是v1.10.12. 在页面引入: <link rel="stylesheet" href="~/Content_Admin/css/boots
-
详解用nginx+WordPress搭建个人博客全流程
0x00 前言 WordPress是世界上最受欢迎的CMS系统,它是基于php和MySQL技术栈的,并且还有很多插件,可扩展性非常强.正好最近有一台空闲的ECS,于是来搭建一个玩玩.本教程是基于LEMP技术栈来搭建的,各个版本如下: L版本为CentOS7.6版本, E版本为nginx1.12.2版本 M版本为Distrib 5.5.60-MariaDB P版本为php7.2 此外,现在全面https已经是趋势了,自然我们也不能落后,所以还会使用Let's Encrypt来生成免费的SSL证书进
-
利用ASP.NET MVC和Bootstrap快速搭建响应式个人博客站(一)
1.0 为什么要做这个博客站? 在工作学习中,经常要搜索查找各种各样的资料,每次找到相关资料后都会顺手添加到浏览器书签中,时间一长,书签也就满了.而且下次再点击这个书签时,可能就会忘记当时为什么要添加这个书签了,更有可能书签连接已经无效.这样一来,也就不方便自己查阅了.如果转载.收藏到自己的博客园账号中.CSDN账号中,我们中,知乎中等等,依然是很凌乱,不方便下次查阅. 因此,我下决心开发一个个人技术博客站.主要原因是:可以整合各种宝贵资源,将知识变为宝库:可以借此巩固加强一下自己的"全栈&qu
-
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
VuePress vuepress是尤大大4月12日发布的一个全新的基于vue的静态网站生成器,实际上就是一个vue的spa应用,内置webpack,可以用来写文档. 一个基于 Vue SSR 的静态站生成器,本来的目的是爽爽的写文档,但是我发现用来撸一个人博客也非常不错. 这是VuePress的官方文档 上手搭建 你可以跟着文档上的例子自己玩一玩,不过由于VuePress的文档也是用VuePress来实现的,所以我取巧直接拿VuePress仓库中的docs目录拿来玩耍. 1.首先安装VuePr
-
手把手教你用Hexo+Github搭建属于自己的博客(详细图文)
在大三的时候,一直就想搭建属于自己的一个博客,但由于各种原因,最终都不了了之,恰好最近比较有空,于是就自己参照网上的教程,搭建了属于自己的博客. 至于为什么要搭建自己的博客了? 哈哈,大概是为了装逼吧,同时自己搭建博客的话,样式的选择也比较自由,可以自己选择,不需要受限于各大平台. 转载请注明原博客地址:手把手教你用Hexo+Github 搭建属于自己的博客 大概可以分为以下几个步骤 搭建环境准备(包括node.js和git环境,gitHub账户的配置) 安装Hexo 配置Hexo 怎样将Hex
-
在CentOS系统上从零开始搭建WordPress博客的全流程记录
概述 最近买了台服务器,准备搭建个人博客,来持续更新自己的博客, 环境 服务器操作系统:CentOS 7.0 博客部署服务器:Apache 后台语言:PHP 数据库:MySql 前端框架:WordPress 步骤 一.安装Apache 安装 Apache 很简单,只需要在终端输入以下命令就可以了: sudo yum install httpd sudo 的意思是用 root 用户做什么操作,yum install 是在线安装:然后输入 yes 就确认下载安装了. 安装完毕之后我们需要启动服务:
-
用Pelican搭建一个极简静态博客系统过程解析
我一直建议每个开发者都要有写博客记笔记的习惯,一来可以沉淀知识,二来可以帮助别人,我使用过很多博客平台,也用Python开发过博客系统,就这么个东西折腾好几年,一直找不到理想的产品,直到我用Pelican之前. Pelican 是基于Python实现的开源静态博客系统,所谓静态博客系统就是无需数据库,每一篇文章会事先渲染成HTML静态文件,访问速度非常快.所以今天给大家介绍下怎么使用Pelican. 使用Pelican 你需要了解一点git,熟悉基本的Linux shell 命令,懂一点Pyth
-
Vuepress 搭建带评论功能的静态博客的实现
vuepress 是 Vue 驱动的静态站点生成工具 本文仅介绍,搭建静态博客的过程,具体教程及文档请点击进入 vuepress中文网 点击查看项目代码 vuepress初始化 下面初始化 # 将 github 新创建的仓库克隆到本地 git clone git@github.com:zhb333/readme-blog.git # 进入项目 cd readme-blog # npm 初始化, 按照提示回车 npm init # 安装 vuepress npm i vuepress -D # 安
-
使用vuepress搭建静态博客的示例代码
什么是vuePress vuePress是以vue驱动的主题系统的简约静态网站生成工具(拥有自己的默认主题). veuPress由vue,vue-router,webpack驱动的单页面应用,每个markdonw文件都使用markdonw-it编译为html文件,然后作为vue组件的模板来处理. 中文官网 VuePress仓库 项目地址 VuePress 有很多优点: 界面简洁优雅(个人感觉比 HEXO 好看) 容易上手(半小时能搭好整个项目) 更好的兼容.扩展 Markdown 语法 响应式布
-
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
疫情肆虐,憋在家实在无聊,索性写点东西,于是就有了这个极极极极极简的音乐播放器. 这个极极极简的音乐播放器类似于"阅后即焚"的软件,播放器可以随机播放歌曲,获取下一首歌曲,不能重新播放上一首歌曲,不能获取歌曲的名称和演唱者.听过的歌曲,就像过眼云烟,放完即散. 下面来看看如何用Python实现这个音乐播放器软件吧! 一.创建UI界面 首先,我们来创建这个播放器的UI界面.这个播放器一共有6个控件: 左上角的程序关闭按钮: 左侧的播放状态标签: 顶部的slogan; 播放/暂停按钮: 下
-
利用Go语言快速实现一个极简任务调度系统
目录 引子 思路 实战 交互界面 定时任务 任务执行 代码效果 总结 引子 任务调度(Task Scheduling)是很多软件系统中的重要组成部分,字面上的意思是按照一定要求分配运行一些通常时间较长的脚本或程序.在爬虫管理平台 Crawlab 中,任务调度是其中的核心模块,相信不少朋友会好奇如何编写一个任务调度系统.本篇文章会教读者用 Go 语言编写一个非常简单的任务调度系统. 思路 我们首先理清一下思路,开发最小化任务调度器需要什么. 交互界面(API) 定时任务(Cron) 任务执行(Ex
-
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
前言 这篇文章实现的博客系统使用 Vue 做前端框架,Node + express 做后端,数据库使用的是 MongoDB.实现了用户注册.用户登录.博客管理(文章的修改和删除).文章编辑(Markdown).标签分类等功能. 前端模仿的是 hexo 的经典主题 NexT,本来是想把源码直接拿过来用的,后来发现还不如自己写来得快,就全部自己动手实现成 vue components. 实现的功能 1.文章的编辑,修改,删除 2.支持使用 Markdown 编辑与实时预览 3.支持代码高亮 4.给文
-
六个步骤,从零开始教你搭建基于WordPress的个人博客
目录 摘要:WordPress是使用PHP语言开发的博客平台,是免费开源的.用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用. 一.购买云服务器和域名 可以参考以下博客进行购买,以华为云为例,服务商可以自选.如果已有云服务器和域名,直接进行第二步操作. ▶ 云服务器和域名的购买-华为云 二.远程连接云服务器 可以参考以下博客进行远程连接服务器,也可以用其他办法连接.连接以后进行第三步操作. ▶ Xftp和Xshel
-
利用drone ci自动化部署静态博客的完整步骤
目录 前言 准备 安装drone ci 1.docker-compose配置文件 2.docker-compose配置文件主要参数详解 drone server DRONE_SERVER_PROTO和DRONE_SERVER_HOST DRONE_RPC_SECRET DRONE_USER_CREATE DRONE_DATABASE_DRIVER DRONE_DATABASE_DATASOURCE DRONE_GITEE_CLIENT_ID和DRONE_GITEE_CLIENT_SECRET d
-
使用IDEA搭建一个简单的SpringBoot项目超详细过程
一.创建项目 1.File->new->project: 2.选择"Spring Initializr",点击next:(jdk1.8默认即可) 3.完善项目信息,组名可不做修改,项目名可做修改:最终建的项目名为:test,src->main->java下包名会是:com->example->test:点击next: 4.Web下勾选Spring Web Start,(网上创建springboot项目多是勾选Web选项,而较高版本的Springboo
随机推荐
- JAVA 时间区间的字符串合法性验证
- js复制网页内容并兼容各主流浏览器的代码
- 基于JavaScript实现Json数据根据某个字段进行排序
- Asp.Net 音频文件上传和播放代码
- pycharm安装图文教程
- SWT(JFace)体验之模拟BorderLayout布局
- Android编程中TextView字体属性设置方法(大小、字体、下划线、背景色)
- 一个低学历者的辛酸程序路[贵在坚持]
- java加解密RSA使用方法代码示例
- php生成0~1随机小数的方法(必看)
- 详解Android中Glide与CircleImageView加载圆形图片的问题
- 详解用Python处理HTML转义字符的5种方式
- iOS通过摄像头图像识别技术分享
- intellij IDEA配置springboot的图文教程
- 通过java生成读取二维码详解
- Centos7系统下Mysql主从同步配置方案
- 正则表达式(RegExp)判断文本框中是否包含特殊符号
- iOS中一行代码实现 UIView 镂空效果
- mongodb增量/全量备份脚本的实现详解
- 从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法