web/username_prefix.php: substitutions: also support "" because Postgres doubles " to escape them
web/username_prefix.php: added support for substitutions ( x."_y@url -> x.x_y@url ), which can be used when a table name is repeated in a column name
web/username_prefix.php: transposes: removed recommendation for vertical alignment because different quoting syntaxes, etc. make it difficult to have a consistent alignment anyway
web/username_prefix.php: remove padding used to visually separate elements: documented that this leaves embedded _ (eg. x_y) untouched
web/username_prefix.php: remove padding used to visually separate elements: documented that this also removes a leading __ that indicates an internal field
fix: web/username_prefix.php: transposes: changed recommended syntax to y~x@url so that _y~ lines up vertically with [y] paths
web/username_prefix.php: removed special category comments syntax because this is now handled by transposes and insertion comments
web/username_prefix.php: added support for transposes ( y~x_@url -> x_y@url , Y~x@url -> xY@url ), which can be used to put the category in a column name first without duplicating the category
web/username_prefix.php: removed linewraps code because Google spreadsheets no longer supports wrapping on a - , and because a shorter syntax for category comments is now available
web/username_prefix.php: category comments: moved _-_ outside [] in comparison example since it will be deleted separately
bugfix: web/username_prefix.php: category comments: need /__/ around regexp
web/username_prefix.php: category comments: added support for a shorter syntax than [x_-_]y@url : x+y@url -> y@url
web/username_prefix.php: username/password prompt message: added instructions to always append "." when visiting the homepage of the site ("vegpath.org.")
web/username_prefix.php: deletion comments: require ... strikethrough on both () to avoid ambiguity when the deleted part starts or ends with -
web/username_prefix.php: deletion comments: also support strikethrough syntax for clarity: (c_)x@url -> c_x@url
web/username_prefix.php: insertion comments: documented that the semantic meaning of the [] portion also applies, even though it's not included in the linked term name
web/username_prefix.php: added support for deletion comments of the form (c_)x(_d)@url -> c_x_d@url . deletion indicates that the semantic meaning of the () portion does not apply, even though it's included in the linked term name.
web/username_prefix.php: comments: use [] instead of () because in writing, [] denotes insertion, while () (as an editing mark) denotes something to remove
web/username_prefix.php: word-wraps: renamed to linewraps
web/username_prefix.php: added support for word-wraps of the form x_-_.y@url -> x.y@url (the _ are needed to work in Google spreadsheets)
bugfix: web/username_prefix.php: comments: need to use syntax that doesn't use : because Firefox will not update the "password" for the website with the new value after the : . the new syntax use () instead.
web/username_prefix.php: comment prefixes: support embedded ":" in comment
web/username_prefix.php: user2path(): comment prefixes: documented how to put the comment on a separate line when word-wrapping (c-_:x@url). this format works in Google spreadsheets.
web/username_prefix.php: user2path(): added support for comment prefixes, which can be used to include term categories. note: when URL is used without http:// , you must include a non-letter in the comment (eg. c_:x@url) to work in Firefox.
web/username_prefix.php: user2path(): visually separated steps for easier readability
bugfix: web/username_prefix.php: user2path(): padding used to visually separate 1st element of URL: require all padding to be __ because sometimes terms contain a leading or trailing _
bugfix: web/username_prefix.php: user2path(): padding used to visually separate 1st element of URL: support embedded @ inside highlighted part: also need to match end-padding when followed by "."
web/username_prefix.php: user2path(): padding used to visually separate 1st element of URL: support embedded @ inside highlighted part
web/username_prefix.php: user2path(): added support for padding used to visually separate 1st element of URL (x@url -> x@url)
bugfix: web/username_prefix.php: need to handle : in login (which would normally indicate a password)
web/.htaccess, username_prefix.php: username-based prefix subpaths: don't require the // at the end , to avoid clutter. IMPORTANT: in order to access the home page after visiting a URL with a username, you must now append "." to the host ("vegpath.org.") (other pages are not affected by this problem). since vegpath.org is a URL shortener, this is a worthwhile tradeoff to avoid needing the // suffixes everywhere.
web/username_prefix.php: $_SERVER["PHP_AUTH_USER"] test: factored $_SERVER["SCRIPT_URL"] out of both branches of if statement
web/username_prefix.php: don't remove @ from query string because that is no longer a special character
web/username_prefix.php: no prefix: use $_SERVER["SCRIPT_URL"] instead of rtrimming $_SERVER["REQUEST_URI"]
web/username_prefix.php: has prefix: use same expr whether or not it has a query string, because the with-query-string expr works for both cases
web/username_prefix.php: use if statements instead of `? :` for clarity
web/username_prefix.php: use $subpath instead of $_SERVER["PHP_AUTH_USER"] for clarity
web/.htaccess, username_prefix.php: username-based prefix subpaths: support dotpath in query string (which will be appended verbatim to the prefix). use "__?@__" instead of "__?__&" to signal username-based prefix, so that the query string does not end in a dangling & .
web/.htaccess, web/username_prefix.php: username-based prefix subpaths: support query strings in addition to paths
added web/username_prefix.php, for use with username-based prefix redirects