平衡点


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 で欲しい人の場合はコメント下さい. 気がむいたらパッケージングします.


連絡先など
最近の日記
  • 2024/04/28
    • 1. CF-SR3 での生活環境構築 (できてない)
  • 2024/03/29
    • 1. Debian GNU/Linux on CF-SR3
  • 2024/03/25
    • 1. org-mode → beamer でのリスト記号の一時変更
  • 2024/03/22
    • 1. 静的htmlによるGit Repository Browser
  • 2024/02/15
    • 1. org-mode → bemaer での番号付きリスト
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|
Back to Top ▲