トップ «前の日記(2016年08月12日) 最新 編集

KeN's GNU/Linux Diary
... 料理とDebianと雑多な記録


2016年12月31日

_ [computer] Re:VIEWの基本スタンス(個人的な)

大晦日にもなって、なぜか高橋さんと私で自然発生的にRe:VIEW ( http://reviewml.org/ ) の機能改良やバグ潰しをやっていた。

その中で、こうなっていくといいな・こうなっていくと嫌だな、という自分のちょっとモヤっとしたものをまとめておいたほうがよさそうなので、個人的なお気持ちを表明しておこうと思う。

  • 古いRubyバージョンでも動作するようにする。最新から2メジャーバージョン遅れくらいまでのポータビリティを持たせたい(具体的には、最低Debian stableの、できればDebian oldstableで使われているバージョンまでは使えるようにしておきたい)ので、Rubyの新しい便利メソッドや記法だからといってすぐには許容しない。
  • 外部gemは、どれだけ優れていようとも「基本機能をより拡張するもの」以外には使わない。Debianに屋上屋を重ねてくるgemのパッケージ管理にうんざりしているというのもあるが、自分がコントロールできない代物に強依存するのは避ける。
  • 外部ツールの動的利用はできるだけ避ける。review-compile時に動的生成する類いのものはトラブルが多いし、セキュリティ上のリスクもたくさんあってそろそろ止めたほうがよいと思っている。OS間ポータビリティが低くなるし、自身だけの利用ならともかくほかの人に渡すデータ、たとえば商業刊行書籍の原稿で画像の動的生成になっているとかもう(以下自粛) どうしても動的生成したいときにはpreprocに入れるか、フックを使うかしたほうがよいのではないだろうか。
  • 記号による命令は現状以上に増やさない。つまり、「=」による見出し、番号(1.)と●(*)の箇条書き、:による説明箇条書き以上に、暗黙の命令記法は増やさない。今後命令を増やすとしても、すべて@<〜>あるいは//〜型の基本書法に則ったものとする。暗黙の命令が増えてそのエスケープに注意を払うことなんてしたくない。ちなみに「:」の説明箇条書きは、かねがね申し上げているがいろいろ問題が多いので本当は駆逐したい気持ちでいっぱい。
  • ビルダ固有でしかない命令はできるだけ避ける。HTMLあるいはLaTeXまわりで、何かの表現と1対1対応するような命令を入れたくなる気持ちはたまにある。が、そういう表現はほかのビルダで困る。もちろん利便性が高そうでほかのビルダでもうまく表現できそうであれば、命令を取り込んでいきたい。(IDGXMLに昔仕込んでしまった特定書籍向けのものは個別のreview-ext.rbに2017年に移動しよう……。)
  • TeXLiveも少し古いのでも動作するようにし、できるだけ標準パッケージに留める。TeXLiveはOS提供パッケージでない限りgem以上に管理が極めてし辛い環境(公式ミラーだと常に最新になっていて、インデックスを先に同期しないまま古いのが消える)なのだが、とりあえず「去年のTeXLive 2015でjapaneseを入れた状態」でCTANからの別途パッケージのダウンロードの必要なく実行できる、くらいにしたい。縦書きやルビなどを考えるといろいろ難しいのだけれども、ともかく「CTANで別途」ということはgem同様に避けたい。
  • 名前は変えない。すでに1回変えている(しかも逆効果になった)し、ググラビリティがというのは聞き飽きた。フツーにGo並みになればいいのでは。

ということで、まとまっていないけれども、2016年は多くの方々にRe:VIEWを使っていただき、ありがとうございました。Re:VIEWへのissue, PRは https://github.com/kmuto/review でお待ちしています。

良いお年をお過ごしください。