最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在GitHubPages上使用Pelican搭建博客的教程

来源:动视网 责编:小采 时间:2020-11-27 14:32:56
文档

在GitHubPages上使用Pelican搭建博客的教程

在GitHubPages上使用Pelican搭建博客的教程:Pelican 介绍 首先看看 Pelican 的一些主要特性: Python实现,开放源码 输出静态页面,方便托管 支持主题,采用Jajin2模板引擎 支持代码语法高亮 支持reStructuredText、Markdown、AsciiDoc格式 支持Disqus评论 支持Atom和R
推荐度:
导读在GitHubPages上使用Pelican搭建博客的教程:Pelican 介绍 首先看看 Pelican 的一些主要特性: Python实现,开放源码 输出静态页面,方便托管 支持主题,采用Jajin2模板引擎 支持代码语法高亮 支持reStructuredText、Markdown、AsciiDoc格式 支持Disqus评论 支持Atom和R
 Pelican 介绍

首先看看 Pelican 的一些主要特性:

  • Python实现,开放源码
  • 输出静态页面,方便托管
  • 支持主题,采用Jajin2模板引擎
  • 支持代码语法高亮
  • 支持reStructuredText、Markdown、AsciiDoc格式
  • 支持Disqus评论
  • 支持Atom和RSS输出
  • 这些特性都是大爱,完全满足我对博客系统的基本需求,再配合免费无的GitHub Pages,一切近乎完美了。
    安装 Pelican

    开始前请自行安装Python环境,支持2.7.X和3.3+,为方便,再顺手装上distribute、pip、virtualenv。(注:我的操作系统是:Windows 7)

    创建Pelican虚拟环境

    virtualenv PelicanEnv --distribute
    PelicanEnvScriptsactivate
    
    

    安装 Pelican

    pip install pelican
    
    

    如果您使用Markdown来写文章的话,还需要安装Markdown库

    pip install Markdown
    
    

    创建 Blog

    创建一个 Blog 目录

    mkdir myblog
    cd myblog
    
    

    快速创建 Blog

    pelican-quickstart
    
    

    根据提示一步步输入相应的配置项,不知道如何设置的接受默认即可,后续可以通过编辑pelicanconf.py文件更改配置。

    以下是生成的目录结构:

    代码如下:

    myblog/
    ├── content # 存放输入的源文件
    │ └── (pages) # 存放手工创建的静态页面
    ├── output # 生成的输出文件
    ├── develop_server.sh # 方便开启测试服务器
    ├── Makefile # 方便管理博客的Makefile
    ├── pelicanconf.py # 主配置文件
    └── publishconf.py # 发布时使用的配置文件

    撰写文章

    在 content 目录下用 Markdown 语法来写一篇文章

    代码如下:

    Title: My super title
    Date: 2010-12-03 10:20
    Category: Python
    Tags: pelican, publishing
    Slug: my-super-post
    Author: Alexis Metaireau
    Summary: Short version for index and feeds

    This is the content of my super blog post.

    生成页面

    make html
    
    

    现在就可以在output目录查看生成的html文件了。

    由于我的操作系统是Windows,我对Makefile做了一些修改。

    PY=python
    PELICAN=pelican
    PELICANOPTS=
    
    BASEDIR=$(CURDIR)
    INPUTDIR=$(BASEDIR)/content
    OUTPUTDIR=$(BASEDIR)/output
    GITHUBDIR=$(BASEDIR)/togithub
    CONFFILE=$(BASEDIR)/pelicanconf.py
    PUBLISHCONF=$(BASEDIR)/publishconf.py
    
    help:
     @echo ' '
     @echo 'Makefile for a pelican Web site '
     @echo ' '
     @echo 'Usage: '
     @echo ' make help print help information '
     @echo ' make all (re)generate the web site '
     @echo ' make html (re)generate the web site '
     @echo ' make clean remove the generated files '
     @echo ' make cptogithub copy output files to GITHUBDIR '
     @echo ' make regenerate regenerate files upon modification '
     @echo ' make serve serve site at http://localhost:8000'
     @echo ' make devserver start/restart develop_server.sh '
     @echo ' make stopserver stop local server '
     @echo ' make publish generate using production settings '
     @echo ' '
    
    all: html
    
    html: clean $(OUTPUTDIR)/index.html cptogithub
    
    clean:
     @echo -n 'Cleaning............................'
     @rm -fr $(OUTPUTDIR)
     @mkdir $(OUTPUTDIR)
     @echo 'Done'
    
    $(OUTPUTDIR)/%.html:
     $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
    
    cptogithub:
     @echo -n 'Copying.............................'
     @cp -fR $(OUTPUTDIR)/* $(GITHUBDIR)
     @echo 'Done'
    
    regenerate: clean
     $(PELICAN) -r $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
    
    serve:
     cd $(OUTPUTDIR) && $(PY) -m pelican.server
    
    devserver:
     $(BASEDIR)/develop_server.sh restart
    
    stopserver:
     kill -9 `cat pelican.pid`
     kill -9 `cat srv.pid`
     @echo 'Stopped Pelican and SimpleHTTPServer processes running in background.'
    
    publish:
     $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(PUBLISHCONF) $(PELICANOPTS)
    
    .PHONY: help all html clean cptogithub regenerate serve devserver stopserver publish
    
    

    创建 GitHub Pages

    GitHub Pages分两种,一种是项目页面,可创建多个;另一种是用户页面,每个用户ID只能创建一个。两种都可以用来托管Pelican博客,这里以用户页面为例。

    点击这里,新建一个Repository,Repository名字可以是 xxx.github.io 或者 xxx.github.com,其中 xxx 是您的用户ID。

    创建成功以后,便可以把生成的页面push到github。

    cd output
    git init
    git add .
    git commit -m "first commit"
    git remote add origin https://github.com/xxx/xxx.github.io.git
    git push -u origin master
    
    

    现在可以通过 xxx.github.io 或者 xxx.github.com 来访问您的博客了。
    域名绑定

    在repo的根目录下面,新建一个名为CNAME的文本文件,里面写入你要绑定的域名,比如顶级域名 example.com 或者二级域名 xxx.example.com。

    如果绑定的是顶级域名,则DNS要新建一条A记录,指向 204.232.175.78。

    如果绑定的是二级域名,则DNS要新建一条CNAME记录,指向 xxx.github.io 或者 xxx.github.com 。

    以我的为例:

    CNAME文件

    www.dongxf.com

    DNSPod上设置

    在浏览器地址栏中输入以下链接,都将跳转指向 http://www.dongxf.com/

    http://dongxf.com/
    http://www.dongxf.com/
    http://blog.dongxf.com/
    http://dongdxf.github.io/
    http://dongdxf.github.com/

    未尽事宜

    其他内容请参考 Pelican官方文档 。我正在翻译这个文档,才刚开始,进展缓慢。请点击 Pelican文档中文版 访问,欢迎提出宝贵意见和建议。

    文档

    在GitHubPages上使用Pelican搭建博客的教程

    在GitHubPages上使用Pelican搭建博客的教程:Pelican 介绍 首先看看 Pelican 的一些主要特性: Python实现,开放源码 输出静态页面,方便托管 支持主题,采用Jajin2模板引擎 支持代码语法高亮 支持reStructuredText、Markdown、AsciiDoc格式 支持Disqus评论 支持Atom和R
    推荐度:
    标签: 博客 blog 搭建
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top