simon-git: putty-website (master): Simon Tatham
Commits to Tartarus CVS repository.
tartarus-commits at lists.tartarus.org
Thu Nov 12 19:06:48 GMT 2015
TL;DR:
1442eaa Migrate the entire PuTTY website into Mason.
de9031b Remove the 'use Apache' notice on the mirrors page.
Repository: git://git.tartarus.org/simon/putty-website.git
On the web: http://tartarus.org/~simon-git/gitweb/?p=putty-website.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2015-11-12 19:06:47
commit 1442eaaf1c41a23d316d98b75dcb24361fe24d22
web diff http://tartarus.org/~simon-git/gitweb/?p=putty-website.git;a=commitdiff;h=1442eaaf1c41a23d316d98b75dcb24361fe24d22;hp=d77e00f7252213c77bde87439698def913e1feea
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Nov 12 18:42:50 2015 +0000
Migrate the entire PuTTY website into Mason.
I've been thinking for _ages_ that it was about time I didn't have to
do fiddly hand-editing in lots of places to do simple things like
turning prereleases on and off, or adding a new release and updating
the 'latest version' in n places (and always missing one). Finally,
the time has come: I've thrown out the entire previous set of static
HTML pages, and replaced them with a Perl build script using a set of
Mason templating components.
This new generation system subsumes the previous autogen.pl which
imported pieces of the Halibut PuTTY docs; the guts of autogen.pl
(including its fiddly hyperlink rewriting) live on in
components/halibut.mi, while the Mason system has taken over producing
the nav bar and site header. Also, this same system now puts the site
header etc on individual wishlist item pages; the wishlist's own build
script still exists, but I'm separately committing a change to that
which reduces its HTML output to having the very simplest possible
wrapper.
Further advantages of the new system: the Licence page is now
automatically updated from the LICENCE file in the main source
(correcting some minor out-of-sync-nesses and also arranging one fewer
place to add new copyright holders), and the build script has a
--mirror mode which generates a slightly modified set of pages for
mirror sites to use. (In particular, those have relative links to the
release binaries and docs, obsoleting a previous horrible script I
kept elsewhere which tweaked the main web pages after the fact; also,
those relative links can directly encode the current version number,
which means mirror sites won't depend on Apache any more because they
won't have to provide a 'latest' redirect.)
Routine maintenance should now be much easier. Updating the site for a
new release is done by dropping a new file into components/releases,
which contains everything necessary (version number, release date,
front page news item text, Changes page text). Adding other news items
on the front page is done by dropping a file into components/news.
Turning pre-releases on and off is a matter of editing one line in
components/Base.mc, and changing the expiry date cutoff for past
front-page news items is likewise a one-line edit in home.mc.
The system degrades gracefully in the absence of any of its
dependencies: if you don't provide a config.pl pointing at places to
find the wishlist, licence and Halibut docs, then the Mason build
script will still produce the rest of the website, with warning boxes
indicating the missing pieces. So it should be easy to maintain one
part without having to configure all the rest. Also, there's a --file
option to build.pl which adjusts the links between pages to include an
explicit "index.html", for the convenience of people previewing
changes without an actual web server.
Also, because the nav bar and site framework is now centralised into
one place, it'll be easier to experiment with further changes to the
overall site scheme and style. Who knows, we may adopt a little
judicious CSS one of these days...
(One final caveat: this is Mason 2, i.e. what you get if you apt-get
install libmason-perl and then 'use Mason'. If you apt-get install
libhtml-mason-perl and 'use HTML::Mason', that's Mason 1 and not
compatible.)
.gitignore | 8 +-
.htaccess | 37 -
autogen.pl | 97 --
build.pl | 115 ++
changes.html | 1412 -------------------------
components/Base.mc | 120 +++
components/changelog.mc | 21 +
components/changelogitem.mi | 34 +
components/cryptolaw.mi | 15 +
components/docs.mc | 22 +
components/download-binary.mi | 136 +++
components/download-docs.mi | 29 +
components/download-prerelease.mi | 28 +
components/download-release.mi | 27 +
components/download-snapshot.mi | 26 +
components/download-source.mi | 17 +
components/download-winsrc.mi | 17 +
components/download.mc | 115 ++
components/faq.mc | 3 +
components/feedback.mc | 3 +
components/halibut.mi | 66 ++
components/home.mc | 59 ++
components/htaccess.mc | 23 +
components/keys.mc | 3 +
components/licence.mc | 69 ++
components/links.mc | 448 ++++++++
components/maillist.mc | 33 +
components/mirrors.mc | 487 +++++++++
components/news/0.62-pre.mi | 13 +
components/news/0.64-pre.mi | 13 +
components/news/0.65-pre.mi | 13 +
components/news/2002-too-much-email.mi | 21 +
components/news/2003-5th-birthday.mi | 9 +
components/news/2003-alpha-absence.mi | 14 +
components/news/2003-alpha-reinstatement.mi | 8 +
components/news/2004-svn-migration.mi | 10 +
components/news/2004-trojan-0.56-installer.mi | 16 +
components/news/2005-xp-wont-run.mi | 11 +
components/news/2006-alpha-deprecation.mi | 10 +
components/news/2010-google-confusion.mi | 13 +
components/news/2015-antivirus-fp.mi | 26 +
components/news/2015-impersonator.mi | 6 +
components/news/2015-key-rollover.mi | 11 +
components/newsitem.mi | 8 +
components/releases/0.45.mi | 30 +
components/releases/0.46.mi | 37 +
components/releases/0.47.mi | 11 +
components/releases/0.48.mi | 89 ++
components/releases/0.49.mi | 143 +++
components/releases/0.50.mi | 123 +++
components/releases/0.51.mi | 141 +++
components/releases/0.52.mi | 234 ++++
components/releases/0.53.mi | 72 ++
components/releases/0.53b.mi | 20 +
components/releases/0.54.mi | 22 +
components/releases/0.55.mi | 39 +
components/releases/0.56.mi | 62 ++
components/releases/0.57.mi | 34 +
components/releases/0.58.mi | 51 +
components/releases/0.59.mi | 117 ++
components/releases/0.60.mi | 35 +
components/releases/0.61.mi | 49 +
components/releases/0.62.mi | 38 +
components/releases/0.63.mi | 77 ++
components/releases/0.64.mi | 52 +
components/releases/0.65.mi | 33 +
components/releases/0.66.mi | 25 +
components/team.mc | 37 +
components/wishlist.mc | 69 ++
components/wishlistitem.mc | 39 +
docs.html | 126 ---
download.html | 528 ---------
index.html | 161 ---
keys/master-2015.asc | 103 --
keys/master-dsa.asc | 28 -
keys/master-rsa.asc | 27 -
keys/release-2015.asc | 30 -
keys/release-dsa.asc | 30 -
keys/release-rsa.asc | 27 -
keys/snapshot-2015.asc | 30 -
keys/snapshot-dsa.asc | 20 -
keys/snapshot-rsa.asc | 17 -
licence.html | 89 --
links.html | 478 ---------
maillist.html | 63 --
mirrors.html | 517 ---------
putty.ico | Bin 318 -> 0 bytes
sitestyle.css | 12 -
static/keys/master-2015.asc | 103 ++
static/keys/master-dsa.asc | 28 +
static/keys/master-rsa.asc | 27 +
static/keys/release-2015.asc | 30 +
static/keys/release-dsa.asc | 30 +
static/keys/release-rsa.asc | 27 +
static/keys/snapshot-2015.asc | 30 +
static/keys/snapshot-dsa.asc | 20 +
static/keys/snapshot-rsa.asc | 17 +
static/putty.ico | Bin 0 -> 318 bytes
static/sitestyle.css | 20 +
team.html | 67 --
100 files changed, 4131 insertions(+), 3905 deletions(-)
commit de9031b3e945daaf3d773a0d37c40640e39ce2cc
web diff http://tartarus.org/~simon-git/gitweb/?p=putty-website.git;a=commitdiff;h=de9031b3e945daaf3d773a0d37c40640e39ce2cc;hp=1442eaaf1c41a23d316d98b75dcb24361fe24d22
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Nov 12 18:42:55 2015 +0000
Remove the 'use Apache' notice on the mirrors page.
Now it shouldn't be necessary, since the Mason build of the mirror
site will directly link to binaries by their version-numbered URL.
components/mirrors.mc | 17 -----------------
1 file changed, 17 deletions(-)
More information about the tartarus-commits
mailing list