improve markdown to HTML tools, build location.html, authors.html, years.html

Renamed `.winner.json` to `.entry.json` as per recent decisions made for issue #2156.

JSON element _winner_JSON_format_version_ renamed to _entry_JSON_format_version_
in `.winner.json`.

Changed _entry_JSON_format_version_ from "1.0 2024-01-14" to "1.1 2024-02-11".

JSON element _winner_id_ renamed to _entry_id_ in `.entry.json`
JSON element _winner_text renamed to _entry_text_ in `.entry.json`
JSON element _winner_id_ renamed to _entry_id_ in `author/author_handle.json` files.

Changed _author_JSON_format_version_ from "1.0 2023-06-10" to "1.1 2024-02-11".

Renamed `tmp/gen_winner_json.sh` to `tmp/gen_entry_json.sh`.

Renamed `tmp/example.dot_winner.json` to `tmp/example.dot_entry.json`.

Renamed `tmp/winner_id.txt` to `tmp/entry_id.txt`.

Renamed `tmp/winner_dir.txt` to `tmp/entry_dir.txt`.

Moved outdated `tmp/awards_check.sh` into `tmp/OLD_manifest/awards_check.sh`.
Moved outdated `tmp/awards_check.sh` into `tmp/OLD_manifest/awards_check.sh`.
Moved outdated `tmp/src/winner_name` into `tmp/OLD_manifest/winner_name`.
Moved outdated `tmp/sql` into `tmp/OLD_manifest/sql`.
Moved outdated `tmp/template-footer.html` into `tmp/OLD_manifest/template-footer.html`.
Moved outdated `tmp/template-header.html` into `tmp/OLD_manifest/template-header.html`.
Moved outdated `tmp/template-top.html` into `tmp/OLD_manifest/template-top.html`.
Moved outdated `tmp/test.html` into `tmp/OLD_manifest/test.html`.
Moved outdated `tmp/fake.gen_index.sh` into `tmp/OLD_manifest/fake.gen_index.sh`.
Moved outdated `tmp/old-ioccc.css` into `tmp/OLD_manifest/old-ioccc.css`.

Removed winner_name from `tmp/src/Makefile`.

Updated `tmp/example.dot_entry.json` to reflect the above JSON changes.

Updated `tmp/manifest.numbers` to reflect the above JSON changes.

Updated `tmp/README.md` to reflect the above JSON changes.
Sorted `tmp/README.md` by existing `tmp` filenames.

Updated all `.entry.json` files to reflect the above JSON changes.

Updated all `author/author_handle.json` files to reflect the above JSON changes.

Added new tool `bin/gen-location.sh` to form the top level file `location.html`
from `author/author_handle.json` files!

Added new tool `bin/gen-years.sh` to form the top level file `years.html`
using `.top`, `.year` and `.entry.json' files!

Added new tool `bin/gen-authors.sh` to form a new top level file
`/authors.html` from `author/author_handle.json` and related
`.entry.json' files!

The old `winners.html` file now redirects to the new `authors.html` file.

Renamed `bin/gen-author.sh` to `bin/output-index-author.sh`.
Renamed `bin/subst.winner-index.sh` to `subst.entry-index.sh`.
Renamed `bin/subst.winner-index.awk` to `subst.entry-index.awk`.
Renamed `bin/manifest.entry.json.awk` to `bin/manifest.entry.json.awk`.
Renamed `bin/gen-inventory.sh` to `bin/output-index-inventory.sh`.
Renamed `bin/sort.gitignore` to `bin/sort.gitignore.sh`.
Renamed `bin/sgi` to `bin/sgi.sh`.

The core logic of converting markdown to HTML has been
generalized into a new `bin/md2html.sh` tool.

The `bin/readme2index.sh` tool now calls the
new `bin/md2html.sh` tool to form entry's `index.html` files.

The `bin/quick-readme2index.sh` tool now calls the new `bin/md2html.sh`
tool, unless the `index.html` is newer than both `.entry.json` and
`README.md`, to form entry `index.html` files.

Increased, slightly, the speed of the `bin/quick-readme2index.sh` tool
with the entry's `index.html` file does not need to be updated.

The `bin/quick-readme2index.sh` tool will touch the `index.html` file,
even if the `bin/md2html.sh` tool determines that the `index.html` file
did not change, so that the `index.html` file will not appear
out of date with respect to `.entry.json`.

Slightly improved the look and feel of `index.html` files for entries.

The logic of `bin/all-run.sh` has been improved.  The initial
processing, from first bash version check, thru the -N test, serves
as the model for the `bin/readme2index.sh` tool and the
`bin/quick-readme2index.sh` tool.  There tools now share
a common set of command line options.

Changed the format of `inc/md2html.cfg` so that for a given "_file_glob_"
match, options follow, one per line.  The "_file_glob_" is on a line
by itself.  The option lines that follow must be intended:

```
[12][0-9][0-9][0-9]/README.md
	-H
	topnav=year
	-o
	bin/subst.default.sh
	-o
	bin/subst.year.sh
```

Added "-D ./" to top level markdown files in `inc/md2html.cfg`.

The above intending is performed with 1 or more whitespace
characters, although we use a leading tab "convention"
out of deference to Makefile formats. :-)

Once a new "_file_glob_" is found, the set of any previous
option lines is said to have ended.

The general argument processing logic now makes used of shell arrays.

Added checks in the `bin/md2html.sh` tool to disallow a "_file_glob_"
of . (dot) as this is used internally to help the shell process the
new `inc/md2html.cfg` format.

Changed `bin/all-run.sh` VERSION from "1.1.2 2024-01-20"
to "1.3 2024-02-11".

Changed `bin/output-index-author.sh` VERSION from "1.3.1 2024-01-16"
to "1.4 2024-02-11".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.3.2 2024-01-19"
to "1.4 2024-02-05".

Changed `bin/quick-readme2index.sh` VERSION from "1.0 2024-01-20"
to "1.1 2024-02-11".

Changed `bin/readme2index.sh` VERSION from "1.1.1 2024-01-20"
to "1.2 2024-02-11".

Changed `bin/subst.default.sh` VERSION from "1.1.1 2024-01-16"
to "1.2 2024-02-05".

Changed `bin/subst.entry-index.sh` VERSION from "1.1.1 2024-01-16
to "1.2 2024-02-11".

Changed `bin/output-index-inventory.sh` VERSION from "1.0.1 2024-01-16"
to "1.1 2024-02-11".

Changed `bin/manifest.entry.json.awk` from "1.0 2024-01-14"
to "1.1 2024-02-11".

Changed `bin/sort.gitignore.sh` from "1.0 2024-02-01"
to "1.1 2024-02-11".

Changed substitution symbol _%%DOCROOT_URL_SLASH%%_ to _%%DOCROOT_SLASH%%_
in various "inc/*.html" files.

Moved setting of symbol _%%DOCROOT_SLASH%%_ from `bin/subst.entry-index.sh`
to `bin/subst.default.sh`.

Changed the variable _$DOCROOT_URL_SLASH_ to _$DOCROOT_SLASH_, in
bin tools that use it, to be more descriptive.

Removed `-P pandoc_opts` from `bin/*.sh` command lines.
The PANDOC_WRAPPER_OPTSTR value is only used in `bin/pandoc-wrapper.sh`.

Removed `-B optstr` and `-A optstr` from the `bin/md2html.sh` command line.

Removed `[-O tool=optstr ..]` from the `bin/md2html.sh` command line.

Removed old use of `-U top_url` from command lines.
Add `-w site_url` as sort of a "replacement" for the old `-U top_url`.

Added a new `-U URL` to `bin/gen-author.sh`, `bin/output-index-inventory.sh`,
`bin/md2html.sh`, `bin/subst.default.sh`, and `bin/subst.entry-index.sh`
to allow for the Nu HTML check can use the encoded absolute URL of
the HTML page.

Added `-t tagline` to most command lines.

Added `-T md2html.sh` to most command lines.

Added `-D docroot/` to most command lines to set DOCROOT_SLASH.
The DOCROOT_SLASH value defaults to "../../" for most in tools,
suitable for HTML files under a `YYYY/dir` directory, except for
`bin/gen-location.sh` and `gen-entries-html.sh` (as this produces a
top level HTML file) and `bin/md2html.sh` (forms files at any level)
who use "./" instead.

In the case of `bin/output-index-inventory.sh`, `bin/quick-readme2index.sh`,
`bin/readme2index.sh`, and `bin/all-run.sh`

Helped make the use of exit code in bin tools a bit more consistent.

Fixed a number of typos in the bin tools.

Added comments for lower level tools such as
`manifest.entry.json.awk`, `bin/subst.default.sh`,
`bin/subst.entry-index.sh`, and bin/`manifest.entry.json.awk` to
indicate how they are usually invoked by other tools.

Changed the comments that a new `bin/md2html.sh` tool (that was the
`bin/readme2index.sh` tool) would add to a entry's `index.html` file.
No longer will it add the tool version number to the comment.  Thus,
a change in tool version will not force all entry `index.html`
files to be modified.  Now both the tool adds two comments, one
is the _tagline_ to indicate how the markdown content was generated,
and one for the new `bin/md2html.sh` tool.  For example:

```
<!-- The original markdown content was formed by the tool: bin/quick-readme2index.sh -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
```

Improve the debugging, especially in regards to changing important
exported shell variables, in `bin/md2html.sh`.  Other bin tools
have their exported shell variables improved somewhat as well.

The `bin/README.md` now describes the general _converting markdown
to HTML_ procedure including _getopt phases_ and _HTML phases_.
Content from `inc/md2html.cfg` and `bin/readme2index.sh` that related
to this topic has been centralized into the `bin/README.md` file.

Improved formatting of the `bin/README.md` file.  Updated it as needed
according to the above.

Sorted `2011/.year`, `2018/.year`, and `2019/.year` to be in dictionary order.
Adjusted ${WINNERS} in year Makefile to use dictionary order so
that `make genpath` will produce `.year` files in dictionary order.

FYI: We tested this massive set of changes as best as we could.
     Nevertheless we might have missing something in the JSON changes,
     `.entry.json` renames, manifest updates, code comments, etc.
This commit is contained in:
Landon Curt Noll committed 2024-02-11 16:00:31 -08:00
1 parent b23ab491ca
commit aedb017223
897 files changed
+29985 -27475

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<link rel="stylesheet" href="%%DOCROOT_URL_SLASH%%ioccc.css">
<link rel="stylesheet" href="%%DOCROOT_SLASH%%ioccc.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>%%TITIE%%</title>
+1 -1
View File
@@ -1,7 +1,7 @@
<!-- START: this line starts content from: inc/header.default.html -->
<div class="header">
<img src="%%DOCROOT_URL_SLASH%%png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
<img src="%%DOCROOT_SLASH%%png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
<h1>%%HEADER_1%%</h1>
<h2>%%HEADER_2%%</h2>
</div>
+416 -209
View File
@@ -7,12 +7,36 @@
# Comments start with a # symbol and continue to the end of the line.
# Lines are of the form (without any leading whitespace or # of course):
# Lines are of the form (without any leading whitespace or # of course),
# followed by zero or more lines that has been indented:
#
# file_glob [cfg_options ..]
# file_glob
# cfg_option
# ...
# cfg_option
#
# where 'file_glob' is a Bash Extended Glob (not a regular expression).
# and where 'cfg_options ..' are zero or more configuration file options.
# NOTE: Each "cfg_option" must be in its own line.
#
# NOTE: "file_glob" cannot be a single dot (".").
#
# If one needed to associate the following options with "some_file_glob":
#
# -H topnav=. -o bin/subst.default.sh
#
# you will need 4 intended "cfg_option" lines:
#
# some_file_glob
# -H
# topnav=.
# -o
# bin/subst.default.sh
#
# The above intending is performed with 1 or more whitespace
# characters, although we use a leading tab "convention"
# out of deference to Makefile formats. :-)
#
# Once a new "file_glob" is found, the set of any previous
# option lines is said to have ended.
#
# File paths are evaluated from under the top of the repo. The file_glob should
# NOT start with a leading / and as assumed to be under the topdir directory.
@@ -23,231 +47,414 @@
# https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html
#
# For a given file, the first 'file_glob' Bash Extended Glob that matches is used.
# If no 'file_glob' matches, the file is ignored.
#
# Any 'options..' are processed between the options from the command line
# and any filename arguments on the command line. For example:
#
# command [command_options ..] [cfg_options ..] [output_tool_options ..] [--] [filename_arg ..]
#
# Here the 'command' first processes any command line options, then
# it processes 'cfg_options' obtained from this file from a 1st match of a given file_glob, then
# it processes 'output tool' (i.e., -o tool) options found in 'command_options', and 'cfg_options', then
# an optional -- (end of all options), then zero of more 'filename_arg' filename arguments.
# If no 'file_glob' matches, the file is ignored, however `bin/md2html.sh` tool
# may still issue a Warning. Moreover this configuration file can use a
# "file_glob" or "*" at the bottom to catch all other files and
# force an error message to be issued as well as to force a non-zero exit
# by the tool.
##################
# import options #
##################
###################
# HTML generation #
###################
# While options might vary from command to command, there are some
# common options are required by tools that use this configuration file.
# See the following for more information about how IOCCC html content is built:
#
# NOTE: Where the comment references a shell variable (.e.g, $TOPDIR),
# it is assumed that the command will set that value prior
# to setting the USAGE variable.
#
# -h print help message and exit
# -v level set verbosity level (def level: $V_FLAG)
# -V print version string and exit
#
# -n go thru the actions, but do not update any files (def: do the action)
# -N do not process file, just parse arguments and ignore the file (def: process the file)
#
# -d topdir set topdir (def: $TOPDIR)
# NOTE: -d may only be used in command_options (getopt phase 0)
#
# -c md2html.cfg Use md2html.cfg as the configuration file (def: use topdir/inc/md2html.cfg)
# NOTE: -c may only be used in command_options (getopt phase 0)
#
# -H phase=name use 'phase.name.html' file for HTML phase named 'phase' (def: use 'phase.default.html')
# -H phase=. ignore processing for HTML phase 'phase' (def: process HTML phase)
# NOTE: The 'phase' string may not contain an = (equal), a / (slash), a single-quote, nor a double-quote.
# NOTE: The 'name' string may not contain an = (equal), a single-quote, nor a double-quote.
# NOTE: The 'phase.name.html' file is assumed to be under the 'topdir/inc' directory.
#
# -b tool run 'before tool' during HTML phase number 20 (def: do not output before pandoc wrapper tool)
# -b . skip HTML phase number 20 (def: do nothing during HTML phase number 20)
# -B optstr run 'before tool' with options found in 'optstr' (def: do not add any options to 'before tool')
# NOTE: The 'optstr' may not contain a single-quote, nor a double-quote.
#
# -p tool run 'pandoc wrapper tool' (not pandoc path) during HTML phase number 21 (def: use $PANDOC_WRAPPER)
# -p . skip HTML phase number 21 (def: do nothing during HTML phase number 21)
# NOTE: The '-p tool' will be passed as leading options on the -b tool and -a tool command lines.
# -P optstr run 'pandoc wrapper tool' with options found in 'optstr' (def: $PANDOC_WRAPPER_OPTSTR)
# NOTE: The 'optstr' may not contain a single-quote, nor a double-quote.
# NOTE: The '-P optstr' will be passed as leading options on the -b tool and -a tool command lines.
#
# -a tool run 'after tool' during HTML phase number 20 (def: do not output after pandoc wrapper tool)
# -a . skip HTML phase number 22 (def: do nothing during HTML phase number 22)
# -A optstr run 'after tool' with options found in 'optstr' (def: do not add any options to 'after tool')
# NOTE: The 'optstr' may not contain a single-quote, nor a double-quote.
#
# -s token=value substitute %%token%% with value except in HTML phase numbers 20-29 (def: do not substitute any tokens)
# NOTE: The 'token' string may not contain a ; (semicolon), a = (equal), nor a % (percent).
# NOTE: The 'value' string may not contain a ; (semicolon).
# NOTE: A later '-s token=value' will override an earlier '-s token=value' for the same 'token'.
# NOTE: Multiple '-s token=value' are cumulative for the unique set of 'token's.
# -S failure to replace a %%token%% is not an error (def: exit non-zero for non-substituted tokens)
#
# -o tool Use output tool, 'tool', to generate option lines (def: do not)
# -o . disable use of 'output tool' (def: do not use an 'output tool')
# NOTE: -o may only be used in command_options and md2html.cfg cfg_options (getopt phases 0 and 2)
# -O tool=optstr run the 'token replace' named 'tool' with options found in 'optstr' (def: do not add any options)
# NOTE: Neither 'tool' nor 'optstr' may not contain an = (equal), a single-quote, nor a double-quote.
# NOTE: A later '-O tool=optstr' will override all earlier '-O tool=optstr' for the same 'tool'.
# NOTE: -O may only be used in command_options and md2html.cfg cfg_options (getopt phases 0 and 2)
#
# -u repo_url Base level URL of target git repo (def: $REPO_URL)
# NOTE: The '-u repo_url' is passed as leading options on -o tool, -b tool, and -a tool command lines.
# -U top_url Top level URL of web site where HTML files will be viewed (def: $TOP_URL)
# NOTE: The '-U top_url' is passed as leading options on -o tool, -b tool, and -a tool command lines.
#
# -e string output 'string', followed by newline, to stderr (def: do not)
# -E exitcode force exit with exitcode (def: exit based on success or failure of the action)
#
# The output from 'before tool' (unless -b .) will be used in HTML phase number 20 (before pandoc wrapper processing).
# The output from 'pandoc wrapper tool' (unless -p .) will be used HTML phase number 21 (pandoc wrapper processing).
# The output from 'after tool' (unless -a .) will be used in HTML phase number 22 (after pandoc wrapper processing).
#
# When the 'before tool' (i.e., -b tool) is executed, it is given options found in the most recent
# 'optstr' (i.e., -B optstr), followed by '--', and ending in the path from the topdir
# to the file that matched the 'file_glob'.
#
# When the 'pandoc wrapper tool' (i.e., -p tool) is executed, it is given options found in the most recent
# 'optstr' (i.e., -P optstr), followed by '--', and ending in the path from the topdir
# to the file that matched the 'file_glob'.
#
# When the 'after tool' (i.e., -a tool) is executed, it is given options found in the most recent
# 'optstr' (i.e., -A optstr), followed by '--', and ending in the path from the topdir
# to the file that matched the 'file_glob'.
#
# When the 'options tool' (i.e., -o tool) is executed, it is given any options found in the most recent
# 'optstr' associated with 'tool' (i.e., -O tool=option), followed by '--', and ending in the path from the topdir
# to the file that matched the 'file_glob'.
#
# If the 'tool' path (for -b tool, -p tool, -a tool, -o tool) is not an absolute path, then it is assumed to be under topdir.
# If the 'tool' path is '.' (dot), then the use of the given tool is ignored.
#
# The 'optstr' is a quoted string of command line options to used with the respective tool.
# The command line options for the tool specific to the given tool and are not necessarily
# the command line options listed above.
#
# The command options are evaluated in the following getopt phases:
#
# getopt phase 0. parse command line options and save the argument at the end
#
# NOTE: Depending on the program, the argument at the end is directory under topdir, or it is a file under topdir
# NOTE: getopt phase 0 is the only getopt phase where "-d topdir" and "-c md2html.cfg" may be used.
#
# getopt phase 1. execute each -o "output tool" from getopt phase 0, parsing the output as a command line
#
# NOTE: The -o "output tool" may be given optstr from "-O tool=optstr", followed by the phase 0 argument
# NOTE: The -o "output tool" is not allowed to output another "-o tool", nor a "-O tool=optstr".
# Instead an -o "output tool" may execute another -o "output tool" merge the output into its own.
#
# getopt phase 2. parse the "cfg_options" from the first "md2html.cfg" line matched by saved argument
#
# NOTE: The match is made with the (possibly modified) phase 0 argument
#
# getopt phase 3. execute each -o "output tool" from getopt phase 2, parsing the output as a command line
#
# NOTE: The -o "output tool" may be given optstr from "-O tool=optstr", followed by the phase 0 argument
# NOTE: The -o "output tool" is not allowed to output another "-o tool", nor a "-O tool=optstr".
# Instead an -o "output tool" may execute another -o "output tool" merge the output into its own.
#
# The '-o tool' must NOT output any '-o tool' options as '-o tool' is NOT RECURSIVE. A '-o tool' is free, however,
# to execute other '-o tool' output tools and merge the output from those tools into its own.
#
# Most command line options override earlier copies of the same option. However in the case of
# '-H phase=name', later '-H phase=name' only overrides an earlier use of '-H' for the same 'phase' only.
# Also in the case of '-s token=value', later '-s token=value' only overrides an earlier use of '-s'
# for the same 'token' only.
#
# When '-E exitcode' is evaluated, the application will exit with the 'exitcode' value. If one wishes to also
# output a message to stderr, the '-e string' must come BEFORE any '-E exitcode' in the command line.
#
# All tokens (i.e., strings of the form '%%token%%') MUST be substituted (by some -s token=value)
# in all HTML output, except during phase numbers 20-29 (i.e., except 'before tool' output, pandoc wrapper output,
# and except 'after tool' output), or command will exit non-zero, unless -S is given. If -S is given,
# only a warning about un-substituted tokens will be written to stderr.
#
# While above list is not a complete list of options, it does list options that are required of
# tools that use this configuration file.
# https://www.ioccc.org/bin/index.html#how
#################
# Configuration #
#################
# Top level markdown files have no top navigation bar
#
# sort using: sort -d -u
CODE_OF_CONDUCT.md -H topnav=. -o bin/subst.default.sh
README.md -H topnav=. -o bin/subst.default.sh
bugs.md -H topnav=. -o bin/subst.default.sh
contact.md -H topnav=. -o bin/subst.default.sh
faq.md -H topnav=. -o bin/subst.default.sh
index.md -H topnav=. -o bin/subst.default.sh
judges.md -H topnav=. -o bin/subst.default.sh
news.md -H topnav=. -o bin/subst.default.sh
thanks-for-help.md -H topnav=. -o bin/subst.default.sh
winners.md -H topnav=. -o bin/subst.default.sh
www-history.md -H topnav=. -o bin/subst.default.sh
years.md -H topnav=. -o bin/subst.default.sh
CODE_OF_CONDUCT.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
README.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
bugs.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
contact.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
faq.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
index.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
judges.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
location.md
-H
topnav=.
-o
bin/subst.default.sh
-s
TITIE=IOCCC Author by Location
-s
DESCRIPTION=Locations and/or countries of IOCCC Authors
-s
KEYWORDS=IOCCC, IOCCC author by location, IOCCC author by country
-s
HEADER_2=IOCCC author by location and/or country
-D
./
news.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
thanks-for-help.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
winners.md
-H
topnav=.
-o
bin/subst.default.sh
-s
TITIE=Winners: The authors of winning IOCCC entries
-s
DESCRIPTION=IOCCC Authors and their winning entries
-s
KEYWORDS=IOCCC, winners, Winning entries by author
-s
HEADER_2=IOCCC Authors and their winning entries
-D
./
www-history.md
-H
topnav=.
-o
bin/subst.default.sh
-D
./
years.md
-H
topnav=.
-o
bin/subst.default.sh
-s
TITIE=IOCCC Winning Entries by Year
-s
DESCRIPTION=IOCCC Winning Entries by Year
-s
KEYWORDS=IOCCC, winners, IOCCC Winning Entries by Year, download IOCCC entry source, IOCCC entry source
-s
HEADER_2=Entries that won the IOCCC
-D
./
# Year level README.md files have a special year navbar
[12][0-9][0-9][0-9]/README.md -H topnav=year -o bin/subst.default.sh -o bin/subst.year.sh
mock/README.md -H topnav=mock_year -o bin/subst.default.sh
[12][0-9][0-9][0-9]/README.md
-H
topnav=year
-o
bin/subst.default.sh
-o
bin/subst.year.sh
mock/README.md
-H
topnav=mock_year
-o
bin/subst.default.sh
-o
bin/subst.year.sh
# Navigation bar only moved up to the index for internal markdown files
#
# sort using: sort -d -u
1986/marshall/compilers.md -H topnav=up2index -o bin/subst.default.sh
1991/brnstnd/sorta.README.md -H topnav=up2index -o bin/subst.default.sh
1992/buzzard.2/buzzard.2.README.md -H topnav=up2index -o bin/subst.default.sh
1993/ejb/hanoi.md -H topnav=up2index -o bin/subst.default.sh
1993/ejb/patience.md -H topnav=up2index -o bin/subst.default.sh
1993/rince/design.md -H topnav=up2index -o bin/subst.default.sh
1994/shapiro/shapiro.md -H topnav=up2index -o bin/subst.default.sh
1995/leo/spoiler1.md -H topnav=up2index -o bin/subst.default.sh
1998/dorssel/dorssel.md -H topnav=up2index -o bin/subst.default.sh
1998/schweikh1/macos.md -H topnav=up2index -o bin/subst.default.sh
2004/gavin/gavin.md -H topnav=up2index -o bin/subst.default.sh
2012/deckmyn/deckmyn.md -H topnav=up2index -o bin/subst.default.sh
2012/hou/hint.md -H topnav=up2index -o bin/subst.default.sh
2012/tromp/how.md -H topnav=up2index -o bin/subst.default.sh
2013/hou/doc/example.md -H topnav=up2index -o bin/subst.default.sh
2014/endoh1/spoilers.md -H topnav=up2index -o bin/subst.default.sh
2015/burton/road.to.obscurity.md -H topnav=up2index -o bin/subst.default.sh
2015/burton/spoilers.md -H topnav=up2index -o bin/subst.default.sh
2018/burton2/discrepancies.md -H topnav=up2index -o bin/subst.default.sh
2018/ferguson/rpm.md -H topnav=up2index -o bin/subst.default.sh
2020/endoh2/spoiler/spoiler.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/COMPILING.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/HACKING.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/bugs.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/cannibalism.log.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/chocolate-cake.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/crazy.log.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/gameplay.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/spoilers.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/terminals.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson1/troubleshooting.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson2/chocolate-cake.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson2/obfuscation.md -H topnav=up2index -o bin/subst.default.sh
2020/ferguson2/recode.md -H topnav=up2index -o bin/subst.default.sh
1986/marshall/compilers.md
-H
topnav=up2index
-o
bin/subst.default.sh
1991/brnstnd/sorta.README.md
-H
topnav=up2index
-o
bin/subst.default.sh
1992/buzzard.2/buzzard.2.README.md
-H
topnav=up2index
-o
bin/subst.default.sh
1993/ejb/hanoi.md
-H
topnav=up2index
-o
bin/subst.default.sh
1993/ejb/patience.md
-H
topnav=up2index
-o
bin/subst.default.sh
1993/rince/design.md
-H
topnav=up2index
-o
bin/subst.default.sh
1994/shapiro/shapiro.md
-H
topnav=up2index
-o
bin/subst.default.sh
1995/leo/spoiler1.md
-H
topnav=up2index
-o
bin/subst.default.sh
1998/dorssel/dorssel.md
-H
topnav=up2index
-o
bin/subst.default.sh
1998/schweikh1/macos.md
-H
topnav=up2index
-o
bin/subst.default.sh
2004/gavin/gavin.md
-H
topnav=up2index
-o
bin/subst.default.sh
2012/deckmyn/deckmyn.md
-H
topnav=up2index
-o
bin/subst.default.sh
2012/hou/hint.md
-H
topnav=up2index
-o
bin/subst.default.sh
2012/tromp/how.md
-H
topnav=up2index
-o
bin/subst.default.sh
2013/hou/doc/example.md
-H
topnav=up2index
-o
bin/subst.default.sh
2014/endoh1/spoilers.md
-H
topnav=up2index
-o
bin/subst.default.sh
2015/burton/road.to.obscurity.md
-H
topnav=up2index
-o
bin/subst.default.sh
2015/burton/spoilers.md
-H
topnav=up2index
-o
bin/subst.default.sh
2018/burton2/discrepancies.md
-H
topnav=up2index
-o
bin/subst.default.sh
2018/ferguson/rpm.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/endoh2/spoiler/spoiler.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/COMPILING.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/HACKING.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/bugs.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/cannibalism.log.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/chocolate-cake.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/crazy.log.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/gameplay.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/spoilers.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/terminals.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson1/troubleshooting.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson2/chocolate-cake.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson2/obfuscation.md
-H
topnav=up2index
-o
bin/subst.default.sh
2020/ferguson2/recode.md
-H
topnav=up2index
-o
bin/subst.default.sh
# Unless matched above, default process all winner README.md files
[12][0-9][0-9][0-9]/*/README.md -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
mock/*/README.md -o bin/subst.default.sh -o bin/subst.winner-index.sh -b bin/gen-author.sh -a bin/gen-inventory.sh
[12][0-9][0-9][0-9]/*/README.md
-o
bin/subst.default.sh
-o
bin/subst.entry-index.sh
-b
bin/output-index-author.sh
-a
bin/output-index-inventory.sh
# Exit 9 for any markdown file that we have not previously configured
mock/*/README.md
-o
bin/subst.default.sh
-o
bin/ssubst.entry-index.sh
-b
bin/output-index-author.sh
-a
bin/output-index-inventory.sh
*.md -e "markdown file does not match any md2html.cfg line" -E 200
# Exit 200 for any markdown file that we have not previously configured
# Last, everything else is silently ignored
*.md
-e
'markdown file does not match any md2html.cfg line'
-E
200
* -N
# Exit 201 for any non-markdown file
*
-e
'filename does not end in .md'
-E
201
+13 -13
View File
@@ -5,28 +5,28 @@
</div>
<hr>
<div class="sidenav">
<a href="%%DOCROOT_URL_SLASH%%index.html">IOCCC Home</a>
<a href="%%DOCROOT_URL_SLASH%%years.html">Winning Entries</a>
<a href="%%DOCROOT_URL_SLASH%%winners.html">People who have won</a>
<a href="%%DOCROOT_SLASH%%index.html">IOCCC Home</a>
<a href="%%DOCROOT_SLASH%%years.html">Winning Entries</a>
<a href="%%DOCROOT_SLASH%%winners.html">People who have won</a>
</div>
<hr>
<div class="sidenav">
<a href="%%DOCROOT_URL_SLASH%%news.html">IOCCC News</a>
<a href="%%DOCROOT_URL_SLASH%%faq.html#submit">How to enter the IOCCC</a>
<a href="%%DOCROOT_URL_SLASH%%faq.html">FAQ</a>
<a href="%%DOCROOT_SLASH%%news.html">IOCCC News</a>
<a href="%%DOCROOT_SLASH%%faq.html#submit">How to enter the IOCCC</a>
<a href="%%DOCROOT_SLASH%%faq.html">FAQ</a>
</div>
<hr>
<div class="sidenav">
<a href="%%DOCROOT_URL_SLASH%%bugs.html">Bugs &amp; (mis)features</a>
<a href="%%DOCROOT_URL_SLASH%%faq.html#fix_a_winner">Fixing IOCCC winners</a>
<a href="%%DOCROOT_URL_SLASH%%faq.html#fix_web_site">Fixing the web site</a>
<a href="%%DOCROOT_URL_SLASH%%faq.html#fix_author">Fixing winner info</a>
<a href="%%DOCROOT_URL_SLASH%%thanks-for-help.html">Thanks for the help</a>
<a href="%%DOCROOT_SLASH%%bugs.html">Bugs &amp; (mis)features</a>
<a href="%%DOCROOT_SLASH%%faq.html#fix_a_winner">Fixing IOCCC winners</a>
<a href="%%DOCROOT_SLASH%%faq.html#fix_web_site">Fixing the web site</a>
<a href="%%DOCROOT_SLASH%%faq.html#fix_author">Fixing winner info</a>
<a href="%%DOCROOT_SLASH%%thanks-for-help.html">Thanks for the help</a>
</div>
<hr>
<div class="sidenav">
<a href="%%DOCROOT_URL_SLASH%%judges.html">The IOCCC Judges</a>
<a href="%%DOCROOT_URL_SLASH%%contact.html">Contacting the IOCCC</a>
<a href="%%DOCROOT_SLASH%%judges.html">The IOCCC Judges</a>
<a href="%%DOCROOT_SLASH%%contact.html">Contacting the IOCCC</a>
</div>
<hr>
<div class="sidenav">