<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xml:lang="ja">

 <channel rdf:about="http://www.artif.org/lmdk.rb/index.rdf">
  <title>Artif.org</title>
  <link>http://www.artif.org/lmdk.rb</link>
  <description>Webの実験 rubyとか</description>
  <items>
   <rdf:Seq>
      <rdf:li rdf:resource="http://www.artif.org/lmdk.rb/subversion.html"/>
      <rdf:li rdf:resource="http://www.artif.org/lmdk.rb/optionparser.html"/>
      <rdf:li rdf:resource="http://www.artif.org/lmdk.rb/artifpad.html"/>
      <rdf:li rdf:resource="http://www.artif.org/lmdk.rb/lilymdk_spec.html"/>
      <rdf:li rdf:resource="http://www.artif.org/lmdk.rb/lilymodoki.html"/>

   </rdf:Seq>
  </items>
 </channel>

 <item rdf:about="http://www.artif.org/lmdk.rbprograming/subversion.html">
  <title>svnからファイルを取得した時の日付</title>
  <link>"http://www.artif.org/lmdk.rbprograming/subversion.html"</link>
  <description>~/.subversion/configファイルの設定[miscellany]###Setglobal-ignorestoasetofwhitespace-delimitedglobs###whichSubversionwillignoreinits'status'output,and###whil</description>
  <dc:date>2007-05-15T11:39:10+09:00</dc:date>
  <dc:subject>programing</dc:subject>
  <content:encoded><![CDATA[
    <p>~/.subversion/config ファイルの設定</p>
<pre>[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
use-commit-times = yes</pre>
<p>use-commit-times = yes を使用。
これを指定していないと、全てのファイルが最新のコミット時間にされてしまう。</p>
<p>更新されたファイルの時刻が最新になる事で、make時にコンパイルから漏れる
危険性が低くなる…のだけど、何かと使いにくい気がする。
まぁ、タイムスタンプに頼るのは危険なんだけど。</p>


  ]]></content:encoded>
 </item>
 <item rdf:about="http://www.artif.org/lmdk.rbprograming/ruby/optionparser.html">
  <title>optparse</title>
  <link>"http://www.artif.org/lmdk.rbprograming/ruby/optionparser.html"</link>
  <description>チュートリアル環境変数POSIXLY_CORRECTが定義されていると挙動が変わる定義していないオプションを指定すると例外OptionParser::InvalidOptionが発生OptionParser自体は、どのオプションが指定されたかを記憶しないOprionParser.newはブロックを受</description>
  <dc:date>2007-05-15T11:39:10+09:00</dc:date>
  <dc:subject>programing/ruby</dc:subject>
  <content:encoded><![CDATA[
    <p><a href="http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=optparse%3A%3A%A5%C1%A5%E5%A1%BC%A5%C8%A5%EA%A5%A2%A5%EB">チュートリアル</a></p>
<ul>
<li>環境変数 POSIXLY_CORRECT が定義されていると挙動が変わる</li>
<li>定義していないオプションを指定すると例外 OptionParser::InvalidOption が 発生</li>
<li>OptionParser 自体は、どのオプションが指定されたかを記憶しない</li>
<li><p>OprionParser.new はブロックを受け付けるので、こういう書き方も有る</p>
<pre>require 'optparse'
OptionParser.new {|opt|

opt.on('-a') {|v| p v }
opt.on('-b') {|v| p v }

opt.parse!(ARGV)
}
p ARGV</pre></li>
<li>オプションの引数
<ul>
<li>on() メソッドの末尾に'['以外で始まる何かを書くと、必須の引数</li>
<li>on() メソッドの末尾に'[ ...' を書くと、省略可能な引数</li>
</ul></li>
</ul>


  ]]></content:encoded>
 </item>

 <item rdf:about="http://www.artif.org/lmdk.rbsofts/lily/artifpad.html">
  <title>Artifpad</title>
  <link>"http://www.artif.org/lmdk.rbsofts/lily/artifpad.html"</link>
  <description>lilypadの自分版。さすがに、ftpでメンテするのは面倒なので、subversionとの合わせ技を狙ってみる。何をするのかsvn上の最新版(lilymdk本体と、ブログのデータ）を、http://www.artif.org/に反映する。これでローカルでの修正を速やかにサーバーに反映出来る。ついで</description>
  <dc:date>2007-05-14T07:56:00+09:00</dc:date>
  <dc:subject>softs/lily</dc:subject>
  <content:encoded><![CDATA[
    <p>lilypad の自分版。
さすがに、ftp でメンテするのは面倒なので、subversion
との合わせ技を狙ってみる。</p>

<h3><a name="label-0" id="label-0">何をするのか</a>
</h3><!-- RDLabel: "何をするのか" -->
<p>svn上の最新版(lilymdk 本体と、ブログのデータ）を、
http://www.artif.org/ に反映する。
これでローカルでの修正を速やかにサーバーに反映出来る。
ついでに、バックアップにもなって一石二鳥。</p>

<h3><a name="label-1" id="label-1">操作手順</a>
</h3><!-- RDLabel: "操作手順" -->
<ol>
<li>ローカルでゴニョゴニョ</li>
<li>svn でコミット</li>
<li>Artifpad でサーバーの作業領域をアップデート</li>
</ol>

<h3><a name="label-2" id="label-2">機能</a>
</h3><!-- RDLabel: "機能" -->
<ul>
<li>操作ページ
<ul>
<li>更新ボタン</li>
<li>更新結果表示</li>
<li>artif.org へのリンク</li>
</ul></li>
<li>svnの内容を update するシェルスクリプト</li>
</ul>

<h3><a name="label-3" id="label-3">そのうち実装するかもしれない機能</a>
</h3><!-- RDLabel: "そのうち実装するかもしれない機能" -->
<ul>
<li>更新内容が気にいらない時の戻し機能
  subversion の機能を使えば簡単？</li>
<li>artifpad 上で指定記事を修正する機能
  記事を投稿後にコミットするだけ</li>
</ul>


  ]]></content:encoded>
 </item>
 <item rdf:about="http://www.artif.org/lmdk.rbsofts/lily/lilymdk_spec.html">
  <title>lmdk の仕様</title>
  <link>"http://www.artif.org/lmdk.rbsofts/lily/lilymdk_spec.html"</link>
  <description>これは何か？bloxsomのruby版であるlilyの改造版である。lilyもどきを縮めてlmdkとうい事で。機能flavourで、表示をコントロールする。pluginで、挙動をコントロールする。tDiaryのプラグインが簡単に移植出来るようにする。styleで、記述フォーマットを変更出来るようにす</description>
  <dc:date>2007-05-14T07:56:00+09:00</dc:date>
  <dc:subject>softs/lily</dc:subject>
  <content:encoded><![CDATA[
    
<h3><a name="label-0" id="label-0">これは何か？</a>
</h3><!-- RDLabel: "これは何か？" -->
<p>bloxsomのruby版であるlilyの改造版である。
lilyもどきを縮めて lmdkとうい事で。</p>

<h3><a name="label-1" id="label-1">機能</a>
</h3><!-- RDLabel: "機能" -->
<p>flavour で、表示をコントロールする。
plugin で、挙動をコントロールする。
tDiary のプラグインが簡単に移植出来るようにする。
style で、記述フォーマットを変更出来るようにする。
データのアップデートは他に任せる。
静的なファイルの書き出し。</p>

<h3><a name="label-2" id="label-2">基本仕様</a>
</h3><!-- RDLabel: "基本仕様" -->

<h4><a name="label-3" id="label-3">設定ファイル</a>
</h4><!-- RDLabel: "設定ファイル" -->
<p>本体、及びプラグイン、フレーバー、スタイルの
初期設定情報。
tDiaryでは、web上で更新出来るようになっているが、
lmdkはrubyで好きなように設定出来ることが目標なので、
単純に初期設定ファイルに記述する仕様とする。
（誰かが、作ってくれると嬉しい…）</p>

<h4><a name="label-4" id="label-4">読込みパスの解析</a>
</h4><!-- RDLabel: "読込みパスの解析" -->
<p>フレーバーの決定
読み込むデータの決定
引数の例</p>
<pre>@url = http://www.artif.org/lmdk.cgi
@path_info = /lily/plugin/categories.html/2007/05</pre>
<p>形式は、</p>
<pre>(/dir)*(/filename.flavour)(/yyyy)(/mm)(/dd)</pre>
<ul>
<li>dir      --- ディレクトリ部分</li>
<li>filename --- 記事のファイル名（拡張子を除いた部分）</li>
<li>flavour  --- 出力に使用するフレーバー名</li>
<li>yyyy mm dd --- 記事を絞り込む日付データ</li>
</ul>

<h4><a name="label-5" id="label-5">出力対象の記事の決定</a>
</h4><!-- RDLabel: "出力対象の記事の決定" -->
<p>読込みパスの解析結果に従って、出力対象の記事を決定する</p>

<h4><a name="label-6" id="label-6">プラグインのロード</a>
</h4><!-- RDLabel: "プラグインのロード" -->
<p>プラグインディレクトリ内に有る .rb ファイルを読込み
（インスタンス eval）、そのファイルのベース名と
同じ関数を実行する。</p>

<h4><a name="label-7" id="label-7">contets-type 出力</a>
</h4><!-- RDLabel: "contets-type 出力" -->
<p>現在のところ、html 形式と rss 形式の出力を実行する。</p>

<h4><a name="label-8" id="label-8">header 出力</a>
</h4><!-- RDLabel: "header 出力" -->
<p>フレーバーの head 部を、erubis で整形し出力する。</p>

<h4><a name="label-9" id="label-9">entry 出力</a>
</h4><!-- RDLabel: "entry 出力" -->
<p>出力対象の記事毎に、以下の処理を実行する。</p>

<h5><a name="label-10" id="label-10">date 出力</a>
</h5><!-- RDLabel: "date 出力" -->
<p>フレーバーの date 部を、erubis で整形し出力する。</p>

<h5><a name="label-11" id="label-11">story 出力</a>
</h5><!-- RDLabel: "story 出力" -->
<p>対象記事を style で形式変換後、フレーバーの story 部を
erubis で整形し出力する。</p>

<h4><a name="label-12" id="label-12">foot 出力</a>
</h4><!-- RDLabel: "foot 出力" -->
<p>フレーバーの foot 部を、erubis で整形し出力する。</p>

<h3><a name="label-13" id="label-13">フレーバー</a>
</h3><!-- RDLabel: "フレーバー" -->
<p>バラバラである必要は無いので、単体の rhtml ファイルとする。
但し、content-type は、コメントで埋め込む。</p>
<p>拡張子がフレーバー名というのはちょっと使いにくいしね。</p>
<p>&lt;!--Start: head --&gt;
&lt;!--End --&gt;
&lt;!--Start: date --&gt;
&lt;!--End --&gt;
&lt;!--Start: story --&gt;
&lt;!--End --&gt;
&lt;!--Start: foot --&gt;
&lt;!--End --&gt;</p>
<p>の形式で、&lt;!-- content-type: xxxxx --&gt; の行から、
content-type を取得する事にする。</p>

<h3><a name="label-14" id="label-14">プラグイン</a>
</h3><!-- RDLabel: "プラグイン" -->
<p>やはり、tDiary のプラグインが使えた方が便利。
ただ、あくまで個人がカスタマイズして使い倒すというのが
主眼なので、こだわらない方がいいかも。</p>

<h3><a name="label-15" id="label-15">スタイル</a>
</h3><!-- RDLabel: "スタイル" -->
<p>とりあえず、RDスタイルのみ対応予定</p>


  ]]></content:encoded>
 </item>
 <item rdf:about="http://www.artif.org/lmdk.rbsofts/lily/lilymodoki.html">
  <title>lily</title>
  <link>"http://www.artif.org/lmdk.rbsofts/lily/lilymodoki.html"</link>
  <description>るびまのlilyでブログカスタマイズを読んで、rubyでカスタマイズに惹かれて使ってみる事にした。。*1るびまの記事では、www.mikihoshi.comに有ることになっているが、今は、lily-シンプルなサイト構築システムというページに有る*2。lilyバージョン1.0を開発中で、0.1.5は開</description>
  <dc:date>2007-05-14T07:56:00+09:00</dc:date>
  <dc:subject>softs/lily</dc:subject>
  <content:encoded><![CDATA[
    <p><img class="img-left" src="/images/lily.jpeg" alt="image" title="image" width="240">
るびまの<a href="http://jp.rubyist.net/magazine/?0003-LilyCustomizeHack">lily でブログカスタマイズ</a>
を読んで、<em>rubyでカスタマイズ</em>に惹かれて使ってみる事にした。。
<a name="footmark00010110001111101110011101100001" id="00010110001111101110011101100001" href="#foottext00010110001111101110011101100001"><sup><small>*1</small></sup></a></p>
<p>るびまの記事では、www.mikihoshi.com に有ることになっているが、	今は、
<a href="http://lily.sourceforge.jp/">lily - シンプルなサイト構築システム</a>
というページに有る<a name="footmark11100110111010000001001001001010" id="11100110111010000001001001001010" href="#foottext11100110111010000001001001001010"><sup><small>*2</small></sup></a>。
lilyバージョン1.0を開発中で、0.1.5は開発停止中らしい。</p>
<p>ruby の修行のためなので、開発停止でもいいやって事で0.1.5 を
ベースにいじってみた。</p>

<h3><a name="label-0" id="label-0">カスタマイズ</a>
</h3><!-- RDLabel: "カスタマイズ" -->

<h4><a name="label-1" id="label-1">flavour</a>
</h4><!-- RDLabel: "flavour" -->
<p>デザインには自信無いので、やっつけ仕事。
しかし、CSS でレイアウトするのって、バッドノウハウの嵐だねぇ。
もうちょっと、直観的にレイアウト指定できるといいのに。</p>
<p>lilyは、<a href="http://blosxom.info/">bloxsom</a>のruby 版という事で、
bloxsom のflavourが使える作りになっていたのだけど、
ruby でやるなら<em>テンプレートは rhtmlでしょ</em>って事で、
eRuby に書き換えてしまった。
おかげで、bloxsom の flavour はそのままでは使えない。</p>

<h4><a name="label-2" id="label-2">RDスタイル</a>
</h4><!-- RDLabel: "RDスタイル" -->
<p>RDで書きたかったので、RDスタイルを導入。
（Journal In Timeから頂きました。[ <a href="http://shugo.net/jit/20040708.html#p02">ここ</a> ]）</p>
<p>で、OKかと思ったんだけど、footnoteの部分が出てなかったので、
tDiary の RDStyle を参考にしてビジタークラスを作ってみた。</p>

<h4><a name="label-3" id="label-3">Ruby 1.8対応</a>
</h4><!-- RDLabel: "Ruby 1.8対応" -->
<p>cgi['key'][0] と書かれた箇所を、cgi.params['key'][0] に根こそぎ置換した。</p>
<hr />
<p class="foottext">
<a name="foottext00010110001111101110011101100001" id="foottext00010110001111101110011101100001" href="#footmark00010110001111101110011101100001"><sup><small>*1</small></sup></a><small>日記も停滞してるしね</small><br />
<a name="foottext11100110111010000001001001001010" id="foottext11100110111010000001001001001010" href="#footmark11100110111010000001001001001010"><sup><small>*2</small></sup></a><small>今頃数年前の記事を読んでるのがいかんのだが</small><br />
</p>

  ]]></content:encoded>
 </item>
</rdf:RDF>
