パスワードを忘れた? アカウント作成
155671 journal

Kandoの日記: 「軽量CMS 紀永 (kinaga)」を見て 6

日記 by Kando

「軽量CMS 紀永 (kinaga)」
[http://slashdot.jp/developers/article.pl?sid=09/10/20/1052218]
のストーリーを見て自分を省みてみた。

管理画面なしでFTPで管理?それなんてWebサーバ?というコメントが上がっていたが、それは私も最初にそう思った。

…しかしよく考えたら似たようなものを私もPHP学習方々仕事の片隅で作って、そのうえあろうことか
カーエレクトロニクス研究会」[http://car-electronics.jp/]のサイトとして実際に使っているのであった…。
HTML直打ちでWebサイトを作ってた延長で書き、
特に公開は考えて書いてなかったので現在までソースは公開してない。
そしてCSSを書いている途中で力尽きて手抜きなので見た目が明らかに紀永[http://kinaga.my-sv.net/]のサイトよりダサいw

どうしてこのようなものを作るに至ったかというと、
ボスから「研究会のページを作って。」と軽く頼まれたのでHTML手打ちでサイトを作った。
すると「今時、フレームはないwww」と同僚の笑い上戸な仏人の若者にハゲしくプゲられた上、
フレームだとGoogleがまともにクロールできてないのか、タイトルページだけ拾って行ったりしたので
SEO的にマズすぎるらしいという話になり、PHPの勉強がてら作った。

サイトの性質上、会合の案内がメインになり、プログラムの表構造と案内項目の箇条書きが中心であり、
プログラムや協賛者リストなど部分的にちょこちょこ修正する運用になると思われたので
基本構造をタブ区切りの表構造の1個のファイル(拡張子".tab")として、
それにリンクの構文を追加し、複数の表を結合してページを合成する方式になっている。
(各ページのコンテンツは原則1個のディレクトリにまとめる。)

表構造は:

  • 表構造の各行は改行文字で区切る、行内の各カラムはタブ文字で区切る
  • 表構造の先頭に#があったらその行はコメント。
  • 表構造の先頭に*があったら要約に含めるべき重要項目の印(要約を作る時にだけ関連)。
  • "-"記号1個からなる項目は空白の項目で表として表示する際は左に連結。

ページ合成のためのリンクの構文は表の項目の先頭で"{}"内に相対URLを書き、"{}"の後ろに表示タイプを指定する。
タイプは表(Table)、箇条書き(番号なし(UList)、あり(OList)、用語説明(DList))、表示タイプを省略するとプレーンテキスト。
外部リンクを除き、URLで参照される内容が指定された形式でその場所へ埋め込まれる。

各タイプのリンクは:

  • 表構造の1カラムに埋め込み/外部リンクは1個。
  • Tableは表構造がそのまま<table>として埋め込んで表示する。
  • UListとOlistはそれぞれ<ul>型と<ol>型の箇条書きとして表の各行を1項目に連結して埋め込んで表示する。
  • DListは<dl>型の箇条書きとして、表の各行が1項目となり、1カラム目が用語(<dt>)、以降のカラムは1つの説明文(<dd>)に結合して埋め込んで表示する。
  • プレーンテキストは表構造の1行を1行としてプレーンテキストとして埋め込んで表示する。
  • {}内の先頭がhttp:で始まってる時は埋め込みではなく外部リンクであり、"{}"直後の文字列を表示してその文字列からリンクを張る。
  • 外部リンクでなく"{}"内の末尾が".jpg"".gif"".png"等で終わってる時はその画像を埋め込んで表示する。

カテゴリはトップレベルにくる設定ファイルで設定。
(設定ファイルの内容はそろそろ今日の日記が長くなって面倒になってきたので省略。)

ホームになるページは自動的に要約を作成して更新日が新しい順に要約を表示する。

…ってなような仕様になっている。

私が更新し続けるのもナニなので事務局をやってる事務の人に管理を引き継ぎたいが、
そうしたいならドキュメント書かないといけないんだけどね…。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2009年10月22日 9時15分 (#1658314)

    「今時、フレームはないwww」とハゲしくプゲられて、SEO的にもフレームがまずいって
    言うのは確かだと思うんですが、その解決策として一気にPHPに飛んじゃうのが不思議なんですが。

    静的なHTMLでも、今風にCSS+スタイルコンテナでレイアウトしたらいーじゃんとか思いますけど。

  • by Anonymous Coward on 2009年10月22日 12時01分 (#1658429)
    自分自身、学生時代の自作CMSで十年来サイト運用してるからアレだけど、
    今はもう世の中にはありとあらゆる用途のためのCMSがあるので、
    他人に引き継がせる可能性があるのなら、下手に自作せず、
    そこらのありもののCMS拾ってくるのがいいんじゃないかと思いまする。
    特に、独自の記述ルールとかネックになりがちなので。

    XOOPS Cubeとか、Wordpressとか、PukiWikiとか、
    • XOOPS CubeとWordpressは存知ませんでしたが、プロジェクトのサイトとか他の用事には以前からPukiwiki使ってます:

      NGArch ホーム
      [http://ngarch.isit.or.jp/index.php?NGArch%20%A5%DB%A1%BC%A5%E0 [isit.or.jp]]

      ただそれだと研究会サイトのように殆どは定型な案内文には大掛りすぎるような気がして:

      HTML直打ち→リンクのメンテナンスをPHPで→更新情報もPHPで

      となって今に至るという。

      • by Anonymous Coward

        Wordpress,Pukiwikiは野暮だし、Mambo系,XOOPSなんぞも大掛かりすぎます。Drupal,MODxでさえ重い。
        軽量シンプルCMSって開発者層も薄いし意外と未発展分野の上ですよ。

        • by Anonymous Coward
          野暮と来たかww
          自作の軽量シンプルCMSだって、
          必要に応じて機能追加していけば、だんだんあんな感じになるんだぜ?

          まぁ、自分しか使わないならどれだけ粋を追求するのも自由だけど、
          広く大勢に使わせる設計ではない粋な道具ってのは、
          他者にしてみれば迷惑極まりない。
          自分が更新しなくなった時に潔く全削除するなら兎も角、
          データを誰かに引き継いでもらいたいと思うなら、
          ほどほどにしておいておくれ。

          HTMLを直接書かせるなんて、自分で使う分には大賛成だけど、
          他人に使わせるなら「勘弁してくれ!」と泣いて頼むね。
typodupeerror

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

読み込み中...