From 2e29709225a50a0428d1e954cd5c4c86adc7ace2 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sun, 16 Dec 2012 09:48:20 +0100 Subject: [PATCH] Added Globster project --- dat/globster | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ dat/globster-api | 1 + index.cgi | 21 +++++++---- style.css | 2 +- 4 files changed, 110 insertions(+), 8 deletions(-) create mode 100644 dat/globster create mode 120000 dat/globster-api 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 }