Pelican-chineses
  • Pelican Documents in Chinese
  • 关于翻译
  • 简介
  • 快速开始
  • 安装
  • 创作
    • 链接、静态文件和外部网站
    • 翻译、语法高亮和发布草稿
  • 发布网站
  • 设置(暂且不翻译)
  • 创建主题
    • 主题对象
  • LICENSE
Powered by GitBook
On this page
  • 文章和页面
  • 文章元信息
  • 页面

创作

文章和页面

Pelican 把 "articles" 当作成一系列按时间排序的内容(比如博客之中的日志),因此按照时间来管理这些内容。

"pages" 的概念来源于那些自然中不会经常发生变化的内容。(比如“关于”,“取得联系”页面)

你可以从仓库 samples/content/ 获取一些样例。

文章元信息

Pelican 尝试智能地从文件系统中获取它所需要的信息(比如文章分类),但是你必须在文件中按照表格的形式提供一些信息。

如果你正在使用 reStructuredText 格式创作你的内容,你可以在文章的开篇,通过下面的格式来提供这些元信息(假设文件扩展名是 .rst ):

    My super title
    ##############

    :date: 2010-10-03 10:20
    :modified: 2010-10-04 18:40
    :tags: thats, awesome
    :category: yeah
    :slug: my-super-post
    :authors: Alexis Metaireau, Conan Doyle
    :summary: Short version for index and feeds

作者和标签列表可以通过分号来分隔开,像下面这样:

    :tags: pelican, publishing tool; pelican, bird
    :authors: Metaireau, Alexis; Doyle, Conan

Pelican 实现了一个 reStructuredText 扩展来支持 addr HTML 标签。使用它,你需要在你的日志中这样写:

    This will be turned into :abbr:`HTML (HyperText Markup Language)`.

你还可以使用 Markdown 语法(文件名以 .md,markdown,mkd,mdown 等扩展名结束)。 Markdown 生成器需要你首先安装 Markdown 包(通过命令 pip install Markdown)。

Pelican 还支持 Markdown 扩展,这个包需要单独的安装,因为他们没有包含在默认的 Markdown 包中,并且可以通过 Markdown 设置来配置和导入。

Markdown 的元信息格式如下所示:

    Title: My super title
    Date: 2010-12-03 10:20
    Modified: 2010-12-05 19:30
    Category: Python
    Tags: pelican, publishing
    Slug: my-super-post
    Authors: Alexis Metaireau, Conan Doyle
    Summary: Short version for index and feeds

    This is the content of my super blog post.

你还可以定义自己的元信息标签(只要他们和保留的标签不冲突),并在 Python 模版中使用。下面这些元信息关键字被保留了:

  • Title

  • Tags

  • Date

  • Modified

  • Status

  • Category

  • Author

  • Authors

  • Slug

  • Summary

  • Template

  • Save_as

  • Url

额外的格式的阅读器(比如 AsciiDoc )可以通过插件提供支持。可以通过 pelican-plugins 插件寻求支持。

Pelican 还可以驱动 HTML 文件(以 .html 和 .htm 结尾)。Pelican 解释器将以一种非常生硬的办法解析 HTML 文件,从 meta 标签中获取元信息,从 title 标签中获取标题,并把 body 看作文章的内容:

    <html>
        <head>
            <title>My super title</title>
            <meta name="tags" content="thats, awesome" />
            <meta name="date" content="2012-07-09 22:28" />
            <meta name="modified" content="2012-07-10 20:14" />
            <meta name="category" content="yeah" />
            <meta name="authors" content="Alexis Métaireau, Conan Doyle" />
            <meta name="summary" content="Short version for index and feeds" />
        </head>
        <body>
            This is the content of my super blog post.
        </body>
    </html>

HTML 文件中,有一个小小的例外: tags 可以通过 tag 标签来指明,也可以像标准 HTML 一样使用 keywords 来标记。这两种方法都可以交替使用。

注意,除了标题之外,没有一个文章元信息是必须的:如果日期没有被指明,并且 DEFAULT_DATE 被设置为 'fs' 那么 Pelican 将会通过文件的最近修改时间戳来定义;分类将会通过文件在那一个目录之中被指定。比如,一个文件的位置在 python/foobar/myfoobar.rst 那么将会有一个 foobar 的分类。如果你想通过其他方式来组织你的文件,比如子文件夹的名字不适合作为一个好的分类名的时候,你可以把设置中 USE_FOLDER_AS_CATEGORY 设置成 False。当你解析时间信息的时候, Pelican 支持 W3C 的 seggested subset ISO 8601 。

注意

当更改设置的时候,缓存可能会产生影响,并使得更改不可见。在这种情形下,通过 LOAD_CONTENT_CACHE = False 来取消缓存,或者使用 --ignore-chche 命令标签。

modified 标签是你最后一次上传文章的时间,如果不显式的指明,默认值是 date。 此外,你还可以在模版中显示modified,当你在修改文章之后设置 Modified 为当前时间,feed 渲染器将会自动的更改 feed 参数。

author 参数是一个逗号分割的作者列表。如果除了你之外还有别的作者,你可以使用这个标签。

如果你不想显式的指明 summary 元信息,SUMMARY_MAX_LENGTH 可以用来设置成为指定文章开头多少个字作为总结。

你还可以从文件名中取出任何一个元信息,通过 FILENAME_METADATA 设置的标准表达式。所有匹配的命名组都可以被设为元信息对象。这个变量的默认值将只尝试从文件名中获取时间信息。比如如果你想要同文件名中抽取时间和 slug 信息,你可以设置成:'(?P<date>\d{4}-\d{2}-\d{2})_(?P<slug>.*)'。

请注意文件中的元信息的优先级高于文件名中抽取出来的元信息。

页面

如果在当前文件夹中创建一个文件夹叫做 pages,其中所有的文件都被用作生成静态文件,比如 关于 或者 取得联系 页面。(请看下面的文件系统布局)。

你还可以使用变量 DISPLAY_PAGES_ON_MENU 来控制时候这些页面时候在导航栏中显示。(默认值是 True)。

如果想要放置任何一个页面被链接和罗列在菜单之中,请在元信息中添加 status:hidden属性。这对于生成适合主题的错误页面之类的页面非常有用。

Previous安装Next链接、静态文件和外部网站

Last updated 6 years ago