29 Commits
Author SHA1 Message Date
Landon Curt Noll d98a29a940 improve how the C locale is set
In conjunction with changes made to "the other repo",
we now set:

export LANG="C"
export LC_CTYPE="C"
export LC_NUMERIC="C"
export LC_TIME="C"
export LC_COLLATE="C"
export LC_MONETARY="C"
export LC_MESSAGES="C"
export LC_PAPER="C"
export LC_NAME="C"
export LC_ADDRESS="C"
export LC_TELEPHONE="C"
export LC_MEASUREMENT="C"
export LC_IDENTIFICATION="C"
export LC_ALL="C"

instead of just "$LC_ALL", "$LANG", "$LC_NUMERIC".
2025-03-14 17:59:04 -07:00
Landon Curt Noll bcdcbd58f9 set C locale
In all bin shell scripts, set `LC_ALL`, `LANG`, and `LC_NUMERIC` to "C".

Changed all bin shell script VERSION to "2.0.0 2025-03-13".

Tested the above via `make www` on macOS.  Only the sitemap was updated.
2025-03-13 18:56:27 -07:00
Landon Curt Noll 6b950a2e3c change references to post Great Fork Merge URLs
In preparation for the **Great Fork Merge**:

We change references for the repo from
`https://github.com/ioccc-src/temp-test-ioccc`
to `https://github.com/ioccc-src/winner`.

We change references for the web site from
`https://ioccc-src.github.io/temp-test-ioccc`
to `https://github.com/ioccc-src/winner`.

NOTE: There will be a **LOT OF LINKS BROKEN**, because of the changes
to the REPO URL and the WEBSITE URL, until the **Great Fork Merge**
updates the+[official IOCCC website](https://www.ioccc.org).
2024-12-28 21:56:40 -08:00
Landon Curt Noll cad665c021 use $USAGE instead of print_usage to print usage
There is no real functionality change other than
to remove calls to print_usage that is most cases
would have generated an error.
2024-10-07 00:58:50 -07:00
Landon Curt Noll b3656d0e6f fix help message comment about options passed
This just a simple fix of a comment in the usage message.
2024-08-26 15:58:44 -07:00
Landon Curt Noll 0e5864b8b0 use yet even more bin/jval-wrapper.sh instead of direct grep of JSON files
We use the `bin/jval-wrapper.sh` tool to obtain information from JSON
files instead of attempting using a "GROSS HACK" that involved using
`grep(1)` (and friends) as those "GROSS HACK"s assumed that the layout of
the JSON was canonical.  The `bin/jval-wrapper.sh` tool is able to deal
with various layouts of JSON including non-canonical layouts.  Moreover,
by using the `bin/jval-wrapper.sh` tool we greatly reduce the places in
bin tools that contain "GROSS HACK"s.

Adjusted `bin/gen-status.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/gen-status.sh` VERSION from "1.5.8 2024-08-05"
to "1.6 2024-08-17".

Performed `make gen_status` to test the above under macOS.

Adjusted `bin/gen-years.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/gen-years.sh` VERSION from "1.3.7 2024-08-05"
to "1.4 2024-08-17".

Performed `make gen_years` to test the above under macOS.

Adjusted `bin/output-index-author.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/output-index-author.sh` VERSION from "1.7.3 2024-08-05"
to "1.8 2024-08-17".

Performed `make entry_index` to test the above under macOS.

Added `make quick_year_index` to generate year level index.html files
when year level `YYYY/README.md` is newer.

The `make quick_www` calls `quick_year_index` instead of `make gen_year_index`.

The `bin` directory is now sat as `BIN_PATH=$TOPDIR/bin`, where
`$TOPDIR` is determined by top of the git repo (as determined by
the command: `git rev-parse --is-inside-work-tree`) and potentially
modified by `-d topdir`.  After `cd $TOPDIR`, we set `BIN_DIR=bin`.

All tools from this repo are now assumed to under "$BIN_DIR".  Removed
command like options such as `-T md2html.sh`, and `-p tool` that used
to be able to change the location of a `bin` tool.

Changed `bin/gen-authors.sh` VERSION from "1.11 2024-08-13"
to "1.12 2024-08-18".

Changed `bin/gen-location.sh` VERSION from "1.5 2024-08-17"
to "1.6 2024-08-18".

Changed `bin/readme2index.sh` VERSION from "1.2.7 2024-08-05"
to "1.3 2024-08-17".

Modified `bin/all-run.sh` to use the `bin` directory mechanism.
Modified `bin/all-years.sh` to use the `bin` directory mechanism.
Modified `bin/gen-other-html.sh` to use the `bin` directory mechanism.
Modified `bin/gen-year-index.sh` to use the `bin` directory mechanism.
Modified `bin/md2html.sh` to use the `bin` directory mechanism.
Modified `bin/quick-readme2index.sh` to use the `bin` directory mechanism.
Modified `bin/readme2index.sh` to use the `bin` directory mechanism.

Changed `bin/all-run.sh` VERSION from "1.3.6 2024-08-05"
to "1.4 2024-08-17".

Changed `bin/all-years.sh` VERSION from "1.0.5 2024-08-05"
to "1.1 2024-08-17".

Changed `bin/gen-other-html.sh` VERSION from "1.3 2024-08-11"
to "1.4 2024-08-17".

Changed `bin/gen-year-index.sh` VERSION from "1.1.2 2024-08-05"
to "1.2 2024-08-17".

Changed `bin/quick-readme2index.sh` VERSION from "1.1.7 2024-08-05"
to "1.2 2024-08-17".

Changed `bin/md2html.sh` VERSION from "1.5.5 2024-08-05"
to "1.6 2024-08-17".

Added some whitespace in the form of empty lines to tools.

Made checks for tools under `bin` directory more consistent.

When using `-Q` (quick mode) and the prerequisite files are newer,
we force the target to be touched so that a later run will not
have to build the target HTML file.

Performed `make quick_www` to test the above under macOS.

Performed `make www` to test the above under macOS.
2024-08-18 02:10:25 -07:00
Landon Curt Noll a9fede7fc6 speed up make quick_www
We add `-Q` to `bin/gen-other-html.sh` to add a mode
that will only update an entry non-index.html if it
is missing or out of date.

Added `make quick_other_html` that calls `bin/gen-other-html.sh`
with the `-Q` quick mode option.

Changed `bin/gen-other-html.sh` VERSION from "1.2.6 2024-08-05"
to "1.3 2024-08-11".
2024-08-11 17:56:42 -07:00
Landon Curt Noll 86d5c8808e remove use of -u repo_top_url in bin tools
We have removed `-u repo_top_url` from tools.  When it comes time
to perform the **Great Fork Merge**, we will have to modify
the `$REPO_TOP_URL` variable default, so `-u repo_top_url` won't
help with the transition.

Changed `bin/all-run.sh` VERSION from "1.3.5 2024-07-28"
to "1.3.6 2024-08-05".

Changed `bin/all-years.sh` VERSION from "1.0.4 2024-07-28"
to "1.0.5 2024-08-05".

Changed `bin/chk-entry.sh` VERSION from to "1.1.9 2024-07-28"
to "1.1.10 2024-08-05".

Changed `bin/gen-authors.sh` VERSION from "1.10.6 2024-07-28"
to "1.10.7 2024-08-05".

Changed `bin/gen-location.sh` VERSION from "1.4.4 2024-07-28"
to "1.4.5 2024-08-05".

Changed `bin/gen-other-html.sh` VERSION from "1.2.5 2024-07-28"
to "1.2.6 2024-08-05".

Changed `bin/gen-sitemap.sh` VERSION from "1.3.12 2024-07-28"
to "1.3.13 2024-08-05".

Changed `bin/gen-status.sh` VERSION from "1.5.7 2024-07-28"
to "1.5.8 2024-08-05".

Changed `bin/gen-top-html.sh` VERSION from "1.4.7 2024-07-28"
to "1.4.8 2024-08-05".

Changed `bin/gen-year-index.sh` VERSION from "1.1.1 2024-07-28"
to "1.1.2 2024-08-05".

Changed `bin/gen-years.sh` VERSION from "1.3.6 2024-07-28"
to "1.3.7 2024-08-05".

Changed `jfmt-wrapper.sh` VERSION from "1.3.7 2024-08-05"
to "1.0.1 2024-08-05".

Changed `bin/jprint-wrapper.sh` VERSION from "1.0 2024-07-28"
to "1.0.1 2024-08-05".

Changed `bin/md2html.sh` VERSION from "1.5.4 2024-07-28"
to "1.5.5 2024-08-05".

Changed `bin/output-index-author.sh` VERSION from "1.7.2 2024-07-28"
to "1.7.3 2024-08-05".

Changed `bin/output-index-inventory.sh` VERSION from "1.4.2 2024-07-28"
to "1.4.3 2024-08-05".

Changed `bin/output-year-index.sh` VERSION from "1.4.3 2024-07-28"
to "1.4.4 2024-08-05".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.7.1 2024-07-28"
to "1.7.2 2024-08-05".

Changed `bin/quick-readme2index.sh` VERSION from "1.1.6 2024-07-28"
to "1.1.7 2024-08-05".

Changed `bin/readme2index.sh` VERSION from "1.2.6 2024-07-28"
to "1.2.7 2024-08-05".

Changed `bin/status2html.sh` VERSION from "1.4.2 2024-07-28"
to "1.4.3 2024-08-05".

Changed `bin/subst.default.sh` VERSION from "1.3.1 2024-07-28"
to "1.3.2 2024-08-05".

Changed `bin/subst.entry-index.sh` VERSION from "1.3.4 2024-07-28"
to "1.3.5 2024-08-05".

Changed `bin/subst.year-index.sh` VERSION from "1.1.4 2024-07-28"
to "1.1.5 2024-08-05".

Changed `bin/tar-entry.sh` VERSION from "1.3.9 2024-07-28"
to "1.3.10 2024-08-05".

Changed `bin/tar-year.sh` VERSION from "1.2.7 2024-07-28"
to "1.2.8 2024-08-05".

Changed `bin/untar-year.sh` VERSION from "1.0.3 2024-07-28"
to "1.0.4 2024-08-05".

Changed `bin/untar-entry.sh` VERSION from "1.0.3 2024-07-28"
to "1.0.4 2024-08-05".

Performed `make www` to accomplish the above and to test under macOS.
2024-08-05 01:06:35 -07:00
Landon Curt Noll b01a23d735 corrected use of REPO_URL shell variable, added REPO_TOP_URL
The shell variable `$REPO_URL` was often set to
`https://github.com/ioccc-src/temp-test-ioccc/blob/master` which was
not consistent with the variable name.  In some cases the `$REPO_URL`
was used as the top level path for a git repo (w/o the `/blob/master`),
and in most cases was used as a GitHub URL path under which files may
be found (with `/blob/master`).

We change the shell variable `$REPO_URL` to be `$REPO_TOP_URL` and
use the value `https://github.com/ioccc-src/temp-test-ioccc`, w/o
the `/blob/master`, and adjust places where the GitHub URL path (with
`/blob/master`) is needed.  A new shell variable `$REPO_URL` will contain
the `https://github.com/ioccc-src/temp-test-ioccc/blob/master` (with
`/blob/master`).

In tools that use `-u` the option was changed from `repo_url` to
`repo_top_url`.  The `-u repo_top_url` will set the
 `$REPO_TOP_URL` shell variable (w/o the `/blob/master`), and then set
 the variable `$REPO_URL` as `$REPO_TOP_URL//blob/master`.

Fixed a shellcheck issue with `bin/tar-entry.sh`.

Corrected name of shell variable `$AUTHOR_GUTHUB_USERNAME` to be
`$AUTHOR_GITHUB_USERNAME`.

The substitution symbol `%%REPO_URL%%` has used in markdown
files remains as before.  That is, REPO_URL is set according
to the shell variable `$REPO_URL` which includes `/blob/master`).

Fixed broken `author_handle` links in `authors.html`.

NOTE: Except for correcting links `authors.html` as noted above,
no HTML content was modified by these changes.

Changed `bin/add-dir.sh`VERSION from "1.1 2024-07-23"
to "1.1.1 2024-07-28".

Changed `bin/all-run.sh`VERSION from "1.3.4 2024-05-24"
to "1.3.5 2024-07-28".

Changed `bin/all-years.sh`VERSION from "1.0.3 2024-04-13"
to "1.0.4 2024-07-28".

Changed `bin/chk-entry.sh`VERSION from "1.1.8 2024-07-06"
to "1.1.9 2024-07-28".

Changed `bin/cvt-submission.sh`VERSION from "1.0 2024-07-22"
to "1.0.1 2024-07-28".

Changed `bin/gen-authors.sh`VERSION from "1.10.4 2024-07-13"
to "1.10.5 2024-07-28".

Changed `bin/gen-location.sh`VERSION from "1.4.3 2024-07-13"
to "1.4.4 2024-07-28".

Changed `bin/gen-other-html.sh`VERSION from "1.2.4 2024-05-31"
to "1.2.5 2024-07-28".

Changed `bin/gen-sitemap.sh`VERSION from "1.3.11 2024-07-22"
to "1.3.12 2024-07-28".

Changed `bin/gen-status.sh`VERSION from "1.5.6 2024-07-22"
to "1.5.7 2024-07-28".

Changed `bin/gen-top-html.sh`VERSION from "1.4.6 2024-05-24"
to "1.4.7 2024-07-28".

Changed `bin/gen-year-index.sh`VERSION from "1.1 2024-04-16"
to "1.1.1 2024-07-28".

Changed `bin/gen-years.sh`VERSION from "1.3.5 2024-07-22"
to "1.3.6 2024-07-28".

Changed `bin/md2html.sh`VERSION from "1.5.3 2024-07-22"
to "1.5.4 2024-07-28".

Changed `bin/new-year.sh`VERSION from "1.3.1 2024-07-23"
to "1.3.2 2024-07-28".

Changed `bin/output-index-author.sh`VERSION from "1.7.1 2024-04-28"
to "1.7.2 2024-07-28".

Changed `bin/output-index-inventory.sh`VERSION from "1.4.1 2024-04-28"
to "1.4.2 2024-07-28".

Changed `bin/output-year-index.sh`VERSION from "1.4.2 2024-07-07"
to "1.4.3 2024-07-28".

Changed `bin/pandoc-wrapper.sh`VERSION from "1.7 2024-06-22"
to "1.7.1 2024-07-28".

Changed `bin/quick-readme2index.sh`VERSION from "1.1.5 2024-05-19"
to "1.1.6 2024-07-28".

Changed `bin/readme2index.sh`VERSION from "1.2.5 2024-05-19"
to "1.2.6 2024-07-28".

Changed `bin/sort.gitignore.sh`VERSION from "1.1.7 2024-04-28"
to "1.1.8 2024-07-28".

Changed `bin/status2html.sh`VERSION from "1.4.1 2024-04-28"
to "1.4.2 2024-07-28".

Changed `bin/subst.default.sh`VERSION from "1.3 2024-04-20"
to "1.3.1 2024-07-28".

Changed `bin/subst.entry-index.sh`VERSION from "1.3.3 2024-04-13"
to "1.3.4 2024-07-28".

Changed `bin/subst.year-index.sh`VERSION from "1.1.3 2024-04-13"
to "1.1.4 2024-07-28".

Changed `bin/tar-entry.sh`VERSION from "1.3.8 2024-07-23"
to "1.3.9 2024-07-28".

Changed `bin/tar-year.sh`VERSION from "1.2.6 2024-07-23"
to "1.2.7 2024-07-28".

Changed `bin/untar-entry.sh`VERSION from "1.0.2 2024-04-13"
to "1.0.3 2024-07-28".

Changed `bin/untar-year.sh`VERSION from "1.0.2 2024-04-14"
to "1.0.3 2024-07-28".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-28 18:58:00 -07:00
Cody Boone Ferguson 831cee720e Typo fix in quick-readme2index.sh 2024-07-24 11:11:08 -07:00
Landon Curt Noll 96c113d225 complete All Done!!! All Done!!! -- Jessica Noll, Age 2 2024-07-04 13:53:10 -07:00
Landon Curt Noll 6e698b238a changed web site to website 2024-06-07 02:10:24 -07:00
Landon Curt Noll 69c38e0a48 correctly process non-zero EXIT_CODE, fix 2020/endoh2/README.md
We found cases where pandoc reported a conversion from markdown to
HTML problem that, while reported by the `bin/pandoc-wrapper.sh`
to `bin/md2html.sh`, which in turn reported to error to the tool
calling it, the tool calling `bin/md2html.sh` set `$EXIT_CODE` to
a non-zero value in order to delay the abort but then failed to act
on the non-zero `$EXIT_CODE` value at the end.

In a number of cases when `$EXIT_CODE` was set to non-zero, the
stderr message was labeled as a "Warning" instead of an "ERROR".

Fixed a bug in `bin/gen-authors.sh` that resulted the generation
of invalid markdown/HTML.  An `<hr>` HTML tag inside a `<div>` span
caused pandoc to issue "Div at .. closing implicitly" at the _hr_
HTML tag line.  For some reason, one cannot place a `<hr>`
(horizontal line) inside a `<div ... /div>` span.

Fixed a broken markdown links in `2020/endoh2/README.md` whose error
was hidden by one of the above mentioned problems.

Changed `bin/gen-authors.sh` VERSION from "1.10.1 2024-05-07"
to "1.10.2 2024-05-19" as a result of the above changes.

Changed `bin/gen-location.sh` VERSION from "1.4.1 2024-04-28"
to "1.4.2 2024-05-19" as a result of the above changes.

Changed `bin/gen-top-html.sh` VERSION from "1.4.6 2024-05-05"
to "1.4.5 2024-05-19" as a result of the above changes.

Changed `bin/gen-years.sh` VERSION from "1.3.1 2024-04-28"
to "1.3.2 2024-05-19" as a result of the above changes.

Changed `bin/quick-readme2index.sh` VERSION from "1.1.4 2024-04-13"
to "1.1.5 2024-05-19" as a result of the above changes.

Changed `bin/readme2index.sh` VERSION from "1.2.4 2024-04-14"
to "1.2.5 2024-05-19" as a result of the above changes.

Performed `make www` to test the above under macOS.
2024-05-19 14:15:31 -07:00
Landon Curt Noll 311c97c8a6 fix links in built HTML files
Fixed the broken links for CC BY-SA 4.0 related icons.

Fixed broken Makefile and C code links in topnav bar
for entries.

Changed `bin/all-run.sh` VERSION from "1.3.2 2024-02-26"
to "1.3.3 2024-04-13"

Changed `bin/all-years.sh` VERSION from "1.0.2 2024-02-26"
to "1.0.3 2024-04-13"

Changed `bin/chk-entry.sh` VERSION from "1.1.5 2024-03-27"
to "1.1.6 2024-04-13"

Changed `bin/gen-authors.sh` VERSION from "1.3.2 2024-03-26"
to "1.3.3 2024-04-13"

Changed `bin/gen-location.sh` VERSION from "1.1.2 2024-03-26"
to "1.1.3 2024-04-13"

Changed `bin/gen-other-html.sh` VERSION from "1.0.3 2024-03-28"
to "1.0.4 2024-04-13"

Changed `bin/gen-sitemap.sh` VERSION from "1.3.5 2024-04-13"
to "1.3.6 2024-04-13"

Changed `bin/gen-status.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"

Changed `bin/gen-top-html.sh` VERSION from "1.2.3 2024-04-12"
to "1.2.4 2024-04-13"

Changed `bin/gen-year-index.sh` VERSION from "1.0.5 2024-03-28"
to "1.0.6 2024-04-13"

Changed `bin/gen-years.sh` VERSION from "1.1 2024-03-30"
to "1.1.1 2024-04-13"

Changed `bin/manifest.entry.json.awk` VERSION from "1.1 2024-02-11"
to "1.1.1 2024-04-13"

Changed `bin/md2html.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"

Changed `bin/output-index-author.sh` VERSION from "1.6 2024-03-31"
to "1.6.1 2024-04-13"

Changed `bin/output-index-inventory.sh` VERSION from "1.2.4 2024-03-27"
to "1.2.5 2024-04-13"

Changed `bin/output-year-index.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"

Changed `bin/pandoc-wrapper.sh` VERSION from "1.6 2024-03-31"
to "1.6.1 2024-04-13"

Changed `bin/quick-readme2index.sh` VERSION from "1.1.3 2024-03-26"
to "1.1.4 2024-04-13"

Changed `bin/readme2index.sh` VERSION from "1.2.2 2024-02-26"
to "1.2.3 2024-04-13"

Changed `bin/sort.gitignore.sh` VERSION from "1.1.5 2024-04-04"
to "1.1.6 2024-04-13"

Changed `bin/status2html.sh` VERSION from "1.1.3 2024-04-12"
to "1.1.4 2024-04-13"

Changed `bin/subst.default.sh` VERSION from "1.2.2 2024-02-26"
to "1.2.3 2024-04-13"

Changed `bin/subst.entry-index.sh` VERSION from "1.3.2 2024-03-26"
to "1.3.3 2024-04-13"

Changed `bin/subst.year-index.sh` VERSION from "1.1.2 2024-03-26"
to "1.1.3 2024-04-13"

Changed `bin/tar-entry.sh` VERSION from "1.3.4 2024-03-27"
to "1.3.5 2024-04-13"

Changed `bin/tar-year.sh` VERSION from "1.2.1 2024-03-28"
to "1.2.3 2024-04-13"

Changed `bin/untar-entry.sh` VERSION from "1.0.1 2024-03-26"
to "1.0.2 2024-04-13"

Changed `bin/untar-year.sh` VERSION from "1.0 2024-03-28"
to "1.0.1 2024-04-13"

Run `make www sitewap` to test and perform the above.
2024-04-13 18:22:03 -07:00
Landon Curt Noll c176b51cec improve bin tool script shell variable use
We export shell variables where needed.

We print debug messages of shell variables in the order they were
exported or declared, except for the USAGE shell variable, for those
shell variables that were exported or declared prior to the set of
debug messages of shell variables.

Changed `bin/chk-entry.sh` VERSION from "1.1.3 2024-03-18"
to "1.1.4 2024-03-26".

Changed `bin/gen-authors.sh` VERSION from "1.3.1 2024-03-18"
to "1.3.2 2024-03-26".

Changed `bin/gen-location.sh` VERSION from "1.1.1 2024-03-18"
to "1.1.2 2024-03-26".

Changed `bin/gen-other-html.sh` VERSION from "1.0.1 2024-03-08"
to "1.0.2 2024-03-26".

Changed `bin/gen-sitemap.sh` VERSION from "1.3.2 2024-03-18"
to "1.3.3 2024-03-26".

Changed `bin/gen-status.sh` VERSION from "1.1.1 2024-03-18"
to "1.1.2 2024-03-26".

Changed `bin/gen-years.sh` VERSION from "1.0.2 2024-03-13"
to "1.0.3 2024-03-26".

Changed `bin/md2html.sh` VERSION from "1.1.1 2024-03-09"
to "1.1.2 2024-03-26".

Changed `bin/output-index-author.sh` VERSION from "1.5.1 2024-03-19"
to "1.5.2 2024-03-26".

Changed `bin/output-index-inventory.sh` VERSION from "1.2.2 2024-03-19"
to "1.2.3 2024-03-26".

Changed `bin/output-year-index.sh` VERSION from "1.1.1 2024-03-19"
to "1.1.2 2024-03-26".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.5.2 2024-03-19"
to "1.5.3 2024-03-26".

Changed `bin/quick-readme2index.sh` VERSION from "1.1.2 2024-03-08"
to "1.1.3 2024-03-26".

Changed `bin/readme2index.sh` VERSION from "1.2.1 2024-02-23"
to "1.2.2 2024-02-26".

Changed `bin/sort.gitignore.sh` VERSION from "1.1.2 2024-03-18"
to "1.1.3 2024-03-26".

Changed `bin/status2html.sh` VERSION from "1.1.1 2024-03-19"
to "1.1.2 2024-03-26".

Changed `bin/subst.default.sh` VERSION from "1.2.1 2024-02-23"
to "1.2.2 2024-02-26".

Changed `bin/subst.entry-index.sh` VERSION from "1.3.1 2024-03-19"
to "1.3.2 2024-03-26".

Changed `bin/tar-all.sh` VERSION from "1.1.1 2024-03-18"
to "1.1.2 2024-03-26".

Changed `bin/tar-entry.sh` VERSION from "1.3.1 2024-03-25"
to "1.3.2 2024-03-26".

Changed `bin/tar-year.sh` VERSION from "1.1.1 2024-03-18"
to "1.1.2 2024-03-26".

Changed `bin/all-years.sh` VERSION from "1.0.1 2024-02-23"
to "1.0.2 2024-02-26".

Changed `bin/gen-top-html.sh` VERSION from "1.2.1 2024-03-08"
to "1.2.2 2024-03-26".

Changed `bin/gen-year-index.sh` VERSION from "1.0.3 2024-03-09"
to "1.0.4 2024-03-26".

Changed `bin/subst.year-index.sh` VERSION from "1.1.1 2024-03-19"
to "1.1.2 2024-03-26".

Changed `bin/untar-entry.sh` VERSION from "1.0 2024-03-25"
to "1.0.1 2024-03-26".
2024-03-27 01:12:23 -07:00
Cody Boone Ferguson bba8f9a77e Improve bash version notes in bin/*.sh
The wording in the comments and the error message (in particular for
macOS) should now be clearer. Now in both places it shows how to install
bash in Homebrew. In commands I surrounded them like what was already
used, with " rather than 's, to make it consistent. There were other
cosmetic consistency changes as well.

Except in paths 'homebrew' was changed to 'Homebrew'.

In bin/output-year-index.sh there was a typo fix: it said to use it one
typically would do:

    -a bin/output-year-index.sh

which obviously is not correct.
2024-03-19 06:26:53 -07:00
Cody Boone Ferguson fc07925575 Typo fix and improve brew instructions in bin/
In particular the notice for macOS users now tells how to install bash
with Homebrew (brew install bash).
2024-03-18 11:08:38 -07:00
Landon Curt Noll d434295a7c fix bash version >= 5.1.8 check 2024-03-17 22:49:43 -07:00
Landon Curt Noll 4632b9d086 improve message to macOS users with a too old bash version 2024-03-17 12:48:10 -07:00
Landon Curt Noll 0773e2f31e enforce bash version >= 5.1.8
We explain why we test for bash version >= 5.1.8, suggest that
versions 4.2 thru 5.1.7 might work but are untested, and
suggest what macOS users might with to do.
2024-03-17 12:34:24 -07:00
Landon Curt Noll 4a3f5588ed remove use of shopt -s globskipdots in bin tools
The `shopt -s globskipdots` was not really needed in bin tools
and seems to cause porting issues between macOS and Linux.

We did a `make www` to check and the sitemap was updated.
2024-03-17 11:15:38 -07:00
Landon Curt Noll 085a708660 Added comments about where markdown content came from
The HTML files now include a comment indicating from where the main
part of the markdown content.

Changed `bin/gen-other-html.sh` VERSION from "1.0 2024-02-27"
to "1.0.1 2024-03-08".

Changed `bin/gen-top-html.sh` VERSION from "1.2 2024-02-29"
to "1.2.1 2024-03-08".

Changed `bin/gen-year-index.sh` VERSION from "1.0.1 2024-02-23"
to "1.0.2 2024-03-08".

Changed `bin/md2html.sh` VERSION from "1.0.1 2024-02-23"
to "1.1 2024-03-08".

Changed `bin/quick-readme2index.sh` VERSION from "1.1.1 2024-02-23"
to "1.1.2 2024-03-08".
2024-03-08 22:32:03 -08:00
Landon Curt Noll 09b8de5081 improve exit code use in bin scripts
The use of exit codes and exit code ranges has been
made more consistent across most bin tools.
2024-02-23 19:19:55 -08:00
Landon Curt Noll 64e4fd91ed built year level index.html files
Added `bin/all-years.sh` to run a command over all years.

Added `bin/gen-year-index.sh` to build an `index.html`
for a given year.

Added support code to build an `index.html`
for a given year.

Added `make gen_year_index` to to level Makefile
and related rules.

Using the above, added `index.html` files for all IOCCC years.

Updated `bin/README.md` according to the above.

Improved comments in `bin/all-run.sh`.

Exported TOPDIR in all `bin/` tools that use TOPDIR.

Removed incorrect lines in `bin/quick-readme2index.sh`
usage message.

Improve -v 3 printed important variables messages,
in order that important variables are exported,
from all `bin/` tools.

Rebuild all HTML pages via `make www`.
2024-02-12 17:59:40 -08:00
Landon Curt Noll 16cc268c2a change winner to entry
We change various uses of winner to entry, including
variable names and code comments.
2024-02-11 21:39:22 -08:00
Landon Curt Noll a23c6b76cb fix minor shellcheck issues 2024-02-11 18:10:01 -08:00
Landon Curt Noll aedb017223 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.
2024-02-11 16:00:31 -08:00
Cody Boone Ferguson f3e7c04c27 Typo fixes in several bin/ files 2024-02-02 12:48:40 -08:00
Landon Curt Noll d414b6d71f add quick-readme2index.sh, improve all-run.sh and readme2index.sh
Improved `all-run.sh` and `readme2index.sh` so that
certain command line options (e.g., -p, -P, -u, -U ...)
are only passed along to other tools if they are
given on the command line.

all-run.sh VERSION changed from "1.1.1 2024-01-19"
to "1.1.2 2024-01-20",

readme2index.sh VERSION changed from "1.1 2024-01-16"
to "1.1.1 2024-01-20".

Added `quick-readme2index.sh` that only calls
`readme2index.sh` if the `index.html` is not
a non-empty file, or of either `.winner.json`
and/or `README.md` is newer than `index.html`.

Updated all `index.html` files because the
the file contains a comment that includes
the newly modified readme2index.sh VERSION.
2024-01-21 00:21:40 -08:00