]> gitweb.michael.orlitzky.com - charm-bypass.git/commitdiff
README: start adding substance; in particular, links to my articles
authorMichael Orlitzky <michael@orlitzky.com>
Thu, 9 Nov 2023 01:31:59 +0000 (20:31 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 9 Nov 2023 01:31:59 +0000 (20:31 -0500)
README

diff --git a/README b/README
index 7f9775a9b106cac63cce99ef32fd3281da061615..4ca16589f9aba6c166f7957d6a58d0ea1194841a 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,50 @@
-Build requirements:
+== Introduction
 
 
+CharmBypass, or charm-bypass, is a free software project that lets you
+ride mass transit in Maryland for free. (Disclaimer: doing so is not at
+all legal.) It is what powers the site https://charm-bypass.com/
+
+That website consists of a single file, index.html, that it is our
+goal to build. This document discusses only the technical details
+involved. An introduction and security analysis (what is this, how
+does it work) can be found at,
+
+  1. https://michael.orlitzky.com/articles/charmbypass_pt._1%3A_introduction.xhtml
+  2. https://michael.orlitzky.com/articles/charmbypass_pt._2%3A_analysis.xhtml
+
+
+== Design goals
+
+The main design goal is that the entire application should be
+self-contained: it should be downloadable and usable without network
+access. The "usable" part is lacking somewhat at the moment due to the
+limitations present in mobile operating systems, but containment has
+been achieved.
+
+It is also mobile-only. By which I mean that if you view the site on
+a large (desktop-sized) screen, it will look crazy. That's OK.
+
+
+== Build process
+
+The project uses a standard GNU autotools build system that should be
+familiar to UNIX programmers and system administrators. To build it,
+first install the build requirements listed below. Then run,
+
+  $ autoreconf -fi
+  $ ./configure
+  $ make
+
+The first command (re)generates the autotools build system. The second
+and third invoke it. If you're feeling lucky, you can also run
+
+  $ make check
+
+to run a (very) minimal set of tests on the index.html you just built.
+
+=== Build requirements
+
+  0. GNU autotools
   1. The "base64" utility from GNU coreutils.
   2. The "scour" SVG optimizer.
   3. The "fontforge" program.
   1. The "base64" utility from GNU coreutils.
   2. The "scour" SVG optimizer.
   3. The "fontforge" program.
@@ -7,7 +52,13 @@ Build requirements:
 
 To run the test suite, you'll also need the "tidy-html5" program.
 
 
 To run the test suite, you'll also need the "tidy-html5" program.
 
-SVG Tricks:
 
 
-1. To remove a "transform" from a group (like the bus) that was
-   resized together, simply ungroup and regroup the whole thing.
+== Miscellany
+
+=== SVG Tricks
+
+1. To inline a "transform" from a group (like the bus) that was
+   resized or translated, simply ungroup and regroup the whole thing.
+   This is necessary for groups that are animated using the
+   "transform" property, because otherwise, applying a new transform
+   would clobber the existing one.