* changed conf for BBBike
[chalow-eserte.git] / README
blob31a79502af04833ea9184e814fed2058ad3ae071
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
5 README
7 $Id: README,v 1.1 2007-10-19 22:07:48+09 tatsuoyamashita Exp tatsuoyamashita $
9 ----------------------------------------------------------------------
10 \e$B%$%s%9%H!<%k\e(B
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
16 - Jcode
17 - HTML::Template
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
30 | % ls sample/*.html
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 ----------------------------------------------------------------------
41 \e$B35MW\e(B
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 ----------------------------------------------------------------------
61 \e$B;H$$J}\e(B
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
71     -8, --utf8                  utf8 mode
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
86 \e$B<B9TNc\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
89         % ./chalow ChangeLog
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
119 - ...
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>" 
131   \e$B$KJQ49$9$k!#\e(B
132         $auto_replace = '
133         s!(NAISTO)!<a href="http://nais.to/">$1</a>!g;
134         s!(\sgoogle\s)!<a href="http://www.google.com/">$1</a>!g;
135         ';
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
163         \e$B"-\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/]]
173         
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]]
177         
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
190         \e$B"-\e(B
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
198         > \e$B0zMQ\e(B
199         > \e$B0zMQ\e(B
200         > \e$B0zMQ\e(B
201                 > \e$B$3$l$O0zMQ$G$O$J$$\e(B
203         | \e$B0zMQ\e(B
204         | \e$B0zMQ\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
208                
209         >>
210         \e$B0zMQ\e(B
211         \e$B0zMQ\e(B
212         \e$B0zMQ\e(B
213         <<
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
226   \e$B$9!#Nc!'\e(B
227         \e$B$"$O$O\e(B
228         ----
229         \e$B$$$R$R\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
249   \e$B$^$9!#\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]...: ...
262   \e$BNc!'\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
275         * message-top:
276         <p>\e$BH~?)2H$NKv$O8p?)\e(B --- \e$B%Y%s%8%c%_%s!&%U%i%s%/%j%s\e(B</p>
277         
278         * message-bottom:
279         <span style="font-size:small">\e$B"v\e(B Jeith Jarrett / La Scala</span>
282 \e$B%(%9%1!<%W\e(B
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]
287 \e$B%=!<%9\e(B
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 ----------------------------------------------------------------------
298 \e$BCm0U\e(B
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>
304         or
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
317 \e$B;H$$J}\e(B: 
318         % ./clweek.pl ChangeLog > ChangeLog-new