pelican搭建静态博客_Pelican入门:基于Python的静态网站生成器
pelican搭建静态博客
如果要创建自定义网站或博客,则有很多选择。 许多提供商将托管您的网站,并为您完成许多工作。 (WordPress是一个非常受欢迎的选项。)但是,使用托管解决方案会失去一些灵活性。 作为软件开发人员,我更喜欢管理自己的服务器,并在网站操作方面保持更大的自由度。
但是,管理Web服务器需要大量工作。 安装它并安装一个简单的应用程序来提供内容非常容易。 但是,掌握安全补丁和更新非常耗时。 如果您只想提供静态网页,则拥有网络服务器和大量应用程序可能比付出的努力多。 手动创建HTML页面也不是一个好选择。
这是静态网站生成器可以进入的地方。这些应用程序使用模板来创建所需的所有静态页面,并将它们与关联的元数据交叉链接。 (例如,使用通用标签或关键字显示所有页面。)静态网站生成器可帮助您使用导航区域以及页眉和页脚等元素创建具有共同外观的网站。
我已经使用Python多年了。 因此,当我第一次开始寻找生成静态HTML页面的东西时,我想要用Python编写的东西。 主要原因是我经常想窥探应用程序工作原理的内部,并且使用我已经知道的语言可以使事情变得更容易。 (如果这对您来说并不重要,或者您不使用Python,那么还有其他一些很棒的静态站点生成器会使用Ruby,JavaScript和其他语言。)
我决定尝试一下Pelican 。 它是用Python编写的常用静态站点生成器。 它直接支持reStructuredText,并且在安装所需的软件包时可以支持Markdown 。 所有任务都通过命令行界面(CLI)工具执行,这使熟悉命令行的任何人都可以轻松完成。 其简单的快速入门CLI工具使创建网站变得异常容易。
在本文中,我将解释如何安装Pelican 4,添加文章并更改默认主题。 (注意:这都是在MacOS上开发的;它可以在任何版本的Unix / Linux上都可以使用,但是我没有Windows主机可以测试。)
安装与配置
第一步是创建一个virtualenv并安装Pelican。
$ mkdir test-site
$ cd test-site
$ python3 -m venv venv
$ ./venv/bin/pip install --upgrade pip
...
Successfully installed pip-18.1
$ ./venv/bin/pip install pelican
Collecting pelican
...
Successfully installed MarkupSafe-1.1.0 blinker-1.4 docutils-0.14 feedgenerator-1.9 jinja2-2.10 pelican-4.0.1 pygments-2.3.1 python-dateutil-2.7.5 pytz-2018.7 six-1.12.0 unidecode-1.0.23
为简单起见,我输入了标题和作者的值,并将N答复为URL前缀和文章分页。 (对于其余的问题,我使用给定的默认值。)
Pelican的quickstart CLI工具将创建基本布局和一些文件以帮助您入门。 运行pelican-quickstart命令。 为简单起见,我输入了标题和作者的值,并将N答复为URL前缀和文章分页。 以后在配置文件中更改这些设置非常容易。
$ ./venv/bin/pelican-quickstart
Welcome to pelican-quickstart v4.0.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.
> Where do you want to create your new web site? [.]
> What will be the title of this web site? My Test Blog
> Who will be the author of this web site? Craig
> What will be the default language of this web site? [en]
> Do you want to specify a URL prefix? e.g., https://example.com (Y/n) n
> Do you want to enable article pagination? (Y/n) n
> What is your time zone? [Europe/Paris]
> Do you want to generate a tasks.py/Makefile to automate generation and publishing? (Y/n)
> Do you want to upload your website using FTP? (y/N)
> Do you want to upload your website using SSH? (y/N)
> Do you want to upload your website using Dropbox? (y/N)
> Do you want to upload your website using S3? (y/N)
> Do you want to upload your website using Rackspace Cloud Files? (y/N)
> Do you want to upload your website using GitHub Pages? (y/N)
Done. Your new project is available at /Users/craig/tmp/pelican/test-site
您需要开始的所有文件都已准备就绪。
快速入门默认为欧洲/巴黎时区,因此请在继续操作之前进行更改。 在您喜欢的文本编辑器中打开pelicanconf.py文件。 查找TIMEZONE变量。
TIMEZONE = 'Europe/Paris'
将其更改为UTC 。
TIMEZONE = 'UTC'
要更新社交设置,请在pelicanconf.py中查找SOCIAL变量。
SOCIAL = ( ( 'You can add links in your config file' , '#' ) ,
( 'Another social link' , '#' ) , )
我将添加一个链接到我的Twitter帐户。
SOCIAL = ( ( 'Twitter (#craigs55)' , 'https://twitter.com/craigs55' ) , )
请注意,逗号结尾很重要。 该逗号有助于Python识别变量实际上是一个集合。 确保您不删除该逗号。
现在,您已经掌握了网站的基础知识。 快速入门创建了带有多个目标的Makefile。 给devserver目标, 使将启动你的机器上开发服务器,以便您可以预览一切。 假定Makefile中使用的CLI命令是PATH的一部分,因此您需要首先激活 virtualenv 。
$ source ./venv/bin/activate
$ make devserver
pelican -lr /Users/craig/tmp/pelican/test- site /content o
/Users/craig/tmp/pelican/test- site /output -s /Users/craig/tmp/pelican/test- site /pelicanconf. py
- > Modified: theme , settings. regenerating ...
WARNING : No valid files found in content for the active readers:
| BaseReader ( static )
| HTMLReader ( htm , html )
| RstReader ( rst )
Done: Processed 0 articles , 0 drafts , 0 pages , 0 hidden pages and 0 draft pages in 0.18 seconds.
将您喜欢的浏览器指向http:// localhost:8000,以查看简单的测试博客。
您可以在右侧看到Twitter链接,并在左侧看到一些指向Pelican,Python和Jinja的链接。 (Jinja是Pelican可以使用的一种很棒的模板语言。您可以在Jinja的文档中了解有关它的更多信息。)
添加内容
现在您已经有了一个基本站点,请添加一些内容。 首先,将一个名为welcome.rst的文件添加到站点的内容目录中。 在您喜欢的文本编辑器中,创建一个包含以下文本的文件:
$ pwd
/Users/craig/tmp/pelican/test-site
$ cat content/welcome.rst
Welcome to my blog!
###################
:date: 20181216 08:30
:tags: welcome
:category: Intro
:slug: welcome
:author: Craig
:summary: Welcome document
Welcome to my blog.
This is a short page just to show how to put up a static page.
鹈鹕自动解析元数据行(日期,标签等)。
写入文件后, devserver应该输出如下内容:
-> Modified: content. regenerating...
Done: Processed 1 article, 0 drafts, 0 pages, 0 hidden pages and 0 draft pages in 0.10 seconds.
在浏览器中重新加载测试站点以查看更改。
元数据(例如,日期和标签)已自动添加到页面。 另外,Pelican自动检测介绍类别,并将该部分添加到顶部导航中。
变更主题
使用流行的开源软件(如Pelican)的最好的方面之一是,许多用户将进行更改并将其贡献给项目。 许多贡献都是主题形式。
网站的主题设置颜色,布局选项等。尝试新主题真的很容易。 您可以在“ 鹈鹕主题”中预览其中的许多内容。
首先,克隆GitHub存储库:
$ cd ..
$ git clone --recursive https://github.com/getpelican/pelicanthemes
Cloning into 'pelicanthemes'...
由于我喜欢蓝色,因此我将尝试blueidea 。
编辑pelicanconf.py并添加以下行:
THEME = '/Users/craig/tmp/pelican/pelican-themes/blueidea/'
devserver将重新生成您的输出。 在浏览器中重新加载网页以查看新主题。
主题控制布局的许多方面。 例如,在默认主题中,您可以看到类别(Intro)和文章旁边的meta标签。 但是该类别未显示在blueidea主题中。
其他注意事项
这是对Pelican的快速介绍。 我没有涉及几个重要的主题。
首先,我犹豫要转到静态站点的一个原因是,它不允许对文章进行讨论。 幸运的是,有一些第三方提供商可以为您主持讨论。 我目前正在寻找的是Disqus 。
接下来,以上所有操作均在本地计算机上完成。 如果我希望其他人查看我的网站,则必须将预先生成HTML文件上载到某个地方。 如果查看pelican-quickstart输出,您将看到使用FTP,SSH,S3甚至GitHub Pages的选项。 每个选项都有其优点和缺点。 但是,如果必须选择其中一个,则可能会发布到GitHub Pages。
鹈鹕还有许多其他功能-我仍然每天都在学习有关它的更多信息。 如果您想使用简单的静态内容自托管网站或博客,并且想要使用Python,Pelican是一个不错的选择。 它有一个活跃的用户社区,该社区正在修复错误,添加功能以及创建新的有趣的主题。 试试看!
翻译自: https://opensource.com/article/19/1/getting-started-pelican
pelican搭建静态博客
pelican搭建静态博客_Pelican入门:基于Python的静态网站生成器相关推荐
- 【经验】静态博客部署 Hexo + Netlify-CMS + Vercel (在线构建)
目录 引入 背景 方案 步骤 生成starter模板 添加Netlify CMS在线管理 添加Netlify身份验证组件 启用git gateway身份验证 换用Vercel作为CDN 重新添加js ...
- 超简单!使用 Docusaurus 搭建个人博客(一)
目录 历史迷茫 博客有啥用? Docusaurus 简介 安装运行环境 安装 docusaurus 运行 docusaurus 项目结构 配置为博客模式 发表第一篇博客 B 站视频 - 点击传送 历史 ...
- Hexo结合Stun静态博客搭建从入门到入土
摘要 安装npm,安装hexo相关依赖,安装主题stun 修改hexo配置,修改stun配置,部署到github,gitee实现静态访问 给博客加上全局搜索,访问量统计 hexo博客编写模板 tips ...
- python搭建博客系统_用Pelican快速搭建极简静态博客系统
我一直建议每个开发者都要有写博客记笔记的习惯,一来可以沉淀知识,二来可以帮助别人,我使用过很多博客平台,也用Python开发过博客系统,就这么个东西折腾好几年,一直找不到理想的产品,直到我用Pelic ...
- Win10环境下基于Hexo的静态博客环境搭建,及其阿里云部署
引言 1.为什么要搭建自己的个人博客 工作和学习过程中,我们经常遇到一些这样或那样的问题,此时我们可能会在网上找到相应的解决方法.但是过了一段时间之后,当我们再次碰到类似的问题时,早已忘记以前是怎么解 ...
- 基于Hexo+Node.js+github+coding搭建个人博客——进阶篇(从入门到入土)
前言 先附上个人博客链接:http://yangbingdong.com/2017/build-blog-hexo-advanced/ 好久没更新了,因为懒- - 前面介绍了Hexo的一些基本搭建→基 ...
- Pelican + Github 搭建自己的静态博客
//想了解更多请访问我的新网站:Techwhims Techwhims.com 之前在Github上使用基本的jekyll模板搭建过一个博客,但是那时候前端技术的水平有限,搭出来的博客很不好看,一些基 ...
- [Pelican] 使用Pelican搭建静态博客
为什么写博客 一方面是对自己平时工作和学习中收获的自我总结和积累,另一方面,借用知乎的一句话说就是"与世界分享你的知识". 为什么选择Plican 写博客有两种选择: 一种是博客社 ...
- 基于Hexo+Gitee的个人静态博客网页搭建
基于Hexo+Gitee的个人静态博客网页搭建 前言 环境搭建:NodeJs+Git+Hexo (Win10+64位) NodeJs安装 Hexo安装 主题配置 Gitee仓库创建和部署 个性化配置 ...
最新文章
- Maven整合SSM测试
- 如何挂载initrd.img文件(简单三步)
- lodoop打印控件详解
- 使用的postman心得
- idea maven plugins报红_Maven引入本地依赖
- 调试技术: Linux core dump file
- 年薪百万程序员竟遭亲妈拍卖:才拍到10块,还不够买一盒鸡蛋!
- 蓝桥杯 算法训练 区间k大数查询(水题)
- Java-20180419
- linux 能降低内核,Linux 内核移除并整改了导致性能下降 50% 的 STIBP
- 倾角传感器原理及市场现状浅析
- 2021最新Java JDK1.8的安装教程
- 支付宝支付出现 openssl_sign(): supplied key param cannot be coerced into a private key
- 计算智能——密码分析:面向对象的分析与设计之Use Cace图
- 上市公司环境数据集:环境绩效明细表、排放明细表、资源消耗明细表等多项指标数据
- 我在CSDN的第一篇博客——js实现简单计算器
- 《软件架构评估》学习笔记
- 求n个整数的平均值与中位数
- android 仿微视,腾讯微视和抖音一样?模仿还是照搬?
- C++自学笔记——空闲时间写的代码
热门文章
- 504 压测geteway_热门开源网关的性能对比:Goku、Kong Tyk
- win10下编译C代码:cmd 命令行 + notepad 记事本
- 中秋快乐!旷视喊你来淘宝造物节凹最炫的AI造型
- 赶紧收藏!中秋节营销必备文案和海报,拿了就能用!
- 2021年中国网约车行业发展回顾及行业发展趋势分析:行业赛道热度不减,市场规模不断扩大[图]
- 好用的截图工具Snipaste (windows/mac都可以用)
- linux取消挂载并将分区释放,Linux硬盘、分区、挂载、删除
- 推测式提问,先“复述你对别人的话语理解”
- Python实现: 常用排序算法 二叉树的遍历算法
- MySql中To_DAYS函数和DATEDIFF函数