]>
gitweb.michael.orlitzky.com - charm-bypass.git/log
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?
Michael Orlitzky [Thu, 26 Oct 2023 01:29:07 +0000 (21:29 -0400)]
doc/TODO: remove the tram/train display glitch item
Now that I've eliminated all of the "transform" attributes, the tram
and train don't actually overlap. The display glitch is no longer
relevant.
Michael Orlitzky [Thu, 26 Oct 2023 01:25:09 +0000 (21:25 -0400)]
tableau.svg: eliminate a bunch of "transform" attributes
Michael Orlitzky [Thu, 26 Oct 2023 00:55:16 +0000 (20:55 -0400)]
index.html.in: make the service letter bold with CSS
Michael Orlitzky [Thu, 26 Oct 2023 00:51:46 +0000 (20:51 -0400)]
index.html.in: remove references to tspans within text elements
The new XSL processing step removes them.
Michael Orlitzky [Wed, 25 Oct 2023 22:57:38 +0000 (18:57 -0400)]
doc/TODO: mention that code centering is weird in multiple browsers
Michael Orlitzky [Wed, 25 Oct 2023 22:56:56 +0000 (18:56 -0400)]
doc/TODO: eliminate "transform" attributes
Michael Orlitzky [Wed, 25 Oct 2023 22:25:35 +0000 (18:25 -0400)]
.gitignore: ignore the new optimized output file tableau.min.min.svg
Michael Orlitzky [Wed, 25 Oct 2023 22:25:04 +0000 (18:25 -0400)]
Makefile.am: add another SVG pre-optimization step using svgclean.xsl
Michael Orlitzky [Wed, 25 Oct 2023 22:15:48 +0000 (18:15 -0400)]
Makefile.am: update sfd2woff -> sfd2woff.ff
Michael Orlitzky [Wed, 25 Oct 2023 22:14:15 +0000 (18:14 -0400)]
sfd2woff: rename to sfd2woff.ff
The ".ff" extension lets FontForge guess which scripting language (the
legacy one) the script uses. Without it, FontForge with python support
will guess wrong and throw errors.
Michael Orlitzky [Wed, 25 Oct 2023 21:15:49 +0000 (17:15 -0400)]
configure.ac: fix all AC_PATH_PROG checks
The third argument to AC_PATH_PROG is a value to set, not an action to
perform, when the test fails. So all of the existing checks were wrong
and failed to fail when the program is missing. I do this for a
living.
Michael Orlitzky [Wed, 25 Oct 2023 21:02:32 +0000 (17:02 -0400)]
doc/README: document the new "xsltproc" build requirement
Michael Orlitzky [Wed, 25 Oct 2023 21:00:26 +0000 (17:00 -0400)]
configure.ac: check for the "xsltproc" program
We'll need this to process our new svgclean.xsl stylesheet that cleans
up the tableau.
Michael Orlitzky [Wed, 25 Oct 2023 20:54:46 +0000 (16:54 -0400)]
svgclean.xsl: new XSL stylesheet to help clean up our inkscape mess
There are a few more cleanup/minimization opportunities left in our
SVG, even after it has been scoured. For example, inkscape wraps all
of its text in redundant <tspan> elements, even when the parent <text>
has the same style as the sole <tspan>. We'd like to remove those, to
simplify the code and save space.
XSLT can do this. This new stylesheet can do this. We add it now, in
preparation for yet another SVG processing phase.
Michael Orlitzky [Wed, 25 Oct 2023 04:42:10 +0000 (00:42 -0400)]
index.html.in: use name "hdelta" consistently for delta-x
Michael Orlitzky [Wed, 25 Oct 2023 02:20:54 +0000 (22:20 -0400)]
index.html.in: fix a mis-indented javascript comment
Michael Orlitzky [Wed, 25 Oct 2023 02:16:33 +0000 (22:16 -0400)]
index.html.in: move a comment up two lines
Michael Orlitzky [Tue, 24 Oct 2023 16:02:44 +0000 (12:02 -0400)]
doc/TODO: new list to keep track of bugs
Michael Orlitzky [Tue, 24 Oct 2023 15:56:50 +0000 (11:56 -0400)]
index.html.in: fall back to sans-serif if webfonts don't work
The serifs are OBVIOUSLY wrong.
Michael Orlitzky [Tue, 24 Oct 2023 15:53:23 +0000 (11:53 -0400)]
index.html.in: use the right font for the security code
Michael Orlitzky [Tue, 24 Oct 2023 15:36:40 +0000 (11:36 -0400)]
index.html.in: javascript cleanup
Encapsulate everything into functions and kick them off with event
listeners. This _mostly_ fixes the centering of the security code.
There is however a slight centering glitch visible upon page load when
the code is (for example) "WW". Resizing the page correctly re-centers
it; leaving only the mystery of why it was not centered to begin with;
we supposedly center it once when the page loads.
Michael Orlitzky [Tue, 24 Oct 2023 15:16:15 +0000 (11:16 -0400)]
index.html.in: center the security code in its container
This is mostly working and just needs some code cleanup. And to be
called when the window resizes. I found an easy solution completely
by accident, so that's nice.
Michael Orlitzky [Tue, 24 Oct 2023 15:15:44 +0000 (11:15 -0400)]
Makefile.am: preserve the "codebg" id
We'll need it to center the security code within its red box.
Michael Orlitzky [Tue, 24 Oct 2023 14:10:39 +0000 (10:10 -0400)]
index.html.in: support random and user-specified security codes
The security code will now be set at page-load to a random two digit
string with characters taken from the set [0-9A-Z]. I've never
actually seen two consecutive digits (zero through nine) in the
official app; but it's good enough for now.
What's better is that you can pass ?code=YO via URL paramaters to set
the code to "YO". Since the code only changes once every day, a
one-way ticket revealing the code now essentially gets you a day pass.
Note: The resulting codes are not usually centered properly (yet).
Michael Orlitzky [Tue, 24 Oct 2023 14:10:07 +0000 (10:10 -0400)]
Makefile.am: don't strip the "codetext" id
We'll need it to change the security code.
Michael Orlitzky [Tue, 24 Oct 2023 13:46:34 +0000 (09:46 -0400)]
index.html.in: do javascript tricks in order of importance
For example, centering the ticket is probably most important. Being
able to tap the screen to switch it to night mode the least.
Michael Orlitzky [Tue, 24 Oct 2023 12:41:39 +0000 (08:41 -0400)]
tableau.svg: rename the "hash" to "securitycode" and group it
That's what Moovel calls it and how I'll reference it.
Michael Orlitzky [Tue, 24 Oct 2023 12:37:38 +0000 (08:37 -0400)]
tableau.svg: unhide the tram
Whoops.
Michael Orlitzky [Tue, 24 Oct 2023 12:36:59 +0000 (08:36 -0400)]
configure.ac: update day.svg -> tableau.svg
Michael Orlitzky [Tue, 24 Oct 2023 12:34:31 +0000 (08:34 -0400)]
.gitignore: update day.svg -> tableau.svg
Michael Orlitzky [Tue, 24 Oct 2023 12:34:18 +0000 (08:34 -0400)]
Makefile.am: update day.svg -> tableau.svg
Michael Orlitzky [Tue, 24 Oct 2023 12:34:02 +0000 (08:34 -0400)]
day.svg: rename to tableau.svg because it's important to be fancy
Michael Orlitzky [Sun, 22 Oct 2023 22:39:39 +0000 (18:39 -0400)]
index.html.in: don't blink the expiration date/time after 10 minutes
I'm pretty sure this is when CharmPass stops blinking.