]>
gitweb.michael.orlitzky.com - charm-bypass.git/log
Michael Orlitzky [Wed, 8 Nov 2023 23:58:10 +0000 (18:58 -0500)]
tableau.svg: overlap the city and its copy by one unit
This fixes a display glitch where there's one pixel of space visible
between the end of the city (or its copy) and the beginning of its
copy (or the original).
Michael Orlitzky [Wed, 8 Nov 2023 23:30:40 +0000 (18:30 -0500)]
README: document the new tidy-html5 test suite requirement
Michael Orlitzky [Wed, 8 Nov 2023 23:30:03 +0000 (18:30 -0500)]
Makefile.am: run the new test suite with "make check"
Michael Orlitzky [Wed, 8 Nov 2023 23:29:49 +0000 (18:29 -0500)]
run-tests.sh: new minimal test suite
Michael Orlitzky [Wed, 8 Nov 2023 22:38:15 +0000 (17:38 -0500)]
index.html.in: speed up the tree-scroll animation some more
They move relatively fast compared to the city skyline.
Michael Orlitzky [Wed, 8 Nov 2023 22:33:11 +0000 (17:33 -0500)]
tableau.svg: strip all stroke-foo properties that follow stroke:none
Inkscape crams all of these properties into the file, I guess so that
information isn't lost if you disable and re-enable the stroke on some
element. And most of them are stripped during minimization, but a
bunch of impotent stroke-widths make it through to the final document.
I've stripped all of it by hand, since removing it all was just as
easy as removing the stroke-width.
Michael Orlitzky [Wed, 8 Nov 2023 21:55:46 +0000 (16:55 -0500)]
tableau.svg: shrink/translate everything down to width=2932
Previously, we had width=2932.6 and a matching viewport. It shouldn't
matter when a viewport is defined, but in the interest of pedantry:
SVG2 punts to CSS2.1 for the width, and CSS2.1 doesn't support user
(SVG internal) coordinates. Instead, width=2932.6 would represent
pixels, and 0.6 pixels doesn't make sense. We avoid the non-issue by
shrinking/translating things a tiny bit.
Michael Orlitzky [Wed, 8 Nov 2023 21:24:27 +0000 (16:24 -0500)]
svgclean.xsl: strip all deprecated xml:space attributes
Michael Orlitzky [Wed, 8 Nov 2023 21:10:03 +0000 (16:10 -0500)]
Makefile.am: prefix svgclean.xsl with $(srcdir) for out-of-source builds
Michael Orlitzky [Wed, 8 Nov 2023 21:06:00 +0000 (16:06 -0500)]
Makefile.am: pass the output file to sfd2woff.ff
This is required as of
ce8a3cc46218347579ca35e370d1afb20a5a4f48 . We
also prefix the path to sfd2woff.ff with $(srcdir) for out-of-source
builds.
Michael Orlitzky [Wed, 8 Nov 2023 21:05:25 +0000 (16:05 -0500)]
sfd2woff.ff: take the output file as another argument
In out-of-source builds, we can't write the output to the same
directory as the input.
Michael Orlitzky [Wed, 8 Nov 2023 20:55:32 +0000 (15:55 -0500)]
Makefile.am: clean up a bit, and include everything in the dist tarball
Michael Orlitzky [Wed, 8 Nov 2023 20:51:12 +0000 (15:51 -0500)]
.gitignore: ignore the dist tarball
Michael Orlitzky [Wed, 8 Nov 2023 16:39:41 +0000 (11:39 -0500)]
Makefile.am: don't include "doc" and "src" subdirectories
Because they no longer exist.
Michael Orlitzky [Wed, 8 Nov 2023 16:38:51 +0000 (11:38 -0500)]
doc: move into the top-level
We're not doing subdirectories any more, and there are only two files
in here.
Michael Orlitzky [Wed, 8 Nov 2023 16:37:57 +0000 (11:37 -0500)]
doc/LICENSE: rename to doc/COPYING
The name COPYING is supported out-of-the-box by autoconf, and my
preferences just isn't that strong.
Michael Orlitzky [Wed, 8 Nov 2023 16:35:51 +0000 (11:35 -0500)]
index.html.in: speed up the animations
They were running a little bit slower than they should have been.
Michael Orlitzky [Wed, 8 Nov 2023 12:12:11 +0000 (07:12 -0500)]
CharmBypass-Bold.sfd: drop unused glyphs
The only thing we use bold for are the service identifiers, and there
are only two of those: F and R.
Michael Orlitzky [Tue, 7 Nov 2023 23:19:52 +0000 (18:19 -0500)]
index.html.in: replace the hint with a link to my introduction
Michael Orlitzky [Tue, 7 Nov 2023 23:15:53 +0000 (18:15 -0500)]
index.html.in: new slogan and better semantic markup for it
Michael Orlitzky [Tue, 7 Nov 2023 14:01:45 +0000 (09:01 -0500)]
favicon.svg: use an arrow instead of a calligraphic stroke
Michael Orlitzky [Sat, 4 Nov 2023 15:07:57 +0000 (11:07 -0400)]
index.html.in: add missing origin/destination => zone mappings
Michael Orlitzky [Sat, 4 Nov 2023 14:18:54 +0000 (10:18 -0400)]
index.html.in: use a footnote (dagger) to explain the Commuter Bus zone
Because, just kidding, <abbr> doesn't work at all in any mobile
browsers.
Michael Orlitzky [Sat, 4 Nov 2023 14:07:11 +0000 (10:07 -0400)]
index.html.in: use <abbr> to explain the Commuter Bus zone
Michael Orlitzky [Sat, 4 Nov 2023 13:43:29 +0000 (09:43 -0400)]
index.html.in: yet another slogan tweak
Michael Orlitzky [Sat, 4 Nov 2023 00:32:02 +0000 (20:32 -0400)]
index.html.in: work around busted form validation in mobile Firefox
Shit's broke yo:
https://bugzilla.mozilla.org/show_bug.cgi?id=
1510450
So now when the user-agent contains both "firefox" and "mobile", we
display our own errors and disable the submit button.
Michael Orlitzky [Sat, 4 Nov 2023 00:31:48 +0000 (20:31 -0400)]
index.html.in: replace a few tabs with spaces
Michael Orlitzky [Fri, 3 Nov 2023 20:32:31 +0000 (16:32 -0400)]
index.html.in: reword the daily security code hint
Michael Orlitzky [Fri, 3 Nov 2023 20:31:57 +0000 (16:31 -0400)]
index.html.in: set the body font to sans-serif for consistency
All of the SVG fields are sans-serif.
Michael Orlitzky [Fri, 3 Nov 2023 17:49:24 +0000 (13:49 -0400)]
index.html.in: display a special error message if origin == destination
Michael Orlitzky [Fri, 3 Nov 2023 17:42:21 +0000 (13:42 -0400)]
index.html.in: also validate the origin/destination when the page loads
Firefox (at least) retains your origin/destination selections when the
page reloads, so if we don't validate those choices at page load, it's
possible to "skip" validation of an invalid pair by submitting the
form right after a reload.
Michael Orlitzky [Fri, 3 Nov 2023 17:42:07 +0000 (13:42 -0400)]
index.html.in: fix typos in the origin/destination => zone map
Michael Orlitzky [Fri, 3 Nov 2023 17:29:34 +0000 (13:29 -0400)]
index.html.in: validate MARC origin/destination before submission
Michael Orlitzky [Fri, 3 Nov 2023 17:26:58 +0000 (13:26 -0400)]
index.html.in: set default zone, origin, and destination options
Michael Orlitzky [Fri, 3 Nov 2023 17:25:55 +0000 (13:25 -0400)]
index.html.in: add a few more (origin,destination) => zone mappings
Michael Orlitzky [Fri, 3 Nov 2023 16:43:44 +0000 (12:43 -0400)]
index.html.in: use strict equality checks everywhere
Michael Orlitzky [Fri, 3 Nov 2023 16:11:25 +0000 (12:11 -0400)]
index.html.in: big Javascript and comment cleanup
Michael Orlitzky [Fri, 3 Nov 2023 14:55:53 +0000 (10:55 -0400)]
index.html.in: whitespace cleanup
Michael Orlitzky [Fri, 3 Nov 2023 14:44:52 +0000 (10:44 -0400)]
index.html.in: use less vertical (white)space for keyframes
Michael Orlitzky [Fri, 3 Nov 2023 14:37:17 +0000 (10:37 -0400)]
Makefile.am: comment the new favicon target
Michael Orlitzky [Fri, 3 Nov 2023 14:34:05 +0000 (10:34 -0400)]
.gitignore: ignore favicon build products
Michael Orlitzky [Fri, 3 Nov 2023 14:32:13 +0000 (10:32 -0400)]
Makefile.am: base64-encode and substitute the favicon into index.html
Michael Orlitzky [Fri, 3 Nov 2023 14:31:14 +0000 (10:31 -0400)]
index.html.in: replace the favicon link with a @PLACEHOLDER@
This is in preparation for (base64) inlining the favicon data just
like we do with the fonts. The whole thing should be self-contained.
Michael Orlitzky [Fri, 3 Nov 2023 14:22:23 +0000 (10:22 -0400)]
Makefile.am: factor our the "scour" command into a macro
Michael Orlitzky [Fri, 3 Nov 2023 07:16:20 +0000 (03:16 -0400)]
index.html.in: add meta-charset element
Without this, the unicode right-arrow doesn't show up on android. (If
we try to outsmart it with an XML entity reference, our minimization
pipeline deletes the entity reference and puts the arrow back. Thanks
for that.)
Michael Orlitzky [Fri, 3 Nov 2023 06:08:21 +0000 (02:08 -0400)]
index.html.in: do-over of the legend/form spacing
The legend margin doesn't work the same way in Chrome as it does in
Firefox, so here's another attempt to "evenly" space things
vertically.
Michael Orlitzky [Fri, 3 Nov 2023 05:56:00 +0000 (01:56 -0400)]
index.html.in: rename "Get Ticket" -> "Generate Ticket"
Sounds a bit more like what actually happens? I don't know.
Michael Orlitzky [Fri, 3 Nov 2023 05:55:44 +0000 (01:55 -0400)]
tableau.svg: simplify arrow spacing a tiny bit
Michael Orlitzky [Fri, 3 Nov 2023 05:53:02 +0000 (01:53 -0400)]
index.html.in: use <p> instead of <h3> for radio group labels
This is more semantically correct, and (more to the point) looks
better.
Michael Orlitzky [Fri, 3 Nov 2023 05:49:44 +0000 (01:49 -0400)]
index.html.in: boldface and improved margins for <legend>
I said I wanted to leave the menu controls alone, but this just looks
so much better.
Michael Orlitzky [Fri, 3 Nov 2023 05:47:08 +0000 (01:47 -0400)]
index.html.in: set size="2" on daily code inputs
There's no need for all that box.
Michael Orlitzky [Fri, 3 Nov 2023 05:25:30 +0000 (01:25 -0400)]
index.html.in: change the slogan again
Michael Orlitzky [Fri, 3 Nov 2023 05:21:58 +0000 (01:21 -0400)]
index.html.in: link to the new favicon
Michael Orlitzky [Fri, 3 Nov 2023 05:15:11 +0000 (01:15 -0400)]
favicon.svg: new favicon
Michael Orlitzky [Fri, 3 Nov 2023 03:16:19 +0000 (23:16 -0400)]
index.html.in: fix zone handling for non-MARC services
Michael Orlitzky [Fri, 3 Nov 2023 03:02:50 +0000 (23:02 -0400)]
index.html.in: set the MARC origin/destination when applicable
Michael Orlitzky [Fri, 3 Nov 2023 02:47:58 +0000 (22:47 -0400)]
Makefile.am: preserve origin/destination ids during minimization
Michael Orlitzky [Fri, 3 Nov 2023 02:47:02 +0000 (22:47 -0400)]
svgclean.xsl: fix text node processing
We have to use node() instead of "*" to match (child) text nodes.
Michael Orlitzky [Fri, 3 Nov 2023 02:07:33 +0000 (22:07 -0400)]
tableau.svg: add the MARC Train origin/destination
This (finally?) had to be hacked into the XML by hand because inkscape
isn't smart enough to handle multiple <tspan>s within a single <text>
element. We want to keep the origin, arrow, and destination all as
separate tspans (with ids) so that we can change the origin and
destination easily from a script.
Since I was already hacking it by hand, I cleaned up the XML a bit.
Hopefully it can survive a round trip through inkscape in the future.
Michael Orlitzky [Fri, 3 Nov 2023 02:03:42 +0000 (22:03 -0400)]
CharmBypass-Regular.sfd: add unicode arrowright
This is what CharmPass uses for the -> between the MARC Train origin
and destination.
Michael Orlitzky [Fri, 3 Nov 2023 01:30:42 +0000 (21:30 -0400)]
svgclean.xsl: update a comment
Explain how we're going to group tspans to avoid clobbering them.
Michael Orlitzky [Fri, 3 Nov 2023 00:59:54 +0000 (20:59 -0400)]
index.html.in: handle the MARC Train ticket size and zone setting
Michael Orlitzky [Fri, 3 Nov 2023 00:30:06 +0000 (20:30 -0400)]
index.html.in: use the right font for the zone
Michael Orlitzky [Fri, 3 Nov 2023 00:28:34 +0000 (20:28 -0400)]
index.html.in: set the service zone when the page loads
Michael Orlitzky [Fri, 3 Nov 2023 00:26:31 +0000 (20:26 -0400)]
index.html.in: fix comment header alignment
Michael Orlitzky [Fri, 3 Nov 2023 00:26:08 +0000 (20:26 -0400)]
Makefile.am: preserve the "zone" id during minimization
Michael Orlitzky [Fri, 3 Nov 2023 00:19:07 +0000 (20:19 -0400)]
tableau.svg: don't set "inline-size: 0" on the hidden zone
It already has "display: none;" you're overdoing it.
Michael Orlitzky [Fri, 3 Nov 2023 00:18:40 +0000 (20:18 -0400)]
tableau.svg: add (hidden) service zone to the ticket
Michael Orlitzky [Thu, 2 Nov 2023 21:21:05 +0000 (17:21 -0400)]
index.html.in: begin writing a function to resize the ticket
The BaltimoreLink, Commuter Bus, and MARC Train tickets are all
different sizes and have their service/zone names laid out a little
bit differently.
This commit adds a function, resize_ticket(), that will eventually
handle that.
Michael Orlitzky [Thu, 2 Nov 2023 21:13:38 +0000 (17:13 -0400)]
Makefile.am: preserve the "ticketbg" id when minimizing the tableau
Michael Orlitzky [Thu, 2 Nov 2023 21:13:04 +0000 (17:13 -0400)]
index.html.in: don't double-bold the service identifier
It's too bold.
Michael Orlitzky [Thu, 2 Nov 2023 04:34:33 +0000 (00:34 -0400)]
index.html.in: use "*" instead of "+" for input pattern validation
The two are equivalent given the minlength restriction; I just like
this better.
Michael Orlitzky [Thu, 2 Nov 2023 04:32:29 +0000 (00:32 -0400)]
index.html.in: tweak the slogan and add a security code hint
Michael Orlitzky [Thu, 2 Nov 2023 04:23:45 +0000 (00:23 -0400)]
index.html.in: add the daily security code to the menu
Michael Orlitzky [Thu, 2 Nov 2023 04:22:06 +0000 (00:22 -0400)]
index.html.in: uppercase the security code automatically
There's no reason to do this, except the only reason to do this:
people are dumb and this will help their dumb asses when we make
it possible to change the code via the menu.
Michael Orlitzky [Thu, 2 Nov 2023 02:35:06 +0000 (22:35 -0400)]
index.html.in: make radio buttons on the menu required fields
Michael Orlitzky [Thu, 2 Nov 2023 02:33:17 +0000 (22:33 -0400)]
index.html.in: return the empty string for unknown MARC zones
Michael Orlitzky [Thu, 2 Nov 2023 02:11:47 +0000 (22:11 -0400)]
index.html.in: add a few more MARC Train zone mappings
Michael Orlitzky [Thu, 2 Nov 2023 01:48:50 +0000 (21:48 -0400)]
index.html.in: sketch the MARC zone-setting logic
Michael Orlitzky [Wed, 1 Nov 2023 23:48:46 +0000 (19:48 -0400)]
index.html.in: tweak the slogan
Michael Orlitzky [Wed, 1 Nov 2023 23:46:14 +0000 (19:46 -0400)]
index.html.in: improved menu styling
In particular we no longer reset all of the html/body styles; we leave
them up to the user agent. Only when showing the ticket do we zero out
the margin and padding explicitly.
Michael Orlitzky [Wed, 1 Nov 2023 23:11:54 +0000 (19:11 -0400)]
index.html.in: don't hide the body overflow on the menu screen
Michael Orlitzky [Wed, 1 Nov 2023 23:07:10 +0000 (19:07 -0400)]
index.html.in: add MARC Train origin/destination fields
Michael Orlitzky [Wed, 1 Nov 2023 19:18:45 +0000 (15:18 -0400)]
index.html.in: clean up var/let/const usage
Michael Orlitzky [Wed, 1 Nov 2023 19:14:23 +0000 (15:14 -0400)]
index.html.in: ten-minute expiry for commuter bus tickets
Michael Orlitzky [Wed, 1 Nov 2023 19:09:49 +0000 (15:09 -0400)]
index.html.in: begin the menu process
The page should begin as a form that lets you select a ticket. Only
when that form is submitted should we display the ticket. This commit
starts the transition.
Michael Orlitzky [Wed, 1 Nov 2023 18:37:47 +0000 (14:37 -0400)]
fixup set_service_name
Michael Orlitzky [Wed, 1 Nov 2023 18:10:32 +0000 (14:10 -0400)]
index.html.in: support changing the service name via querystring
Michael Orlitzky [Wed, 1 Nov 2023 18:08:07 +0000 (14:08 -0400)]
index.html.in: support changing the service id via querystring
Michael Orlitzky [Wed, 1 Nov 2023 18:06:01 +0000 (14:06 -0400)]
index.html.in: rename serviceletter -> serviceid
Michael Orlitzky [Wed, 1 Nov 2023 18:01:06 +0000 (14:01 -0400)]
Makefile.am,tableau.svg: rename serviceletter -> serviceid
Michael Orlitzky [Fri, 27 Oct 2023 13:41:39 +0000 (09:41 -0400)]
index.html.in: finally get the code-centering right
There's a conversion between SVG and client coordinates that needs to
happen. With that done, it goes to the center in one try.
Michael Orlitzky [Thu, 26 Oct 2023 22:51:02 +0000 (18:51 -0400)]
index.html.in: don't re-center the security code on window resize
It just doesn't seem to be necessary.
Michael Orlitzky [Thu, 26 Oct 2023 22:49:47 +0000 (18:49 -0400)]
index.html.in: center the security code even harder
Doing it five times works better than two (obviously).
Michael Orlitzky [Thu, 26 Oct 2023 22:31:35 +0000 (18:31 -0400)]
doc/TODO: remove; the code-centering issue is solved enough
Michael Orlitzky [Thu, 26 Oct 2023 22:31:17 +0000 (18:31 -0400)]
index.html.in: add workaround for the code-centering issue
Michael Orlitzky [Thu, 26 Oct 2023 22:21:27 +0000 (18:21 -0400)]
index.html.in: whitespace/comment cleanup
Michael Orlitzky [Thu, 26 Oct 2023 01:40:16 +0000 (21:40 -0400)]
doc/TODO: all (well, almost) transform attributes are gone
The few remaining are horizontal flips that make the front of the tram
out of its back. Inkscape doesn't seem to want to forget those after
an un/regrouping.
Michael Orlitzky [Thu, 26 Oct 2023 01:37:39 +0000 (21:37 -0400)]
tableau.svg: start the bus all the way at the right end
Now that the bus moves right-to-left, it makes sense to align it
with the right-hand edge of the scene.
Michael Orlitzky [Thu, 26 Oct 2023 01:36:09 +0000 (21:36 -0400)]
index.html.in: the bus moves right-to-left
This probably should have become clear when I was drawing the front of
the bus?