diff --git a/dat/globster b/dat/globster
new file mode 100644
index 0000000..449b7a5
--- /dev/null
+++ b/dat/globster
@@ -0,0 +1,94 @@
+=pod
+
+[html]
+
+
The Globster What?
+
+Globster is an efficient file sharing client for the Direct Connect
+network. It runs as a background daemon and provides
+a convenient and high-level D-Bus API, making
+it easy to write scripts, bots and user
+interfaces for Direct Connect.
+
É
+
+=head1 Adopt your own Globster
+
+=head2 Download
+
+There are no tarballs at the moment. You'll have to get it from the git repo:
+
+ git clone --recursive git://g.blicky.net/globster.git
+ cd globster
+ autoreconf -i
+ ./configure
+ make
+
+The git repo is available for
+L and can also be
+L.
+
+(Note: If you have a git version before 1.6.5, the C<--recursive> argument
+isn't going to work. You'll have to type C and C after checking out the repo. But chances are that your GnuTLS
+is waaay too old as well and Globster won't currently build, anyway.)
+
+=head2 Requirements
+
+Globster can be compiled with a (moderately recent) GCC or clang. You'll need
+the following libraries: L and
+L 3.0+.
+
+I've only tested things on Linux (glibc and L),
+but I intent to support more kinda-sane POSIX systems in the future as well.
+The requirement of GnuTLS 3.0+ will be relaxed later on. On the other hand,
+Globster will no doubt require some more libraries as more basic features are
+being implemented. And, yes, I we will get static binaries!
+
+=head2 Status
+
+Remember when I called Globster a "file sharing" client? I lied. It doesn't
+share or download files yet, since it's currently in an early alpha stage. So
+what I it do?
+
+=over
+
+=item * Connect to ADC and NMDC hubs
+
+=item * User list management
+
+=item * Chatting and private messaging
+
+=back
+
+Those features already make it perfectly suitable for writing chat-only bots
+and interfaces.
+
+=head2 Usage
+
+Globster isn't particularly hard to use, but usage documentation is currently a
+bit lacking. I have every intention to fix that, but for now, you're encouraged
+to join the development hub and bug me for help: C.
+I did already write some
+L.
+
+There are at this point no scripts or interfaces for Globster available. I'd
+love to have at least a simple console client (a weechat or irssi plugin?) and
+perhaps a web-based interface. But other solutions are nice, too. Who's going
+to write all that, you ask? Erm... well... You, perhaps? :-)
+
+=head2 Final notes
+
+As you've come to expect from me I<(right?)>, Globster is entirely written in C
+and available under a liberal MIT license.
+
+Globster incorporates code from
+L,
+L,
+L,
+L and
+L.
+Additionally, L is used to prevent
+obsessing over header file management, and
+L keeps the
+configure script fast.
+
diff --git a/dat/globster-api b/dat/globster-api
new file mode 120000
index 0000000..ca00dbc
--- /dev/null
+++ b/dat/globster-api
@@ -0,0 +1 @@
+/home/yhdev/globster/doc/api.pod
\ No newline at end of file
diff --git a/index.cgi b/index.cgi
index a0760a7..fc4eb02 100755
--- a/index.cgi
+++ b/index.cgi
@@ -12,6 +12,7 @@ BEGIN { ($ROOT = abs_path $0) =~ s{index\.cgi$}{}; }
my @changes = (
+ [ '2012-12-15', '/globster', 'Announcing yet another awesome project: Globster!' ],
[ '2012-12-02', '/ncdu/jsonfmt', 'Documented the ncdu export file format' ],
[ '2012-11-04', '/ncdc', 'ncdc 1.14 released' ],
[ '2012-10-17', '/dump', 'Added reference to my repo of small C libs to the code dump' ],
@@ -79,6 +80,8 @@ TUWF::register(
qr{ncdc/man} => sub { podpage(shift, 'ncdc-man', 'ncdc', 'man', 'Ncdc Manual', 1) },
qr{ncdc/install} => sub { podpage(shift, 'ncdc-install', 'ncdc', 'install', 'Ncdc Installation Instructions', 1) },
qr{ncdc/changes} => sub { changelog(shift, 'ncdc-changelog', 'ncdc', 'ncdc', 'changes', 'Ncdc Changelog') },
+ qr{globster} => sub { podpage(shift, 'globster', 'globster', '', 'The Globster Direct Connect Client') },
+ qr{globster/api} => sub { podpage(shift, 'globster-api', 'globster', 'api', 'The Globster D-Bus API', 1) },
qr{tuwf} => sub { podpage(shift, 'tuwf', 'tuwf', '', 'The Ultimate Website Framework') },
qr{tuwf/man(?:/(db|misc|request|response|xml))?} => \&tuwfmanual,
qr{tuwf/changes} => sub { changelog(shift, 'tuwf-changelog', 'TUWF', 'tuwf', 'changes', 'TUWF Changelog') },
@@ -380,7 +383,7 @@ sub genChanges {
sub htmlHeader {
my $s = shift;
my %o = (
- spec => { map +($_,1), qw|ncdu ncdc tuwf| },
+ spec => { map +($_,1), qw|ncdu ncdc globster tuwf| },
page => '',
sec => '',
sec2 => '',
@@ -462,6 +465,9 @@ sub htmlMenu {
$m->('/ncdc/changes', 'Changelog', $o{sec} eq 'changes');
$m->('/ncdc/scr', 'Screenshots', $o{sec} eq 'scr');
$m->('/ncdc/bug', 'Bug tracker', $o{sec} eq 'bug');
+ } elsif($o{page} eq 'globster') {
+ $m->('/globster', 'Info', !$o{sec});
+ $m->('/globster/api', 'API Docs', $o{sec} eq 'api');
} elsif($o{page} eq 'tuwf') {
$m->('/tuwf', 'Info', !$o{sec});
$m->('/tuwf/man', 'Manual', $o{sec} eq 'man', sub {
@@ -474,12 +480,13 @@ sub htmlMenu {
});
$m->('/tuwf/changes', 'Changelog', $o{sec} eq 'changes');
} else {
- $m->('/', 'Home', !$o{page});
- $m->('/ncdu', 'Ncdu ');
- $m->('/ncdc', 'Ncdc ');
- $m->('/tuwf', 'Tuwf ');
- $m->('/doc', 'Articles', $o{page} eq 'doc');
- $m->('/dump', 'Code dump', $o{page} eq 'dump', sub {
+ $m->('/', 'Home', !$o{page});
+ $m->('/ncdu', 'Ncdu ');
+ $m->('/ncdc', 'Ncdc ');
+ $m->('/globster', 'Globster ');
+ $m->('/tuwf', 'Tuwf ');
+ $m->('/doc', 'Articles', $o{page} eq 'doc');
+ $m->('/dump', 'Code dump', $o{page} eq 'dump', sub {
$m->('/dump', 'Misc.', $o{page} eq 'dump' && !$o{sec});
$m->('/demo', 'Demos', $o{page} eq 'dump' && $o{sec} eq 'demo');
$m->('/dump/awshrink','AWShrink', $o{page} eq 'dump' && $o{sec} eq 'awshrink');
diff --git a/style.css b/style.css
index 65739ee..49fd304 100644
--- a/style.css
+++ b/style.css
@@ -41,7 +41,7 @@ p + ul, p + ol { margin-top: -10px }
pre { padding-left: 0 }
pre, code, pre b { font: 11px monospace; }
pre b { font-weight: bold }
-pre { background: #f5f5f5; border: 1px dotted #aaa; margin: 5px 10px; display: block; padding: 5px 5px 5px 0; }
+pre { margin: 0 0 10px 18px; display: block; padding: 0; border-left: 1px dotted #999 }
dd { margin-left: 15px }
dt a { color: #333 }
dt { margin-left: 10px }