Index: websites/scheme-users.jp/index.scm
===================================================================
--- websites/scheme-users.jp/index.scm (revision 56)
+++ websites/scheme-users.jp/index.scm (revision 64)
@@ -1,3 +1,23 @@
+(use srfi-1) ;; take
+(use srfi-19) ;; make-date date->string
 (use sxml.serializer)
+
+(define lambda-news (lambda ()
+	(call-with-input-file "news.dat"
+		(lambda (in)
+			(let ((news (read in)))
+				(map (lambda (ns)
+					(let ((y (list-ref (car ns) 0))
+							(m (list-ref (car ns) 1))
+							(d (list-ref (car ns) 2))
+							(h (list-ref (car ns) 3))
+							(i (list-ref (car ns) 4))
+							(s 1))
+						(let ((dt (make-date 0 s i h d m y 0)))
+							`(li (@ (id ,(string-append "news" (date->string dt "~Y~m~d~H~M~S"))))
+								(span (@ (class "date")) ,(date->string dt "~Y/~m/~d(~a)"))
+								" : " ,@(cdr ns)))))
+					(take news 20)))))))
+
 (define main (lambda (args)
 	(call-with-output-file "index.html"
@@ -14,7 +34,11 @@
 						(meta (@ (http-equiv "Content-Type") (content "text/html; charset=UTF-8")))
 						(meta (@ (http-equiv "Content-Language") (content "ja")))
+						(meta (@ (name "keywords") (content "Scheme")))
+						(meta (@ (name "description") (content "日本の Scheme ユーザのためのハブサイト。日々 Scheme 情報を発信しています。")))
 						(link (@ (rel "shortcut icon") (href "favicon.ico") (type "image/x-icon")))
 						(link (@ (rel "stylesheet") (type "text/css") (href "index.css")))
-						(title "Scheme-users.jp - 日本の Scheme ユーザのためのハブサイト"))
+						(link (@ (rel "alternate") (type "application/atom+xml") (title "Scheme-users.jp Atom Feed") (href "http://scheme-users.jp/atom.xml")))
+						(title "Scheme-users.jp - 日本の Scheme ユーザのためのハブサイト")
+						(script (@ (type "text/javascript") (src "comment.js")) "/* comment.js */"))
 					(body
 						(p (@ (style "margin-left:0;"))
@@ -46,50 +70,30 @@
 								"レイヤーが違います。"))
 
-						(h2 "Scheme NEWS")
-						(ul
-							(li (span (@ (class "date")) "2008/07/18(FRI)") " : " (a (@ (href "http://code.google.com/p/mosh-scheme/")) "Mosh") " Version 0.0.5 が " (a (@ (href "http://d.hatena.ne.jp/higepon/20080718/1216365536")) "リリース") " されました。R6RS ライブラリの仕組みや syntax-case, syntax-rules などが利用できるようになりました。")
-							(li (span (@ (class "date")) "2008/07/17(THU)") " : " (a (@ (href "http://wassr.jp/")) "Wassr") " に " (a (@ (href "http://wassr.jp/channel/gauche")) "Gauche チャンネル") " ができていました。")
-							(li (span (@ (class "date")) "2008/07/17(THU)") " : " (a (@ (href "http://wassr.jp/")) "Wassr") " に " (a (@ (href "http://wassr.jp/channel/lisp")) "Lisp チャンネル") " ができていました。")
-							(li (span (@ (class "date")) "2008/07/17(THU)") " : " (a (@ (href "http://www.hatena.ne.jp/")) "はてな") " に " (a (@ (href "http://scheme.g.hatena.ne.jp/")) "Scheme グループ") " ができていました。")
-							(li (span (@ (class "date")) "2008/07/15(TUE)") " : " (a (@ (href "http://groups.google.co.jp/group/comp.lang.scheme/browse_thread/thread/10aa800ae5d98d19")) "Final SRFI 96: SLIB Prerequisites"))
-							(li (span (@ (class "date")) "2008/07/12(SAT)") " : " (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche") " の拡張ライブラリ " (a (@ (href "http://homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html")) "dyncomp") " Version 0.1.2 がリリースされました。 MinGW でも動作するようになったようです。")
-							(li (span (@ (class "date")) "2008/07/07(MON)") " : " (a (@ (href "http://code.google.com/p/ypsilon/")) "Ypsilon") " Version 0.9.5-update1 が " (a (@ (href "http://lwpinball.wordpress.com/2008/07/07/%e3%81%84%e3%82%84%e3%80%9c%e3%82%aa%e3%83%bc%e3%83%97%e3%83%b3%e3%82%bd%e3%83%bc%e3%82%b9%e3%81%a3%e3%81%a6%e3%81%84%e3%81%84%e3%82%82%e3%81%ae%e3%81%a7%e3%81%99%e3%81%ad%e3%80%9c/")) "リリース") " されました。")
-							(li (span (@ (class "date")) "2008/07/07(MON)") " : " (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " Version 4.0.2 がリリースされています。")
-							(li (span (@ (class "date")) "2008/07/06(SUN)") " : " (a (@ (href "http://ll.jus.or.jp/2008/")) "LL Future") " の " (a (@ (href "http://ll.jus.or.jp/2008/blog/archives/20")) "Tシャツデザイン") " が公開されました。うしろにあの魚が！")
-							(li (span (@ (class "date")) "2008/07/06(SUN)") " : " (a (@ (href "http://d.hatena.ne.jp/higepon/")) "higepon") " さんにより " (a (@ (href "http://srfi.schemers.org/")) "SRFI") " に提案された getenv の仕様が " (a (@ (href "http://srfi.schemers.org/srfi-98/srfi-98.html")) "ドラフト(SRFI-98)") " になりました。")
-							(li (span (@ (class "date")) "2008/07/06(SUN)") " : " (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche") " の拡張ライブラリ " (a (@ (href "http://homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html")) "dyncomp") " Version 0.1.1 がリリースされました。")
-							(li (span (@ (class "date")) "2008/07/04(FRI)") " : CL勉強会の告知を↓のバナー欄に移します。")
-							(li (span (@ (class "date")) "2008/06/29(SUN)") " : " (a (@ (href "http://ll.jus.or.jp/2008/")) "LL Future") " にて " (a (@ (href "http://ll.jus.or.jp/2008/lightningtalk")) "Lightning Talk") " の発表者を募集しています。")
-							(li (span (@ (class "date")) "2008/06/24(TUE)") " : 6月28日(土) 午後8時より " (a (@ (href "http://www.lingr.com/room/gKpArxPn9wi")) "Lingr: COMMON LISP 部屋") " にて " (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/20080624/1214295121")) "第5回 慢性的CL勉強会@Lingr 8時だョ!全員集合") " が開催されます。")
-							(li (span (@ (class "date")) "2008/06/23(MON)") " : " (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " Version 4.0.1 が " (a (@ (href "http://blog.plt-scheme.org/2008/06/plt-scheme-v401.html")) "リリース") " されました。")
-							(li (span (@ (class "date")) "2008/06/18(WED)") " : 6月21日(土) 午後8時より " (a (@ (href "http://www.lingr.com/room/gKpArxPn9wi")) "Lingr: COMMON LISP 部屋") " にて " (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/20080618/1213721991")) "第4回 慢性的CL勉強会@Lingr 8時だョ!全員集合") " が開催されます。")
-							(li (span (@ (class "date")) "2008/06/16(MON)") " : Gauchebox-0.8.13-box2.exe がリリースされました。 Windows 環境向けに Meadow(Emacs) や OpenGL などをパッケージングしたもののようです。 (詳細はこちら → " (a (@ (href "http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aGauchebox")) "WiLiKi") " / " (a (@ (href "http://sourceforge.net/project/showfiles.php?group_id=25227")) "ダウンロード") ")")
-							(li (span (@ (class "date")) "2008/06/16(MON)") " : Ypsilon Version 0.9.5 がリリースされました。 (詳細はこちら → " (a (@ (href "http://www.littlewingpinball.com/contents/ja/ypsilon.html")) "プロジェクトホームページ") " / " (a (@ (href "http://code.google.com/p/ypsilon/")) "ダウンロード") " / " (a (@ (href "http://lwpinball.wordpress.com/2008/06/16/%e3%82%8f%e3%81%9f%e3%81%97%e3%81%af%e3%82%b9%e3%83%88%e3%83%a9%e3%83%88%e3%82%b9%e4%b8%96%e4%bb%a3%e3%81%a7%e3%82%82%e3%81%82%e3%82%8b%e3%82%93%e3%81%a0%e3%81%91%e3%81%a9%e3%83%bb%e3%83%bb%e3%83%bb/")) "ブログ記事") " / " (a (@ (href "http://groups.google.com/group/comp.lang.scheme/browse_thread/thread/929af95f9d27ef2c")) "ニュースグループ記事") ")")
-							(li (span (@ (class "date")) "2008/06/16(MON)") " : 6月21日(土) 午前9時30分より タイムインターメディア にて Gauche Hacks が開催されます。いよいよ Gauche 本第二弾 の執筆開始です。詳細は Gauche メーリングリストアーカイブを参照してください。")
-							(li (span (@ (class "date")) "2008/06/14(SAT)") " : 6月14日(土) 午後8時より " (a (@ (href "http://www.lingr.com/room/gKpArxPn9wi")) "Lingr: COMMON LISP 部屋") " にて " (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/20080611/1213134259")) "第3回 慢性的CL勉強会@Lingr 8時だョ!全員集合") " が開催されます。")
-							(li (span (@ (class "date")) "2008/06/12(THU)") " : " (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " Version 4.0 が " (a (@ (href "http://blog.plt-scheme.org/2008/06/plt-scheme-version-4.html")) "リリース") " されました。")
-							(li (span (@ (class "date")) "2008/06/12(THU)") " : " (a (@ (href "http://code.google.com/p/mosh-scheme/")) "Mosh") " Version 0.0.4 が " (a (@ (href "http://d.hatena.ne.jp/higepon/20080612/1213241790")) "リリース") " されました。サンプルアプリケーションとして " (a (@ (href "http://www.blue.sky.or.jp/grass/doc_ja.html")) "Grass") " 言語のインタプリタが付属しているそうです。")
-							(li (span (@ (class "date")) "2008/06/08(SUN)") " : このサイトのリポジトリを " (a (@ (href "http://lambdarepos.org/")) "LambdaRepos") " に設置しました。")
-							(li (span (@ (class "date")) "2008/06/07(SAT)") " : 6月7日(土) 午後8時より " (a (@ (href "http://www.lingr.com/room/gKpArxPn9wi")) "Lingr: COMMON LISP 部屋") " にて " (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/20080531/1212235511")) "第2回 突発性CL勉強会@Lingr 8時だョ!全員集合") " が開催されます。")
-							(li (span (@ (class "date")) "2008/06/04(WED)") " : " (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " の新バージョン 4.0 が " (a (@ (href "http://blog.plt-scheme.org/2008/06/plt-scheme-version-40-is-coming-soon.html")) "まもなくリリース") " されるようです。")
-							(li (span (@ (class "date")) "2008/06/03(TUE)") " : Scheme コミュニティのブログ集 " (a (@ (href "http://scheme-users.jp/planet/")) "Planet Scheme Japan") " を開始しました。" (span (@ (style "color:red;")) "(参加者募集中！)"))
-							(li (span (@ (class "date")) "2008/05/30(THU)") " : " "軽量プログラミング言語のイベント " (a (@ (href "http://ll.jus.or.jp/2008/")) "LL Future") " のチケットがローソンチケットにて発売開始しました。")
-							(li (span (@ (class "date")) "2008/05/28(WED)") " : " (a (@ (href "http://jp.youtube.com/")) "YouTube") " に " (a (@ (href "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro")) "Shiro") " さんが " (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche") " について話す " (a (@ (href "http://www.youtube.com/watch?v=WEBOdWyGE3E")) "動画") " が公開されています。")
-							(li (span (@ (class "date")) "2008/05/27(TUE)") " : " "Open Tech Press に Scheme 関連記事「" (a (@ (href "http://opentechpress.jp/developer/08/05/27/024252.shtml")) "SCSH (Scheme Shell) スクリプト入門") "」が掲載されています。")
-							(li (span (@ (class "date")) "2008/05/25(SUN)") " : " "scheme-users.jp 開設しました。"))
+						(h2 (a (@ (href "news.html")) "LAMBDA NEWS") " "
+							(span (@ (style "font-size:10pt; font-weight:normal; color:red;"))
+								"(" (a (@ (style "color:#FF8888;") (onclick "comment()")) "情報募集中！") ")"))
+						(ul ,@(lambda-news))
 
-						(table
+						(table (@ (style "margin:10px auto;"))
 							(tr
-								(td (a (@ (href "http://ll.jus.or.jp/2008/"))
-									(img (@ (src "./images/ll2008.jpg") (alt "LL Future : 2008/08/30") (style "border:none;")))))
-								(td (a (@ (href "http://www.lingr.com/room/gKpArxPn9wi"))
+								(td (a (@ (href "http://shibuya.lisp-users.org/"))
+									(img (@ (src "./images/shibuya-lisp.png") (alt "Shibuya.lisp") (style "border:none;")))))
+								(td (a (@ (href "http://www.lingr.com/room/common-lisp-jp"))
 									(img (@ (src "./images/clpm8.png") (alt "慢性的CL勉強会@Lingr８時だョ！全員集合") (style "border:none;"))))))
 							(tr
-								(td (@ (style "text-align:center;")) "LL Future : 2008/08/30")
-								(td (@ (style "text-align:center;")) "CL勉強会@Lingr : 次回 7/26 (土) PM8" (br) "Common Lisp Cookbook")))
+								(td (@ (style "text-align:center;")) (a (@ (href "http://tips.lisp-users.org/scheme/")) "逆引きScheme") " 作成中！")
+								(td (@ (style "text-align:center;")) "CL勉強会@Lingr 次回 : 11月22日(土) 午後８時" (br) "お題 : 『" (a (@ (href "http://common-lisp.net/project/metatilities/")) "Metatilities") " を読む』")))
 
-						(h2 "Lisp/Scheme チャット")
+						(h2 "Scheme チャット")
 						(ul
-							(li (a (@ (href "irc://irc.freenode.net/Lisp_Scheme")) "irc.freenode.net#Lisp_Scheme") " (UTF-8) : Common Lisp や Arc など他の Lisp の話題もあります。"))
+							(li (a (@ (href "irc://irc.freenode.net/Lisp_Scheme")) "irc.freenode.net#Lisp_Scheme") " (UTF-8) : Common Lisp や Arc など他の Lisp の話題もあります。[" (a (@ (href "http://lambdarepos.org/kaela/")) "過去ログ") "]")
+							(li (a (@ (href "http://www.lingr.com/room/gauche")) "Gauche (at Lingr)") " : [" (a (@ (href "http://www.lingr.com/room/gauche/archives")) "過去ログ") "]")
+							(li (a (@ (href "http://wassr.jp/channel/lisp")) "Wassr LISP チャンネル") " : ")
+							(li (a (@ (href "http://wassr.jp/channel/gauche")) "Wassr Gauche チャンネル") " : みんな大好き Gauche"))
+
+						(h2 "Scheme コミュニティ")
+						(ul
+							(li (a (@ (href "http://shibuya.lisp-users.org/")) "Shibuya.lisp"))
+							(li (a (@ (href "http://www.kahua.org/")) "Kahua Project")))
 
 						(h2 (a (@ (href "http://scheme-users.jp/planet/")) "Planet Scheme Japan"))
@@ -99,16 +103,19 @@
 							" Scheme について書いたブログならどなたでも参加できます。")
 						(ul
-							(li (a (@ (href "http://d.hatena.ne.jp/higepon/")) "ひげぽん OS とか作っちゃうか Mona-"))
-							(li (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/")) "わだば Lisper になる")))
+							(li (a (@ (href "http://d.hatena.ne.jp/higepon/")) "ひげぽん OS とか作っちゃうか Mona-") " [" (a (@ (href "http://d.hatena.ne.jp/higepon/rss2")) "RSS") "]")
+							(li (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/")) "わだば Lisper になる") " [" (a (@ (href "http://cadr.g.hatena.ne.jp/g000001/rss2")) "RSS") "]")
+							(li (a (@ (href "http://blog.livedoor.jp/naoya_t/")) "柴ログ") " [" (a (@ (href "http://blog.livedoor.jp/naoya_t/index.rdf")) "RSS") "]")
+							(li (a (@ (href "http://d.hatena.ne.jp/fujita-y/")) "Y.FUJITA::NOTEPAD::YPSILON") " [" (a (@ (href "http://d.hatena.ne.jp/fujita-y/rss2")) "RSS") "]"))
 
 						(h2 "日本でよく使われている処理系")
 						(ul
-							(li (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche"))
-							(li (a (@ (href "http://code.google.com/p/sigscheme/")) "SigScheme"))
-							(li (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " / " (a (@ (href "http://www.plt-scheme.org/software/drscheme/")) "DrScheme") " / " (a (@ (href "http://www.plt-scheme.org/software/mzscheme/")) "MzScheme"))
-							(li (a (@ (href "http://www.gnu.org/software/guile/")) "GNU Guile"))
-							(li (a (@ (href "http://www.gnu.org/software/mit-scheme/")) "MIT/GNU Scheme"))
-							(li (a (@ (href "http://code.google.com/p/mosh-scheme/")) "Mosh") " : " (a (@ (href "http://d.hatena.ne.jp/higepon/")) "higepon") " 氏が新しく作りはじめた処理系。期待しましょう :-)")
-							(li (a (@ (href "http://code.google.com/p/ypsilon/")) "Ypsilon") " : !!!?"))
+							(li (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche") " : " (a (@ (href "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro")) "Shiro") " さんが開発している処理系。ライブラリとドキュメントが充実。はじめての方はまずは " (a (@ (href "http://practical-scheme.net/gauche/index-j.html")) "Gauche") " を使いましょう。")
+							(li (a (@ (href "http://code.google.com/p/ypsilon/")) "Ypsilon") " : ピンボールゲームで有名な " (a (@ (href "http://www.littlewingpinball.com/")) "LittleWing") " で開発されている高性能な R6RS 処理系。")
+							(li (a (@ (href "http://code.google.com/p/mosh-scheme/")) "Mosh") " : " (a (@ (href "http://www.monaos.org/")) "MonaOS") " の開発者の " (a (@ (href "http://d.hatena.ne.jp/higepon/")) "Higepon") " さんが新しく作りはじめた処理系。期待しましょう :-)")
+							(li (a (@ (href "http://code.google.com/p/sigscheme/")) "SigScheme") " : " (a (@ (href "http://code.google.com/p/uim/")) "uim") " のために作られた R5RS 処理系。")
+							;;(li (a (@ (href "http://mono.kmc.gr.jp/~yhara/w/?BiwaScheme")) "BiwaScheme") " : JavaScript で作られた処理系。")
+							(li (a (@ (href "http://www.plt-scheme.org/")) "Plt Scheme") " : 世界的に利用されている高性能な Scheme インタプリタ。グラフィカルな開発環境が付属している。")
+							(li (a (@ (href "http://www.gnu.org/software/guile/")) "GNU Guile") " : " (a (@ (href "http://www.gnu.org/")) "GNU Project") " で開発されている処理系。")
+							(li (a (@ (href "http://www.gnu.org/software/mit-scheme/")) "MIT/GNU Scheme") " : Scheme の故郷 MIT で開発されている処理系。"))
 
 						(h2 "初心者向け学習サイト")
@@ -132,8 +139,8 @@
 						(h2 "定番サイト")
 						(ul
-							(li (a (@ (href "http://practical-scheme.net/")) "Practical Scheme"))
-							(li (a (@ (href "http://www.kahua.org/")) "Kahua Project"))
+							(li (a (@ (href "http://practical-scheme.net/")) "Practical Scheme") " | " (a (@ (href "http://practical-scheme.net/wiliki/wiliki.cgi")) "WiLiKi"))
 							(li (a (@ (href "http://schemers.org/")) "schemers.org"))
 							(li (a (@ (href "http://srfi.schemers.org/")) "SRFI - Scheme Requests for Implementation"))
+							(li (a (@ (href "http://www.schemers.org/Documents/Standards/R5RS/")) "R5RS - Revised 5 Report on the Algorithmic Language Scheme"))
 							(li (a (@ (href "http://www.r6rs.org/")) "R6RS - Revised 6 Report on the Algorithmic Language Scheme"))
 							(li (a (@ (href "http://swiss.csail.mit.edu/projects/scheme/")) "The Scheme Programming Language"))
@@ -144,5 +151,7 @@
 							(li (a (@ (href "http://lambda.bugyo.tk/hatena/r5rs.html")) "はてなようせいとまなぶ R5RS の表示的意味論"))
 							(li (a (@ (href "http://ja.doukaku.org/lang/scheme/")) "どう書く？org Scheme部"))
-							(li (a (@ (href "http://www.math.u-toyama.ac.jp/~iwao/Scheme/scheme.html")) "Algorithmic Language Scheme")))
+							(li (a (@ (href "http://www.math.u-toyama.ac.jp/~iwao/Scheme/scheme.html")) "Algorithmic Language Scheme"))
+							(li (a (@ (href "http://groups.google.co.jp/group/comp.lang.scheme")) "comp.lang.scheme"))
+							(li (a (@ (href "https://www.google.com/calendar/embed?src=fvijvohm91uifvd9hratehf65k%40group.calendar.google.com")) "IT勉強会カレンダー")))
 							;;(li (a (@ (href "http://t-code.org/scheme-aa.html")) "ポルナレフ"))
 
@@ -168,4 +177,5 @@
 							(li (a (@ (href "http://python-users.jp/")) "python-users.jp") " : 日本の Python ユーザのためのハブサイト")
 							(li (a (@ (href "http://rails-users.jp/")) "rails-users.jp") " : 日本の Rails ユーザのためのハブサイト")
+							(li (a (@ (href "http://smalltalk-users.jp/")) "smalltalk-users.jp") " : 日本の Smalltalk ユーザのためのハブサイト")
 							(li (a (@ (href "http://vim-users.jp/")) "vim-users.jp") " : 日本の Vim ユーザのためのハブサイト"))
 
@@ -182,4 +192,6 @@
 						(p "文章のライセンスは、特に明記が無い限り全て "
 							(abbr (@ (title "Creative Commons Attribution license")) "CC-by")
-							" でお願いします。"))) out)
-			(newline out)))))
+							" でお願いします。")))
+				out)
+			(newline out)))
+	0))
