homepage.git
4 weeks agoRelease cdecl99-1.1. master
Nick Bowler [Sun, 14 Mar 2021 04:35:04 +0000 (23:35 -0500)]
Release cdecl99-1.1.

Bug-fix release.

5 weeks agoRelease cdecl99-1.
Nick Bowler [Wed, 3 Mar 2021 01:06:19 +0000 (20:06 -0500)]
Release cdecl99-1.

Almost a decade since I originally put this application together,
this is long overdue.

6 weeks agoUse special SCSS comments for source and copyright info.
Nick Bowler [Wed, 24 Feb 2021 04:08:16 +0000 (23:08 -0500)]
Use special SCSS comments for source and copyright info.

SCSS will preserve comments that begin with /*! even when writing
out compressed CSS.  While I'm not sure if I want to actually do this,
let's write out such comments for the source and copyright info which
should not be omitted.

6 weeks agoConvert cdecl99 project page to use bundled README.md.
Nick Bowler [Wed, 24 Feb 2021 02:24:48 +0000 (21:24 -0500)]
Convert cdecl99 project page to use bundled README.md.

6 weeks agoTry to allow word wrapping to occur in email addresses.
Nick Bowler [Wed, 24 Feb 2021 01:53:09 +0000 (20:53 -0500)]
Try to allow word wrapping to occur in email addresses.

6 weeks agoConsolidate some clicky table label styles.
Nick Bowler [Tue, 23 Feb 2021 23:26:47 +0000 (18:26 -0500)]
Consolidate some clicky table label styles.

There is a section of label styles that are the same for all headings,
and we can use a common class to avoid having to replicate the styles
for each column.

6 weeks agoAdd separator rows to the sorted part of clicky tables.
Nick Bowler [Tue, 23 Feb 2021 01:46:43 +0000 (20:46 -0500)]
Add separator rows to the sorted part of clicky tables.

Normally these rows are hidden, but if styles are not applied, then
they will help visually separate the default-ordered table from the
jumble of rows representing all other orderings.

6 weeks agoEmbed SVG icons directly into output.
Nick Bowler [Tue, 23 Feb 2021 01:29:38 +0000 (20:29 -0500)]
Embed SVG icons directly into output.

Inlining SVGs directly in the markup seems to interoperate somewhat
better than linking SVGs in img elements, and we can fairly easily
create fallback markup that degrades to a raster image.

Currently this is only applicable to the file listings because the
fallback markup is hardcoded to the icons on these pages.  This will
need to be expanded in the future.

The results seem pretty good, although nothing I do in old Mozilla
versions seems to be able to get the stylesheet sizes to properly
apply to SVG elements, so the icons are rendered correctly but at
the wrong scale.  SVG support can be disabled in this browser and
the fallback works properly.  More work may be required.

7 weeks agoMerge the remove_wj filter into xhtml_compat.
Nick Bowler [Sun, 21 Feb 2021 05:17:00 +0000 (00:17 -0500)]
Merge the remove_wj filter into xhtml_compat.

Both these filters are used together and in every relevant compilation
rule.  The remove_wj filter is just one line and can be easily added
to xhtml_compat.

7 weeks agoAdd filter to shrink SVG icons using scour.
Nick Bowler [Sat, 20 Feb 2021 19:41:45 +0000 (14:41 -0500)]
Add filter to shrink SVG icons using scour.

This reduces the uncompressed size of these images by about 2/3, and
the compressed size by about half, which seems pretty significant.

7 weeks agoImprove styling of command examples.
Nick Bowler [Fri, 19 Feb 2021 05:23:23 +0000 (00:23 -0500)]
Improve styling of command examples.

These example commands are kind of like quotations so wrap the
paragraphs in blockquote tags.  This gives better results in most
browsers when styles are not used.

Then improve the styling overall to be more responsive: the results
are bad when linebreaks are placed in the middle of program options
or filenames, so try to prevent that by only allowing line breaks
where there are spaces.

Then, indent all but the first line to try and visually convey that
this is a continuation of the previous line.

7 weeks agoImprove clicky table generation.
Nick Bowler [Thu, 18 Feb 2021 04:03:33 +0000 (23:03 -0500)]
Improve clicky table generation.

Disentangle the CSS rules for clicky tables from the file listing table
type, and eliminate all id selectors in favour of class selectors.

Then, move all the support markup out of the eruby program and into a
dedicated XSLT program which will perform the necessary transformation
based on a couple attributes added to the table elements.  The inputs,
labels, and the links between them are now automatically generated.

While it's more code overall, hopefully this reduces the complexity
of the implementation by clearly separating the various different parts.
Additionally, this should (if ever needed) make it easy to add clicky
headers to other tables, as well as supporting more than one clicky
table on a page.

7 weeks agoImprove script hack compatibility.
Nick Bowler [Wed, 17 Feb 2021 04:01:02 +0000 (23:01 -0500)]
Improve script hack compatibility.

Old versions of Netscape will actually try and execute these
definitely-not-javascript hacks as Javascript.  So let's try to
avoid that from happening by making the contents look like one
big Javascript comment.

We might need an additional workaround if any of the contents
contains a literal */.  We'll cross that bridge when we get to it.

7 weeks agoImplement sortable file listing tables.
Nick Bowler [Wed, 17 Feb 2021 02:03:20 +0000 (21:03 -0500)]
Implement sortable file listing tables.

Just for fun, let's add clickable headers to sort the file listings by
name, modification time, and file size, both in forward and reverse,
entirely implemented using XHTML and CSS.

7 weeks agoImplement version-aware sorting of file listings.
Nick Bowler [Wed, 17 Feb 2021 01:32:02 +0000 (20:32 -0500)]
Implement version-aware sorting of file listings.

Based on glibc strverscmp, except with better awareness of version
components.  Now slotifier-1.1.tar.gz will appear after slotifier-1,
as expected.

8 weeks agoRelease slotifier-1.1.
Nick Bowler [Mon, 15 Feb 2021 06:06:06 +0000 (01:06 -0500)]
Release slotifier-1.1.

Welp, not even a day and we already need to hotfix the release!
Let's just call it practicing our new release preparation systems...

8 weeks agoRelease slotifier-1.
Nick Bowler [Sun, 14 Feb 2021 19:26:35 +0000 (14:26 -0500)]
Release slotifier-1.

Mostly a trial to see if we can get all the infrastructure in place
to release tarballs tarballs on the website.  Newly introduced is
an "archive" directory, which provides for browseable file listings,
as well as the ability to link to the most recent tar file in the
generated project descriptions.

8 weeks agoWork around git-annex breakage.
Nick Bowler [Sun, 14 Feb 2021 00:32:48 +0000 (19:32 -0500)]
Work around git-annex breakage.

Seems new versions of git annex just bail out when run in a "bare"
repository, (at least when git config core.bare return true).

Problem is, you can create work trees from bare repositories and then
the result is not really "bare" even though git config core.bare will
return "true".  Since site deployment does this, and then tries to run
git annex, we get pointless failures.

Simple enough to just manually set core.bare to false when running
git annex, which seems sufficient to make things work again.

8 weeks agoGenerate slotifier project page from bundled README.md.
Nick Bowler [Sat, 13 Feb 2021 22:30:08 +0000 (17:30 -0500)]
Generate slotifier project page from bundled README.md.

Instead of keeping this information on the website, move most of
the contents of the slotifier project page to that package's README.

Then, use some scripts to pull the contents back into the website
via a git submodule.

9 months agoFix media queries that disable justification.
Nick Bowler [Fri, 10 Jul 2020 05:16:04 +0000 (01:16 -0400)]
Fix media queries that disable justification.

It seems at some point the rules to disable justification on narrow
displays stopped working (or maybe they never worked) due to the main
CSS selectors having higher specificity.

SCSS has a neat trick to expand the media query with matching selectors
which solves this problem nicely.  So let's use that.

9 months agoDon't regenerate smaller images so often.
Nick Bowler [Tue, 7 Jul 2020 01:16:36 +0000 (21:16 -0400)]
Don't regenerate smaller images so often.

It is a bit annoying how nanoc always runs the rule to regenerate
resized images, even if none of the inputs are changed at all.

Since the imgresize filter is quite expensive to run, let's try hacking
around the problem by passing in the final output filename and just
re-using that if it exists and its mtime is newer than the source image.

This is definitely not the most accurate as it will not automatically
regenerate images if the rules change, but I expect any problems due to
this will waste less of my time than regenerating dozens of redundant
images every single time the site is compiled.

9 months agoLet's start a blog!
Nick Bowler [Mon, 6 Jul 2020 03:11:40 +0000 (23:11 -0400)]
Let's start a blog!

Since I wrote this diatribe on fancy styles for HTML tables maybe it's
about time I actually went ahead and pushed it to the actual website.

9 months agoImprove source references for binary items.
Nick Bowler [Fri, 26 Jun 2020 04:11:38 +0000 (00:11 -0400)]
Improve source references for binary items.

Since we binary items are probably annexed it is not particularly
helpful to provide direct links to the symlink in the repository,
as this contains basically zero helpful information.

Instead, let's link to the metadata file when available as that should
at least contain _something_ interesting.

9 months agoFirst stab at images and git-annex.
Nick Bowler [Wed, 24 Jun 2020 05:01:30 +0000 (01:01 -0400)]
First stab at images and git-annex.

Let's add a photo and some filters to produce a handy little image
information page.

It's not so nice to store these (relatively) huge files in git, so we'll
store them in git-annex and update the deployment scripts to handle it.

Nothing links to this image yet as this is pushed mainly to validate the
git-annex deployment, but it will be accessible by direct URI.

The intention is that the site should still compile with missing annexed
components, just that those items will be missing.  In the future we could
perhaps replace them with stubs (so at least the description part of the
info page would work) but we'll save that activity for another day.

9 months agoFix symlink handling in content directory.
Nick Bowler [Fri, 26 Jun 2020 00:11:28 +0000 (20:11 -0400)]
Fix symlink handling in content directory.

In preparation to use git-annex for tracking large binary files, we
need to solve some problems related to its symlinks.  Most importantly
is that the nanoc "filesystem" data source really doesn't like broken
symlinks, so we modify that to avoid major problems.

Next we filter out all missing annex items in a preprocess rule.
Ideally we would replace them with stubs but just dropping them is
acceptable for now.

Finally, for binary items, passthrough rules end up copying the symlink
literally from the content to the output directory.  In the case of symlinks
to the annex directory this is not going to deploy correctly, so we need
a dummy filter to break the link.

9 months agoAdjust whitespace preservation rules.
Nick Bowler [Wed, 24 Jun 2020 05:02:25 +0000 (01:02 -0400)]
Adjust whitespace preservation rules.

We don't generally want to delete whitespace between span elements.

An exception is made if all sibling text nodes are whitespace, in
which case they should all be removed to allow indentation.

9 months agoMake permalinks in section headers optional.
Nick Bowler [Wed, 24 Jun 2020 04:41:47 +0000 (00:41 -0400)]
Make permalinks in section headers optional.

These permalinks seem useful for licenses but maybe not so much
in general.  Let's make that controllable per-document by adding a
parameter to the XSL layout to select whether or not they will
be generated.

9 months agoConvert stylesheet to SCSS and preprocess with SASS.
Nick Bowler [Thu, 27 Feb 2020 18:50:46 +0000 (13:50 -0500)]
Convert stylesheet to SCSS and preprocess with SASS.

This CSS preprocessing tool seems pretty helpful for reducing repetition
in stylesheets.  While it does not make much difference now I hope to
make more use of its features in the future.

9 months agoAdd spaces in self-closing XML tags.
Nick Bowler [Sun, 21 Jun 2020 16:14:01 +0000 (12:14 -0400)]
Add spaces in self-closing XML tags.

Some very old browsers that do not implement XHTML get confused by
tags like <hr/> but have no problem with <hr />.  This is very easy
to accomodate so let's do it.

9 months agoAdd project page for picard plugins.
Nick Bowler [Fri, 19 Jun 2020 04:38:37 +0000 (00:38 -0400)]
Add project page for picard plugins.

14 months agoUpdate gob-dx feature list.
Nick Bowler [Thu, 6 Feb 2020 05:24:02 +0000 (00:24 -0500)]
Update gob-dx feature list.

14 months agoAdd a project page for gob-dx.
Nick Bowler [Mon, 27 Jan 2020 19:33:28 +0000 (14:33 -0500)]
Add a project page for gob-dx.

2 years agoRemove dead definition list cruft.
Nick Bowler [Sat, 16 Feb 2019 05:44:58 +0000 (00:44 -0500)]
Remove dead definition list cruft.

The definition lists for the creative commons text never worked
quite right, and was committed as a comment; don't need that...

2 years agoTweak the footer styles a bit.
Nick Bowler [Thu, 10 Jan 2019 03:59:03 +0000 (22:59 -0500)]
Tweak the footer styles a bit.

Shrink the footer margins too when the header collapses,
and remove a redundant footer style.

2 years agoPut some actual material on the site.
Nick Bowler [Thu, 10 Jan 2019 03:46:40 +0000 (22:46 -0500)]
Put some actual material on the site.

Add an initial projects list and create description pages for
cdecl99 and slotifier.  Introduce a simple navigation mechanism
to these sub-pages.

2 years agoTweak whitespace-preserving templates.
Nick Bowler [Thu, 10 Jan 2019 03:28:53 +0000 (22:28 -0500)]
Tweak whitespace-preserving templates.

We don't want to add whitespace to span-level elements which were
empty to start with, which is normal for e.g. img elements.

Also, if an element contains _only_ whitespace, it was probably put
there on purpose so let's preserve it.

2 years agoAdd an "icon" link with empty data URI.
Nick Bowler [Thu, 10 Jan 2019 03:22:56 +0000 (22:22 -0500)]
Add an "icon" link with empty data URI.

This appears to stop pointless requests to /favicon.ico,
at least in some browsers.

2 years agoAdd a postprocess hook to gzip output text items.
Nick Bowler [Thu, 10 Jan 2019 03:00:58 +0000 (22:00 -0500)]
Add a postprocess hook to gzip output text items.

This enables the use of nginx gzip_static functionality, reducing
per-request processing.  This is only done if GZIP_SITE is set to
a nonempty value in the environment so it can be run only when
publishing to avoid noise when authoring.

2 years agoStrip leading and trailing whitespace from all <p> tags.
Nick Bowler [Wed, 9 Jan 2019 04:27:39 +0000 (23:27 -0500)]
Strip leading and trailing whitespace from all <p> tags.

This should be harmless and improves the pretty-printed output a lot.

2 years agoWork around Nokogiri pretty-print issues.
Nick Bowler [Wed, 9 Jan 2019 01:23:36 +0000 (20:23 -0500)]
Work around Nokogiri pretty-print issues.

In general, pretty-printing XHTML will change its meaning because
whitespace added or removed can affect the results.  Instead of using
the xsl:strip-space functionality which is quite limited, use a normal
template to remove unwanted whitespace-only text nodes which can be
manually tweaked as required.

Then we explicitly add dummy nodes to prevent Nokogiri from reindenting
problematic cases, and finally clean those out just before publishing
(after all XSLT processing is finished).

2 years agoAdd copyright license information.
Nick Bowler [Sat, 23 Jun 2018 17:11:46 +0000 (13:11 -0400)]
Add copyright license information.

2 years agoAdd links from generated pages to source code on gitweb.
Nick Bowler [Sun, 20 May 2018 19:29:28 +0000 (15:29 -0400)]
Add links from generated pages to source code on gitweb.

2 years agoInitial commit
Nick Bowler [Sun, 13 May 2018 22:16:11 +0000 (18:16 -0400)]
Initial commit