ホームページ > ウェブフロントエンド > htmlチュートリアル > ペリカンシリーズ: ライティングライフを始めよう_html/css_WEB-ITnose

ペリカンシリーズ: ライティングライフを始めよう_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:16:46
オリジナル
1119 人が閲覧しました

ブログ投稿とページの違い

記事: ブログ投稿とは、具体的に書かれた記事を指します。

ページ: ページは通常、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&eacute;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_CATEGORYFalse に変更します。

modified は記事が最後に編集された時刻で、デフォルトは date と同じです。さらに、modified を通じて RSS をプッシュすることができます。最初に記事を書いたときに RSS が一度プッシュされている可能性があります。後で変更された場合は、modified を通じて再度プッシュできます。

authors は、複数の著者を表すために使用されます。著者が 1 人だけの場合は、author を使用できます。

記事の要約に特定の長さを持たせたい場合は、

SUMMARY_MAX_LENGTHを設定すると、Pelican は記事の先頭から指定された長さを要約としてインターセプトします。

ファイル名に含まれる日付情報以外の内容を抽出したい場合は、

FILENAME_METADATA ファイル名を設定することでメタデータを抽出することもできます。は slug です。FILENAME_METADATA を次のように設定できます: '(?Pd{4}-d{2}-d{2})_(?P.*)' 注意事項 はい、ファイルヘッダーに書き込まれたメタデータ情報は、ファイル名から抽出された情報を上書きします。

ページ

ディレクトリ ページがコンテンツの下に作成される場合、このディレクトリ内のすべてのファイルは、概要ページや連絡先ページなどの静的ページとして生成されます。

DISPLAY_PAGES_ON_MENU

を設定することで、ページをナビゲーション バーに表示するかどうかを制御できます。デフォルトは

True

ページをナビゲーション バーに表示したくない場合は、次を追加できます: status: hiddenページのメタデータの 属性。404 の静的ページをナビゲーション バーに表示したくないため、404 ページには非常に効果的です。

内部リンクを引用する Pelican 3.1 以降、コンテンツのディレクトリ構造を通じて異なる記事間にリンクできるため、引用操作が非常に便利になります。

コンテンツ内のコンテンツを参照するための構文は次のとおりです:

{filename}path/to/file

{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.md
ログイン後にコピー

test.mdで参照

![Alt Text]({filename}/images/han.jpg)[Our Menu]({filename}/pdfs/menu.pdf)
ログイン後にコピー

pelicanconf.py新しい構成

STATIC_PATHS = ['images', 'pdfs']
ログイン後にコピー
ページを作成するとき、Pelicanは

han.jpg

にコピーします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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート