Fix ncdc man page + Add index and Atom feeds

This commit is contained in:
Yorhel 2019-03-23 13:02:22 +01:00
parent 6242b2ee9c
commit d5e2d93a2e
7 changed files with 1169 additions and 14 deletions

9
.gitignore vendored
View file

@ -9,10 +9,10 @@ dat/globster/daemon.md
dat/globster/daemon.pod
dat/globster/launch.md
dat/globster/launch.pod
dat/index.md
dat/ncdc/changes.log
dat/ncdc/changes.md
dat/ncdc/man.md
dat/ncdc/man.pod
dat/ncdu/changes.log
dat/ncdu/changes.md
dat/ncdu/man.md
@ -54,19 +54,24 @@ pub/dump/demo.html
pub/dump/grenamr.html
pub/dump/insbench.html
pub/dump/nccolour.html
pub/feed.atom
pub/globster.html
pub/globster/api.html
pub/globster/ctl.html
pub/globster/daemon.html
pub/globster/feed.atom
pub/globster/launch.html
pub/index.html
pub/ncdc.html
pub/ncdc/changes.html
pub/ncdc/faq.html
pub/ncdc/feed.atom
pub/ncdc/install.html
pub/ncdc/man.html
pub/ncdc/scr.html
pub/ncdu.html
pub/ncdu/changes.html
pub/ncdu/feed.atom
pub/ncdu/jsonfmt.html
pub/ncdu/man.html
pub/ncdu/scr.html
@ -75,6 +80,7 @@ pub/nginx-confgen/changes.html
pub/nginx-confgen/man.html
pub/tuwf.html
pub/tuwf/changes.html
pub/tuwf/feed.atom
pub/tuwf/man.html
pub/tuwf/man/db.html
pub/tuwf/man/intro.html
@ -85,4 +91,5 @@ pub/tuwf/man/validate.html
pub/tuwf/man/xml.html
pub/ylib.html
pub/yxml.html
pub/yxml/feed.atom
pub/yxml/man.html

View file

@ -32,6 +32,7 @@ PAGES=\
"globster/ctl.pod https://g.blicky.net/globster.git/plain/doc/globsterctl.pod The globsterctl(1) Man Page"\
"globster/daemon.pod https://g.blicky.net/globster.git/plain/doc/globster.pod The globster(1) Man Page"\
"globster/launch.pod https://g.blicky.net/globster.git/plain/doc/globster-launch.pod The globster-launch(1) Man Page"\
"index.md"\
"ncdc.md"\
"ncdc/changes.log https://g.blicky.net/ncdc.git/plain/ChangeLog Ncdc Release History"\
"ncdc/faq.md"\
@ -61,9 +62,19 @@ PAGES=\
"yxml/man.md"
# Files generated by updates.pl
UPDATES=\
dat/index.md\
pub/feed.atom\
pub/globster/feed.atom\
pub/ncdc/feed.atom\
pub/ncdu/feed.atom\
pub/tuwf/feed.atom\
pub/yxml/feed.atom
# Files we need to download
FETCH := $(shell for i in ${PAGES}; do echo "$$i" | grep -Eo '^[^ ]+ +[^-][^ ]+' | sed -E 's/^([^ ]+).*/dat\/\1/'; done)
FETCH := $(shell for i in ${PAGES}; do echo "$$i" | grep -Eo '^[^ ]+ +[^ -][^ ]+' | sed -E 's/^([^ ]+).*/dat\/\1/'; done)
# List of generated .html files
HTML_OUT := $(shell for i in ${PAGES}; do echo "$$i" | sed -E 's/^([^ ]+)\.[^\. ]+.*$$/pub\/\1.html/'; done)
@ -75,12 +86,18 @@ POD_MD := $(shell for i in ${PAGES}; do echo "$$i" | grep -Eo '^[^ ]+\.pod'
CHANGES_MD := $(shell for i in ${PAGES}; do echo "$$i" | grep -Eo '^[^ ]+\.log' | sed -E 's/(.+)\.log$$/dat\/\1.md/'; done)
# All fetched & generated files
CLEAN := ${FETCH} ${POD_MD} ${CHANGES_MD} ${HTML_OUT}
CLEAN := ${FETCH} ${POD_MD} ${CHANGES_MD} ${HTML_OUT} ${UPDATES}
.PHONY: all clean
all: .gitignore ${HTML_OUT}
all: .gitignore ${HTML_OUT} ${UPDATES}
${UPDATES}: updates.pl
@echo "UPDATE $@"
@mkdir -p $$(dirname "$@")
@./updates.pl "$@" >"$@"
${FETCH}: dat/%:

View file

@ -5,6 +5,7 @@ Build-time:
- GNU Make
- curl
- Perl (+ Pod::Simple)
- TUWF
- pandoc
Run-time (for the issue tracker):

View file

@ -1,9 +0,0 @@
=pod
This site is an attempt to publish and organise my various open source programs
and libraries on one central location.
[html]</p><h2>Changes <a href="/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed" /></a></h2>
<p>[yh-changes]
É

1007
dat/ncdc/man.pod Normal file

File diff suppressed because it is too large Load diff

View file

@ -14,7 +14,7 @@
<nav>
$if(menu-main)$
<ul>
<li><a href="/" class="item-index">Home</a></li>
<li><a href="/" class="item1-index">Home</a></li>
<li><a href="/ncdu" class="special">Ncdu </a></li>
<li><a href="/ncdc" class="special">Ncdc </a></li>
<li><a href="/tuwf" class="special">Tuwf </a></li>

132
updates.pl Executable file
View file

@ -0,0 +1,132 @@
#!/usr/bin/perl
@UPDATES=map [split(/ +/,$_,3)], split /\n/, <<_;
2019-02-04 /ncdu ncdu 1.14 released
2018-02-23 /nginx-confgen nginx-confgen 1.2 released
2018-02-18 /tuwf TUWF 1.2 released
2018-01-29 /ncdu ncdu 1.13 released
2018-01-24 /nginx-confgen nginx-confgen 1.1 released
2018-01-19 /nginx-confgen New project: nginx-confgen
2017-05-28 /doc/funcweb New article: An Opinionated Survey of Functional Web Development
2016-12-30 /ncdc ncdc 1.20 released
2016-08-24 /ncdu ncdu 1.12 released
2016-08-16 /dump/btrfssize Uploaded btrfs-size.pl
2015-09-27 /tuwf TUWF 1.0 released
2015-04-05 /ncdu ncdu 1.11 released
2014-07-29 /doc/easyipc New article: The Sorry State of Convenient IPC
2014-06-25 /doc Uploaded my masters thesis
2014-04-23 /ncdc ncdc 1.19.1 released
2014-02-11 /ncdc ncdc 1.19 released
2014-01-09 /doc/dcstats Uploaded an article on DC file list stats
2013-11-14 /yxml/man yxml now has a manual
2013-10-05 /ncdc ncdc 1.18.1 released
2013-09-25 /ncdc ncdc 1.18 released
2013-09-03 /yxml Announcing yxml: A small, fast and correct XML parser
2013-07-05 /dump/insbench Documented a little data structure benchmark
2013-06-15 /ncdc ncdc 1.17 released
2013-05-09 /ncdu ncdu 1.10 released
2013-04-04 /ylib Created a page for Ylib
2013-04-03 /ncdc Created a mailing list for ncdc
2013-03-23 /ncdc ncdc 1.16.1 released.
2013-03-02 /ncdc ncdc 1.15 released.
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
2012-10-07 /dump#maildir.pl Added maildir.pl to the code dump
2012-09-27 /ncdu ncdu 1.9 released.
2012-09-25 /dump#dbusev.c Added dbusev.c to the code dump
2012-08-16 /ncdc ncdc 1.13 released.
2012-07-10 /ncdc ncdc 1.12 released.
2012-05-15 /ncdc ncdc 1.11 released.
2012-05-03 /ncdc/install Added installation instructions for ncdc.
2012-05-03 /ncdc ncdc 1.10 released.
2012-04-10 / Minor site re-style: ncdu/ncdc/tuwf now have their own menu.
2012-03-30 /dump Updated ncdc-share-report for Go 1
2012-03-24 /ncdu/bug Moved ncdu bug tracker from sourceforge to this site
2012-03-17 /ncdc/bug Wrote a small bug tracker for ncdc
2012-03-14 /ncdc ncdc 1.9 released.
2012-02-15 /doc/commvis Added an article on my new communication system.
2012-02-13 /ncdc ncdc 1.8 released.
2012-01-19 /tuwf TUWF 0.2 released.
2012-01-17 / Complete site redesign.
2011-12-30 /ncdc ncdc 1.7 released!
2011-12-07 /ncdc ncdc 1.6 released!
2011-11-26 /doc Added article section and the article on SQLite.
2011-11-03 /ncdu ncdu 1.8 released!
2011-11-03 /ncdc ncdc 1.5 released!
2011-10-26 /ncdc ncdc 1.4 released!
2011-10-19 / PGP-signed all releases of ncdu, ncdc and TUWF.
2011-10-14 /ncdc ncdc 1.3 released!
2011-09-25 /ncdc ncdc 1.1 released - follwed by a 1.2 quickfix.
2011-09-16 /ncdc ncdc 1.0 released!
2011-09-15 /ncdc/scr Added some screenshots for ncdu.
2011-09-03 /ncdc ncdc 0.9 released!
2011-08-26 /ncdc ncdc 0.8 released!
2011-08-17 /ncdc ncdc 0.7 released!
2011-08-08 /ncdc ncdc 0.6 released & user guide updated
2011-08-02 /ncdc ncdc 0.5 released!
2011-07-23 /ncdc ncdc 0.4 released!
2011-07-15 /ncdc ncdc 0.3 released!
2011-06-27 /ncdc ncdc 0.2 released!
2011-06-20 /ncdc ncdc 0.1 released! And wrote a user guide for it.
2011-06-11 /dump/nccolour Added NCurses colour experiment
2011-06-03 /ncdc Added my latest project: ncdc
2011-02-07 /tuwf TUWF 0.1 released and now also available on CPAN
2011-01-27 /tuwf Documented and uploaded one of my older projects: TUWF
2011-01-09 /dump Added my json.mll OCaml library to code dump
2010-08-13 /ncdu ncdu 1.7 released!
2009-12-22 /dump Added vinfo.c script to code dump
2009-10-23 /ncdu ncdu 1.6 released!
2009-09-21 / Tiny CSS fix to make this site look good in certain configurations.
2009-05-02 /ncdu ncdu 1.5 released!
2009-04-30 / Site redesign and reorganisation.
_
sub home {
print "% Yorhel's Projects\n\n";
print "This site is an attempt to publish and organise my various open source programs and libraries on one central location.\n\n";
print qq{## Changes <a href="/feed.atom"><img src="/img/feed_icon.png" alt="Atom feed"></a>\n\n};
for (@UPDATES) {
printf "- `%s` - [%s](%s)\n", @{$_}[0,2,1];
}
}
use TUWF::XML ':xml';
use POSIX 'strftime';
sub atom {
$sub = shift;
$self = 'https://dev.yorhel.nl/' . ($sub ? "$sub/" : ''). 'feed.atom';
TUWF::XML->new(default => 1, pretty => 2);
xml;
tag feed => xmlns => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en', 'xml:base' => 'https://dev.yorhel.nl/', sub {
tag title => $sub ? "\u$sub Project Announcements" : "Yorhel's Projects";
tag updated => strftime('%Y-%m-%dT%H:%M:%SZ', gmtime time);
tag id => $self;
tag link => rel => 'self', type => 'application/atom+xml', href => $self, undef;
tag link => rel => 'alternate', type => 'text/html', href => 'https://dev.yorhel.nl/'.$sub, undef;
for(@UPDATES) {
next if $sub && (!$_->[1] || $_->[1] !~ /^\/\Q$sub/);
last if $n++ >= 10;
tag 'entry', sub {
tag id => "https://dev.yorhel.nl$_->[1]#$_->[0]";
tag title => $_->[2];
tag updated => $_->[0].'T12:00:00Z';
tag published => $_->[0].'T12:00:00Z';
tag 'author', sub {
tag name => 'Yoran Heling';
tag uri => 'https://dev.yorhel.nl/';
tag email => 'projects@yorhel.nl';
};
tag link => rel => 'alternate', type => 'text/html', href => "https://dev.yorhel.nl$_->[1]", undef;
};
}
}
}
$_ = shift;
home if $_ eq 'dat/index.md';
atom $1 if m{pub/(?:([^/]+)/)?feed.atom};