私の目標は、公開された任意の jekyll ページから Github 上のその場所に戻るリンクを作成することです。
そのため、この URL を作成するときにページのパス名にアクセスする必要があります。ただし、この情報を提供するテンプレートの API には何も表示されません。pageのソースを見ましたが、テンプレート経由でアクセスした場合、ファイル/パス属性の値がありませんでした。
私の目標は、公開された任意の jekyll ページから Github 上のその場所に戻るリンクを作成することです。
そのため、この URL を作成するときにページのパス名にアクセスする必要があります。ただし、この情報を提供するテンプレートの API には何も表示されません。pageのソースを見ましたが、テンプレート経由でアクセスした場合、ファイル/パス属性の値がありませんでした。
更新:最近はを使用できます{{page.path}}
。
リキッドコードを使用して、リンクを適切に構築できるようです。{{ page.url }}
たとえば、次のページが必要な場合:http: //railsdocs.org/pages/get-involved.htmlこのページにリンクする:https ://github.com/dogweather/railsdocs.org/blob/gh-pages/ pages / get-involved.md
次のようなものを追加できるようです。
[source](https://github.com/dogweather/railsdocs.org/blob/gh-pages/{{page.url | replace:'.html','.md'}})
マークダウンに移動し、必要なリンクを取得します。
または、ページがファイル名に直接アクセスできるようにするジェネレーターを作成することもできます。これをディレクトリ内の.rb
ファイルに追加します。_plugins
module Jekyll
class PagePathGenerator < Generator
safe true
## See post.dir and post.base for directory information.
def generate(site)
site.posts.each do |post|
post.data['path'] = post.name
end
end
end
end
そうすれば、投稿のファイル名を確実に取得できます{{ page.path }}
。このソリューションは、URLから変換するよりも堅牢です。これは、ページ名に、URLに変換するときに「サニタイズ」される文字を含めることができるためです。(投稿には、日付情報などを追加する必要もあります)。代わりに、このプラグインを使用すると、投稿の名前に直接アクセスできます。
同様の戦略により、そのデータも必要な場合に、投稿へのパスを取得できます。
これがいつ追加されたのかはわかりませんがpage.path
、ソース ファイルのパスは Jekyll ルート ディレクトリからの相対パスです。