Yasundial.ORGの共通デザイン


全体の概要

今回はアンカー(aタグ)で使用する外部参照用URLや画像ファイル用URLなどは、タイトルを含めてCouchDBにまとめるようにしています。

情報の中にASIN番号が含まれていれば、現状では自動的にamazon.co.jpへのアンカーが埋め込まれるようになっています。

例:<a href="asin:489471521X" /> 例:XML SmartDoc公式リファレンスマニュアル

SmartDocとの関係について

いまのところSmartDocのタグ構造を参考にしていますが、一部のタグだけをサポートしています。

また独自タグの追加などによって上位互換性を持つだけなので、反対にSmartDocを利用してlatex文書を生成するような下位互換性が求められる使い方はまったく考慮していません。

基本的なシステムについて

以前はApache Anakiaを使用していましたが、anakiaを利用したXMLファイルのレンダリン時に追加できる情報が実質的にXMLだけに限られていたため、環境をRubyに変更しています。

コンセプト自体はPythonやPerlでも実現できて、そちらの方が一般的な印象を持ったのは事実です。

しかしCouchDBをメンテナンスするためのアプリケーション、lscouchdbはRubyで開発しています。今回はこのライブラリとして応用するテストケースとするために、Rubyを選択しました。

メンテナンス・スクリプト

CouchDBに置かれた情報を操作するためのスクリプトは限られた操作しかできませんが、全ての内容を適切に変更する事ができるようになっています。

最終的にはCouchDBの機能でValidationを行なう予定ですが、いまのところは各文書のタイプに応じたRubyクラスを定義し、作成・保存前に必須Key/Valueペアが保存されているか、URLのprefix(scheme部)が適切かどうかといった検証を行なっています。

リソース情報には単語の定義なども含めているので、dfnタグを使った場合に自動的にWikipediaへのリンクを生成するといったことをしています。

いまのところは手作業で情報をメンテナンスしていますが、将来的には登録する単語やURLを決めたら、後は必要な情報を各サービスから取得して労力が削減できるはずです。

Permalink: /design/0.1/cms_policy.html

Created: 2011-02-23T11:57:01+09:00
Last modified: 2011-02-23T15:06:56+09:00

2009-2011 © Yasuhiro ABE <yasu@yasundial.org>

Valid XHTML + RDFa 正当なCSSです!
RDFa it (RDF/XML)!

Creative Commons License www.yasundial.org by Yasuhiro ABE is licensed under a Creative Commons Attribution 2.1 Japan License. Permissions beyond the scope of this license may be available at http://www.yasundial.org/info/license.html.