LifeホームサイトについてプログラミングWeb/ブログゲーム開発環境サービス/製品その他ホームWeb/ブログVimRepressの拡張対応版を作成しましたスポンサーリンクWeb/ブログ2017.08.30VimRepressは、VimからMarkdownでWordpress投稿できるプラグインでとても便利です。Markdown)で使える記述と比較すると少し使いにくい部分もあります。GruberのMarkdownにのみ対応しています。今回はそういった部分を改善したバージョンのVimRepressをforkして公開したので紹介します。まとめスポンサーリンク拡張版VimRepress拡張したものを以下にて公開しています。拡張といっても大したことはやってないですが。Versionの通りですが、簡単に拡張内容をこちらで日本語で記載します。記事編集バッファを新しいタブで開くようにということをやっています。それぞれの詳細内容は以下で記載します。Extension、の対応のため、環境にパッケージのインストールが必要となっています。以下のコマンドをpython2.xのpipで行います。git+git://github.com/exaroth/mdx_custom_span_class.gitそれでは、以下で具体的な拡張内容を紹介していきます。拡張項目まず、VimRepressはPythonのMarkdownパッケージを利用したプラグインです。そのため、Python-Markdownの拡張機能を利用することでMarkdown記述の幅を広げることが可能です。以下では主には、Python-Markdownを拡張してMarkdown記述の幅を広げています。とおりの拡張ができます。BlocksTablesこの2つをマークダウン記述したかったのです。サイトの説明通り、このパッケージにはこれ以外にも拡張機能が含まれています。それまるごと使えるようになっているので、そちらも参照ください。BlocksGFMではない元の方のマークダウン記述法の定義では、コードブロックはインデント(スペース4つ)ありで記載したブロックを、コードブロックとみなす仕様です。Blocksを使います。endl;}```これでHTMLとしては以下のように出力されます。endl;}</code></pre>HTML特殊文字の変換や、pre,codeタグ、codeタグへ言語を示すclass指定まで行うことができます。最終的なブラウザ表示が以下です。endl;}Tablesテーブルの記述が、HTMLタグだとなかなか煩わしいことになるので、マークダウン記述が欲しかったです。Cellこれで以下のようになります。単純でLine1Line2と書くと<p>Line1<br/>Line2</p>とHTMLで出力されます。通常ただ改行をしても、HTML上では改行扱いにならないものを自動で<br>を差し込んで改行として扱ってくれます。Extension主には上記した、GFMっぽい記述拡張を目指してPython-Markdownの公式ページをあさっていたら見つけた掘り出し物が以下。Extension<span>タグをclass指定こみで、簡単に設定できます。超便利!以下が例です。class="red">大事</span></p>そして最終的にブラウザで以下のように表示されるわけです。これは大事この<span>タグくくりはしょっちゅう使うのに、markdownでもいい記述方法を見たことがなく、あきらめていつもスニペット入力していたのですが、それ以上に簡単になりました!これは思わぬ良い拾い物をしました。いうわけで、わざわざ拡張パッケージのインストールを必要としてまででも、この対応を行っているわけです。記事編集バッファを新しいタブで開くようにこれはもしかしたらVim日本語版のみの問題かもしれないですが、:BlogNewや:BlogListなどから記事編集バッファを開くときに、必ず既存のバッファとは別のウィンドウを開いて、既存のウィンドウの半分の領域のウィンドウで編集状態が始まります。これは、:newでバッファを作ったデフォルトの挙動なのですが、使いにくいですね。これから記事を書こう、いじろうと思っているときに、エディタの上半分の画面で事足ります、なんて人のほうが珍しいと思います。いうわけで、新しいタブで開くようにしました。:newが:tabnewになったということです。これで毎回不要なバッファを消したり、ウィンドウを広げる操作から解放されます。まとめ以上、VimRepressを拡張して公開、その内容を紹介してきました。VimRepressはPython-Markdownモジュールを素直に使っているだけだったので、拡張も簡単でしたね。大したことはやってないので、コミット履歴等で簡単に拡張方法もわかると思います。同様の拡張で足りない機能があれば自分で足してみるとどこまでも幸せになれると思います。他にも足したいマークダウン記述はあるのですが(例えば取り消し線など)、公式でサポートされていないものはPythonパッケージのインストールが必要となるため環境構築コストが発生するので、現状直接HTMLタグ打ちでいいかな・・というところに落としています。マークダウンで今後も記事を書いていって、必要とあらば都度このリポジトリを更新していくかもしれないです。コメントをキャンセルメールアドレスが公開されることはありません。(1)お問い合わせタイトルとURLをコピーしました。