web-dev-qa-db-ja.com

ジキルのURLをカスタマイズする方法は?

Jekyllを使用してサイトを作成したいと思います。ブログではありません。作成日をURLとページのファイル名で指定しないようにする方法はありますか?

Jekyllの背後にあるアイデアは素晴らしいと思いますが、ブログ生成のコンテンツに関連しすぎているように思われますが、より一般的なユースケースでも役立ちます。

41
alexyz78

_configファイルでは、パーマリンクを好きなように変更できます。

permalink: /blog/:title

日付については、YAMLの前付けを使用して独自の日付を選択できます。

title: example
date: you can pick what ever date you want
49
joshuahornby10

ブログページを作成しない場合は、特定のURLにマッピングするディレクトリ構造でファイルを作成できます。ディレクトリが次の構造を持っている場合は、ローカルホストで実行します

- _layouts/
- config.yml
- index.html
- some_other_page.html
- some_directory/
    - index.html
    - some_sub_page.html

Jekyllがファイルを処理した後、次の場所にコンテンツがあります。

  • 0.0.0.0:4000(index.html)
  • 0.0.0.0:4000/some_other_page.html(some_other_page.html)
  • 0.0.0.0:4000/some_directory(some_directory/index.html)
  • 0.0.0.0:4000/some_directory/some_sub_page.html(some_directory/some_sub_page.html)

各投稿のpermalink属性を使用して手動で設定するか、config.ymlで別のデフォルトを設定することもできます パーマリンクには、使用できる変数の小さなサブセットしかなく、すべての変数で定義する必要があります非標準の場所に置きたいファイル。

このディレクトリ構造により、投稿も自動的に分類されます。だからあなたは持つことができます:

- some_category (defined in the yaml front matter or the _config.yml
    - index.html
    - _posts/
        - some_post.md
        - some_other_post.md

また、投稿には自動的に「いくつかのカテゴリ」というカテゴリがあり、index.htmlは0.0.0.0:4000/some-categoryにデフォルトのパーマリンク形式で表示されます。カテゴリ変数は、パーマリンク形式の文字列で:categoryとして使用できます。

9
heliotrope

ドキュメントの内容:

次のように、_config.ymlファイルでパーマリンクを設定します。

permalink: /:categories/:year/:month/:day/:title.html

パーマリンク設定を指定しない場合、ジキルは上記のパターンをデフォルトとして使用します。パーマリンクは、組み込みのパーマリンクスタイルを使用して設定することもできます。

permalink: date

テンプレート変数を使用してカスタムのパーマリンクパターンを指定できますが、Jekyllには便利な次の組み込みスタイルも用意されています。

  • 日付= /:categories/:year/:month/:day/:title.html
  • かなり= /:categories /:year /:month /:day /:title /
  • 序数= /:categories/:year/:y_day/:title.html
  • なし= /:categories/:title.html

出典: https://jekyllrb.com/docs/permalinks/


これは私が使用する基本設定です:

permalink: pretty

これにより、ページがかなりのパーマリンクスタイルに設定されます。したがって、「/ contact.md」は「/ contact /」になります。

ブログ投稿での使用方法:

permalink: /blog/:title/

これにより、パスに(簡略化された)タイトルが含まれるようになります。

コレクションでの使用方法:

permalink: /desiredpath/:name/

これにより、パスにファイル名が含まれるようになります。

4
JoostS

_pagesディレクトリのjekyllページを整理する_postsと同様に整理する方法を探しているときに、この古い質問に遭遇しました。次に、URLにパス全体を表示せずにこのページにアクセスします。

私にとってより効果的なアプローチは、次のように jekyll collections を使用することです。

1-_config.ymlpagesコレクションを追加します。

collections:
   pages:
     output: true
     permalink: /:path/

2-_pagesという名前の新しいディレクトリを作成します(_が前に付いた同じコレクション名である必要があります)

3-_pagesフォルダー内のページを、YAML Front Matterで始まる.mdまたは.htmlファイルとして追加します。

例えば。 /_pages/about.mdは次のようになります。

---
layout: page
---

<!-- about page content -->

それを作成した後、概要ページのURLは<your-web-site>/aboutになります。

または、コレクション名を表示するには、そのパーマリンクを次のように定義する必要があります。

permalink: /:collection/:path/
3
yaitloutou