読者です 読者をやめる 読者になる 読者になる

丘と谷津の硲に憩う

あちこちほっついて身に覚えたことをしたためようと

はてなダイアリーのシンタックスハイライトを書いてみた

テキストエディター「Mery」向けにはてなダイアリーシンタックスハイライトを起こしてみました。

Meryとは

Markdownが書けるエディターを探しているときに見つけたエディターです。国産でメモ帳と同じような操作感ということで慣れやすそうなので使い始めてみました。

シンタックスハイライトとは

シンタックスとは、プログラミング言語などの人工言語で定められている構文規則。文法とも訳される。言語学の分野では、自然言語における統語論という意味もある。

シンタックスとは|syntax - 意味/解説/説明/定義 : IT用語辞典

平たく言えば、べたの日本語文でなくて、画像埋め込みとか見出し扱いにするなどのページの演出上の特別な意味合いを持たせている所には見てすぐわかるように色を塗りましょうということです。

Meryをはてなダイアリー向けエディターとして使いたいと思う

使おうと思ったのはこの点が気に入ったからです。

  • スキンで編集画面のスタイルを変えられる
  • アウトライン解析機能で書いた文章を構造で捉えられる

とはいえ、プレビュー機能含めてMarkdownで書くにはAtomのほうが便利だったので、MarkdownはAtomでしたためることにしました。はてなダイアリーもMarkdownで書いたのちにPandocで変換すればよいやとも思っていました。Meryは安定板だと日本語入力を確定させるまで文字が入らない海外ソフトみたいな仕様ですし。

そうはいかない事情が

私は脚注記法をよく使うのですが、これを表すMarkdown記法の無いことがネックになりました。はてな記法特有の箇所はそこだけはてな記法のまま書いてPandocに突っ込んでもよかったのですが、挙動が見えない*1のでMeryで書いてみることにしました。
MeryのMarkdwon用のシンタックスハイライトの設定ファイルをのぞいてみたところ、書き方がわりあいシンプルだったのでシンタックスハイライトを自作してみることにしました。

ダウンロード

GitHubに載せました。

設定方法

  1. 「編集(E)」
  2. 「編集モード」
  3. 「編集モードの設定」
  4. 「新規作成」
  5. 編集モード一覧に文字入力画面があるのではてな記法用の名前を任意で名付ける(例:Hatena)
  6. 「プロパティ」
  7. 「インポート」
  8. 強調文字列にいろいろと挿入されたら「OK」
  9. 編集モード一覧画面に戻ったら今作った物を選んだ状態で「選択」を押す
アウトラインの設定方法
  1. ツール(T)」
  2. プラグイン(I)」
  3. 「1.アウトライン」→アウトラインウィンドウが現れる
  4. アウトラインウィンドウの何もない所で右クリック
  5. 「プロパティ」
  6. 「編集モード」が自分で決めた名前(例:Hatena)になっていることを確認する
  7. 「タイプ」→「カスタム」を選ぶ
  8. 「検索/正規表現」に半角アスタリスクを記入する。1番には一つ、2番には二つ、3番には三つと書いていく。
  9. 「最大レベル」を3以上にする
  10. 「OK」を押す

ご利用上の注意

  • 色分けはMonokai向けに調整しました
  • Meryの“複数行にまたがるシンタックスハイライトはできない”仕様により、引用記法は開くタグと閉じるタグだけハイライトしています
  • Meryの“ハイライトは実際の一行でなく見た目の一行しかハイライトしない”仕様により、折り返し機能で2行目に跨った部分はハイライトしない場合があります(する場合もあるようです)
  • はてな記法一覧ページに記載のあるものをまずは対応しました
  • 詳しい入力ルールはこれから対応します

一応はてな記法の意味ごとに塗り分けをするようにしましたが、おかしい点などありましたらご指摘ください。

*1:見ても良いのですが解析するくらいならばシンタックスハイライトを自作したほうが良い、とも思いました