… | |
… | |
41 | hr.footer { display: none; } |
41 | hr.footer { display: none; } |
42 | .footer { font-size: 8pt; border-top: 1px solid red; } |
42 | .footer { font-size: 8pt; border-top: 1px solid red; } |
43 | </style> |
43 | </style> |
44 | </head> |
44 | </head> |
45 | <body> |
45 | <body> |
46 | <p class='back'><a href='/'>Schmorpforge Software Repository</a></p> |
46 | <p class='back'><a href='/'>Schmorpforge Ta-Sa Software Repository</a></p> |
47 | <h1 class="$_[1]">$_[0]</h1> |
47 | <h1 class="$_[1]">$_[0]</h1> |
48 | <div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> |
48 | <div style="text-align: center; float: right; margin-left: 1em; margin-bottom: 1em"> |
49 | <a href="http://www.deliantra.net/"> |
49 | <a href="http://www.deliantra.net/"> |
50 | <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> |
50 | <img src="http://www.deliantra.net/images/deliantra.png" border="0" alt="Deliantra Free MMORPG" style="display: inline"/> |
51 | <br /> |
51 | <br /> |
… | |
… | |
95 | |
95 | |
96 | <h2>Blurb</h2> |
96 | <h2>Blurb</h2> |
97 | <p class='blurb'>$desc</p> |
97 | <p class='blurb'>$desc</p> |
98 | <h2>Availability</h2> |
98 | <h2>Availability</h2> |
99 | <ul> |
99 | <ul> |
|
|
100 | EOF |
|
|
101 | if (grep /git/, @args) { |
|
|
102 | print <<EOF; |
|
|
103 | <li><a href='http://git.ta-sa.org/?p=$name.git;a=summary'>Browse GIT repository '$name'</a></li> |
|
|
104 | <li>Read-only GIT checkout:<br /> |
|
|
105 | <tt> git-clone http://git.ta-sa.org/$name.git</tt> |
|
|
106 | </li> |
|
|
107 | EOF |
|
|
108 | } else { |
|
|
109 | my $modules = $name; |
|
|
110 | $modules = "$1" if grep /modules\((.*)\)/, @args; |
|
|
111 | |
|
|
112 | print <<EOF; |
100 | <li><a href='http://cvs.schmorp.de/$name'>Browse CVS module '$name'</a></li> |
113 | <li><a href='http://cvs.schmorp.de/$name'>Browse CVS module '$name'</a></li> |
101 | EOF |
|
|
102 | |
|
|
103 | my $modules = $name; |
|
|
104 | $modules = "$1" if grep /modules\((.*)\)/, @args; |
|
|
105 | |
|
|
106 | print <<EOF; |
|
|
107 | <li>Anonymous CVS checkout:<br /> |
114 | <li>Anonymous CVS checkout:<br /> |
108 | <tt> cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt><p /> |
115 | <tt> cvs -z3 -d :pserver:anonymous\@cvs.schmorp.de/schmorpforge co $modules</tt><p /> |
109 | |
116 | |
110 | <small> |
117 | <small> |
111 | |
118 | |
… | |
… | |
125 | |
132 | |
126 | </small> |
133 | </small> |
127 | |
134 | |
128 | </li> |
135 | </li> |
129 | EOF |
136 | EOF |
|
|
137 | } |
130 | |
138 | |
131 | print "<li><a href='http://dist.schmorp.de/$name/'>File Releases</a></li>\n" |
139 | print "<li><a href='http://dist.schmorp.de/$name/'>File Releases</a></li>\n" |
132 | if grep /dist/, @args; |
140 | if grep /dist/, @args; |
133 | print "<li><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></li>\n" |
141 | print "<li><a href='http://www.cpan.org/modules/by-authors/Marc_Lehmann/'>File Releases (CPAN)</a></li>\n" |
134 | if grep /cpan/, @args; |
142 | if grep /cpan$/, @args; |
|
|
143 | print "<li><a href='http://www.cpan.org/modules/by-authors/id/E/EL/ELMEX/'>File Releases (CPAN)</a></li>\n" |
|
|
144 | if grep /cpan-elmex/, @args; |
135 | for (@args) { |
145 | for (@args) { |
136 | print "<li><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></li>\n" |
146 | print "<li><a href='http://lists.schmorp.de/mailman/listinfo/" . ($1 || $name) . "'>Mailing List '" . ($1 || $name) . "'</a></li>\n" |
137 | if /list\((.*)\)/; |
147 | if /list\((.*)\)/; |
138 | } |
148 | } |
139 | |
149 | |
140 | print "</ul>"; |
150 | print "</ul>"; |
141 | |
151 | |
142 | if (my @files = grep $_, map /(cvs-co|cvs-pod)\((\S+)\)/ && [$1, $2], @args) { |
152 | if (my @files = grep $_, map /(cvs-co|cvs-pod|git-pod|git-co)\((\S+)\)/ && [$1, $2], @args) { |
143 | print "<h2>Additional Documents</h2><ul>"; |
153 | print "<h2>Additional Documents</h2><ul>"; |
144 | |
154 | |
145 | for (@files) { |
155 | for (@files) { |
146 | my ($type, $arg) = @$_; |
156 | my ($type, $arg) = @$_; |
147 | |
157 | |
148 | if ($type eq "cvs-co") { |
158 | if ($type eq "cvs-co") { |
149 | print "<li><a href='http://cvs.schmorp.de/$name/$arg'>$arg</a></li>"; |
159 | print "<li><a href='http://cvs.schmorp.de/$name/$arg'>$arg</a></li>"; |
|
|
160 | |
150 | } elsif ($type eq "cvs-pod") { |
161 | } elsif ($type eq "cvs-pod") { |
151 | my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg); |
162 | my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg); |
152 | $desc ||= "<b>Main Manual Page</b>"; |
163 | $desc ||= "<b>Main Manual Page</b>"; |
153 | print "<li><a href='http://pod.tst.eu/http://cvs.schmorp.de/$name/$file'>$desc</a></li>"; |
164 | print "<li><a href='http://pod.tst.eu/http://cvs.schmorp.de/$name/$file'>$desc</a></li>"; |
|
|
165 | |
|
|
166 | } elsif ($type eq 'git-co') { |
|
|
167 | print "<li><a href='http://git.ta-sa.org/$name/$arg'>$arg</a></li>"; |
|
|
168 | |
|
|
169 | } elsif ($type eq "git-pod") { |
|
|
170 | my ($file, $desc) = $arg =~ /(.*),(.*)/ ? ($1, $2) : ($arg, $arg); |
|
|
171 | $desc ||= "<b>Main Manual Page</b>"; |
|
|
172 | print "<li><a href='http://pod.tst.eu/http://git.ta-sa.org/$name/$file'>$desc</a></li>"; |
|
|
173 | |
154 | } |
174 | } |
155 | } |
175 | } |
156 | |
176 | |
157 | print "</ul>"; |
177 | print "</ul>"; |
158 | } |
178 | } |
… | |
… | |
164 | |
184 | |
165 | hdr "Package Index", "bg-bluete"; |
185 | hdr "Package Index", "bg-bluete"; |
166 | |
186 | |
167 | print <<EOF; |
187 | print <<EOF; |
168 | |
188 | |
169 | <p>This page briefly documents the Schmorpforge Software Repository and |
189 | <p>This page briefly documents the Schmorpforge Ta-Sa Software Repository and |
170 | lists all projects available here.</p> |
190 | lists all projects available here.</p> |
171 | |
191 | |
172 | <ul> |
192 | <ul> |
173 | <li>All CVS Repositories can be found <a href="http://cvs.schmorp.de/">here</a>.</li> |
193 | <li>All CVS Repositories can be found <a href="http://cvs.schmorp.de/">here</a>.</li> |
|
|
194 | <li>All GIT Repositories can be found <a href="http://git.ta-sa.org/">here</a>.</li> |
174 | <li>Most Releases can be found <a href="http://dist.schmorp.de/">here</a> or via CPAN.</li> |
195 | <li>File Releases can be found <a href="http://dist.schmorp.de/">here</a> or on CPAN (for Perl modules).</li> |
175 | <li>All Mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a>.</li> |
196 | <li>All Mailinglists can be found <a href="http://lists.schmorp.de/mailman/listinfo">here</a>.</li> |
176 | </ul> |
197 | </ul> |
177 | <p>Projects listed on this page:</p> |
198 | <p>Projects listed on this page:</p> |
178 | <table> |
199 | <table> |
179 | EOF |
200 | EOF |
… | |
… | |
292 | It could be used to write Knuddels clients, bots and even servers |
313 | It could be used to write Knuddels clients, bots and even servers |
293 | (although the latter doesn't make much sense, the protocol is rather |
314 | (although the latter doesn't make much sense, the protocol is rather |
294 | ugly. If you want to implement your own group communication server, use |
315 | ugly. If you want to implement your own group communication server, use |
295 | IRC instead). |
316 | IRC instead). |
296 | |
317 | |
297 | Net-IRC3 dist cvs-pod(lib/Net/IRC3.pm,) cvs-co(Changes) cvs-co(samples/netirc3cl) cvs-co(samples/netirc3) |
318 | Net-IRC3 cpan-elmex cvs-pod(lib/Net/IRC3.pm,) cvs-co(Changes) cvs-co(samples/netirc3cl) cvs-co(samples/netirc3) |
298 | This module provides an alternative to the Net-IRC and Net-IRC2 |
319 | This module provides an alternative to the Net-IRC and Net-IRC2 |
299 | modules. Its design rationale is offfering a 100% non-blocking |
320 | modules. Its design rationale is offfering a 100% non-blocking |
300 | callback-based interface, RFC-compliant parsing and a lightweight |
321 | callback-based interface, RFC-compliant parsing and a lightweight |
301 | approach to modularity and reusability. |
322 | approach to modularity and reusability. |
302 | |
323 | |
… | |
… | |
674 | |
695 | |
675 | dhcpping cvs-pod(dhcping.pod,) |
696 | dhcpping cvs-pod(dhcping.pod,) |
676 | A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> |
697 | A version of dhcpping enhanced by <a href="mailto:marco@nethype.de">Marco Maisenhelder</a> |
677 | to support passing dhcp options. Intended to test dhcp server implementations. |
698 | to support passing dhcp options. Intended to test dhcp server implementations. |
678 | |
699 | |
679 | AnyEvent-DNS cpan git-co(AnyEvent-DNS.git/Changes) |
700 | AnyEvent-DNS cpan-elmex git-pod(lib/AnyEvent/DNS.pm,) git-co(Changes) |
680 | A non-blocking DNS resolver with AnyEvent using Net::DNS. |
701 | A non-blocking DNS resolver with AnyEvent using Net::DNS. |
681 | |
702 | |
682 | This Perl module is a simple wrapper around Net::DNS, which provides |
703 | This Perl module is a simple wrapper around Net::DNS, which provides |
683 | a non-blocking interface to make DNS queries with Net::DNS. |
704 | a non-blocking interface to make DNS queries with Net::DNS. |
684 | |
705 | |
685 | AnyEvent-HTTPD cpan git-co(AnyEvent-HTTPD.git/Changes) |
706 | AnyEvent-HTTPD cpan-elmex git-pod(lib/AnyEvent/HTTPD.pm,) git-co(Changes) |
686 | A simple and plain event based http web application server Perl module. |
707 | A simple and plain event based http web application server Perl module. |
687 | |
708 | |
688 | This is a very basic HTTP server that allows the user/programmer to install |
709 | This is a very basic HTTP server that allows the user/programmer to install |
689 | hooks for URL paths to generate the output. It uses AnyEvent to be easily |
710 | hooks for URL paths to generate the output. It uses AnyEvent to be easily |
690 | embeddable into other applications. The main objective was to make it |
711 | embeddable into other applications. The main objective was to make it |
691 | easier to make simple HTTP frontends in Perl for Perl programs and Perl modules. |
712 | easier to make simple HTTP frontends in Perl for Perl programs and Perl modules. |
692 | |
713 | |
693 | Object-Event cpan git-co(Object-Event.git/Changes) |
714 | Object-Event cpan-elmex git-pod(lib/Object/Event.pm,) git-co(Changes) |
694 | A simple event callback API for Perl. |
715 | A simple event callback API for Perl. |
695 | |
716 | |
696 | This is just a very simple event callback registration and call API |
717 | This is just a very simple event callback registration and call API |
697 | which new Perl classes can inherit. It's mainly used by Net::XMPP2. |
718 | which new Perl classes can inherit. It's mainly used by Net::XMPP2. |
698 | |
719 | |
699 | Text-Edit cpan git-co(Text-Edit.git/Changes) |
720 | AnyEvent-EditText cpan-elmex git-pod(lib/AnyEvent/EditText.pm,) git-co(Changes) |
700 | A Perl module which allows editing any text via an editor in a seperate process. |
721 | A Perl module which allows editing any text via an editor in a seperate process. |
701 | |
722 | |
702 | A utility Perl module that will start a terminal/editor for you and will |
723 | A utility Perl module that will start a terminal/editor for you and will |
703 | wait non-blocking for you to finish editing that file. Very useful to embed |
724 | wait non-blocking for you to finish editing that file. Very useful to embed |
704 | content edititing in event based programs that have a AnyEvent compatible |
725 | content edititing in event based programs that have a AnyEvent compatible |