http://www.linux.or.jp/ では, Linuxにまつわる, いろんな便利な情報を提供したい.
そのための一つの手段として, Linuxのリンク集, それも活きのいいリンク集としての機能も持たせたい.
活きの良いリンク集を運用維持するためには, HTMLを直に編集していくのには限界がある.
できれば, リンク情報をメタに記述し, Yahoo!のツリー構造のようなものを一気に自動生成したい.
(http://www.linux.or.jp/ 本体に納められている情報すらも, そのリンク情報の中のひとつとして記述しておき, make一発で収める.)
そのためのメタ情報記述フォーマットと, 情報のツリー構造を提案する.
「メタ情報記述フォーマット」は電子メール, ニューズのフォーマットに似た感じに, そして, ツリー構造はNetNewsのニューズグループ構造に似せる.
メタ情報記述フォーマット
一からフォーマットを起こすと面倒だし, awk, perl的になるべくパースが簡単なものにしたい. そこで, 電子メールのRFC821風, ネットニューズのRFC (1121でしたっけ)のフォーマットに似た感じの記述とする.
- 記述はヘッダ部とボディ部から成る.
- ヘッダ部とボディ部は,1行の空行で区切られる.
- ヘッダ部のなかには空行があってはならない.
- ヘッダ部に空白文字から始まる行があった場合, 前行からの継続行.
- ボディ部はピリオド(.)1個のみを含む行, またはEOFで終了.
本文はkakasiとかnamazuに引っかけられることを意識して書こう.
記述例
From: 石神井 練男 <nerio@shakujie.nerima.tokyo.jp>Subject: リブレットLinuxインストール記
Group: architecture/x86
Group: software/x
Group: hardware/pcmcia
Date: Thu, 1 Oct 1998 11:22:33 +0900
Author: 理舞 持一 <lib20@foobar.ne.jp>
URL: http://www.foobar.ne.jp/~lib20/
URL: http://www.foobar.ne.jp/~lib20/index-e.html [en]
Keyword: libretto
Keyword: X
Keyword: XF86Config
Keyword: gn
Keyword: gnspool
Keyword: pcmcia
X-Quality: 80
X-Approved: OK
X-Status: 200
リブレット20にLinux 2.0.33をインストールした顛末. X の設定,
PCMCIA の設定, そして gnspool で電車からも fj の読み書きができました.
.
ヘッダの説明
- From:
- メールと同様. これは「リンク情報を提供した人.」必須.
- Subject:
- タイトル. 必須. (Title:) でもいいけど..
- Group:
- ツリー構造のどこに入れるかを指定. 必須. 複数指定可能. つまり, あるリンク情報は複数のツリー構造に顔を出していい.いわばクロスポスト.
- Date:
- リンク情報が提供された日付.
(コンテンツの日付はここに書くよりもHTTP/1.1 HEADで自動取得すべし)
- Author:
- コンテンツの作者
- URL:
- 必須. 複数指定可能.
オプションで, URL の後に [ ] で囲んでコンテンツの言語を指定.
英字2文字. ja, enなど(どの規格をつかうといいかな..)
言語指定ない場合は日本語とする
- Keyword:
- キーワードを記述. オプショナル. 複数指定可能.
(いや, キーワード指定は結局面倒で不毛な気がするから無いほうがいいかもしれない. Namazuまかせ!)
で, X-で始まるヘッダは拡張用予約ってやつで, たとえば..
- X-Quality:
- 百点満点でネタの価値. うーん, 誰が判定すんの..?
- X-Approved:
- 「掲載していいか問い合わせ中」とかのフラグ..
- X-Status:
- 定期的にコンテンツあるかチェックして, 「X-Status: 404」なら消えた, とか
ツリー構造
NetNewsの構造同様でいけば考えやすいし, みんな戦いを傍観したり, 苦い経験もある(!?)
たとえば「package/redhat/rpm」というのは「fj.linux.package.redhat.rpm」みたいな感じです.
これをwww.yahoo.com的にhttp://www.linux.or.jp/以下に見せます.
で, グループ新設とか廃止はwebmasters 内部? でCFDの類みたいなのをやればいい.
「ここまでグループ分けなくてもいいだろ」なものも, とりあえず分けてあります.
で, どう分けたらいいんでしょうね.. まだまだ足りないし.
概念の厳密な定義よりも, 使い勝手も重視して階層分けしたい.
package (各種パッケージ)package/redhat
package/redhat/pje
package/redhat/jrpm
package/redhat/turbolinux
package/redhat/mld2
package/debian
package/debian/debianjp
package/slackware
package/slackware/je
package/slackware/pje
package/caldera
package/sls
package/suse
architecture
architecture/x86
architecture/x86/towns
architecture/x86/pc98
architecture/alpha
architecture/mips
architecture/sparc
architecture/ppc
具体的な機種についての話 (ex. Libretto, 富士通グランパワーとか) はどこに収容しよう..
architecture/pnp CPU アーキテクチャとかとはarchitecture/mca レイヤが違う気もするが..
architecture/isa
architecture/eisa
architecture/pci
architecture/vlbus
hardware
hardware/pcmcia
hardware/motherboard
hardware/scsi
hardware/keyboard
hardware/nic
hardware/memory
hardware/storage
hardware/storage/harddisk
hardware/storage/mo
hardware/storage/zip
hardware/storage/pd
hardware/storage/cd
hardware/storage/cdr
hardware/storage/dvd
hardware/storage/tape
hardware/storage/floppy
hardware/sound
hardware/video
hardware/video/display
hardware/video/card 名前しっくりこない
hardware/video/camera
hardware/game
hardware/mouse
hardware/modem
hardware/printer
hardware/isdn
hardware/serial
hardware/parallel
hardware/障害者補助 点字端末とか. 英語でなんていうのかな
network
network/tcpip プロトコルもアプリケーションも
network/appletalk ごっちゃになってるが..
network/netware
network/security
network/mail
network/news
network/www
network/www/server
network/www/client
network/ftp
network/ipmasq
network/dhcp
network/ppp
network/slip
network/plip
network/ipv6
service
service/mailinglist
service/search
service/archive sunsite や linuxmama みたいな
service/vendor T-ZONE や Cobalt Qube など..?
service/support
service/support/lbi
service/shop
service/shop/hardware
service/shop/software
service/convention
software/kernel ソフトウェアの分類に関してはまったく不完全
software/libs また, ソフトとハードを分離すべきなのかも
software/x 疑問はある
software/x/im
software/development/gcc
software/development/lisp
software/development/perl
software/development/ruby
software/development/tcltk
software/development/python...
software/scientific
software/graphics
software/graphics/ghostscript
software/shell
software/compatibility
software/administration
software/office
software/office/dpnote
software/office/tex TeX もワープロも一緒かよ..
software/office/nroff
software/rpm
software/jrpm
software/documents
software/documents/jf
software/documents/jm
software/games
software/games/jg
software/documents/ldp
software/documents/review
software/editors/vi
software/editors/emacs
software/i18n
software/l10n
community
community/jlug
community/lilo
1st-readme タコってなあに? www.linux.or.jp の見かた..
general Linux とはヘルシンキ大学の Linus Torvalds 氏が..
news 「IntelがRedHatに出資しました」「サイベースが..」
future Linux の未来とか, 電波系(?)とか..
こんなのもいるかなあ
incoming まだ未整理の新着リンクここは誰でも突っ込めると面白いかも.
でもエロページとか突っ込む奴がいるだろうな..
以下は半分冗談だが
usage Linux の使い方について.転じて収拾つかなくなった Linux vs NT 論争とか収容
policy
jokes
test
junk
# biginnar.. じゃなくて beginner をつくりましょう!(笑)
運用
新しいネタは,
- 特定のメールアドレスに投げる. いったん帰ってきたのをリプライしないと登録されない.
- 認証付きCGI Scriptから入力.
で, 自動または手動でmakeかけると, リンク情報ファイルを全部ナメてwww.yahoo.com的 HTMLハイアラキーを生成.
(無茶な思い付きかもしれないが, netnewsとマップすると面白いかも?)
また, リンク情報ファイルを書くEmacsのモードとかあると便利. Group: をコンプリージョンとかしてくれて.