ホームページ >ウェブフロントエンド >htmlチュートリアル >ペリカンシリーズ: ライティングライフを始めよう_html/css_WEB-ITnose
記事: ブログ投稿とは、具体的に書かれた記事を指します。
ページ: ページは通常、About などの固定ページを指します。
メタデータは、検索エンジンの最適化を実行し、ブログ投稿のいくつかの基本情報を含めることができます。
reStructuredText を使用してコンテンツを記述する場合は、メタデータ ヘッダーを次のように記述できます
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 での abbr タグの記述もサポートしています。 使用方法は次のとおりです
This will be turned into :abbr:`HTML (HyperText Markup Language)`.
Markdown 構文 (.md、.markdown、.mkd、.mdown) を使用することもできます。 )、Markdown から HTML ファイルを生成するには、Markdown モジュールのサポートが必要です。これは、コマンド pip install markdown を通じてインストールできます。
Pelican は Markdown の拡張構文もサポートしています。Markdown 拡張機能は Markdown モジュールに含まれていないため、MD_EXTENSIONS を通じて設定する必要があります。
Markdown で記事を書くための基本的な形式は以下の通りです
Title: My super titleDate: 2010-12-03 10:20Modified: 2010-12-05 19:30Category: PythonTags: pelican, publishingSlug: my-super-postAuthors: Alexis Metaireau, Conan DoyleSummary: Short version for index and feedsThis is the content of my super blog post.
プラグインを使用してより多くの形式に対応することもできますが、今後検討されます。
Pelican は HTML および HTM ファイルを直接解析することもでき、HTML ファイルの解析はより簡単で、コピーすることと何ら変わりません。
<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>
注意: タイトルを除いて、他のメタデータは必要ありません。時間が指定されておらず、DEFAULT_DATE が 'fs' に設定されている場合、Pelican はファイルのタイムスタンプに基づいて時刻と記事の分類を決定します。サブディレクトリの名前に基づいて決定できます。例: python/foobar/myfoobar.rst のカテゴリは、サブディレクトリの名前をカテゴリ名として使用したくない場合に設定できます。 USE_FOLDER_AS_CATEGORY を False に変更します。
modified は記事が最後に編集された時刻で、デフォルトは date と同じです。さらに、modified を通じて RSS をプッシュすることができます。最初に記事を書いたときに RSS が一度プッシュされている可能性があります。後で変更された場合は、modified を通じて再度プッシュできます。
authors は、複数の著者を表すために使用されます。著者が 1 人だけの場合は、author を使用できます。
記事の要約に特定の長さを持たせたい場合は、SUMMARY_MAX_LENGTHを設定すると、Pelican は記事の先頭から指定された長さを要約としてインターセプトします。
ファイル名に含まれる日付情報以外の内容を抽出したい場合は、FILENAME_METADATA ファイル名を設定することでメタデータを抽出することもできます。は slug です。FILENAME_METADATA を次のように設定できます: '(?P1d78a9a384cca7aba89b0d5f2a964e41d{4}-d{2}-d{2})_(?P198c97e7ae6ff9dea64e00c681816625.*)' 注意事項 はい、ファイルヘッダーに書き込まれたメタデータ情報は、ファイル名から抽出された情報を上書きします。
ページディレクトリ ページがコンテンツの下に作成される場合、このディレクトリ内のすべてのファイルは、概要ページや連絡先ページなどの静的ページとして生成されます。
を設定することで、ページをナビゲーション バーに表示するかどうかを制御できます。デフォルトは
Trueページをナビゲーション バーに表示したくない場合は、次を追加できます: status: hiddenページのメタデータの 属性。404 の静的ページをナビゲーション バーに表示したくないため、404 ページには非常に効果的です。
内部リンクを引用する Pelican 3.1 以降、コンテンツのディレクトリ構造を通じて異なる記事間にリンクできるため、引用操作が非常に便利になります。
、
{fielname}は必須であり、Linux と Windows の両方をサポートできます コンテンツのディレクトリ構造は次のようなものであると仮定します website/├── content│ ├── category/│ │ └── article1.rst│ ├── article2.md│ └── pages│ └── about.md└── pelican.conf.py
article1.rst
The first article#################:date: 2012-12-01 10:02See below intra-site link examples in reStructuredText format.`a link relative to the current file <{filename}../article2.md>`_`a link relative to the content root <{filename}/article2.md>`_のコードをリンク
article2.md 内
Title: The second articleDate: 2012-12-01 10:02See below intra-site link examples in Markdown format.[a link relative to the current file]({filename}category/article1.rst)[a link relative to the content root]({filename}/category/article1.rst)静的ファイルをリンク 写真や PDF ファイルなど、ブログやページ以外のリソースを参照する必要がある場合があります。 Pelican はデフォルトでコンテンツの下に画像を画像リソースとして設定し、他のリソースを設定する必要があります。
コンテンツのディレクトリ構造は次のとおりであると仮定します
content├── images│ └── han.jpg├── pdfs│ └── menu.pdf└── pages └── test.mdtest.mdで参照
![Alt Text]({filename}/images/han.jpg)[Our Menu]({filename}/pdfs/menu.pdf)
pelicanconf.py新しい構成 STATIC_PATHS = ['images', 'pdfs']
ページを作成するとき、Pelicanは
を
にコピーしますOutput/ 画像/han.jpg、menu.pdf を
output/pdfs/menu.pdfにコピーし、リンクを test.md
に適応させます从Pelican 3.5开始,通过{attach}path/to/file可以给文章或者页面添加附件,语法和{filename}类似,但是附件会被复制到文章或者页面的同一个目录下面。这种方式只有在STATIC_PATHS设置了该目录才能使用这个标签。
假设content的目录结构如下
content├── blog│ ├── icons│ │ └── icon.png│ ├── photo.jpg│ └── testpost.md└── downloads └── archive.zip
pelicanconf.py的配置如下
PATH = 'content'STATIC_PATHS = ['blog', 'downloads']ARTICLE_PATHS = ['blog']ARTICLE_SAVE_AS = '{date:%Y}/{slug}.html'ARTICLE_URL = '{date:%Y}/{slug}.html'
testpost.md的内容如下
Title: Test PostCategory: testDate: 2014-10-31![Icon]({attach}icons/icon.png)![Photo]({attach}photo.jpg)[Downloadable File]({attach}/downloads/archive.zip)
生成之后的output的目录结构如下
output└── 2014 ├── archive.zip ├── icons │ └── icon.png ├── photo.jpg └── test-post.html
如果使用{attach}引用文章所在目录之外的资源,在生成文件的时候会将这个资源复制到文章所在的目录下。
如果资源被多篇文章通过{attach}引用,在第一个被引用的地方Pelican会以attach的方式来处理这个资源,在之后的引用的地方会按照{filename}的方式来链接这个资源,也就是说,在同一个目录下同一个资源被多次引用,Pelican只复制一次这个资源到该目录下面。
请谨慎使用多篇文章引用同一个资源,因为Pelican对{attach}资源处理的顺序是不确定的,就可能导致资源复制到不确定的目录下面,只有当所有的引用同一个资源的文章在同一个目录下面的时候才是安全的。
链接标签和分类的语法为{tag}tagname和{category}foobar
Pelican为代码块提供了语法高亮功能,对于reStructuredText用户,可以使用code-block标记,假设我们要高亮Python的代码。
.. code-block:: python print("Pelican is a static site generator.")
对于Markdown用户,按照以下语法
There are two ways to specify the identifier: :::python print("The triple-colon syntax will *not* show line numbers.")To display line numbers, use a path-less shebang instead of colons: #!python print("The path-less shebang syntax *will* show line numbers.")
如果是普通的代码,分不出具体语言的,可以按照如下语法格式,用一对```包起代码
有时候我们希望把我们的草稿先发布出来给部分朋友看看,不让文章在首页和分类列表里面显示出来,我们可以在文章中添加Status: draft属性。
如果将所有刚写好的文章都作为草搞件发布的话,可以在配置文件中配置DEFAULT_METADATA属性
DEFAULT_METADATA = { 'status': 'draft',}
这样文章在发布的时候默认就是草稿,通过修改文章的配置为Status: published将文章正式发布出来。
文章同步发布在我的个人站点: http://www.xinxingzhao.com/blog/2016/03/25/pelican-writing-content.html