diff options
-rw-r--r-- | www/digest/Makefile | 26 | ||||
-rw-r--r-- | www/digest/digest.t | 4 | ||||
-rw-r--r-- | www/digest/digestfoot.t | 8 | ||||
-rw-r--r-- | www/digest/digesthead.t | 45 | ||||
-rw-r--r-- | www/digest/index.t | 31 | ||||
-rw-r--r-- | www/digest/log.raw | 159 | ||||
-rwxr-xr-x | www/digest/mailify.pl | 130 | ||||
-rwxr-xr-x | www/digest/rssify.pl | 32 |
8 files changed, 435 insertions, 0 deletions
diff --git a/www/digest/Makefile b/www/digest/Makefile new file mode 100644 index 0000000000..4e7b3ea696 --- /dev/null +++ b/www/digest/Makefile | |||
@@ -0,0 +1,26 @@ | |||
1 | ACTION=@echo preprocessing $@; rm -f $@; fcpp -WWW -I.. -Uunix -H -C -V -LL >$@ | ||
2 | |||
3 | SRC := $(wildcard *.t) | ||
4 | OBJS := $(SRC:%.t=%.html) | ||
5 | |||
6 | all: $(OBJS) digest.rss digest.mail | ||
7 | |||
8 | %.html : %.t news.t digesthead.t log.t | ||
9 | $(ACTION) $< | ||
10 | |||
11 | digest.mail: mail.t log.t mailify.pl | ||
12 | echo mailifying $@; | ||
13 | rm -f $@; | ||
14 | fcpp -WWW -DMAKE_MAIL -Uunix -P -H -C -V -LL >digest.temp $< | ||
15 | ./mailify.pl < digest.temp > digest.mail | ||
16 | |||
17 | digest.rss: digest.t digesthead.t log.raw | ||
18 | @echo rssing $@; | ||
19 | @rm -f $@; | ||
20 | @fcpp -WWW -DMAKE_RSS -Uunix -P -H -C -V -LL >$@ $< | ||
21 | |||
22 | log.raw: log.t rssify.pl digesthead.t | ||
23 | ./rssify.pl < $< >$@ | ||
24 | |||
25 | |||
26 | |||
diff --git a/www/digest/digest.t b/www/digest/digest.t new file mode 100644 index 0000000000..a7b3cc8e3a --- /dev/null +++ b/www/digest/digest.t | |||
@@ -0,0 +1,4 @@ | |||
1 | #define DIGESTDATE 2003-april | ||
2 | #include "digesthead.t" | ||
3 | #include "log.raw" | ||
4 | #include "digestfoot.t" | ||
diff --git a/www/digest/digestfoot.t b/www/digest/digestfoot.t new file mode 100644 index 0000000000..41bcb1b913 --- /dev/null +++ b/www/digest/digestfoot.t | |||
@@ -0,0 +1,8 @@ | |||
1 | #ifndef MAKE_RSS | ||
2 | #ifndef MAKE_MAIL | ||
3 | #include "foot.t" | ||
4 | #endif | ||
5 | #else | ||
6 | </channel> | ||
7 | </rss> | ||
8 | #endif | ||
diff --git a/www/digest/digesthead.t b/www/digest/digesthead.t new file mode 100644 index 0000000000..ec637dfe8c --- /dev/null +++ b/www/digest/digesthead.t | |||
@@ -0,0 +1,45 @@ | |||
1 | #ifndef MAKE_RSS | ||
2 | #ifdef MAKE_MAIL | ||
3 | #define ZAGOR Björn Stenberg | ||
4 | #define BAGDER Daniel Stenberg | ||
5 | #define LINUSN Linus Nielsen Feltzing | ||
6 | |||
7 | #define NEWSDATE(x) Date: x | ||
8 | #define ITEM --- | ||
9 | #define NAME(x) x | ||
10 | #define ENDDATE | ||
11 | #define LINK(url,name) [URL]url[URL] [TEXT]name[TEXT] | ||
12 | |||
13 | #else | ||
14 | #define _PAGE_ Rockbox Digest | ||
15 | #include "head.t" | ||
16 | #include "news.t" | ||
17 | |||
18 | <small> | ||
19 | <a href="./">digest front page</a> | ||
20 | · | ||
21 | <a href="./digest.rss">digest RSS feed</a> | ||
22 | </small> | ||
23 | <p> | ||
24 | #endif | ||
25 | #else | ||
26 | <?xml version="1.0"?> | ||
27 | <!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd"> | ||
28 | <rss version="0.91"> | ||
29 | <channel> | ||
30 | <title>Rockbox Digest</title> | ||
31 | <link>http://rockbox.haxx.se/digest/digest.html</link> | ||
32 | <description>Detailing the latest and the most significant subjects about Rockbox.</description> | ||
33 | <language>en</language> | ||
34 | |||
35 | #define NEWSDATE(x) <item><title>x</title><link>http://rockbox.haxx.se/digest/digest.html</link> <description> <ol> | ||
36 | #define ENDDATE </ol> </description></item> | ||
37 | #define ITEM <li> | ||
38 | #define NAME(x) x | ||
39 | |||
40 | #define ZAGOR Björn Stenberg | ||
41 | #define BAGDER Daniel Stenberg | ||
42 | #define LINUSN Linus Nielsen Feltzing | ||
43 | |||
44 | #define LINK(url, name) <a href=url>name</a> | ||
45 | #endif | ||
diff --git a/www/digest/index.t b/www/digest/index.t new file mode 100644 index 0000000000..f125188877 --- /dev/null +++ b/www/digest/index.t | |||
@@ -0,0 +1,31 @@ | |||
1 | #define _PAGE_ Rockbox Digests - News From the Front | ||
2 | #include "head.t" | ||
3 | #include "news.t" | ||
4 | |||
5 | <p> BAGDER is the editor of the Rockbox digest section. He tries to keep up | ||
6 | with discussions on IRC, the mailing list, the sourceforge trackers and CVS | ||
7 | commits to sum up what's going on in the project in a slightly digested | ||
8 | manner. Suitable for outsiders who don't care to follow the intense | ||
9 | development mailing list and similar. | ||
10 | |||
11 | <p align="center"> | ||
12 | <big><a href="digest.html">The Most Recent Digest</a></big> | ||
13 | |||
14 | <p> You can also access the digest as a <a href="digest.rss">RSS feed</a>. | ||
15 | |||
16 | <p> You should be able to get a Rockbox sidebar in your Netscape/Mozilla | ||
17 | browser using <a href="http://sidenews.net/">sidenews.net</a>. | ||
18 | |||
19 | <p> The work on this was started on April 15th, 2003. On the day of the | ||
20 | Rockbox 2.0 release. If you found something you think are wrong, anything | ||
21 | I've missed in here or similar, drop me a mail at <a | ||
22 | href="mailto:rockbox-digest at haxx dot se">rockbox-digest at haxx dot | ||
23 | se</a>. If you have ideas or opinions about the actual subjects mentioned, <a | ||
24 | href="/mail/">join the mailing list</a> and post about it there. | ||
25 | |||
26 | <p> <a | ||
27 | href="http://feeds.archive.org/validator/check?url=http://rockbox.haxx.se/digest/digest.rss"><img | ||
28 | src="valid-rss.png" alt="[Valid RSS]" title="Validate my RSS feed" width="88" | ||
29 | height="31" border="0" /></a> | ||
30 | |||
31 | #include "foot.t" | ||
diff --git a/www/digest/log.raw b/www/digest/log.raw new file mode 100644 index 0000000000..ce6a02f83c --- /dev/null +++ b/www/digest/log.raw | |||
@@ -0,0 +1,159 @@ | |||
1 | NEWSDATE(28-nov-2003) | ||
2 | |||
3 | ITEM Rockbox now finally runs on the Recorder V2. | ||
4 | |||
5 | ENDDATE | ||
6 | |||
7 | NEWSDATE(03-nov-2003) | ||
8 | |||
9 | ITEM LINUSN revamped the file split feature so it always splits on MP3 | ||
10 | frame boundaries. As a bonus, the Play key can now be pressed to start a new | ||
11 | file during recording. | ||
12 | |||
13 | ITEM LINUSN applied a bunch of nice patches, like Line-In activation on | ||
14 | Players, a VU meter plugin, a NIM game for the Player, plus a few bug | ||
15 | fixes. | ||
16 | |||
17 | ITEM The Chip8 emulator has finally been added to the CVS! | ||
18 | |||
19 | ITEM Recording with flashed firmware is finally stable | ||
20 | |||
21 | ENDDATE | ||
22 | |||
23 | NEWSDATE(28-aug-2003) | ||
24 | |||
25 | ITEM Can Rockbox be made to | ||
26 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0784.shtml", | ||
27 | play WAV) files? | ||
28 | |||
29 | ENDDATE | ||
30 | |||
31 | NEWSDATE(22-aug-2003) | ||
32 | |||
33 | ITEM NAME(Jesús Rodríguez Marcial) posted his brand new translation of | ||
34 | Rockbox into | ||
35 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0576.shtml", | ||
36 | Galego). | ||
37 | |||
38 | ITEM BAGDER and | ||
39 | LINUSN posted a re-worked | ||
40 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0584.shtml", | ||
41 | suggestion) previously posted about how to remap the keys of the Recorder | ||
42 | versions of Rockbox. Discussions followed. | ||
43 | |||
44 | ITEM NAME(idc-dragon) called for | ||
45 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0596.shtml", | ||
46 | early adopter needed for player flashing). | ||
47 | |||
48 | ENDDATE | ||
49 | |||
50 | NEWSDATE(21-aug-2003) | ||
51 | |||
52 | ITEM NAME(Druzina Dobravec) brought a | ||
53 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0530.shtml", | ||
54 | Slovenian language file) as | ||
55 | LINK("http://rockbox.haxx.se/lang/", language) number 20. | ||
56 | |||
57 | ENDDATE | ||
58 | |||
59 | NEWSDATE(13-aug-2003) | ||
60 | |||
61 | ITEM NAME(Bernhard) offered a | ||
62 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0381.shtml", | ||
63 | good advice to windows people using Archos). He says | ||
64 | LINK("http://www.ct.heise.de/ct/03/16/links/208.shtml", DevEject) is a good | ||
65 | thing. | ||
66 | |||
67 | ENDDATE | ||
68 | |||
69 | NEWSDATE(11-aug-2003) | ||
70 | |||
71 | ITEM NAME(Todd Lowe) was searching for | ||
72 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0345.shtml", | ||
73 | external battery pack options for FMR). | ||
74 | |||
75 | ENDDATE | ||
76 | |||
77 | NEWSDATE(9-aug-2003) | ||
78 | |||
79 | ITEM NAME(Magnus Holmgren) managed to improve the speed of the ROLO quite a | ||
80 | lot with his | ||
81 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0325.shtml", | ||
82 | descrable in assembler fix). | ||
83 | |||
84 | ENDDATE | ||
85 | |||
86 | NEWSDATE(8-aug-2003) | ||
87 | |||
88 | ITEM NAME(doctor23) brought up the always-hot topic of | ||
89 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0283.shtml", | ||
90 | Should I Buy a Recorder or FM Recorder?). The same issue was also brought up | ||
91 | by NAME(Brad) five days later in his | ||
92 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0374.shtml", | ||
93 | JBR vs FMR? Which one is better) mail. | ||
94 | |||
95 | ENDDATE | ||
96 | |||
97 | NEWSDATE(6-aug-2003) | ||
98 | |||
99 | ITEM One of those interesting threads on | ||
100 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0196.shtml", | ||
101 | should you really buy a JBFMR20?). | ||
102 | |||
103 | ENDDATE | ||
104 | |||
105 | NEWSDATE(5-aug-2003) | ||
106 | |||
107 | ITEM NAME(idc-dragon) posted that he | ||
108 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0142.shtml", | ||
109 | needs some Player firmware version insight for flashing). There might be a | ||
110 | flashable player in the future if he gets sufficient help! | ||
111 | |||
112 | ENDDATE | ||
113 | |||
114 | NEWSDATE(4-aug-2003) | ||
115 | |||
116 | ITEM NAME(Gadi Cohen) brought a patch that now offers | ||
117 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0074.shtml", | ||
118 | working hebrew) for Rockbox. | ||
119 | |||
120 | ENDDATE | ||
121 | |||
122 | NEWSDATE(3-aug-2003) | ||
123 | |||
124 | ITEM NAME(CombThins) brought a thought-through suggestion on | ||
125 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0051.shtml", | ||
126 | how to support nested playlists). | ||
127 | |||
128 | ENDDATE | ||
129 | |||
130 | NEWSDATE(1-aug-2003) | ||
131 | |||
132 | ITEM NAME(idc-dragon) got a bunch of | ||
133 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0001.shtml", | ||
134 | SST39 flash chips) he offered in case anyone feels like "patching" their | ||
135 | units to become flashable. | ||
136 | |||
137 | ITEM BAGDER | ||
138 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0006.shtml", | ||
139 | announced UCL built in regular build process). So if you install 'uclpack' | ||
140 | properly, running make as usual will build you a .ucl file for flashing as | ||
141 | well! | ||
142 | |||
143 | ITEM NAME(Remo Hofer) | ||
144 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-08/0013.shtml", | ||
145 | suggested) we move the fonts to .rockbox/fonts/ and the languages to | ||
146 | .rockbox/languages/. The suggestion got some support from various people. | ||
147 | |||
148 | ITEM BAGDER fixed daily-zips to include full download packages including most | ||
149 | of everything users want, in one single zip archive. | ||
150 | |||
151 | ENDDATE | ||
152 | |||
153 | NEWSDATE(31-jul-2003) | ||
154 | |||
155 | ITEM NAME(David Reis) posted about his new | ||
156 | LINK("http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-07/1520.shtml", | ||
157 | favourites rock). | ||
158 | |||
159 | ENDDATE | ||
diff --git a/www/digest/mailify.pl b/www/digest/mailify.pl new file mode 100755 index 0000000000..4e0c7d60fd --- /dev/null +++ b/www/digest/mailify.pl | |||
@@ -0,0 +1,130 @@ | |||
1 | #!/usr/bin/perl | ||
2 | |||
3 | my $end++; | ||
4 | |||
5 | my @out; | ||
6 | my $url; | ||
7 | |||
8 | my $urlnum=1; | ||
9 | |||
10 | sub showlinks { | ||
11 | my ($date)=@_; | ||
12 | if(scalar(keys %store)) { | ||
13 | print "\n"; | ||
14 | |||
15 | for(sort {$store{$a} <=> $store{$b} } keys %store) { | ||
16 | my $url=$_; | ||
17 | |||
18 | $url =~ s/^\"(.*)\"/$1/g; | ||
19 | printf("[%d] = %s\n", $store{$_}, $url); | ||
20 | } | ||
21 | undef %store; | ||
22 | $urlnum=1; # reset to 1 | ||
23 | } | ||
24 | } | ||
25 | |||
26 | sub showitem { | ||
27 | my @text=@_; | ||
28 | |||
29 | if(@text) { | ||
30 | my $c=3; | ||
31 | my $width=72; | ||
32 | print " * "; | ||
33 | |||
34 | my $thelot = join(" ", @text); | ||
35 | |||
36 | for (split(/[ \t\n]/, $thelot)) { | ||
37 | my $word = $_; | ||
38 | |||
39 | $word =~ s/[ \t]//g; | ||
40 | |||
41 | my $len = length($word); | ||
42 | if(!$len) { | ||
43 | next; # skip blanks | ||
44 | } | ||
45 | |||
46 | if($len + $c + 1> $width) { | ||
47 | print "\n "; | ||
48 | $c = 3; | ||
49 | } | ||
50 | elsif($c != 3) { | ||
51 | print " "; | ||
52 | $c++; | ||
53 | } | ||
54 | print $word; | ||
55 | $c += $len; | ||
56 | } | ||
57 | } | ||
58 | print "\n"; # end of item | ||
59 | |||
60 | # my @words=split( | ||
61 | |||
62 | } | ||
63 | |||
64 | sub date2secs { | ||
65 | my ($date)=@_; | ||
66 | my $secs = `date -d "$date" +"%s"`; | ||
67 | return 0+$secs; | ||
68 | } | ||
69 | |||
70 | while(<STDIN>) { | ||
71 | my $line = $_; | ||
72 | |||
73 | if($_ =~ /^Date: (.*)/) { | ||
74 | my $date=$1; | ||
75 | my $secs = date2secs($date); | ||
76 | my $tendaysago = time()-(14*24*60*60); | ||
77 | showitem(@out); | ||
78 | undef @out; | ||
79 | chomp; | ||
80 | |||
81 | showlinks(); | ||
82 | |||
83 | if($secs < $tendaysago) { | ||
84 | last; | ||
85 | } | ||
86 | |||
87 | print "\n----------------------------------------------------------------------\n$_"; | ||
88 | next; | ||
89 | } | ||
90 | elsif($line =~ /^ *(---)(.*)/) { | ||
91 | |||
92 | showitem(@out); | ||
93 | |||
94 | @out=""; | ||
95 | $line = $2; | ||
96 | } | ||
97 | |||
98 | if($line =~ s/\[URL\](.*)\[URL\]//) { | ||
99 | $url=$1; | ||
100 | |||
101 | if(!$store{$url}) { | ||
102 | $footnote = "[$urlnum]"; | ||
103 | $store{$url} = $urlnum; | ||
104 | $urlnum++; | ||
105 | } | ||
106 | else { | ||
107 | $footnote = "[".$store{$url}."]"; | ||
108 | } | ||
109 | # print STDERR "Set $footnote for $url\n"; | ||
110 | } | ||
111 | if($line =~ s/\[TEXT\](.*)\[TEXT\]/$1$footnote/) { | ||
112 | # print STDERR "Output $footnote (full TEXT)\n"; | ||
113 | undef $text; | ||
114 | } | ||
115 | elsif(!$text && ($line =~ s/\[TEXT\](.*)/$1/)) { | ||
116 | # print STDERR "Detected start of TEXT\n"; | ||
117 | $text = $1; | ||
118 | } | ||
119 | elsif($text && ($line =~ s/(.*)\[TEXT\]/$1$footnote/)) { | ||
120 | # print STDERR "Output $footnote (end-TEXT)\n"; | ||
121 | undef $text; | ||
122 | } | ||
123 | |||
124 | push @out, $line; | ||
125 | } | ||
126 | |||
127 | if(@out) { | ||
128 | showitem(@out); | ||
129 | } | ||
130 | |||
diff --git a/www/digest/rssify.pl b/www/digest/rssify.pl new file mode 100755 index 0000000000..ba6fca7d8b --- /dev/null +++ b/www/digest/rssify.pl | |||
@@ -0,0 +1,32 @@ | |||
1 | #!/usr/bin/perl | ||
2 | |||
3 | my $fill = "RRREEEPPP"; | ||
4 | |||
5 | my $end++; | ||
6 | |||
7 | while(<STDIN>) { | ||
8 | my $line = $_; | ||
9 | |||
10 | # $line =~ s/ZAGOR/Björn Stenberg/g; | ||
11 | |||
12 | $line =~ s/Ö/\Ö/g; | ||
13 | $line =~ s/ö/\ö/g; | ||
14 | $line =~ s/</\</g; | ||
15 | $line =~ s/>/\>/g; | ||
16 | |||
17 | if($line =~ s/(LINK\((\"([^\"]*)\"))/$fill/) { | ||
18 | my $url = $2; | ||
19 | $url =~ s/@/\#%40;/g; | ||
20 | $url =~ s/=/\#%3D;/g; | ||
21 | $url =~ s/&/\&/g; | ||
22 | $line =~ s/$fill/LINK\($url/; | ||
23 | } | ||
24 | print $line; | ||
25 | |||
26 | if($line =~ /^ *ENDDATE/) { | ||
27 | if($end++ == 15) { | ||
28 | last; | ||
29 | } | ||
30 | |||
31 | } | ||
32 | } | ||