冠富商务通中文社区

 找回密码
 立即注册
查看: 7|回复: 0
打印 上一主题 下一主题
收起左侧

[建站经验] Pelican + Github 搭建自己的静态博客

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-30 22:37:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前在Github上使用基本的jekyll模板搭建过一个博客,但是那时候前端技术的水平有限,搭出来的博客很不好看,一些基本的功能实现不出来。之后又转向了Octopress模板,它是R系语言的编写的jekyll模板,又上手操作开发了一段时间,已经基本做出来了,但是奈何主题模板博主觉得都不好看,所以自己操作来做,发现Ruby语言不好下手啊,折腾了好久没有修改成博主喜欢的样式。
最后,同学推荐有一个使用Python语言写的Pelican静态网站生成器,眼前一亮,这个不错啊,python正在学习的过程中,下定决心就这个了。所以就有了下面的这番折腾!
Pelican
Pelican是一个用Python语言编写的静态网站生成器,支持使用restructuredText和Markdown写文章,配置灵活,扩展性强。目前Pelican已发布3.2.2版本,有许多优秀的主题和插件可供使用。
Pelican 的Github地址是:https://github.com/getpelican/pelican
Pelican Static Site Generator, Powered>什么是github page? <http://pages.github.com/>
就是:The Automatic Page Generator can be used on GitHub to quickly create a web page for a project, user or organization.
两种pages模式
1、User/Organization Pages 个人或公司站点
使用自己的用户名,每个用户名下面只能建立一个;
资源命名必须符合这样的规则username/username.github.com;
主干上内容被用来构建和发布页面
2、 Project Pages 项目站点
gh-pages分支用于构建和发布;
如果user/org pages使用了独立域名,那么托管在账户下的所有project pages将使用相同的域名进行重定向,除非project pages使用了自己的独立域名;
如果没有使用独立域名,project pages将通过子路径的形式提供服务username.github.com/projectname;
自定义404页面只能在独立域名下使用,否则会使用User Pages 404;
我是使用的第一种方式,直接利用master主干来构建和发布博客页面。如何构建请移步这里http://pages.github.com/。哈哈,偷懒下,就不翻译了,顺着做就好!这里比如已经建好了以下的工程项目:example.github.com
利用Pelican快速构建自己的原始博客
首先是安装pelican,现在pelican是3.3.0版本的,官方文档说明python版本得是2.7以上的,其中2.7支持的比较好!博主刚开始用的是ubuntu默认的版本2.6.x,然后开始运行发现出错了,一看说明才明白的!
怎么安装呢,没有什么说明书是比官方材料更详细更好的!
安装步骤是: 利用pip安装来安装pelican,pip据说被另外一个取代了,但是还可以用的哦,或者利用 easy_install pelican 来安装,在或者下载pelican的github报道本地安装
  1. $ pip install pelican
复制代码
或者:
easy_install
$ easy_install pelican
再或者,源码:
  1. $ cd path-to-Pelican-source$ python setup.py install
复制代码
注意:这里使用virtualenv工具更加方便,virtualenv,virtualenv is a tool to create isolated Python environments.
  1. $ virtualenv ~/virtualenvs/pelican$ cd ~/virtualenvs/pelican$ . bin/activate
复制代码
安装完pelican之后,别着急开始,先安装一个Markdown吧,我习惯使用markdown,
  1. $ pip install Markdown
复制代码
OK,到这里,pelican的环境部分我们已经配置完了,不过博主好奇刚才pelican的安装些什么了?也就是说pelican的依赖项:

  • feedgenerator, to generate the Atom feeds
  • jinja2, for templating support
  • pygments, for syntax highlighting
  • docutils, for supporting reStructuredText as an input format
  • pytz, for timezone definitions
  • blinker, an object-to-object and broadcast signaling system
  • unidecode, for ASCII transliterations of Unicode text
  • six, for Python 2 and 3 compatibility utilities
  • MarkupSafe, for a markup safe string implementation
  • markdown, for supporting Markdown as an input format
好家伙,这么多啊,都看看 发现都不错!之后用到了在展开慢慢来说。
注:相关网站建设技巧阅读请移步到建站教程频道。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2025-5-21 23:48 , Processed in 0.212012 second(s), 16 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表