平衡点
2006/11/10
_ tdiary とはてなダイアリ
現在 tdiary を動かしているサーバを, 来年以降動かせるかどうか定かでは無いので, はてなダイアリに乗りかえます.
…という宣言は既にしていたのですが, tdiary の方は rd-style で記述しているので, RD 記法からはてな記法に変換することをちまちまとやっていました.
で, rd2html-lib.rb を見ながらちまちまと弄っていたんですよ. rd でパース対象になる要素の一覧が欲しかった訳ですが, まとまった所が無いんですね(というか, それぐらい嫁, とかいうレベルかもしれません).
そんな訳でメモ.
rd のパーサを作るために
- apply_to_DocumentElement(element, content):要素全体. 全ての要素を最後に出力するために使う.
例えば
def apply_to_DocumentElement(element, content) ret = make_body(content) + "\n" ret end def make_body(contents) contents = contents.join("\n") %Q[#{content}] end
みたいに.
- apply_to_Headline(element, title):見出し. つまり "=" について処理を行なう
はてなの記法では "=" ではなくて "*" の数でヘッディングするので,
def apply_to_Headline(element, title) headlevel = '*' * element.level.to_i %Q[#{headlevel}#{title}\n] end
みたいに
- apply_to_TextBlock(element, content):ul, dl, ol などのブロック要素を処理する.
これ上手くいってないなぁ…
- apply_to_Verbatim(element):整形済みテキストの処理.
はてなの記法では ">||" と "<||" で囲まれた部分を整形済みとして pre で囲むので
def apply_to_Verbatim(element) content = [] element.each_line do |i| content.push(apply_to_String(i)) end %Q[>||\n#{content.join("").chomp}\n||<\n] end
他には.
- apply_to_ItemList(element, items):
- apply_to_EnumList(element, items):
- apply_to_DescList(element, items):
- apply_to_MethodList(element, items):
- apply_to_ItemListItem(element, content):
- apply_to_EnumListItem(element, content):
- apply_to_DescListItem(element, term, description):
- apply_to_MethodListItem(element, term, description):
- apply_to_StringElement(element):
- apply_to_Emphasis(element, content):
- apply_to_Code(element, content):
- apply_to_Var(element, content):
- apply_to_Keyboard(element, content):
- apply_to_Index(element, content):
- apply_to_Reference_with_RDLabel(element, content):
- apply_to_Reference_with_URL(element, content):
- apply_to_RefToElement(element, content):
- apply_to_RefToOtherFile(element, content):
- apply_to_Footnote(element, content):
- apply_to_Foottext(element, content):
- apply_to_Verb(element):
- apply_to_String(element):
2007/11/10
_ まだまだテスト中
simple-hatena-mode は結構良い感じなんですが, font-lock で毎度エラー吐かれる. 調べる気力が無いので, とりあえず hatena-mode を試してみる.
投稿テスト.
...うーん.
_ hatedara.el を試す.
以外と良い感じ...なんだろうか.
投稿テスト
... うん. 良い感じな気がするよ. とりあえずコレを使う事にしよう.
導入
先ず<URL:http://www.hyuki.com/techinfo/hatena_diary_writer.html:title> の導入から.
上記ページからスクリプト本体をコピペして, PATH の通った所(今回は ~/bin)に置く.
とりあえず動かしてみたら Crypt::SSLeay が無い, と言われたので
$ sudo aptitide install libcrypt-ssleay-perl
つぎに <URL:http://www.geocities.jp/emacsjjjj/hatedara/:title> を適当な所に置く.
設定
- hatedara.el は ~/.emacs.d/elisp/hatena に置く.
- hw.pl は ~/bin に設置
- 日記ファイルは ~/work/hatena/YYYY-MM-DD.txt としておく.
以下の様に設定
;; 読み込み. (setq load-path (cons "~/.emacs.d/elisp/hatena" load-path)) (autoload 'hatedara "hatedara" nil t) ;; 日記の置き場 (setq hatedara-directory "~/work/hatena") ;; スクリプトの置き場 (setq hatedara-script-file "~/bin/hw.pl") (setq hatedara-use-cookie t) ;; USERID, PASSWORD の設定 (setq hatedara-user-id "[USERID]") (setq hatedara-passwd "[PASSWORD]") ;; timestamp を更新しない. (setq hatedara-disable-replace-timestamp t) ;; \C-x M で hatedara 起動 (define-key ctl-x-map "M" 'hatedara)
とりあえず, これで更新していこう
ToDo
- hw.pl に渡す前の整形
- 文頭への空白行の挿入(タイトル付けたくない)
- 改行の変形(文章の改行は無視して連続行にしておきたい)
- font-lock のカスタマイズ
_ HP のキャンペーン
某所でのワークショップ中, id:msll さんより.
丁度 desktop が壊れかけ(コンデンサ妊娠疑惑)なので, 凄い魅かれている訳で.
Dual Opteron にして, メモリが 512MBx4 で, 福沢さん 4.5 人, というのは大変魅力的です.
しかしながら, 経済状態がねぇ...
2008/11/10
_ evince での日本語表示
以前 twitter で henrich さんから教えてもらったこと.
Debian lenney を install して, とくに設定をせずに evince でPDF を表示すると明朝体もゴシック体で表示される.
これはfontconfig において Ryumin と Gothic-BBB が設定されていない(優先的に VL Gothic となるように設定されている)から.
そんな訳で, 例えば, 以下の様に
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <!-- section:Ryumin for IPA Mincho:start --> <match target="pattern"> <test qual="any" name="family"> <string>Ryumin</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPA Mincho</string> </edit> </match> <!-- section:Ryumin for IPA Mincho:end --> <!-- section:Ryumin for IPA Gothic:start --> <match target="pattern"> <test qual="any" name="family"> <string>Gothic-BBB</string> </test> <edit name="family" mode="prepend" binding="strong"> <string>IPA P Gothic</string> </edit> </match> <!-- section:Ryumin for IPA Gothic:end --> </fontconfig>
設定前はこんな感じ.
設定後.望んだ通り, 明朝体とゴシック体が出ましたよ.
2010/11/10
_ ttf-sazanami-{mincho,gothic}
メモ.
% apt-cache rdepends ttf-sazanami-mincho ttf-sazanami-mincho Reverse Depends: ttf-kochi-mincho-naga10 sun-java6-jre |xdvik-ja ttf-kochi-mincho ttf-kochi-gothic |openjdk-6-jre-headless mgp kiten gs-cjk-resource |gjiten latex-cjk-xcjk % apt-cache rdepends ttf-sazanami-gothic ttf-sazanami-gothic Reverse Depends: ttf-kochi-gothic-naga10 sun-java6-jre |openjdk-6-jre-headless mgp |kiten gs-cjk-resource freeciv-client-sdl latex-cjk-xcjk % apt-cache rdepends ttf-vlgothic ttf-vlgothic Reverse Depends: |xdvik-ja pydance mlterm latex-cjk-xcjk
openjdk-6-jre-headless の sazanami 依存部分は日本語だけかと思いきや wgy_zenhai の部分もあるのね. しかも決め打ちかぁ...
_ libmathml-ruby
先日武藤さんにスポンサーしてもらって, ひらくさんが公開しているRuby用MathMLライブラリのパッケージを libmathml-ruby として upload しました.
<strike>とはいえ new queue なんで, 認証されるまでもうしばらくお待ち下さい, ですね.</strike>
official に入りました.unstable の場合には
$ sudo apt-get install libmathml-ruby
で ok です. stable で欲しい人の場合はコメント下さい. 気がむいたらパッケージングします.