前面有文章介绍本站采用了Python编写的Pelican静态生成博客系统, 之所以没有使用当前很火的Jekyll, 是因为它是Ruby编写, 而我又对Ruby没有啥兴趣, 所以还是选择了使用了我熟悉的Python编写的这套系统, 我用了一段时间,打算将使用经验分享出来

介绍

Pelican是一套开源的使用Python编写的博客静态生成, 可以添加文章和和创建页面, 可以使用MarkDown reStructuredText 和 AsiiDoc 的格式来抒写, 同时使用 Disqus评论系统, 支持 RSSAtom输出, 插件, 主题, 代码高亮等功能, 采用Jajin2模板引擎, 可以很容易的更改模板

安装

可以从github克隆最新的代码安装, 并且建议在virtualenv下使用:

建立 virtualenv

virtualenv pelican      # 创建
cd pelican
sh bin/activate            # 激活虚拟环境

上面建立了一个Python的虚拟环境(这个命令不是内置可以使用 easy_install virtualenv 安装)

从github克隆最新代码安装Pelican

git clone git://github.com/getpelican/pelican.git            # 代码
cd pelican
python setup.py install

上面步骤完成后就安装了Pelican

开始一个博客

mkdir /path/to/your/blog
cd /path/to/your/blog
pelican-quickstart

在回答一系列问题过后你的博客就建成的, 主要生成下列文件:

.
|-- content                # 所有文章放于此目录
|-- develop_server.sh      # 用于开启测试服务器
|-- Makefile               # 方便管理博客的Makefile
|-- output                 # 静态生成文件
|-- pelicanconf.py         # 配置文件
|-- publishconf.py         # 配置文件

写一篇文章

在 content 目录新建一个 test.md文件, 填入一下内容:

Title: 文章标题
Date: 2013-04-18
Category: 文章类别
Tag: 标签1, 标签2这里是内容

然后执行:

make html

用以生成html

然后执行

./develop_server.sh start

开启一个测试服务器, 这会在本地 8000 端口建立一个测试web服务器, 可以使用浏览器打开:http://localhost:8000来访问这个测试服务器, 然后就可以欣赏到你的博客了

创建一个页面

这里以创建 About页面为例

content目录创建pages目录

mkdir content/pages

然后创建About.md并填入下面内容

Title: About Me
Date: 2013-04-18About me content

执行 make html 生成html, 然后打开 http://localhost:8000查看效果

让Pelican支持评论

Pelican 使用Disqus评论, 可以申请在Disqus上申请一个站点, 然后在pelicanconf.py里添加或修改DISQUS_SITENAME项:

DISQUS_SITENAME = u"linuxzen"

执行

make html

浏览器打开 http://localhost:8000查看效果

更换主题

Pelican本身也提供了一些主题可供选择, 可以从github克隆下来

git clone git://github.com/getpelican/pelican-themes.git     # 主题

然后在里面找到想要的主题, 然后拷到博客项目当前目录, 这里已neat为例

cp -r /path/to/themes/from/github/neat .

然后在 pelicanconf.py 配置文件里添加或修改 THEME项为 neat

THEME = "neat"

重新执行

make html

然后打开 http://localhost:8000 查看效果

使用插件

Pelican 一开始是将插件内置的, 但是新版本 Pelican将插件隔离了出来, 所以我们要到github上 克隆一份新的插件, 在博客目录执行

git clone git://github.com/getpelican/pelican-plugins.git    # 插件

现在我们博客目录就新添了一个 pelican-plugins目录, 我们已配置sitemap插件为例, sitemap插件可以生成 sitemap.xml 供搜索引擎使用

pelicanconf.py配置文件里加上如下项:

PLUGIN_PATH = u"pelican-plugins"PLUGINS = ["sitemap"]## 配置sitemap 插件
SITEMAP = {"format": "xml","priorities": {"articles": 0.7,"indexes": 0.5,"pages": 0.3,},"changefreqs": {"articles": "monthly","indexes": "daily","pages": "monthly",}
}

然后再执行

make html

打开浏览器请求 http://localhost:8000/sitemap.xml即可看到生成的 Sitemap 了

拷贝静态文件

如果我们定义静态的文件, 该如何将它在每次生成的时候拷贝到 output 目录呢, 我们以robots.txt为例, 在我们的 content/extra 下面我们放了一个定义好的 robots.txt文件, 在pelicanconf.py更改或添加 FILES_TO_COPY项:

FILES_TO_COPY = (("extra/robots.txt", "robots.txt"),
)

这样在每次生成html的时候都会把 content/extra下的 robots.txt 拷贝到 output目录下

拷贝静态目录

如果是一个静目录怎么办? 我们可以在pelicanconf.py里添加或修改 STATIC_PATHS项, 比如我们有个img目录用来放文章所使用的图片, 我们可以在pelicanconf.py添加

STATIC_PATHS = [u"img"]

然后执行

make html

然后 Pelican 就会将 img目录拷贝到 output/static/ 下

部署

上面都弄完之后你就可以得到一个功能健全的博客系统, 接下来就是部署到服务器, 上传到服务器并结合nginx或者apache等web服务器部署这里就不在详述

参考

参考文章:http://www.uoota.com/blog/archives/27222

http://ioreq.com

如果还有其他问题请参考官方手册

转载于:https://www.cnblogs.com/imhurley/p/6137272.html

用pelican搭建完美博客相关推荐

  1. pelican搭建静态博客_Pelican入门:基于Python的静态网站生成器

    pelican搭建静态博客 如果要创建自定义网站或博客,则有很多选择. 许多提供商将托管您的网站,并为您完成许多工作. (WordPress是一个非常受欢迎的选项.)但是,使用托管解决方案会失去一些灵 ...

  2. [Pelican] 使用Pelican搭建静态博客

    为什么写博客 一方面是对自己平时工作和学习中收获的自我总结和积累,另一方面,借用知乎的一句话说就是"与世界分享你的知识". 为什么选择Plican 写博客有两种选择: 一种是博客社 ...

  3. 崇高文本_将崇高文本转化为完美博客工具的6种方法

    崇高文本 Sublime Text is a popular code editor but, after spending a few months with it, I realised some ...

  4. 用Pelican+Github搭建个人博客网站

    Title: 用Pelican+Github搭建个人博客网站 Date: 2017-06-4 19:13 Category: 技术博客 Modified: 2018-10-11 19:03 Tags: ...

  5. 使用pelican搭建一个Jupyter Notebook数据科学博客

    前言:这里是我最终搭建的博客,可以先预览看一下效果,这里是 github 地址, 欢迎 fork and star ! 写博客是一个证明你的技能,进一步加深学习和积累受众的一个非常好的方式.已经有非常 ...

  6. 使用Pelican搭建博客系统

    摘要 经过几天的折腾,用Pelican搭建的独立博客系统终于上线运行了.可以打开kamidox.com看一下效果图.由于选用了响应式网页设计的主题,所以在手机上的浏览效果也相当赞.本文介绍了Pelic ...

  7. Python搭建个人博客(pelican)-快速实践~

    Python搭建个人博客(pelican)-快速实践~ 文章目录 Python搭建个人博客(pelican)-快速实践~ 一.安装 二.创建项目 三.创作一篇文章 四.生成网站 五.预览网站 强烈建议 ...

  8. Hexo+github搭建个人博客-博客发布篇

    通过 Hexo+github搭建个人博客-环境搭建篇 以及 Hexo+github搭建个人博客-博客初始化篇 ,我们了解到了利用Hexo搭建个人博客需要的环境以及配置,下面这篇文章将会介绍如何把我们的 ...

  9. 阿里云+wordpress搭建个人博客网站【小白专用的图文教程】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

最新文章

  1. 3.3 前向传播与反向传播-机器学习笔记-斯坦福吴恩达教授
  2. python中的偏函数
  3. python-带参数的装饰器
  4. Swift延迟加载的一种用途
  5. 白班夜班不是你想做就做,一切都得听安排
  6. 【渝粤教育】国家开放大学2018年春季 0047-21T计算机办公软件应用 参考试题
  7. 我国物联网发展如何跳出“窄巷”?
  8. c语言随机抽取小程序_c++ c语言编写抽学号小程序
  9. 【腾讯内部干货分享】分析Dalvik字节码进行减包优化
  10. win10修改计算机物理地址,Windows10系统修改物理地址的方法
  11. coq程序编写好用的IDE推荐
  12. 同城跑腿微信小程序制作步骤_分享下同城跑腿小程序的作用
  13. 通过云片网实现短信以及验证码的发送
  14. matlab元胞数组的创建和显示
  15. [Revit教程]斑马:分享一个用Revit自适应构件做安全疏散距离分析的方法#S007
  16. 全国计算机二级office选择题知识点,全国计算机二级考试MS office选择题知识点合集(通用)...
  17. 基于SVG的鼠标动态绘制矩形和动态放置图片
  18. 错误信息403-服务器拒绝执行该请求,营造良好氛围 掀起活动高潮
  19. 【AeroSim 六自由度仿真飞行模块】一、安装与demo运行问题
  20. 记录一下自己常用的数据库,以备不时之需

热门文章

  1. Netty之ByteBuf详解
  2. Redis 数据类型
  3. JS AJAX 调用tyk转发报跨域问题(已解决)
  4. MySQL 注释方法
  5. 《芯片技术10讲》笔记01
  6. 同事日常bug之大战 mybaties的小怪
  7. tqdm进度条使用简介
  8. linux rsync和inotify
  9. Windows XP常见问题
  10. Cad二次开发绘图1