変数に何が入っているか調べたい

参考

Jekyllでは生成されたサイトに対する情報は、グローバル変数siteを通してアクセスできます。 siteがどんな情報を持っているか、ちょっと見てみます。index.mdに戻って、次の一行を追加します。

---
layout: default
title: Oh! My JK
---
#Welcome to my JK Home Page!

{{ site }}  <!-- ここを追加 -->

これが動かなかったので、変数をDumpする方法を調べた

inspectフィルタ

Inspect
Convert an object into its String representation for debugging.
{{ some_var | inspect }}

とのことで、inspectフィルタで表示されるらしい。

{{ page | inspect }}

実行してみる

{ "content": "## 変数に何が入っているか調べたい\n\n参考\n\n* Jekyllいつやるの?ジキやルの?今でしょ!\n* Templates - Jekyll\n\n{% capture text %}\nJekyllでは生成されたサイトに対する情報は、グローバル変数siteを通してアクセスできます。\nsiteがどんな情報を持っているか、ちょっと見てみます。index.mdに戻って、次の一行を追加します。\n\n{% raw %}\n\n---\nlayout: default\ntitle: Oh! My JK\n---\n#Welcome to my JK Home Page!\n\n{{ site }} &lt;!-- ここを追加 --&gt;\n\n{% endraw %}\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source=’\nJekyllいつやるの?ジキやルの?今でしょ!\n’ | markdownify | remove: ‘<p>’ | remove: ‘</p>’ %}\n{% include cite.html text=text source=source %}\n\n\nこれが動かなかったので、変数をDumpする方法を調べた\n\n## inspectフィルタ\n\n{% capture text %}\n\n{% raw %}\nInspect\n: Convert an object into its String representation for debugging.\n: {{ some_var | inspect }}\n{% endraw %}\n\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source=’\nTemplates - Jekyll\n’ | markdownify | remove: ‘<p>’ | remove: ‘</p>’ %}\n{% include cite.html text=text source=source %}\n\nとのことで、inspectフィルタで表示されるらしい。\n\n{% raw %}\nliquid\n{{ page | inspect }}\n\n{% endraw %}\n\n実行してみる\n\n> {{ page | inspect }}\n", "output": null, "id": "/Jekyll/display-value", "previous": { "content": "<h2 id=\"きっかけ\">きっかけ</h2>\n\n<p><strong>autodate.vim</strong> は普通では<code class=\"highlighter-rouge\">Last Change:</code>と<code class=\"highlighter-rouge\">.</code>の間に日付を入れるが、\nJekyll用にFront-matterに入れてテンプレから呼び出して使いたい。</p>\n\n<p>参考</p>\n\n<ul>\n <li><a href=\"http://advweb.seesaa.net/article/694081.html\">vimスクリプト 「autodate.vim」解説のおまけ : サイト更新停滞ちうっ [ 名無しのVIM使い ]</a></li>\n <li><a href=\"http://vim.g.hatena.ne.jp/tokorom/20110417/1303057714\">Vimで現在のバッファ(開いているファイル)のfiletypeを取得する方法</a></li>\n <li><a href=\"https://jekyllrb.com/docs/frontmatter/\">Front Matter - Jekyll</a></li>\n <li><a href=\"http://www.task-notes.com/entry/20150922/1442890800\">YAMLの基本について</a></li>\n <li><a href=\"http://nanasi.jp/articles/vim/autodate_vim.html\">autodate.vim : ファイルのタイムスタンプ記述を自動的に更新–名無しのvim使い</a></li>\n <li><a href=\"http://qiita.com/daxanya1/items/24695a2a9d8bd6526b53\">JekyllのテンプレートのListとHashで結構いけるんじゃないかな</a></li>\n</ul>\n\n<h2 id=\"設定方法\">設定方法</h2>\n\n<blockquote class=\"blockquote\">\n \n<h4 id=\"ファイルタイプごとにタイムスタンプの形式を変える\">ファイルタイプごとにタイムスタンプの形式を変える</h4>\n\n<dl>\n <dt>Windowsの場合</dt>\n <dd><code class=\"highlighter-rouge\">$HOME/vimfiles/ftplugin</code></dd>\n <dt>Mac OSXの場合</dt>\n <dd><code class=\"highlighter-rouge\">$HOME/.vim/ftplugin</code></dd>\n</dl>\n\n<p>というディレクトリを作って、\nそのディレクトリ内にそれぞれのファイルタイプ用の設定ファイルを用意すれば良い。</p>\n\n<p>例えば、</p>\n\n<ul>\n <li>htmlのファイルタイプの場合は、 <strong>html.vim</strong></li>\n <li>javaのファイルタイプの場合は、 <strong>java.vim</strong></li>\n</ul>\n\n<p>を用意して、その中にそれぞれのファイルタイプ用の設定を書きます。\nすると、ファイルを開いた時にそれぞれのファイルタイプ用の設定が読み込まれます。</p>\n\n<p><code class=\"highlighter-rouge\">b:</code>をつけて、バッファローカルな設定にすると更に良いです。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:let b:autodate_keyword_pre = ‘Date:’\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://advweb.seesaa.net/article/694081.html\">vimスクリプト 「autodate.vim」解説のおまけ : サイト更新停滞ちうっ [ 名無しのVIM使い ]</a>\n</cite></footer>\n</blockquote>\n\n<p><strong>ftplugin</strong> ディレクトリにファイルタイプ毎の設定ファイルを記述すればいいようだ。</p>\n\n<h2 id=\"ftplugin-ディレクトリの場所\"><strong>ftplugin</strong> ディレクトリの場所</h2>\n\n<ul>\n <li><a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-structure\">Vimのディレクトリ構成</a></li>\n</ul>\n\n<p>から定石だと<code class=\"highlighter-rouge\">~/.config/nvim/ftplugin</code>になるが、せっかく <strong>dein.vim</strong> でパッケージ管理しているので、\n<strong>autodate.vim</strong> 用に <strong>ftplugin</strong> を分離したい。</p>\n\n<p>よし。githubでforkして <strong>ftplugin</strong> を加えたものを作ろうという考えに至った。</p>\n\n<h2 id=\"autodatevim-をforkしてgit-cloneする\"><strong>autodate.vim</strong> をforkして<code class=\"highlighter-rouge\">git clone</code>する</h2>\n\n<p>もっとも、プラグイン自体のライセンスがよくわからない。\n従って苦情がきたらこの方法は使えない。</p>\n\n<p>まずはgithub上で<a href=\"https://github.com/vim-scripts/autodate.vim\"><strong>autodate.vim</strong></a>をforkする。</p>\n\n<p>適当なディレクトリで</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>git clone https://github.com/yourgithub/autodate.vim\n</code></pre></div></div>\n\n<p>し、中に <strong>ftplugin</strong> を作って編集する。</p>\n\n<p>まず<code class=\"highlighter-rouge\">.md</code>ファイルがどんなファイルタイプとして読み込まれているか確認する。</p>\n\n<blockquote class=\"blockquote\">\n \n<h4 id=\"じつは-filetype-だけだった\">じつは &amp;filetype だけだった</h4>\n\n<p>恥ずかしい話、取得できそうなのにできないな…と思っていたら、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>&amp;filetype\n</code></pre></div></div>\n\n<p>とするだけだった。</p>\n\n<p>例えば、hoge.py を開いているときに</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:echo &amp;filetype\n</code></pre></div></div>\n\n<p>とすれば</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>python\n</code></pre></div></div>\n\n<p>と出力される。</p>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://vim.g.hatena.ne.jp/tokorom/20110417/1303057714\">Vimで現在のバッファ(開いているファイル)のfiletypeを取得する方法</a>\n</cite></footer>\n</blockquote>\n\n<p><code class=\"highlighter-rouge\">.md</code>ファイルを開いている状態で<code class=\"highlighter-rouge\">:echo &amp;filetype</code>をしてみると</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>markdown\n</code></pre></div></div>\n\n<p>と表示された。</p>\n\n<p>なので<code class=\"highlighter-rouge\">autodate.vim/ftplugin/markdown.vim</code>に変更内容を記述する。</p>\n\n<blockquote class=\"blockquote\">\n \n<table>\n <tbody>\n <tr>\n <td><code class=\"highlighter-rouge\">date</code></td>\n <td>A date here overrides the date from the name of the post. This can be used to ensure correct sorting of posts. A date is specified in the format <code class=\"highlighter-rouge\">YYYY-MM-DD HH:MM:SS +/-TTTT</code>; hours, minutes, seconds, and timezone offset are optional.</td>\n </tr>\n </tbody>\n</table>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"https://jekyllrb.com/docs/frontmatter/\">Front Matter - Jekyll</a>\n</cite></footer>\n</blockquote>\n\n<blockquote class=\"blockquote\">\n \n<p>「autodate_format」で、autodate.vimスクリプトで挿入されるタイムスタンプのフォーマットを 指定することができます。</p>\n\n<table>\n <thead>\n <tr>\n <th>設定</th>\n <th>デフォルト値</th>\n <th>設定例</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>autodate_format</td>\n <td>%d-%3m-%Y</td>\n <td>:let autodate_format=” %Y/%m/%d %H:%M:%S “</td>\n </tr>\n </tbody>\n</table>\n\n<p>タイムスタンプのフォーマットの指定例を一通り、下に書いておきます。</p>\n\n<table>\n <thead>\n <tr>\n <th>タイムスタンプのフォーマット</th>\n <th>出力例</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>%Y/%m/%d</td>\n <td>2004/09/27</td>\n </tr>\n <tr>\n <td>%H:%M:%S</td>\n <td>13:06:32</td>\n </tr>\n <tr>\n <td>%y%m%d-%H%M</td>\n <td>040927-1308</td>\n </tr>\n <tr>\n <td>%d-%3m-%Y</td>\n <td>27-Sep-2004</td>\n </tr>\n <tr>\n <td>%Y/%m/%d %H:%M:%S</td>\n <td>2004/09/27 13:06:32</td>\n </tr>\n <tr>\n <td>%c</td>\n <td>Sun Apr 27 11:49:23 1997</td>\n </tr>\n <tr>\n <td>%Y %b %d %X</td>\n <td>1997 Apr 27 11:53:25</td>\n </tr>\n <tr>\n <td>%y%m%d %T</td>\n <td>970427 11:53:55</td>\n </tr>\n </tbody>\n</table>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://nanasi.jp/articles/vim/autodate_vim.html\">autodate.vim : ファイルのタイムスタンプ記述を自動的に更新–名無しのvim使い</a>\n</cite></footer>\n</blockquote>\n\n<p>Jekyllの<code class=\"highlighter-rouge\">date</code>にフォーマット合わせるべきかなと思うので、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_format = \"%Y-%m-%d %H:%M:%S\"\n</code></pre></div></div>\n\n<p>としましょう。</p>\n\n<blockquote class=\"blockquote\">\n \n<h3 id=\"ハッシュ形式\">ハッシュ形式</h3>\n\n<p>ハッシュはキー<code class=\"highlighter-rouge\">:[半角スペース]値</code>の形式で表します。コロンのあとに必ず半角スペースを 1 つ以上入れてください。</p>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://www.task-notes.com/entry/20150922/1442890800\">YAMLの基本について</a>\n</cite></footer>\n</blockquote>\n\n<p>最初詰めて記述したらFront Matter部分でJekyllがエラーを吐いた。YAMLはスペースでハッシュと値に分けている。\nなのでprepend文字列にスペースを入れるようにした。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_keyword_pre =’lastchange : ‘\n</code></pre></div></div>\n\n<p><code class=\"highlighter-rouge\">autodate.vim/ftplugin/markdown.vim</code>はこうなった。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_keyword_pre =’lastchange : ‘\nlet b:autodate_keyword_post =’.’\n\nlet b:autodate_format = \"%Y-%m-%d %H:%M:%S\"\n</code></pre></div></div>\n\n<h2 id=\"変更をgithubにpushする\">変更をgithubにpushする</h2>\n\n<p>変更した <strong>autodate.vim</strong> をgithubにpushする。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>git add .\ngit commit\ngit push\n</code></pre></div></div>\n\n<h2 id=\"tomlファイルの変更\">tomlファイルの変更</h2>\n\n<p><strong>dein.vim</strong> のtomlを変更する</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>[[plugins]]\nrepo = ‘yourgithub/autodate.vim’\n</code></pre></div></div>\n\n<h2 id=\"vimrで読み込む\">VimRで読み込む</h2>\n\n<p>カスタマイズしたプラグインを読み込む。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>call dein#install()\n</code></pre></div></div>\n\n<p>インストール後、プラグインの内容を変更した場合は改めてgithubへpushし、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>call dein#update()\n</code></pre></div></div>\n\n<p>を行う。</p>\n\n<h2 id=\"変更日時を読み込む\">変更日時を読み込む</h2>\n\n<blockquote class=\"blockquote\">\n \n<h2 id=\"front-matterにlistとhash構造を定義する\">Front-matterにListとHash構造を定義する</h2>\n\n<p>まず、Front-matter及びbody部をこのように定義してみます。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>—\ntitle: template1\nlayout: default\nhash1:\n name: Hash構造\n value: 値が入る\nlist2: \n - 一番目\n - 二番目\n—\n{{ page.hash1.name }}&lt;br /&gt;\n{{ page.hash1.value }}&lt;br /&gt;\n&lt;br /&gt;\n{% for data in page.list2 }}\n{{ data }}&lt;br /&gt;\n{% for data in page.list2 }}\n{{ data }}&lt;br /&gt;\n{% endfor %}\n</code></pre></div></div>\n\n<p>結果はこうなります。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>Hash構造\n値が入る\n\n一番目\n二番目\n</code></pre></div></div>\n\n<p>ポイントは、記述した定義は全て”page”というhashに格納されるということです。</p>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/daxanya1/items/24695a2a9d8bd6526b53\">JekyllのテンプレートのListとHashで結構いけるんじゃないかな</a>\n</cite></footer>\n</blockquote>\n\n<p>Front Matterで</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>lastchange : .\n</code></pre></div></div>\n\n<p>と書いておくと自動的に最終変更日がセーブ毎に挿入される。</p>\n\n<p>挿入された変更日は</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>{{ page.lastchange }}\n</code></pre></div></div>\n\n<p>でページに挿入される。</p>\n\n<p>実際にやってみるとこうなる。</p>\n\n<p>2017-06-17 02:13:24 +0000</p>\n", "output": "<!DOCTYPE html>\n<html lang=\"ja\">\n <head>\n <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n \n <meta name=\"keywords\" content=\"vim,VimR,dein,autodate.vim\">\n\n\n <title>Vim:ファイル毎にautodate書式を設定する</title>\n\n <!– bootstrap and jQuery include –>\n <link rel=\"stylesheet\" href=\"https://leico.github.io/TechnicalNote/css/style.css\">\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/jquery-3.1.1.min.js\"></script>\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/bootstrap/bootstrap.min.js\"></script>\n <!– bootstrap and jQuery include –>\n\n <!– MathJax include –>\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/MathJax/MathJax.js?config=TeX-MML-AM_HTMLorMML\"></script>\n\n <!– Google Analytics –>\n <script>\n (function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,’script’,’https://www.google-analytics.com/analytics.js’,’ga’);\n \n ga(‘create’, ‘UA-100782315-1’, ‘auto’);\n ga(‘send’, ‘pageview’);\n </script>\n\n <!– Atom feed –>\n <link type=\"application/atom+xml\" rel=\"alternate\" href=\"https://leico.github.io/TechnicalNote/atom.xml\" title=\"TechnicalNote\" />\n</head>\n\n\n <body>\n <div class=\"container\">\n <div class=\"row\">\n\n\n <div class=\"col-md-8\">\n\n <header class=\"page-header\">\n <h1>Vim:ファイル毎にautodate書式を設定する</h1>\n <div class=\"row\">\n\n <div class=\"col-6\">\n <dl class=\"dl-horizontal\">\n <dt>created</dt>\n <dd>2017-02-04</dd>\n <dt>last change</dt>\n <dd>2017-06-17 02:13:24 +0000</dd>\n </dl>\n </div>\n\n <div class=\"col-6 text-right\">\n <a href=\"https://twitter.com/share\" class=\"twitter-share-button\">Tweet</a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);</script>\n </div>\n\n </div>\n </header>\n\n <div class=\"row\">\n\n <div class=\"col-12\">\n <h2 id=\"きっかけ\">きっかけ</h2>\n\n<p><strong>autodate.vim</strong> は普通では<code class=\"highlighter-rouge\">Last Change:</code>と<code class=\"highlighter-rouge\">.</code>の間に日付を入れるが、\nJekyll用にFront-matterに入れてテンプレから呼び出して使いたい。</p>\n\n<p>参考</p>\n\n<ul>\n <li><a href=\"http://advweb.seesaa.net/article/694081.html\">vimスクリプト 「autodate.vim」解説のおまけ : サイト更新停滞ちうっ [ 名無しのVIM使い ]</a></li>\n <li><a href=\"http://vim.g.hatena.ne.jp/tokorom/20110417/1303057714\">Vimで現在のバッファ(開いているファイル)のfiletypeを取得する方法</a></li>\n <li><a href=\"https://jekyllrb.com/docs/frontmatter/\">Front Matter - Jekyll</a></li>\n <li><a href=\"http://www.task-notes.com/entry/20150922/1442890800\">YAMLの基本について</a></li>\n <li><a href=\"http://nanasi.jp/articles/vim/autodate_vim.html\">autodate.vim : ファイルのタイムスタンプ記述を自動的に更新–名無しのvim使い</a></li>\n <li><a href=\"http://qiita.com/daxanya1/items/24695a2a9d8bd6526b53\">JekyllのテンプレートのListとHashで結構いけるんじゃないかな</a></li>\n</ul>\n\n<h2 id=\"設定方法\">設定方法</h2>\n\n<blockquote class=\"blockquote\">\n \n<h4 id=\"ファイルタイプごとにタイムスタンプの形式を変える\">ファイルタイプごとにタイムスタンプの形式を変える</h4>\n\n<dl>\n <dt>Windowsの場合</dt>\n <dd><code class=\"highlighter-rouge\">$HOME/vimfiles/ftplugin</code></dd>\n <dt>Mac OSXの場合</dt>\n <dd><code class=\"highlighter-rouge\">$HOME/.vim/ftplugin</code></dd>\n</dl>\n\n<p>というディレクトリを作って、\nそのディレクトリ内にそれぞれのファイルタイプ用の設定ファイルを用意すれば良い。</p>\n\n<p>例えば、</p>\n\n<ul>\n <li>htmlのファイルタイプの場合は、 <strong>html.vim</strong>\n</li>\n <li>javaのファイルタイプの場合は、 <strong>java.vim</strong>\n</li>\n</ul>\n\n<p>を用意して、その中にそれぞれのファイルタイプ用の設定を書きます。\nすると、ファイルを開いた時にそれぞれのファイルタイプ用の設定が読み込まれます。</p>\n\n<p><code class=\"highlighter-rouge\">b:</code>をつけて、バッファローカルな設定にすると更に良いです。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:let b:autodate_keyword_pre = ‘Date:’\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://advweb.seesaa.net/article/694081.html\">vimスクリプト 「autodate.vim」解説のおまけ : サイト更新停滞ちうっ [ 名無しのVIM使い ]</a>\n</cite></footer>\n</blockquote>\n\n<p><strong>ftplugin</strong> ディレクトリにファイルタイプ毎の設定ファイルを記述すればいいようだ。</p>\n\n<h2 id=\"ftplugin-ディレクトリの場所\">\n<strong>ftplugin</strong> ディレクトリの場所</h2>\n\n<ul>\n <li><a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-structure\">Vimのディレクトリ構成</a></li>\n</ul>\n\n<p>から定石だと<code class=\"highlighter-rouge\">~/.config/nvim/ftplugin</code>になるが、せっかく <strong>dein.vim</strong> でパッケージ管理しているので、\n<strong>autodate.vim</strong> 用に <strong>ftplugin</strong> を分離したい。</p>\n\n<p>よし。githubでforkして <strong>ftplugin</strong> を加えたものを作ろうという考えに至った。</p>\n\n<h2 id=\"autodatevim-をforkしてgit-cloneする\">\n<strong>autodate.vim</strong> をforkして<code class=\"highlighter-rouge\">git clone</code>する</h2>\n\n<p>もっとも、プラグイン自体のライセンスがよくわからない。\n従って苦情がきたらこの方法は使えない。</p>\n\n<p>まずはgithub上で<a href=\"https://github.com/vim-scripts/autodate.vim\"><strong>autodate.vim</strong></a>をforkする。</p>\n\n<p>適当なディレクトリで</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>git clone https://github.com/yourgithub/autodate.vim\n</code></pre></div></div>\n\n<p>し、中に <strong>ftplugin</strong> を作って編集する。</p>\n\n<p>まず<code class=\"highlighter-rouge\">.md</code>ファイルがどんなファイルタイプとして読み込まれているか確認する。</p>\n\n<blockquote class=\"blockquote\">\n \n<h4 id=\"じつは-filetype-だけだった\">じつは &amp;filetype だけだった</h4>\n\n<p>恥ずかしい話、取得できそうなのにできないな…と思っていたら、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>&amp;filetype\n</code></pre></div></div>\n\n<p>とするだけだった。</p>\n\n<p>例えば、hoge.py を開いているときに</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:echo &amp;filetype\n</code></pre></div></div>\n\n<p>とすれば</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>python\n</code></pre></div></div>\n\n<p>と出力される。</p>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://vim.g.hatena.ne.jp/tokorom/20110417/1303057714\">Vimで現在のバッファ(開いているファイル)のfiletypeを取得する方法</a>\n</cite></footer>\n</blockquote>\n\n<p><code class=\"highlighter-rouge\">.md</code>ファイルを開いている状態で<code class=\"highlighter-rouge\">:echo &amp;filetype</code>をしてみると</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>markdown\n</code></pre></div></div>\n\n<p>と表示された。</p>\n\n<p>なので<code class=\"highlighter-rouge\">autodate.vim/ftplugin/markdown.vim</code>に変更内容を記述する。</p>\n\n<blockquote class=\"blockquote\">\n \n<table>\n <tbody>\n <tr>\n <td><code class=\"highlighter-rouge\">date</code></td>\n <td>A date here overrides the date from the name of the post. This can be used to ensure correct sorting of posts. A date is specified in the format <code class=\"highlighter-rouge\">YYYY-MM-DD HH:MM:SS +/-TTTT</code>; hours, minutes, seconds, and timezone offset are optional.</td>\n </tr>\n </tbody>\n</table>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"https://jekyllrb.com/docs/frontmatter/\">Front Matter - Jekyll</a>\n</cite></footer>\n</blockquote>\n\n<blockquote class=\"blockquote\">\n \n<p>「autodate_format」で、autodate.vimスクリプトで挿入されるタイムスタンプのフォーマットを 指定することができます。</p>\n\n<table>\n <thead>\n <tr>\n <th>設定</th>\n <th>デフォルト値</th>\n <th>設定例</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>autodate_format</td>\n <td>%d-%3m-%Y</td>\n <td>:let autodate_format=” %Y/%m/%d %H:%M:%S “</td>\n </tr>\n </tbody>\n</table>\n\n<p>タイムスタンプのフォーマットの指定例を一通り、下に書いておきます。</p>\n\n<table>\n <thead>\n <tr>\n <th>タイムスタンプのフォーマット</th>\n <th>出力例</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>%Y/%m/%d</td>\n <td>2004/09/27</td>\n </tr>\n <tr>\n <td>%H:%M:%S</td>\n <td>13:06:32</td>\n </tr>\n <tr>\n <td>%y%m%d-%H%M</td>\n <td>040927-1308</td>\n </tr>\n <tr>\n <td>%d-%3m-%Y</td>\n <td>27-Sep-2004</td>\n </tr>\n <tr>\n <td>%Y/%m/%d %H:%M:%S</td>\n <td>2004/09/27 13:06:32</td>\n </tr>\n <tr>\n <td>%c</td>\n <td>Sun Apr 27 11:49:23 1997</td>\n </tr>\n <tr>\n <td>%Y %b %d %X</td>\n <td>1997 Apr 27 11:53:25</td>\n </tr>\n <tr>\n <td>%y%m%d %T</td>\n <td>970427 11:53:55</td>\n </tr>\n </tbody>\n</table>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://nanasi.jp/articles/vim/autodate_vim.html\">autodate.vim : ファイルのタイムスタンプ記述を自動的に更新–名無しのvim使い</a>\n</cite></footer>\n</blockquote>\n\n<p>Jekyllの<code class=\"highlighter-rouge\">date</code>にフォーマット合わせるべきかなと思うので、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_format = \"%Y-%m-%d %H:%M:%S\"\n</code></pre></div></div>\n\n<p>としましょう。</p>\n\n<blockquote class=\"blockquote\">\n \n<h3 id=\"ハッシュ形式\">ハッシュ形式</h3>\n\n<p>ハッシュはキー<code class=\"highlighter-rouge\">:[半角スペース]値</code>の形式で表します。コロンのあとに必ず半角スペースを 1 つ以上入れてください。</p>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://www.task-notes.com/entry/20150922/1442890800\">YAMLの基本について</a>\n</cite></footer>\n</blockquote>\n\n<p>最初詰めて記述したらFront Matter部分でJekyllがエラーを吐いた。YAMLはスペースでハッシュと値に分けている。\nなのでprepend文字列にスペースを入れるようにした。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_keyword_pre =’lastchange : ‘\n</code></pre></div></div>\n\n<p><code class=\"highlighter-rouge\">autodate.vim/ftplugin/markdown.vim</code>はこうなった。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>let b:autodate_keyword_pre =’lastchange : ‘\nlet b:autodate_keyword_post =’.’\n\nlet b:autodate_format = \"%Y-%m-%d %H:%M:%S\"\n</code></pre></div></div>\n\n<h2 id=\"変更をgithubにpushする\">変更をgithubにpushする</h2>\n\n<p>変更した <strong>autodate.vim</strong> をgithubにpushする。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>git add .\ngit commit\ngit push\n</code></pre></div></div>\n\n<h2 id=\"tomlファイルの変更\">tomlファイルの変更</h2>\n\n<p><strong>dein.vim</strong> のtomlを変更する</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>[[plugins]]\nrepo = ‘yourgithub/autodate.vim’\n</code></pre></div></div>\n\n<h2 id=\"vimrで読み込む\">VimRで読み込む</h2>\n\n<p>カスタマイズしたプラグインを読み込む。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>call dein#install()\n</code></pre></div></div>\n\n<p>インストール後、プラグインの内容を変更した場合は改めてgithubへpushし、</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>call dein#update()\n</code></pre></div></div>\n\n<p>を行う。</p>\n\n<h2 id=\"変更日時を読み込む\">変更日時を読み込む</h2>\n\n<blockquote class=\"blockquote\">\n \n<h2 id=\"front-matterにlistとhash構造を定義する\">Front-matterにListとHash構造を定義する</h2>\n\n<p>まず、Front-matter及びbody部をこのように定義してみます。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>—\ntitle: template1\nlayout: default\nhash1:\n name: Hash構造\n value: 値が入る\nlist2: \n - 一番目\n - 二番目\n—\n{{ page.hash1.name }}&lt;br /&gt;\n{{ page.hash1.value }}&lt;br /&gt;\n&lt;br /&gt;\n{% for data in page.list2 }}\n{{ data }}&lt;br /&gt;\n{% for data in page.list2 }}\n{{ data }}&lt;br /&gt;\n{% endfor %}\n</code></pre></div></div>\n\n<p>結果はこうなります。</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>Hash構造\n値が入る\n\n一番目\n二番目\n</code></pre></div></div>\n\n<p>ポイントは、記述した定義は全て”page”というhashに格納されるということです。</p>\n\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/daxanya1/items/24695a2a9d8bd6526b53\">JekyllのテンプレートのListとHashで結構いけるんじゃないかな</a>\n</cite></footer>\n</blockquote>\n\n<p>Front Matterで</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>lastchange : .\n</code></pre></div></div>\n\n<p>と書いておくと自動的に最終変更日がセーブ毎に挿入される。</p>\n\n<p>挿入された変更日は</p>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>{{ page.lastchange }}\n</code></pre></div></div>\n\n<p>でページに挿入される。</p>\n\n<p>実際にやってみるとこうなる。</p>\n\n<p>2017-06-17 02:13:24 +0000</p>\n\n </div>\n\n <div class=\"col-12\">\n <hr>\n <a href=\"https://twitter.com/share\" class=\"twitter-share-button\">Tweet</a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);</script>\n </div>\n\n </div>\n\n </div>\n \n <div class=\"col-md-4\">\n <h2>\n <a href=\"https://leico.github.io/TechnicalNote/\">\n Technical Note\n </a>\n </h2>\n\n \n\n \n\n <h3>\n <a href=\"https://leico.github.io/TechnicalNote/VimR\">Vim &amp; VimR Top</a>\n </h3>\n\n \n <h3>Tips</h3>\n <ul>\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-neosnippet-cpp\">neosnippet用 C/C++11 スニペットを作成する。</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-structure\">Vim:Vimのディレクトリ構成</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-XDG\">dein.vimのキャッシュディレクトリの設定</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-autodate\">dein.vim:autodate.vimプラグインを入れる</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-toml\">dein.vim:tomlファイルでプラグイン管理する</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-deoplete\">VimRにdeoplete.nvimをインストールする</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-env\">VimR+dein.vimで $HOME を使ったパスの設定</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-ftplugin\">Vim:ファイル毎にautodate書式を設定する</a>\n </li>\n\n \n </ul>\n \n </div>\n \n\n</div>\n\n </div>\n <footer class=\"container\">\n <hr>\n <div class=\"row\">\n <div class=\"col\">\n <p class=\"text-right\">\n <a href=\"https://leico.github.io/TechnicalNote/atom.xml\">Atom</a>\n </p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-8\">\n <div class=\"row\">\n <div class=\"col-md-4\">\n <figure class=\"figure\">\n <img src=\"https://leico.github.io/TechnicalNote/image/logo.png\" class=\"figure-img rounded\" width=\"200px\" height=\"auto\" alt=\"\">\n </figure>\n </div>\n <div class=\"col-md-4\">\n <h5>contact</h5>\n <ul class=\"list-unstyled\">\n <li> <a href=\"https://github.com/leico\" class=\"user-mention\">@leico</a> </li>\n <li> <a href=\"https://www.twitter.com/1_0101\">twitter</a>\n</li>\n <li> <a href=\"https://leico.github.io\">web</a>\n </li>\n</ul>\n </div>\n </div>\n </div>\n <div class=\"col-md-4\">\n <h5>Merchandise/Schwags</h5>\n <p><small class=\"text-muted\">支援してくれるとうれしい</small></p>\n <iframe frameborder=\"0\" height=\"220\" width=\"160\" src=\"https://leico.official.ec/items/6694858/widget/small\"></iframe>\n </div>\n </div>\n <p class=\"text-right\">\n <small class=\"text-muted\">© 2017 leico.</small>\n </p>\n\n</footer>\n\n </body>\n</html>\n", "id": "/VimR/VimR-ftplugin", "previous": { "content": "<h2 id=\"きっかけ\">きっかけ</h2>\n\n<p><strong>autodate.vim</strong> でファイル毎に異なる設定をしたいと思っていたら、vimの仕様を調べることになった。\n下記ページほぼそのままになるが、まとめておく。</p>\n\n<p>参考</p>\n\n<ul>\n <li><a href=\"http://nanasi.jp/articles/howto/config/runtimepath.html\">vimエディタのプラグインファイルの置き場所を変更する</a></li>\n <li><a href=\"http://momota.github.io/blog/2013/08/29/vim-plugins/\">Vim プラグインで幸せな生活を送る</a></li>\n <li><a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a></li>\n</ul>\n\n<h2 id=\"runtimepath-について\"><strong>runtimepath</strong> について</h2>\n\n<blockquote class=\"blockquote\">\n \n<p>vimエディタがどのディレクトリから設定ファイル、プラグインファイルを読み込むのかを\n決定しているのが「runtimepath」オプションです。「runtimepath」オプションの値はディレクトリのリストで、\nvimエディタは起動時、「runtimepath」オプションで指定されたディレクトリから、\nスクリプトファイルを順々に検索し、ロードします。 (Windows, Mac)</p>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://nanasi.jp/articles/howto/config/runtimepath.html\">vimエディタのプラグインファイルの置き場所を変更する</a>\n</cite></footer>\n</blockquote>\n\n<h2 id=\"runtimepath-を調べる\"><strong>runtimepath</strong> を調べる</h2>\n\n<blockquote class=\"blockquote\">\n \n<ul>\n <li>通常は $HOME/.vim 。runtimepathは以下のviコマンドで確認できる。</li>\n</ul>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:set runtimepath\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://momota.github.io/blog/2013/08/29/vim-plugins/\">Vim プラグインで幸せな生活を送る</a>\n</cite></footer>\n</blockquote>\n\n<blockquote class=\"blockquote\">\n \n<h2 id=\"runtimepathが重要\">runtimepathが重要</h2>\n\n<blockquote>\n <p>vimのファイル読込においてruntimepathが重要な役割を果たします。\nVimのDocumentationにはruntimepath内の特定のファイルが順繰り読み込まれることが明記されています。\nさっそくruntimepath設定を見る</p>\n</blockquote>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:set runtimepath\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a>\n</cite></footer>\n</blockquote>\n\n<p><code class=\"highlighter-rouge\">:set runtimepath</code>をVimRで実行したらこのようになっていた。</p>\n\n<ul>\n <li><code class=\"highlighter-rouge\">~/.config/nvim</code></li>\n <li><code class=\"highlighter-rouge\">/etc/xdg/nvim</code></li>\n <li><code class=\"highlighter-rouge\">~/.local/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">/usr/local/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">~/.cache/dein/.cache/init.vim/.dein</code></li>\n <li><code class=\"highlighter-rouge\">/usr/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">/Applications/VimR.app/Contents/Frameworks/SwiftNeoVim.framework/Resources/runtime</code></li>\n <li><code class=\"highlighter-rouge\">/usr/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">/usr/local/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.local/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.config/nvim/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.config/nvim/dein/repos/github.com/Shougo/dein.vim</code></li>\n <li><code class=\"highlighter-rouge\">~/.cache/dein/.cache/init.vim/.dein/after</code></li>\n</ul>\n\n<p>たくさん読んでいる・・・。特別な事情がない限り、使うのは<code class=\"highlighter-rouge\">~/.config/nvim</code>、<code class=\"highlighter-rouge\">~/.config/nvim/after</code>でしょう。</p>\n\n<h2 id=\"rutimepath-に配置されているディレクトリの役割\"><strong>rutimepath</strong> に配置されているディレクトリの役割</h2>\n\n<blockquote class=\"blockquote\">\n \n<p>検索されるファイルとディレクトリは以下の通りです。</p>\n\n<dl>\n <dt><code class=\"highlighter-rouge\">filetype.vim</code></dt>\n <dd>ファイル名によるfiletypeの決定</dd>\n <dt><code class=\"highlighter-rouge\">scripts.vim</code></dt>\n <dd>ファイルの内容によるfiletypeの決定</dd>\n <dt><code class=\"highlighter-rouge\">autoload/</code></dt>\n <dd>自動的に読み込まれるスクリプト</dd>\n <dt><code class=\"highlighter-rouge\">colors/</code></dt>\n <dd>カラースキーマの定義</dd>\n <dt><code class=\"highlighter-rouge\">compiler/</code></dt>\n <dd>コンパイラ定義ファイル</dd>\n <dt><code class=\"highlighter-rouge\">doc/</code></dt>\n <dd>ヘルプドキュメント</dd>\n <dt><code class=\"highlighter-rouge\">ftplugin/</code></dt>\n <dd>ファイルタイプ別のプラグイン</dd>\n <dt><code class=\"highlighter-rouge\">ftdetect/</code></dt>\n <dd>ファイルタイプを判別するファイル</dd>\n <dt><code class=\"highlighter-rouge\">indent/</code></dt>\n <dd>インデントの設定</dd>\n <dt><code class=\"highlighter-rouge\">keymap/</code></dt>\n <dd>キーマップの定義</dd>\n <dt><code class=\"highlighter-rouge\">lang/</code></dt>\n <dd>メニューの翻訳(GVim)</dd>\n <dt><code class=\"highlighter-rouge\">menu.vim</code></dt>\n <dd>メニューの設定(GVim)</dd>\n <dt><code class=\"highlighter-rouge\">plugin/</code></dt>\n <dd>プラグインスクリプト</dd>\n <dt><code class=\"highlighter-rouge\">print/</code></dt>\n <dd>印刷用</dd>\n <dt><code class=\"highlighter-rouge\">spell/</code></dt>\n <dd>スペルチェック用</dd>\n <dt><code class=\"highlighter-rouge\">syntax/</code></dt>\n <dd>文法</dd>\n <dt><code class=\"highlighter-rouge\">tutor/</code></dt>\n <dd>チュートリアル</dd>\n</dl>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a>\n</cite></footer>\n</blockquote>\n\n<p>文章構造がアレだったので少し直して引用。\nみんな定義リスト使おう。</p>\n\n<h2 id=\"deinvim-の役割\"><strong>dein.vim</strong> の役割</h2>\n\n<p>プラグインを大量導入するとこのディレクトリ、ファイル郡の中身が超絶カオスになってゆくので、\nプラグイン毎にこれらファイル群を分割管理することで<code class=\"highlighter-rouge\">~/.vim</code>、<code class=\"highlighter-rouge\">~/.config/nvim</code>以下を\nスッキリきれいに管理することができる。</p>\n", "output": "<!DOCTYPE html>\n<html lang=\"ja\">\n <head>\n <meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n \n <meta name=\"keywords\" content=\"vim,VimR\">\n\n\n <title>Vim:Vimのディレクトリ構成</title>\n\n <!– bootstrap and jQuery include –>\n <link rel=\"stylesheet\" href=\"https://leico.github.io/TechnicalNote/css/style.css\">\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/jquery-3.1.1.min.js\"></script>\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/bootstrap/bootstrap.min.js\"></script>\n <!– bootstrap and jQuery include –>\n\n <!– MathJax include –>\n <script type=\"text/javascript\" src=\"https://leico.github.io/TechnicalNote/js/MathJax/MathJax.js?config=TeX-MML-AM_HTMLorMML\"></script>\n\n <!– Google Analytics –>\n <script>\n (function(i,s,o,g,r,a,m){i[‘GoogleAnalyticsObject’]=r;i[r]=i[r]||function(){\n (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1new Date();a=s.createElement(o),\n m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n })(window,document,’script’,’https://www.google-analytics.com/analytics.js’,’ga’);\n \n ga(‘create’, ‘UA-100782315-1’, ‘auto’);\n ga(‘send’, ‘pageview’);\n </script>\n\n <!– Atom feed –>\n <link type=\"application/atom+xml\" rel=\"alternate\" href=\"https://leico.github.io/TechnicalNote/atom.xml\" title=\"TechnicalNote\" />\n</head>\n\n\n <body>\n <div class=\"container\">\n <div class=\"row\">\n\n\n <div class=\"col-md-8\">\n\n <header class=\"page-header\">\n <h1>Vim:Vimのディレクトリ構成</h1>\n <div class=\"row\">\n\n <div class=\"col-6\">\n <dl class=\"dl-horizontal\">\n <dt>created</dt>\n <dd>2017-02-04</dd>\n <dt>last change</dt>\n <dd>2017-06-17 01:42:50 +0000</dd>\n </dl>\n </div>\n\n <div class=\"col-6 text-right\">\n <a href=\"https://twitter.com/share\" class=\"twitter-share-button\">Tweet</a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);</script>\n </div>\n\n </div>\n </header>\n\n <div class=\"row\">\n\n <div class=\"col-12\">\n <h2 id=\"きっかけ\">きっかけ</h2>\n\n<p><strong>autodate.vim</strong> でファイル毎に異なる設定をしたいと思っていたら、vimの仕様を調べることになった。\n下記ページほぼそのままになるが、まとめておく。</p>\n\n<p>参考</p>\n\n<ul>\n <li><a href=\"http://nanasi.jp/articles/howto/config/runtimepath.html\">vimエディタのプラグインファイルの置き場所を変更する</a></li>\n <li><a href=\"http://momota.github.io/blog/2013/08/29/vim-plugins/\">Vim プラグインで幸せな生活を送る</a></li>\n <li><a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a></li>\n</ul>\n\n<h2 id=\"runtimepath-について\">\n<strong>runtimepath</strong> について</h2>\n\n<blockquote class=\"blockquote\">\n \n<p>vimエディタがどのディレクトリから設定ファイル、プラグインファイルを読み込むのかを\n決定しているのが「runtimepath」オプションです。「runtimepath」オプションの値はディレクトリのリストで、\nvimエディタは起動時、「runtimepath」オプションで指定されたディレクトリから、\nスクリプトファイルを順々に検索し、ロードします。 (Windows, Mac)</p>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://nanasi.jp/articles/howto/config/runtimepath.html\">vimエディタのプラグインファイルの置き場所を変更する</a>\n</cite></footer>\n</blockquote>\n\n<h2 id=\"runtimepath-を調べる\">\n<strong>runtimepath</strong> を調べる</h2>\n\n<blockquote class=\"blockquote\">\n \n<ul>\n <li>通常は $HOME/.vim 。runtimepathは以下のviコマンドで確認できる。</li>\n</ul>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:set runtimepath\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://momota.github.io/blog/2013/08/29/vim-plugins/\">Vim プラグインで幸せな生活を送る</a>\n</cite></footer>\n</blockquote>\n\n<blockquote class=\"blockquote\">\n \n<h2 id=\"runtimepathが重要\">runtimepathが重要</h2>\n\n<blockquote>\n <p>vimのファイル読込においてruntimepathが重要な役割を果たします。\nVimのDocumentationにはruntimepath内の特定のファイルが順繰り読み込まれることが明記されています。\nさっそくruntimepath設定を見る</p>\n</blockquote>\n\n<div class=\"highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>:set runtimepath\n</code></pre></div></div>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a>\n</cite></footer>\n</blockquote>\n\n<p><code class=\"highlighter-rouge\">:set runtimepath</code>をVimRで実行したらこのようになっていた。</p>\n\n<ul>\n <li><code class=\"highlighter-rouge\">~/.config/nvim</code></li>\n <li><code class=\"highlighter-rouge\">/etc/xdg/nvim</code></li>\n <li><code class=\"highlighter-rouge\">~/.local/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">/usr/local/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">~/.cache/dein/.cache/init.vim/.dein</code></li>\n <li><code class=\"highlighter-rouge\">/usr/share/nvim/site</code></li>\n <li><code class=\"highlighter-rouge\">/Applications/VimR.app/Contents/Frameworks/SwiftNeoVim.framework/Resources/runtime</code></li>\n <li><code class=\"highlighter-rouge\">/usr/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">/usr/local/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.local/share/nvim/site/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.config/nvim/after</code></li>\n <li><code class=\"highlighter-rouge\">~/.config/nvim/dein/repos/github.com/Shougo/dein.vim</code></li>\n <li><code class=\"highlighter-rouge\">~/.cache/dein/.cache/init.vim/.dein/after</code></li>\n</ul>\n\n<p>たくさん読んでいる・・・。特別な事情がない限り、使うのは<code class=\"highlighter-rouge\">~/.config/nvim</code>、<code class=\"highlighter-rouge\">~/.config/nvim/after</code>でしょう。</p>\n\n<h2 id=\"rutimepath-に配置されているディレクトリの役割\">\n<strong>rutimepath</strong> に配置されているディレクトリの役割</h2>\n\n<blockquote class=\"blockquote\">\n \n<p>検索されるファイルとディレクトリは以下の通りです。</p>\n\n<dl>\n <dt><code class=\"highlighter-rouge\">filetype.vim</code></dt>\n <dd>ファイル名によるfiletypeの決定</dd>\n <dt><code class=\"highlighter-rouge\">scripts.vim</code></dt>\n <dd>ファイルの内容によるfiletypeの決定</dd>\n <dt><code class=\"highlighter-rouge\">autoload/</code></dt>\n <dd>自動的に読み込まれるスクリプト</dd>\n <dt><code class=\"highlighter-rouge\">colors/</code></dt>\n <dd>カラースキーマの定義</dd>\n <dt><code class=\"highlighter-rouge\">compiler/</code></dt>\n <dd>コンパイラ定義ファイル</dd>\n <dt><code class=\"highlighter-rouge\">doc/</code></dt>\n <dd>ヘルプドキュメント</dd>\n <dt><code class=\"highlighter-rouge\">ftplugin/</code></dt>\n <dd>ファイルタイプ別のプラグイン</dd>\n <dt><code class=\"highlighter-rouge\">ftdetect/</code></dt>\n <dd>ファイルタイプを判別するファイル</dd>\n <dt><code class=\"highlighter-rouge\">indent/</code></dt>\n <dd>インデントの設定</dd>\n <dt><code class=\"highlighter-rouge\">keymap/</code></dt>\n <dd>キーマップの定義</dd>\n <dt><code class=\"highlighter-rouge\">lang/</code></dt>\n <dd>メニューの翻訳(GVim)</dd>\n <dt><code class=\"highlighter-rouge\">menu.vim</code></dt>\n <dd>メニューの設定(GVim)</dd>\n <dt><code class=\"highlighter-rouge\">plugin/</code></dt>\n <dd>プラグインスクリプト</dd>\n <dt><code class=\"highlighter-rouge\">print/</code></dt>\n <dd>印刷用</dd>\n <dt><code class=\"highlighter-rouge\">spell/</code></dt>\n <dd>スペルチェック用</dd>\n <dt><code class=\"highlighter-rouge\">syntax/</code></dt>\n <dd>文法</dd>\n <dt><code class=\"highlighter-rouge\">tutor/</code></dt>\n <dd>チュートリアル</dd>\n</dl>\n\n <footer class=\"blockquote-footer\"><cite>\n<a href=\"http://qiita.com/okamos/items/8279154e20249247f78f\">vimで読み込まれるファイルについて</a>\n</cite></footer>\n</blockquote>\n\n<p>文章構造がアレだったので少し直して引用。\nみんな定義リスト使おう。</p>\n\n<h2 id=\"deinvim-の役割\">\n<strong>dein.vim</strong> の役割</h2>\n\n<p>プラグインを大量導入するとこのディレクトリ、ファイル郡の中身が超絶カオスになってゆくので、\nプラグイン毎にこれらファイル群を分割管理することで<code class=\"highlighter-rouge\">~/.vim</code>、<code class=\"highlighter-rouge\">~/.config/nvim</code>以下を\nスッキリきれいに管理することができる。</p>\n\n </div>\n\n <div class=\"col-12\">\n <hr>\n <a href=\"https://twitter.com/share\" class=\"twitter-share-button\">Tweet</a>\n <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);</script>\n </div>\n\n </div>\n\n </div>\n \n <div class=\"col-md-4\">\n <h2>\n <a href=\"https://leico.github.io/TechnicalNote/\">\n Technical Note\n </a>\n </h2>\n\n \n\n \n\n <h3>\n <a href=\"https://leico.github.io/TechnicalNote/VimR\">Vim &amp; VimR Top</a>\n </h3>\n\n \n <h3>Tips</h3>\n <ul>\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-neosnippet-cpp\">neosnippet用 C/C++11 スニペットを作成する。</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/Vim-structure\">Vim:Vimのディレクトリ構成</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-XDG\">dein.vimのキャッシュディレクトリの設定</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-autodate\">dein.vim:autodate.vimプラグインを入れる</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-dein-toml\">dein.vim:tomlファイルでプラグイン管理する</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-deoplete\">VimRにdeoplete.nvimをインストールする</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-env\">VimR+dein.vimで $HOME を使ったパスの設定</a>\n </li>\n\n \n\n \n\n \n \n\n <li>\n <a href=\"https://leico.github.io/TechnicalNote/VimR/VimR-ftplugin\">Vim:ファイル毎にautodate書式を設定する</a>\n </li>\n\n \n </ul>\n \n </div>\n \n\n</div>\n\n </div>\n <footer class=\"container\">\n <hr>\n <div class=\"row\">\n <div class=\"col\">\n <p class=\"text-right\">\n <a href=\"https://leico.github.io/TechnicalNote/atom.xml\">Atom</a>\n </p>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-8\">\n <div class=\"row\">\n <div class=\"col-md-4\">\n <figure class=\"figure\">\n <img src=\"https://leico.github.io/TechnicalNote/image/logo.png\" class=\"figure-img rounded\" width=\"200px\" height=\"auto\" alt=\"\">\n </figure>\n </div>\n <div class=\"col-md-4\">\n <h5>contact</h5>\n <ul class=\"list-unstyled\">\n <li> <a href=\"https://github.com/leico\" class=\"user-mention\">@leico</a> </li>\n <li> <a href=\"https://www.twitter.com/1_0101\">twitter</a>\n</li>\n <li> <a href=\"https://leico.github.io\">web</a>\n </li>\n</ul>\n </div>\n </div>\n </div>\n <div class=\"col-md-4\">\n <h5>Merchandise/Schwags</h5>\n <p><small class=\"text-muted\">支援してくれるとうれしい</small></p>\n <iframe frameborder=\"0\" height=\"220\" width=\"160\" src=\"https://leico.official.ec/items/6694858/widget/small\"></iframe>\n </div>\n </div>\n <p class=\"text-right\">\n <small class=\"text-muted\">© 2017 leico.</small>\n </p>\n\n</footer>\n\n </body>\n</html>\n", "id": "/VimR/Vim-structure", "previous": { "id": "/VirtualBox/VirtualBox-Create-VM", "url": "/VirtualBox/VirtualBox-Create-VM", "relative_path": "_docs/VirtualBox/VirtualBox-Create-VM.md", "collection": "docs", "path": "_docs/VirtualBox/VirtualBox-Create-VM.md", "draft": false, "categories": [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;VirtualBoxで仮想マシンを作成&quot;,
    &quot;date&quot;: &quot;2017-02-03 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-07 20:23:48 +0000&quot;,
    &quot;tags&quot;: [
      &quot;macOS&quot;,
      &quot;Sierra&quot;,
      10.12,
      &quot;VirtualBox&quot;,
      &quot;Ver.5.1&quot;,
      &quot;debian&quot;
    ],
    &quot;slug&quot;: &quot;VirtualBox-Create-VM&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;url&quot;: &quot;/VimR/Vim-structure&quot;,
  &quot;relative_path&quot;: &quot;_docs/VimR/Vim-structure.md&quot;,
  &quot;collection&quot;: &quot;docs&quot;,
  &quot;next&quot;: {
    &quot;id&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;url&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;relative_path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;Vim:ファイル毎にautodate書式を設定する&quot;,
    &quot;date&quot;: &quot;2017-02-04 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-17 02:13:24 +0000&quot;,
    &quot;tags&quot;: [
      &quot;vim&quot;,
      &quot;VimR&quot;,
      &quot;dein&quot;,
      &quot;autodate.vim&quot;
    ],
    &quot;slug&quot;: &quot;VimR-ftplugin&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;path&quot;: &quot;_docs/VimR/Vim-structure.md&quot;,
  &quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;きっかけ\&quot;&gt;きっかけ&lt;/h2&gt;\n\n&quot;,
  &quot;draft&quot;: false,
  &quot;categories&quot;: [

  ],
  &quot;layout&quot;: &quot;post&quot;,
  &quot;title&quot;: &quot;Vim:Vimのディレクトリ構成&quot;,
  &quot;date&quot;: &quot;2017-02-04 00:00:00 +0900&quot;,
  &quot;lastchange&quot;: &quot;2017-06-17 01:42:50 +0000&quot;,
  &quot;tags&quot;: [
    &quot;vim&quot;,
    &quot;VimR&quot;
  ],
  &quot;slug&quot;: &quot;Vim-structure&quot;,
  &quot;ext&quot;: &quot;.md&quot;
},
&quot;url&quot;: &quot;/VimR/VimR-ftplugin&quot;,
&quot;relative_path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
&quot;collection&quot;: &quot;docs&quot;,
&quot;next&quot;: {
  &quot;content&quot;: &quot;## 変数に何が入っているか調べたい\n\n参考\n\n* [Jekyllいつやるの?ジキやルの?今でしょ!](http://melborne.github.io/2013/05/20/now-the-time-to-start-jekyll/)\n* [Templates - Jekyll](https://jekyllrb.com/docs/templates/)\n\n{% capture text %}\nJekyllでは生成されたサイトに対する情報は、グローバル変数siteを通してアクセスできます。\nsiteがどんな情報を持っているか、ちょっと見てみます。index.mdに戻って、次の一行を追加します。\n\n{% raw %}\n```\n---\nlayout: default\ntitle: Oh! My JK\n---\n#Welcome to my JK Home Page!\n\n{{ site }}  &lt;!-- ここを追加 --&gt;\n```\n{% endraw %}\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Jekyllいつやるの?ジキやルの?今でしょ!](http://melborne.github.io/2013/05/20/now-the-time-to-start-jekyll/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\nこれが動かなかったので、変数をDumpする方法を調べた\n\n## inspectフィルタ\n\n{% capture text %}\n\n{% raw %}\nInspect\n: Convert an object into its String representation for debugging.\n: `{{ some_var | inspect }}`\n{% endraw %}\n\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Templates - Jekyll](https://jekyllrb.com/docs/templates/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\nとのことで、`inspect`フィルタで表示されるらしい。\n\n{% raw %}\n```liquid\n{{ page | inspect }}\n```\n{% endraw %}\n\n実行してみる\n\n&gt; {{ page | inspect }}\n&quot;,
  &quot;output&quot;: null,
  &quot;id&quot;: &quot;/Jekyll/display-value&quot;,
  &quot;previous&quot;: {
    &quot;id&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;url&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;relative_path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;Vim:ファイル毎にautodate書式を設定する&quot;,
    &quot;date&quot;: &quot;2017-02-04 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-17 02:13:24 +0000&quot;,
    &quot;tags&quot;: [
      &quot;vim&quot;,
      &quot;VimR&quot;,
      &quot;dein&quot;,
      &quot;autodate.vim&quot;
    ],
    &quot;slug&quot;: &quot;VimR-ftplugin&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;url&quot;: &quot;/Jekyll/display-value&quot;,
  &quot;relative_path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,
  &quot;collection&quot;: &quot;docs&quot;,
  &quot;next&quot;: {
    &quot;id&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;url&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;relative_path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;liquidのソースコードを表示する&quot;,
    &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-15 23:00:29 +0000&quot;,
    &quot;tags&quot;: [
      &quot;jekyll&quot;,
      &quot;liquid&quot;,
      &quot;github&quot;,
      &quot;pages&quot;
    ],
    &quot;slug&quot;: &quot;liquid-raw&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,
  &quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;変数に何が入っているか調べたい\&quot;&gt;変数に何が入っているか調べたい&lt;/h2&gt;\n\n&quot;,
  &quot;draft&quot;: false,
  &quot;categories&quot;: [

  ],
  &quot;layout&quot;: &quot;post&quot;,
  &quot;title&quot;: &quot;変数の中身をページに表示する&quot;,
  &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
  &quot;lastchange&quot;: &quot;2017-06-15 21:23:57 +0000&quot;,
  &quot;tags&quot;: [
    &quot;jekyll&quot;,
    &quot;liquid&quot;,
    &quot;github&quot;,
    &quot;pages&quot;
  ],
  &quot;slug&quot;: &quot;display-value&quot;,
  &quot;ext&quot;: &quot;.md&quot;
},
&quot;path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
&quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;きっかけ\&quot;&gt;きっかけ&lt;/h2&gt;\n\n&quot;,
&quot;draft&quot;: false,
&quot;categories&quot;: [

],
&quot;layout&quot;: &quot;post&quot;,
&quot;title&quot;: &quot;Vim:ファイル毎にautodate書式を設定する&quot;,
&quot;date&quot;: &quot;2017-02-04 00:00:00 +0900&quot;,
&quot;lastchange&quot;: &quot;2017-06-17 02:13:24 +0000&quot;,
&quot;tags&quot;: [
  &quot;vim&quot;,
  &quot;VimR&quot;,
  &quot;dein&quot;,
  &quot;autodate.vim&quot;
],
&quot;slug&quot;: &quot;VimR-ftplugin&quot;,
&quot;ext&quot;: &quot;.md&quot;   },   &quot;url&quot;: &quot;/Jekyll/display-value&quot;,   &quot;relative_path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,   &quot;collection&quot;: &quot;docs&quot;,   &quot;next&quot;: {
&quot;content&quot;: &quot;## liquidのソースがJekyllでコンパイルされ、表示されない\n\nliquidのソースコードを載っけようとしたところ、\nJekyllでコンパイルする際に展開されてしまい、\n表示されず、意図しないものが出力されてしまう。\n\n参考\n\n* [How to escape liquid template tags? - Stack Overflow](http://stackoverflow.com/questions/3426182/how-to-escape-liquid-template-tags)\n\n## liquidのソースコードをエスケープする方法\n\n{% capture text %}\nit is possible to disable liquid processing engine using the raw tag:\n\n```liquid\n{{ \&quot;{% raw \&quot; }} %}\n{% raw %}\n{% this %}\n{% endraw %}\n{{ \&quot;{% endraw \&quot; }} %}\n```\n\nwill display \n{% raw %}\n```liquid\n{% this %}\n```\n{% endraw %} \nby [Etienne](http://stackoverflow.com/users/406458/etienne)\n\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[How to escape liquid template tags? - Stack Overflow](http://stackoverflow.com/questions/3426182/how-to-escape-liquid-template-tags)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n\n\nということで`{{ \&quot;{% raw \&quot;}} %}`と`{{ \&quot;{% endraw \&quot; }} %}`で挟んだ間は展開されない。\n\n## `{{ \&quot;{% raw \&quot;}} %}`と`{{ \&quot;{% endraw \&quot; }} %}`をエスケープする\n\nだがしかし、`{{ \&quot;{% raw \&quot;}} %}`と`{{ \&quot;{% endraw \&quot; }} %}`を表示させることはこれではできない。\nそこで、上記の文はこのようになっている。\n\n{% raw %}\n```liquid\nということで`{{ \&quot;{% raw \&quot;}} %}`と`{{ \&quot;{% endraw \&quot; }} %}`で挟んだ間は展開されない。\n```\n{% endraw  %}\n&quot;,
&quot;output&quot;: null,
&quot;id&quot;: &quot;/Jekyll/liquid-raw&quot;,
&quot;previous&quot;: {
  &quot;content&quot;: &quot;## 変数に何が入っているか調べたい\n\n参考\n\n* [Jekyllいつやるの?ジキやルの?今でしょ!](http://melborne.github.io/2013/05/20/now-the-time-to-start-jekyll/)\n* [Templates - Jekyll](https://jekyllrb.com/docs/templates/)\n\n{% capture text %}\nJekyllでは生成されたサイトに対する情報は、グローバル変数siteを通してアクセスできます。\nsiteがどんな情報を持っているか、ちょっと見てみます。index.mdに戻って、次の一行を追加します。\n\n{% raw %}\n```\n---\nlayout: default\ntitle: Oh! My JK\n---\n#Welcome to my JK Home Page!\n\n{{ site }}  &lt;!-- ここを追加 --&gt;\n```\n{% endraw %}\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Jekyllいつやるの?ジキやルの?今でしょ!](http://melborne.github.io/2013/05/20/now-the-time-to-start-jekyll/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\nこれが動かなかったので、変数をDumpする方法を調べた\n\n## inspectフィルタ\n\n{% capture text %}\n\n{% raw %}\nInspect\n: Convert an object into its String representation for debugging.\n: `{{ some_var | inspect }}`\n{% endraw %}\n\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Templates - Jekyll](https://jekyllrb.com/docs/templates/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\nとのことで、`inspect`フィルタで表示されるらしい。\n\n{% raw %}\n```liquid\n{{ page | inspect }}\n```\n{% endraw %}\n\n実行してみる\n\n&gt; {{ page | inspect }}\n&quot;,
  &quot;output&quot;: null,
  &quot;id&quot;: &quot;/Jekyll/display-value&quot;,
  &quot;previous&quot;: {
    &quot;id&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;url&quot;: &quot;/VimR/VimR-ftplugin&quot;,
    &quot;relative_path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/VimR/VimR-ftplugin.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;Vim:ファイル毎にautodate書式を設定する&quot;,
    &quot;date&quot;: &quot;2017-02-04 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-17 02:13:24 +0000&quot;,
    &quot;tags&quot;: [
      &quot;vim&quot;,
      &quot;VimR&quot;,
      &quot;dein&quot;,
      &quot;autodate.vim&quot;
    ],
    &quot;slug&quot;: &quot;VimR-ftplugin&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;url&quot;: &quot;/Jekyll/display-value&quot;,
  &quot;relative_path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,
  &quot;collection&quot;: &quot;docs&quot;,
  &quot;next&quot;: {
    &quot;id&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;url&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;relative_path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;liquidのソースコードを表示する&quot;,
    &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-15 23:00:29 +0000&quot;,
    &quot;tags&quot;: [
      &quot;jekyll&quot;,
      &quot;liquid&quot;,
      &quot;github&quot;,
      &quot;pages&quot;
    ],
    &quot;slug&quot;: &quot;liquid-raw&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,
  &quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;変数に何が入っているか調べたい\&quot;&gt;変数に何が入っているか調べたい&lt;/h2&gt;\n\n&quot;,
  &quot;draft&quot;: false,
  &quot;categories&quot;: [

  ],
  &quot;layout&quot;: &quot;post&quot;,
  &quot;title&quot;: &quot;変数の中身をページに表示する&quot;,
  &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
  &quot;lastchange&quot;: &quot;2017-06-15 21:23:57 +0000&quot;,
  &quot;tags&quot;: [
    &quot;jekyll&quot;,
    &quot;liquid&quot;,
    &quot;github&quot;,
    &quot;pages&quot;
  ],
  &quot;slug&quot;: &quot;display-value&quot;,
  &quot;ext&quot;: &quot;.md&quot;
},
&quot;url&quot;: &quot;/Jekyll/liquid-raw&quot;,
&quot;relative_path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
&quot;collection&quot;: &quot;docs&quot;,
&quot;next&quot;: {
  &quot;content&quot;: &quot;## `site.*`内の変数についての調査\n\nJekyllの変数に格納されているものがよくわからないので調べた。\n\n参考\n\n* [Variables - Jekyll • Simple, blog-aware, static sites](https://jekyllrb.com/docs/variables/)\n* [Jekyllで簡易タグ一覧ページを作る(2013年12月8日追記)](http://genjiapp.com/blog/2013/11/21/simple-tags-page-for-jekyll.html)\n\n## `site.posts`変数の中身\n\n\n{% capture text %}\n`site.posts`\n: A reverse chronological list of all Posts.\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Variables - Jekyll • Simple, blog-aware, static sites](https://jekyllrb.com/docs/variables/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n\nということなので、**\\_post** 以下のものが日付が新しい順に表示されるはずだ。\n\n{% raw %}\n```liquid\n&lt;ul&gt;\n  {% for post in site.posts %}\n  &lt;li&gt;\n    {{post.date | date: \&quot;%F\&quot; }}:&lt;a href=\&quot;{{site.github.url}}{{ post.url }}\&quot;&gt;{{ post.title }}&lt;/a&gt;\n  &lt;/li&gt;\n  {% endfor %}\n&lt;/ul&gt;\n```\n{% endraw %}\n\nこれを実行してみる。\n\n&gt; \n&gt; &lt;ul&gt;\n&gt;   {% for post in site.posts %}\n&gt;   &lt;li&gt;\n&gt;     {{post.date | date: \&quot;%F\&quot; }}:&lt;a href=\&quot;{{site.github.url}}{{ post.url }}\&quot;&gt;{{ post.title }}&lt;/a&gt;\n&gt;   &lt;/li&gt;\n&gt;   {% endfor %}\n&gt; &lt;/ul&gt;\n&gt;\n\n## `site.pages`変数の中身\n\n{% capture text %}\n`site.pages`\n: A list of all Pages. \n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Variables - Jekyll • Simple, blog-aware, static sites](https://jekyllrb.com/docs/variables/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n全てのページが出力されるらしい。先程と同じようなコードを実行してみる。\n\n{% raw %}\n```liquid\n&lt;ul&gt;\n  {% for page in site.pages %}\n  &lt;li&gt;\n    {{ page.url }}\n  &lt;/li&gt;\n  \n  {% endfor %}\n&lt;/ul&gt;\n```\n{% endraw %}\n\n実行してみる。\n\n&gt; &lt;ul&gt;\n&gt;   {% for page in site.pages %}\n&gt;   &lt;li&gt;\n&gt;     {{ page.url }}\n&gt;   &lt;/li&gt;\n&gt;   \n&gt;   {% endfor %}\n&gt; &lt;/ul&gt;\n\ncssやxmlなど、必要そうな不要そうなものまで出力される。\n\n## `site.html_pages`変数の中身\n\n\n{% capture text %}\n`site.html_pages`\n: A subset of `site.pages` listing those which end in `.html`. \n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Variables - Jekyll • Simple, blog-aware, static sites](https://jekyllrb.com/docs/variables/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n\nどうやら同じような考えだったらしく、**html** だけ格納されている変数があった。\n\n{% raw %}\n```liquid\n&lt;ul&gt;\n  {% for page in site.html_pages %}\n  &lt;li&gt;\n    {{page.date | date: \&quot;%F\&quot;}}:&lt;a href=\&quot;{{site.github.url}}{{ page.url }}\&quot;&gt;{{ page.title }}&lt;/a&gt;\n  &lt;/li&gt;\n  {% endfor %}\n&lt;/ul&gt;\n```\n{% endraw %}\n\n実行してみる。\n\n&gt; &lt;ul&gt;\n&gt;   {% for page in site.html_pages %}\n&gt;   &lt;li&gt;\n&gt;     {{page.date | date: \&quot;%F\&quot;}}:&lt;a href=\&quot;{{site.github.url}}{{ page.url }}\&quot;&gt;{{ page.title }}&lt;/a&gt;\n&gt;   &lt;/li&gt;\n&gt;   {% endfor %}\n&gt; &lt;/ul&gt;\n\nトップページまで出力されるのか・・・。\n\n\n\n## 記事のタグ一覧と、タグ付けされているページの一覧を取得する。\n\n{% capture text %}\n`site.tags.TAG`\n: The list of all Posts with tag TAG. \n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Variables - Jekyll • Simple, blog-aware, static sites](https://jekyllrb.com/docs/variables/)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n{% capture text %}\n\n{% raw %}\n```liquid\n{% for tag in site.tags %}\n&lt;article&gt;\n  &lt;h1 id=\&quot;tag_{{ tag[0] }}\&quot;&gt;{{ tag[0] }}&lt;/h1&gt;\n  &lt;ul&gt;\n    {% for post in tag[1] %}\n    &lt;li&gt;&lt;a href=\&quot;{{ post.url }}\&quot;&gt;{{ post.title }}&lt;/a&gt;&lt;/li&gt;\n    {% endfor %}\n  &lt;/ul&gt;\n&lt;/article&gt;\n{% endfor %}\n```\n{% endraw %}\n\n{% endcapture %}\n{% assign text=text | markdownify %}\n{% assign source='\n[Jekyllで簡易タグ一覧ページを作る(2013年12月8日追記)](http://genjiapp.com/blog/2013/11/21/simple-tags-page-for-jekyll.html)\n' | markdownify | remove: '&lt;p&gt;' | remove: '&lt;/p&gt;' %}\n{% include cite.html text=text source=source %}\n\n\n\n上記ソースでは`tag[0]`がタグ名、`tag[1]`がタグを含むページの配列になっているらしい。\n少し変更して実行してみる。\n\n{% raw %}\n```liquid\n{% for tag in site.tags %}\n&lt;article&gt;\n  &lt;h3&gt;{{ tag[0] }}&lt;/h3&gt;\n  &lt;ul&gt;\n    {% for post in tag[1] %}\n    &lt;li&gt;&lt;a href=\&quot;{{ post.url }}\&quot;&gt;{{ post.title }}&lt;/a&gt;&lt;/li&gt;\n    {% endfor %}\n  &lt;/ul&gt;\n&lt;/article&gt;\n{% endfor %}\n```\n{% endraw %}\n\n実行してみる。\n\n&gt; {% for tag in site.tags %}\n&gt; &lt;article&gt;\n&gt;   &lt;h3&gt;{{ tag[0] }}&lt;/h3&gt;\n&gt;   &lt;ul&gt;\n&gt;     {% for post in tag[1] %}\n&gt;     &lt;li&gt;&lt;a href=\&quot;{{ post.url }}\&quot;&gt;{{ post.title }}&lt;/a&gt;&lt;/li&gt;\n&gt;     {% endfor %}\n&gt;   &lt;/ul&gt;\n&gt; &lt;/article&gt;\n&gt; {% endfor %}\n\n**{{ page.lastchange }} 現在、固定ページのタグは取得できない** ことがわかった。\n\n&quot;,
  &quot;output&quot;: null,
  &quot;id&quot;: &quot;/Jekyll/site-variables&quot;,
  &quot;previous&quot;: {
    &quot;id&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;url&quot;: &quot;/Jekyll/liquid-raw&quot;,
    &quot;relative_path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;liquidのソースコードを表示する&quot;,
    &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-15 23:00:29 +0000&quot;,
    &quot;tags&quot;: [
      &quot;jekyll&quot;,
      &quot;liquid&quot;,
      &quot;github&quot;,
      &quot;pages&quot;
    ],
    &quot;slug&quot;: &quot;liquid-raw&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;url&quot;: &quot;/Jekyll/site-variables&quot;,
  &quot;relative_path&quot;: &quot;_docs/Jekyll/site-variables.md&quot;,
  &quot;collection&quot;: &quot;docs&quot;,
  &quot;next&quot;: {
    &quot;id&quot;: &quot;/Jekyll/page-menu&quot;,
    &quot;url&quot;: &quot;/Jekyll/page-menu&quot;,
    &quot;relative_path&quot;: &quot;_docs/Jekyll/page-menu.md&quot;,
    &quot;collection&quot;: &quot;docs&quot;,
    &quot;path&quot;: &quot;_docs/Jekyll/page-menu.md&quot;,
    &quot;draft&quot;: false,
    &quot;categories&quot;: [

    ],
    &quot;layout&quot;: &quot;post&quot;,
    &quot;title&quot;: &quot;ページメニューの作り方&quot;,
    &quot;date&quot;: &quot;2017-03-04 00:00:00 +0900&quot;,
    &quot;lastchange&quot;: &quot;2017-06-16 22:55:31 +0000&quot;,
    &quot;tags&quot;: [
      &quot;jekyll&quot;,
      &quot;liquid&quot;,
      &quot;github&quot;,
      &quot;pages&quot;
    ],
    &quot;slug&quot;: &quot;page-menu&quot;,
    &quot;ext&quot;: &quot;.md&quot;
  },
  &quot;path&quot;: &quot;_docs/Jekyll/site-variables.md&quot;,
  &quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;site内の変数についての調査\&quot;&gt;&lt;code class=\&quot;highlighter-rouge\&quot;&gt;site.*&lt;/code&gt;内の変数についての調査&lt;/h2&gt;\n\n&quot;,
  &quot;draft&quot;: false,
  &quot;categories&quot;: [

  ],
  &quot;layout&quot;: &quot;post&quot;,
  &quot;title&quot;: &quot;site変数の内容調査&quot;,
  &quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
  &quot;lastchange&quot;: &quot;2017-06-16 23:13:15 +0000&quot;,
  &quot;tags&quot;: [
    &quot;jekyll&quot;,
    &quot;liquid&quot;,
    &quot;github&quot;,
    &quot;pages&quot;
  ],
  &quot;slug&quot;: &quot;site-variables&quot;,
  &quot;ext&quot;: &quot;.md&quot;
},
&quot;path&quot;: &quot;_docs/Jekyll/liquid-raw.md&quot;,
&quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;liquidのソースがjekyllでコンパイルされ表示されない\&quot;&gt;liquidのソースがJekyllでコンパイルされ、表示されない&lt;/h2&gt;\n\n&quot;,
&quot;draft&quot;: false,
&quot;categories&quot;: [

],
&quot;layout&quot;: &quot;post&quot;,
&quot;title&quot;: &quot;liquidのソースコードを表示する&quot;,
&quot;date&quot;: &quot;2017-03-03 00:00:00 +0900&quot;,
&quot;lastchange&quot;: &quot;2017-06-15 23:00:29 +0000&quot;,
&quot;tags&quot;: [
  &quot;jekyll&quot;,
  &quot;liquid&quot;,
  &quot;github&quot;,
  &quot;pages&quot;
],
&quot;slug&quot;: &quot;liquid-raw&quot;,
&quot;ext&quot;: &quot;.md&quot;   },   &quot;path&quot;: &quot;_docs/Jekyll/display-value.md&quot;,   &quot;excerpt&quot;: &quot;&lt;h2 id=\&quot;変数に何が入っているか調べたい\&quot;&gt;変数に何が入っているか調べたい&lt;/h2&gt;\n\n&quot;,   &quot;draft&quot;: false,   &quot;categories&quot;: [

], "layout": "post", "title": "変数の中身をページに表示する", "date": "2017-03-03 00:00:00 +0900", "lastchange": "2017-06-15 21:23:57 +0000", "tags": [ "jekyll", "liquid", "github", "pages" ], "slug": "display-value", "ext": ".md" }