ペリカンでは、デフォルトで、ブログ記事は index.html ファイルにリストされます。
代わりに、静的ページをホームページとして使用し、すべてのブログ記事を専用の「ブログ」ページに配置することをお勧めします。
どうすればこれを行うことができますか?
ペリカンでは、デフォルトで、ブログ記事は index.html ファイルにリストされます。
代わりに、静的ページをホームページとして使用し、すべてのブログ記事を専用の「ブログ」ページに配置することをお勧めします。
どうすればこれを行うことができますか?
希望する目標を達成する方法はいくつかありますが、設定ファイルを次のように変更することから始めます。
SITEURL = '/blog'
OUTPUT_PATH = 'output/blog'
PAGE_URL = '../{slug}.html'
PAGE_SAVE_AS = '../{slug}.html'
DISPLAY_PAGES_ON_MENU = False
DISPLAY_CATEGORIES_ON_MENU = False
MENUITEMS = [('Home', '/'), ('Blog', '/blog/')]
いつものようにブログの投稿を置きcontent/
、次のヘッダーを使用してホームページを作成し、名前を付けて保存しcontent/pages/home.md
ます。
Title: Home
URL: ../
Save_as: ../index.html
This is the home page.
警告:
ダイナミック ナビゲーション メニューの生成は、この構成ではうまく機能しないため、事実上オフになっています。現在アクティブなメニュー項目の強調表示 (通常はすぐに使用できる機能) は、この構成には存在しないため、必要に応じてテーマに個別に実装する必要があります。
テーマのbase.html
テンプレートに、に依存するサイト ホームへのリンクがある場合SITEURL
(たとえば、notmyidea テーマのように)、代わりにリンクを指すように変更する必要があります<a href="/">
。
pelicanconf に以下を設定
DIRECT_TEMPLATES = ['blog']
PAGINATED_DIRECT_TEMPLATES = ['blog']
1 行目は記事の blog.html を設定します 2 行目は blog.html ファイルのページネーションを許可します
インデックス ページの場合、コンテンツ ディレクトリにページ フォルダーを作成し、そこに .md ファイルを作成します。これを設定save_as:index.html
すると、md ファイルが index.html として保存されます。
次の設定を使用して、たとえば /blog/index.html にインデックス ファイルを配置できます。
INDEX_SAVE_AS = 'blog/index.html'
INDEX_URL = 'blog/'
次に、home.md ページを作成し、実際のホームページに「save_as: index.html」ディレクティブを使用します。