«前の日記(2006-10-15 (日)) 最新 次の日記(2006-10-21 (土))»  

まちゅダイアリー


2006-10-19 (木)

tDiary の Wiki スタイル (HikiDoc) で複数行の整形済みテキスト

コードを貼りつけるのが面倒だ - Hacking is believing@itoshi.tv (2006-05-04)」より。

Wikiスタイルの場合、コードを貼り付けるには行頭に空白文字を一文字入れる。しかし、ある程度長いコードになると手動でインデントするのが面倒くさい。

確かに。 ViVi で編集するときは一括置換で空白を入れているけど、面倒なのは面倒。

実は、最新版の tDiary の Wiki スタイル(HikiDoc 導入後なので2.1.3か2.1.4あたり?)では、長い行のテキストを簡単に整形済みテキストとして表示できるようになっている。 開始行に「<<<」と書いて、終了行に「>>>」と書けばいい。

例えば、以下のように書くと…

<<<
def parse_pre( text )
  ret = text
  ret.gsub!( /^#{MULTI_PRE_OPEN_RE}$(.*?)^#{MULTI_PRE_CLOSE_RE}$/m ) do |str|
    "\n" + store_block( "<pre>%s</pre>" % restore_pre( $1 ) ) + "\n\n"
  end
  ret.gsub!( /(?:#{PRE_RE}.*\n?)+/ ) do |str|
    str.chomp!
    str.gsub!( PRE_RE, '' )
    "\n" + store_block( "<pre>\n%s\n</pre>" % restore_pre( str ) ) + "\n\n"
  end
  ret
end
>>>

以下のように表示される。

def parse_pre( text )
  ret = text
  ret.gsub!( /^#{MULTI_PRE_OPEN_RE}$(.*?)^#{MULTI_PRE_CLOSE_RE}$/m ) do |str|
    "\n" + store_block( "<pre>%s</pre>" % restore_pre( $1 ) ) + "\n\n"
  end
  ret.gsub!( /(?:#{PRE_RE}.*\n?)+/ ) do |str|
    str.chomp!
    str.gsub!( PRE_RE, '' )
    "\n" + store_block( "<pre>\n%s\n</pre>" % restore_pre( str ) ) + "\n\n"
  end
  ret
end

※ このソースは HikiDoc からコピーさせてもらいました。

Rails の勉強で HikiDoc を使ったときに偶然見つけたもので、 HikiDoc の記法にも載っていないし、複数行 pre のマークアップはあれでいいのかという開発者の声もある。 公式にはサポートされていない記法っぽいので、突然変わる危険性はあるなぁ…。

Tags: tDiary

TextDrive を借りてみた

Rails が動かせる環境が欲しかったので、数少ない選択肢の一つ、TextDriveを借りた。 いつの間にか、ディスク容量が1GBから5GBに増えていたのも理由。

以下、簡単に使ってみた感想。

  • 登録後数分でセットアップ完了のメールが届く。早っ。
  • メールにサーバ名やアカウント、パスワードが書かれているので ssh でログインしてみる。
  • zsh も使える。レスポンスが遅いのは海外サーバだから仕方ないか。
  • どうやら、サーバの設定は Webmin メインでやるらしい。 Webmin もレスポンスは遅い。
  • http://example.com/svn/http://example.com/dav/ は、それぞれデフォルトで SubVersion や WebDAV へのアクセスになっている(httpd.conf で定義されている)。
  • 登録時に申請したドメインとそのサブドメインが、 Apache のドキュメントルートにマッピングされる。
  • 新しい独自ドメインは、 Webmin の Virtualmin Virtual Servers で設定する。ホームディレクトリの「domains/ドメイン名」に独自ドメイン用のフォルダが展開される。
  • PHP のデフォルトは PHP5/FastCGI (たぶん)。でも、 ps で php プロセスが見えない…。
  • mod_php を使いたい場合は .htaccess で定義する。でも、 www プロセスで動作するから嬉しくないかも。
  • lighttpd を使うためにはサポートに連絡して、専用のポート番号を発行してもらう。(参考
Tags: textdrive
本日のツッコミ(全2件) [ツッコミを入れる]
katsuo (2006-10-20 (金) 19:27)

今回のテーマでなくスイマセン。自社エンタメ系サイトで、SNS、ライブチャット、ストリーミングなどのまたがった遊びに対して、認証APIの導入を検討しています。また私はプログラマではないため、どのくらい難しいのかが分からないため、実装に関して相談できればと思い投稿しました。

まちゅ (2006-10-23 (月) 12:38)

この日記が参考になるのであれば幸いです。<br>申し訳ないですが、個別のご相談にはお答えできません。