1 chalow - CHAngeLog On the Web - convert ChangeLog to HTML files
3 ChangeLog
\e$B$r
\e(B HTML
\e$B$KJQ49$9$k%D!<%k
\e(B
7 $Id: README,v 1.1 2007-10-19 22:07:48+09 tatsuoyamashita Exp tatsuoyamashita $
9 ----------------------------------------------------------------------
11 ----------------------------------------------------------------------
13 chalow
\e$B<+BN$N%$%s%9%H!<%k$OITMW$G$9$,!"0J2<$N
\e(BPerl
\e$B%b%8%e!<%k$,I,MW$G$9!#
\e(B
14 CPAN
\e$B$+$iF~<j$7$F%$%s%9%H!<%k$7$F$*$$$F$/$@$5$$!#
\e(B
19 ----------------------------------------------------------------------
20 \e$B$^$:$O!"$d$C$F$_$h$&
\e(B!
21 ----------------------------------------------------------------------
23 \e$B$3$N%U%!%$%k$N$"$k%G%#%l%/%H%j$G!"0J2<$N%3%^%s%I$r<B9T$7$F$_$F2<$5$$!#
\e(B
25 | % ./chalow -o sample ChangeLog
27 \e$B$3$l$K$h$j!"
\e(B./ChangeLog
\e$B$H$$$&
\e(B ChangeLog
\e$B7A<0$NF|5-%U%!%$%k$,!"
\e(B
28 sample
\e$B%G%#%l%/%H%j0J2<$NJ#?t$N
\e(B HTML
\e$B%U%!%$%k$KJQ49$5$l$^$7$?!#
\e(B
31 | sample/2001-12.html ... sample/index.html
33 sample/index.html
\e$B$r
\e(B Web
\e$B%V%i%&%6$G8+$F$_$^$7$g$&!#
\e(B
35 \e$B$^$?!"0J2<$N%3%^%s%I$r<B9T$9$k$H!"
\e(BCSS
\e$B$r;H$C$?
\e(B Web
\e$BF|5-$K$J$j$^$9!#
\e(B
37 | ./chalow -o sample -c cl.conf ChangeLog
40 ----------------------------------------------------------------------
42 ----------------------------------------------------------------------
44 ChangeLog
\e$B$N5-=RFbMF$+$i!"!V%$%s%G%C%/%9%Z!<%8!W!V7n%Z!<%8!W
\e(B
45 \e$B!VF|%Z!<%8!W$r:n@.$7!"!V=PNO@h%G%#%l%/%H%j!W$K=PNO$9$k!#
\e(B
47 \e$B%$%s%G%C%/%9%Z!<%8
\e(B (index.html)
\e$B$H$O!"F|5-%?%$%H%k!"3F7n%Z!<%8$X$N%j%s
\e(B
48 \e$B%/!":G6a?tF|J,$N5-=R$,4^$^$l$k%Z!<%8!#
\e(B
50 \e$B7n%Z!<%8
\e(B (
\e$BNc
\e(B: 2001-11.html)
\e$B$H$O!"%U%!%$%kL>$O!"
\e(B"
\e$BG/
\e(B-
\e$B7n
\e(B.html"
\e$B$H$$$&%U%)!<
\e(B
51 \e$B%^%C%H!#$=$N7n$NA45-=R$,4^$^$l$k$Z!<%8!#
\e(B
53 \e$BF|%Z!<%8$H$O!"
\e(B"
\e$BG/
\e(B-
\e$B7n
\e(B-
\e$BF|
\e(B.html"
\e$B$H$$$&%U%!%$%kL>$G=PNO$5$l$k!"0lF|$4$H$N
\e(B
54 \e$BFbMF$N%Z!<%8!#%*%W%7%g%s$GF|%Z!<%8$r=PNO$9$k$h$&$KA*Br$G$-$k!#
\e(B
56 \e$B=PNO@h%G%#%l%/%H%j$H$O!"
\e(BChangeLog
\e$B$+$iJQ49$5$l$?
\e(B HTML
\e$B%U%!%$%k$,=PNO$5
\e(B
57 \e$B$l$k@h!#%G%U%)%k%H$G$O8=:_$N%G%#%l%/%H%j!#
\e(B
60 ----------------------------------------------------------------------
62 ----------------------------------------------------------------------
64 usage: chalow [options] <file> [file]...
65 -n, --top-n=NUM write NUM days to "index.html"
66 -o, --output-dir=DIR directory to output
67 -c, --configure-file=FILE configure file (default "cl.conf")
68 -s, --stop-date date to stop processing
69 -u, --update-by-size overwrite only if sizes are different
70 -C, --css=FILE css file
72 -q, --quiet quiet mode
74 -n
\e$B$G!"!V%$%s%G%C%/%9%Z!<%8!W$K:G6a$N2?F|J,$r:\$;$k$+;XDj$G$-$k!#
\e(B
75 -o
\e$B$G!"!V=PNO@h%G%#%l%/%H%j!W$r;XDj$9$k!#B8:_$7$J$$%G%#%l%/%H%j$r;XDj
\e(B
76 \e$B$7$F$O$$$1$J$$!#
\e(B
77 -c
\e$B$G!"!V%f!<%6@_Dj%U%!%$%k!W$r;XDj$9$k!#;XDj$7$J$$$H%G%U%)%k%H$N@_Dj!#
\e(B
78 -s
\e$B$G!"=hM}Dd;_F|IU
\e(B ($stop_date)
\e$B$r;XDj$9$k!#$3$NF|IU$^$G=hM}$9$k!#
\e(B
79 \e$BL$;XDj$J$i:G8e$^$G=hM}$9$k!#
\e(B (
\e$BNc
\e(B: --stop-date "2002-01-01")
80 -C
\e$B$G!"
\e(Bchalow: CSS
\e$B%U%!%$%k$r%3%^%s%I%i%$%s$+$i;XDj$G$-$k!#
\e(B
81 -u
\e$B$r;XDj$9$k$H!"=PNO@h%U%!%$%k$H%5%$%:$,0[$J$k>l9g$N$_>e=q$-=PNO$9$k!#
\e(B
82 -8
\e$B$r;XDj$9$k$H!"
\e(BUTF8
\e$B$G$N=PNO$K$J$k!#
\e(BChangeLog, cl.conf
\e$B$O
\e(BUTF8
\e$B$r2>Dj!#
\e(B
83 -q
\e$B$r;XDj$9$k$H!"JQ49:n6H?JD=>pJs$rI8=`=PNO$K=PNO$7$J$/$J$k!#
\e(B
88 -
\e$B%+%l%s%H%G%#%l%/%H%j$K
\e(B HTML
\e$B%U%!%$%k$r=PNO$9$k
\e(B
91 -
\e$B%$%s%G%C%/%9%Z!<%8$K:G6a
\e(B 2
\e$BF|J,$@$1=PNO$9$k
\e(B
92 % ./chalow -n 2 -o sample sample/ChangeLog
94 -
\e$B%f!<%6@_Dj%U%!%$%k$r;H$&
\e(B
95 % ./chalow -c cl.conf -o ~/www/tools/chalow/cl ChangeLog
98 ----------------------------------------------------------------------
99 \e$B%f!<%6@_Dj%U%!%$%k
\e(B
100 ----------------------------------------------------------------------
102 \e$B%f!<%6@_Dj%U%!%$%k
\e(B ("-c"
\e$B$G;XDj$9$k
\e(B)
\e$B$G$O0J2<$N9`L\$J$I$r;XDj$G$-$k!#
\e(B
103 \e$B>\:Y$O!"E:IU$5$l$F$$$k
\e(B cl.conf (
\e$B%5%s%W%k
\e(B)
\e$B$r;2>H$5$l$?$$!#
\e(B
105 -
\e$BF|5-$NL>A0!"
\e(BURL
106 -
\e$B%$%s%G%C%/%9%Z!<%8
\e(B (index.html)
\e$B$G:G6a2?F|J,$rI=<($9$k$+
\e(B
107 -
\e$B%$%s%G%C%/%9%Z!<%8$N%F%s%W%l!<%H
\e(B (
\e$B"(
\e(B5)
108 -
\e$B7n%Z!<%8$N%F%s%W%l!<%H
\e(B (
\e$B"(
\e(B5)
109 -
\e$B<+F0J8;zNsCV49
\e(B (
\e$B"(
\e(B6)
110 - CSS
\e$B%U%!%$%k
\e(B
111 -
\e$B7n%Z!<%8$KI=<($9$kF|IU$N=gHV
\e(B (
\e$B9_=g
\e(B or
\e$B>:=g
\e(B)
\e$B$ND4@0
\e(B
112 -
\e$B%?%V$K$h$k%$%s%G%s%H$r$J$/$9$+
\e(B
113 -
\e$B%"%$%F%`%X%C%@!<$N%U%)!<%^%C%H$r$I$&$9$k$+
\e(B
114 -
\e$BI=<($9$k$H$-0zMQ5-9f
\e(B ('>' or '|')
\e$B$r>C$9$+
\e(B
115 - item header
\e$B$K
\e(B h3
\e$B%?%0$rB-$9$+
\e(B (
\e$B"(
\e(B7)
116 - item header
\e$B$N@hF,$N
\e(B "*"
\e$B$K%"%s%+!<$r$D$1$k$+
\e(B
117 -
\e$BF|%Z!<%8
\e(B (2003-10-01.html
\e$BEy
\e(B)
\e$B$r=PNO$9$k$+
\e(B
118 - RSS
\e$B%U%!%$%k$r=PNO$9$k$+
\e(B
121 \e$B"(
\e(B5
\e$B%$%s%G%C%/%9%Z!<%8$H7n%Z!<%8$N
\e(B HTML
\e$B%F%s%W%l!<%H$O
\e(B
122 $index_page_template, $month_page_template
123 \e$B$G@_Dj$9$k!#>\$7$/$O
\e(B cl.conf
\e$B$N%3%a%s%H$r;2>H$5$l$?$$!#
\e(B
125 \e$B"(
\e(B6
\e$B!V<+F0J8;zNsCV49!W$O!"
\e(BChangeLog
\e$BCf$NJ8;zNs$rG$0U$NJ8;zNs$KJQ49$7$F
\e(B
126 \e$B$$$H$-$KMQ$$$k!#MW$9$k$K
\e(B perl
\e$B$N%W%m%0%i%`$r=q$$$F$*$/$H
\e(B HTML
\e$B$X$NJQ49
\e(B
127 \e$B$N$H$-$KE,MQ$7$F$/$l$k$H$$$&$o$1!#
\e(B
129 \e$BNc
\e(B: "NAISTO"
\e$B$r
\e(B "<a href="http://nais.to/">NAISTO</a>"
\e$B$K!"
\e(B
130 "google"
\e$B$r
\e(B "<a href="http://www.google.com/">google</a>"
133 s!(NAISTO)!<a href="http://nais.to/">$1</a>!g;
134 s!(\sgoogle\s)!<a href="http://www.google.com/">$1</a>!g;
137 \e$B"(
\e(B7 tDiary
\e$B$N%F!<%^
\e(B (CSS
\e$B%U%!%$%k
\e(B)
\e$B$r$=$N$^$^;H$&$?$a$KI,MW!#
\e(B
138 tDiary
\e$B$N%F!<%^$r;H$&$K$O0J2<$N$h$&$J@_Dj$r9T$&$HNI$$!#
\e(B
139 - $item_header_style = 1 or 2 (
\e$B%$%a!<%8%"%s%+!<$r;H$&$H$-
\e(B)
140 - $use_h3_for_item_header = 1
141 - $css_file = "tDiary
\e$B$N%F!<%^$N
\e(BCSS
\e$B%U%!%$%k
\e(B.css"
142 - $item_template
\e$B$G
\e(B h3
\e$B$G
\e(B header
\e$B$r0O$`!#
\e(B
144 ----------------------------------------------------------------------
145 ChangeLog
\e$B$NFC<l$J5-K!
\e(B
146 ----------------------------------------------------------------------
148 \e$B0lIt
\e(B Hiki
\e$B$N5-K!$H6&DL$K$7$F$$$^$9!#
\e(B
151 -
\e$BHkL)$N9`L\
\e(B: ChangeLog
\e$B$K$O5-$7$?$$$,!"
\e(BWeb
\e$BF|5-$H$7$F8x3+$9$k$H$-$K$O
\e(B
152 \e$B:o$j$?$$9`L\$O!"0J2<$N$h$&$K!V9`L\$N8+=P$7!W$N@hF,$K
\e(B "p:"
\e$B$rIU$1$k!#
\e(B
153 (p
\e$B$O
\e(B private
\e$B$N0UL#
\e(B)
155 * p:
\e$BHkL)%a%b
\e(B: YT
\e$B$,$^$?$d$i$+$7$?!#$7$g$&$b$J$$$d$D$@!#
\e(B
158 -
\e$BF|IU$G;2>H%j%s%/
\e(B: "[YYYY-MM-DD]"
\e$B$H$$$&J8;zNs$O!"<+F0E*$K2a5n$N9`L\
\e(B
159 \e$B$X$N;2>H%j%s%/$XJQ49$5$l$k!#
\e(B"[YYYY-MM-DD-I]"
\e$B$H$$$&Iw$K%"%$%F%`
\e(B
160 No.
\e$B$b;XDj$G$-$k!#
\e(B
162 \e$B@hF|
\e(B[2001-12-01]
\e$B!"$I$3$+$X9T$C$?!#
\e(B
164 \e$B@hF|
\e(B<a href="2001-12.html#2001-12-01">[2001-12-01]</a>
\e$B!"
\e(B
165 \e$B$I$3$+$X9T$C$?!#
\e(B
168 -
\e$BG$0U$N
\e(B URL
\e$B$X$N%j%s%/
\e(B
170 \e$B!VC18l
\e(B|URL
\e$B!W$r
\e(B 2
\e$B$D$NH>3Q%+%.%+%C%3$G0O$`$H$rG$0U$N
\e(B URL
\e$B$X$N%j%s%/
\e(B
171 \e$B$K$J$j$^$9!#Nc!'
\e(B
172 [[Yahoo!|http://www.yahoo.co.jp/]]
174 \e$B$3$N$H$-
\e(B URL
\e$B$NKvHx$,
\e(B jpg,jpeg,png,gif
\e$B$@$H
\e(B IMG
\e$B%?%0$KE83+$5$l$^$9!#
\e(B
175 \e$B!J;XDj$7$?C18l$,
\e(BALT
\e$B$K@_Dj$5$l$k!K!#Nc!'
\e(B
176 [[
\e$B?^
\e(B|image/gazou.png]]
178 \e$B!VC18l!W$NKvHx$,
\e(B jpg,jpeg,png,gif
\e$B$@$H%/%j%C%/2DG=$J
\e(B IMG
\e$B%?%0$KE8
\e(B
179 \e$B3+$5$l$^$9!#
\e(BIMG
\e$B$,
\e(B URL
\e$B$X$N%j%s%/$K$J$j$^$9!#Nc!'
\e(B
180 [[image/gazou.png|http://nais.to/~yto/]]
182 \e$B$^$?!"
\e(BURL
\e$B$C$]$$$b$N$,$"$k$H>!<j$K%j%s%/$,$O$i$l$^$9!#Nc!'
\e(B
183 http://www.yahoo.co.jp/
185 \e$BD9$$
\e(B URL
\e$B$O!"%P%C%/%9%i%C%7%e
\e(B('\')
\e$B$GESCf2~9T$9$k$3$H$,$G$-$k!#2<5-$N
\e(B
186 \e$BNc$N$h$&$KJQ49$5$l$k!#
\e(B
188 http://example.com/123456789012345678901234567890\
189 123456789012345678901234567890.html
191 <a href="http://example.com/...0.html>http://example.com/...890
192 123456789012345678901234567890.html</a>
195 -
\e$B0zMQ
\e(B (citation):
\e$B%?%V$N8e$K
\e(B "|"
\e$B$+
\e(B ">"
\e$B$,Mh$k9T$O0zMQ$H$_$J$7!"
\e(B
196 blockquote
\e$B$G0O$^$l$k!#
\e(B
201 >
\e$B$3$l$O0zMQ$G$O$J$$
\e(B
205 |
\e$B$3$l$O0zMQ$G$O$J$$
\e(B
207 \e$B$^$?$O!"
\e(B">>"
\e$B$H
\e(B "<<"
\e$B$G0O$^$l$?NN0h$,
\e(B blockquote
\e$B$G0O$^$l$k!#
\e(B
216 -
\e$BJ8;z=$>~$N5-K!
\e(B
218 \e$B!V
\e(B'
\e$B!W
\e(B2
\e$B8D$G$O$5$s$@ItJ,$O6/D4$5$l$^$9!#!V
\e(B'
\e$B!W
\e(B3
\e$B8D$G$O$5$s$@ItJ,$O$5$i
\e(B
219 \e$B$K6/D4$5$l$^$9!#!V
\e(B=
\e$B!W
\e(B2
\e$B8D$G$O$5$s$@ItJ,$O<h>C@~$K$J$j$^$9!#Nc!'
\e(B
221 ==ABC== ''ABC'' '''ABC'''
223 -
\e$B?eJ?@~$N5-K!
\e(B
225 \e$B%^%$%J%95-9f!V
\e(B-
\e$B!W$r9T$N@hF,$N%?%V$N8e$+$i
\e(B 4
\e$B$D=q$/$H?eJ?@~$K$J$j$^
\e(B
232 -
\e$BI=
\e(B(table)
\e$B$N5-K!
\e(B
234 \e$B0J2<$N$h$&$K5-=R$7$^$9!#
\e(B
235 ||
\e$B9`L\
\e(B1-1||
\e$B9`L\
\e(B1-2||
\e$B9`L\
\e(B1-3
236 ||
\e$B9`L\
\e(B2-1||
\e$B9`L\
\e(B2-2||
\e$B9`L\
\e(B2-3
239 -
\e$B!VB3$-$rFI$`!W$NI=5-
\e(B
241 '===='
\e$B$H5-=R$9$k$H!V
\e(BRead More...
\e$B!W$H$$$&%j%s%/$,$G$-
\e(B item page
\e$B$X
\e(B
242 \e$B%8%c%s%W$7$^$9!#
\e(B
243 item page
\e$B$r=P$9$h$&$K$7$?$H$-
\e(B($page_mode=2)
\e$B$N$_5!G=$7$^$9!#
\e(B
246 -
\e$B%W%i%0%$%s5!G=
\e(B
248 \e$B!V
\e(B{{
\e$B!W$H!V
\e(B}}
\e$B!W$G0O$`$H%W%i%0%$%s
\e(B (
\e$B4X?t
\e(B)
\e$B$r8F$S=P$9$3$H$,$G$-
\e(B
251 \e$BNc
\e(B: {{google_seach('
\e$B3$O7L>
\e(B
\e$B1G2h4[
\e(B')}}
253 \e$B%W%i%0%$%s$O
\e(B cl.conf
\e$B$KB-$7$FCV$1$P;H$($^$9!#
\e(B
256 -
\e$B%+%F%4%j5!G=
\e(B
258 item header
\e$B$G%+%F%4%j$r;XDj$9$k$H!"%+%F%4%jJL%Z!<%8$K=PNO$5$l$^$9!#
\e(B
259 \e$B%+%F%4%j$N;XDj$N;EJ}!'
\e(B
260 *
\e$B%?%$%H%k
\e(B [
\e$B%+%F%4%jL>
\e(B][
\e$B%+%F%4%jL>
\e(B][
\e$B%+%F%4%jL>
\e(B]...: ...
263 *
\e$B%&%R%g$N9XF~J}K!
\e(B [KnowHow]:
\e$B$^$:$O%3%s%S%K$X9T$C$F
\e(B...
264 *
\e$B$&$^$$!*
\e(B[
\e$B<r
\e(B][
\e$B%3%s%S%K
\e(B]:
\e$B:rF|!"%3%s%S%K$G8+$D$1$?
\e(B...
266 \e$B%+%F%4%j$r;XDj$9$k$H!"<+F0E*$K$=$N%+%F%4%j$N%Z!<%8$,@8@.$5$l$^$9!#
\e(B
267 \e$B%+%F%4%j%Z!<%8$N%U%!%$%kL>$O!V
\e(Bcat_[
\e$B%+%F%4%jL>
\e(B].html
\e$B!W$N$h$&$K$J$j$^$9!#
\e(B
269 -
\e$BF|!9$N%a%C%;!<%8Kd$a9~$_
\e(B
271 \e$BF|IU%(%s%H%j$N>e$H2<$K$=$NF|$N%a%C%;!<%8$rI=<($9$k$3$H$,$G$-$^$9!#
\e(B
272 \e$B0J2<$N$h$&$J
\e(B item
\e$B$r=q$-$^$9!#
\e(B
273 item
\e$B$NCf$N
\e(B HTML
\e$B%?%0$O%(%9%1!<%W$5$l$^$;$s!#
\e(B
276 <p>
\e$BH~?)2H$NKv$O8p?)
\e(B ---
\e$B%Y%s%8%c%_%s!&%U%i%s%/%j%s
\e(B</p>
279 <span style="font-size:small">
\e$B"v
\e(B Jeith Jarrett / La Scala</span>
283 \e$B0J2<$N5-K!$G
\e(BHTML
\e$B$rD>=q$-$9$k$3$H$,$G$-$^$9!#
\e(B
284 [literal]...[/literal], [sic]...[/sic], [esc]...[/esc]
288 \e$B%=!<%9$NI=<($O
\e(B [src]...[/src]
\e$B$r;H$$$^$9!#
\e(B
289 \e$BFbIt$G$O%(%s%F%#%F%#CV49$H
\e(Bpre
\e$B0O$_$r9T$$$^$9!#
\e(B
292 - ChangeLog
\e$B$NKvHx
\e(B
293 \e$B9TF,$,!V
\e(B__DATA__
\e$B!W$G;O$^$k9T$,$"$k$H!"$=$l0J9_$N5-=R$OL5;k$5$l$^$9!#
\e(B
294 \e$B%?%V$,F~$C$F$$$l$PBg>fIW$G$9!#
\e(B
297 ----------------------------------------------------------------------
299 ----------------------------------------------------------------------
301 ChengaLog
\e$B%U%!%$%k$NF|IU9T$O!"0J2<$N%U%)!<%^%C%H$G$J$1$l$P$J$i$J$$!#
\e(B
303 2001-11-21 YAMASHITA Tatsuo <yto@example.com>
305 2001-11-21 (Wed) YAMASHITA Tatsuo <yto@example.com>
307 \e$BMKF|F~$jF|IU%U%)!<%^%C%H$K$D$$$F$O!"
\e(B
308 <http://namazu.org/~satoru/diary/?200301b&to=200301151#200301151>
309 \e$B$r;2>H$5$l$?$$!#
\e(B
311 \e$B0J2<$N%U%)!<%^%C%H$O%5%]!<%H$7$F$$$J$$!#
\e(B
313 Sat Mar 14 08:48:56 1998 YAMASHITA Tatsuo <yto@example.com>
315 \e$B$7$+$7!"%Q%C%1!<%8$K4^$^$l$F$$$k
\e(B clweek.pl
\e$B$GF|IU%U%)!<%^%C
\e(B
316 \e$B%H$NJQ49$,$G$-$k!#
\e(B
318 % ./clweek.pl ChangeLog > ChangeLog-new