It had:
#build authors.html if out of date with author JSON files'!/usr/bin/env make
so it was changed to:
!/usr/bin/env make
It seems like this was somehow yanked pasted from make help.
Use ``jstrdecode(1)` to decode certain JSON strings,
such as "Full Name", "Abstract", "Award" and "Organization".
We now rely on a correctly decoding `jstrdecode(1)`. The bin tools
now rely on `jstrdecode` with the following version or later:
> jstrdecode version: 1.0.6 2024-10-08
> JSON parser version: 1.1.7 2024-10-08
Removed `bin/unicode-fix.sed` and `bin/unicode-chk.sh`.
Removed `make unicode_chk`.
Fixed a few rule dependencies on `Makefile`.
Added information about `bin/jval-wrapper.sh` in `bin/README.md`.
Changed `bin/csv2entry.sh` VERSION from "1.4 2024-09-27"
to "1.5 2024-10-08".
Changed `bin/entry2csv.sh` VERSION from "1.4 2024-09-27"
to "1.5 2024-10-08".
Changed `bin/gen-authors.sh` VERSION from "1.13 2024-09-23"
to "1.14 2024-10-08".
Changed `bin/gen-location.sh` VERSION from "1.7 2024-09-23"
to "1.8 2024-10-08".
Changed `bin/gen-years.sh` VERSION from "1.5 2024-09-23"
to "1.6 2024-10-08".
Changed `bin/jfmt-wrapper.sh` VERSION from "1.2 2024-09-23"
to "1.3 2024-10-08".
Changed `bin/jprint-wrapper.sh` VERSION from "1.3 2024-09-23"
to "1.4 2024-10-08".
Changed `bin/jval-wrapper.sh` VERSION from "1.1 2024-09-23"
to "1.2 2024-10-08".
Changed `bin/output-index-author.sh` VERSION from "1.9 2024-09-23"
to "1.10 2024-10-08".
Changed `bin/output-year-index.sh` VERSION from "1.5 2024-09-23"
to "1.6 2024-10-08".
Changed `bin/subst.entry-index.sh` VERSION from "1.7 2024-09-27"
to "1.8 2024-10-08".
Perform `make www` to perform the above and test under macOS.
We add an initial "_title_" and "_abstract_" to all entry `.entry.json` files.
The `bin/csv2entry.sh` tool reads the `summary.csv` file and
loads the "_title_" and "_abstract_" to entry `.entry.json` files.
Changed `bin/csv2entry.sh` VERSION from "1.3 2024-09-23"
to "1.4 2024-09-27".
Perform `make csv2entry` to perform the above and test under macOS.
The `bin/cvt-submission.sh` tool adds "_title_" and "_abstract_" to the
.entry.json based on the `.info.json` file.
Changed `bin/cvt-submission.sh` VERSION from "1.2 2024-09-23"
to "1.3 2024-09-27".
The `bin/entry2csv.sh` tool forms the `summary.csv` file
based on the "_title_" and "_abstract_" fields found in .entry.json files.
Changed `bin/entry2csv.sh` VERSION from "1.3 2024-09-23"
to "1.4 2024-09-27".
Perform `make entry2csv` to perform the above and test under macOS.
Added `-H` and `header=with-header-3` to the `bin/md2html.cfg`
for the configuration entry for `[12][0-9][0-9][0-9]/*/README.md`.
Changed `bin/md2html.sh` VERSION from "1.6 2024-08-17"
to "1.7 2024-09-27".
All entry `index.html` files now list the "_abstract_" in a new
`<h3>abstract</h3>` header.
Changed `bin/subst.entry-index.sh` VERSION from "1.6 2024-09-23"
to "1.7 2024-09-27".
Removed `summary.csv`.
Added `summary.csv` and `summary.numbers` to `.gitignore`.
Sorted the result with `bin/sgi.sh`.
Perform `make quick_www` to perform the above and test under macOS.
Perform `make www` to perform the above and test under macOS.
When viewed on GitHub,
[summary.csv](https://github.com/ioccc-src/temp-test-ioccc/blob/master/summary.csv)
reported:
> We can make this file beautiful and searchable if this error is corrected: Illegal quoting in line 16.
This is an attempt to fix that problem.
NOTE: We are not sure what is wrong with the quotes on line 16.
Perhaps any quotes with the file is a problem and GitHub just reported
the first problem?
This file will go away, but is a good start for the
title and abstract for entries.
The contents started from
[summary.txt](https://github.com/ioccc-src/winner/blob/master/all/summary.txt).
We converted the contents into a CSV format. Moreover the abstract was
limited to no more than 63 characters. All comma's (",") within the
abstract were removed to make converting to CSV easier.
NOTE: This is a tempory file that will **GO AWAY** once the all of the
`.entry.json` files have been updated with a title and abstract.
We add `make unicode_chk` to run `bin/unicode-chk.sh` to check all
`.entry.json` and all `author/author_handle.json` files.
Added a JSON format check by `jparse(1)` to `bin/unicode-chk.sh`.
Changed `bin/unicode-chk.sh` VERSION from "1.0 2024-09-23"
to "1.1 2024-09-24".
Performed `make unicode_chk` to test the above under macOS.
If the [jsp tool](https://github.com/kjozsa/jsp) is
installed, it will be used in favor of the [JSONPath.sh
tool](https://github.com/lcn2/JSONPath.sh).
Updated `bin/jfmt-wrapper.sh`, `bin/jprint-wrapper.sh`, and
`bin/jval-wrapper.sh` to use jsp if found. These 3 tools may be given
`-t tool` where tool is either "_jsp_" or "_JSONPath.sh_" for force the
use of the tool. They also use `-Q` to perform a quick check tool using
trivial input.
The `bin/jval-wrapper.sh` tool had been simplified. The `-w`,
`-i` and `-u` options are gone. Instead it has:
```
-b print only values (def: print both JSON member and JSON value)
-q remove enclosing double quotes (def: keep any enclosing double quotes)
```
Add `make all_jfmt` to Makefile to canonically format all entry and
author handle JSON files.
A sed script `bin/unicode-fix.sed` has been added that converts
JSON string "_\u[0-9A-Fa-f]{4}_" encoding that may arise from known
JSON data. This is done as a work-a-round for [Unicode / UTF-8
issues](https://github.com/xexyl/jparse/issues/13) with `jstrdecode(1)`.
The `bin/unicode-chk.sh` tool, if given on file arguments, scans
all `.entry.json` and `author/author_handle.json` JSON files to be
sure that, after `bin/unicode-fix.sed` processing, no JSON string
"_\u[0-9A-Fa-f]{4}_" encodings remain.
Removed all `-j jparse` args from commands. Instead the `jparse(1)`
tool is looked for along $PATH.
Added `combine_author_handle.sh` tool to transform all of the
`author/author_handle.json` files into a temporary as a single JSON
file so that `bin/jval-wrapper.sh` tool may be used to extract all
"_sort_word_" or all "_entry_id_" values.
Changed `bin/all-jfmt.sh` VERSION from "1.0 2024-08-31"
to "1.1 2024-09-24".
Changed `bin/csv2entry.sh` VERSION from "1.2.3 2024-08-30"
to "1.3 2024-09-23".
Changed `bin/cvt-submission.sh` VERSION from "1.1 2024-08-31"
to "1.2 2024-09-23".
Changed `bin/entry2csv.sh` VERSION from "1.2.1 2024-08-17"
to "1.3 2024-09-23".
Changed `bin/gen-authors.sh` VERSION from "1.12 2024-08-18"
to "1.13 2024-09-23".
Changed `bin/gen-location.sh` VERSION from "1.6 2024-08-18"
to "1.7 2024-09-23".
Changed `bin/gen-status.sh` VERSION from "1.6 2024-08-17"
to "1.7 2024-09-23".
Changed `bin/gen-years.sh` VERSION from "1.4 2024-08-17"
to "1.5 2024-09-23".
Changed `bin/jfmt-wrapper.sh` VERSION from "1.1 2024-08-20"
to "1.2 2024-09-23".
Changed `bin/jprint-wrapper.sh` VERSION from "1.1 2024-08-20"
to "1.3 2024-09-23".
Changed `bin/jval-wrapper.sh` VERSION from "1.0.4 2024-08-20"
to "1.1 2024-09-23".
Changed `bin/manifest.entry.json.awk` VERSION from "1.1.2 2024-07-28"
to "1.2 2024-09-17".
Changed `bin/output-index-author.sh` VERSION from "1.8 2024-08-17"
to "1.9 2024-09-23".
Changed `bin/output-year-index.sh` VERSION from "1.4.4 2024-08-05"
to "1.5 2024-09-23".
Changed `bin/subst.entry-index.sh` VERSION from "1.5 2024-08-13"
to "1.6 2024-09-23".
Added `bin/combine_author_handle.sh` VERSION "1.0 2024-09-23".
Added `bin/unicode-chk.sh` VERSION "1.0 2024-09-23".
Added `bin/unicode-fix.sed` VERSION "1.0 2024-09-23".
Perform `make www` to perform the above and test under macOS.
FYI: On our MacBook Pro, `make www` took:
```
make www 631.79s user 264.95s system 94% cpu 15:53.71 total
```
FYI: On our MacBook Pro, `make quick_www` took:
```
make quick_www 81.43s user 58.26s system 102% cpu 2:16.02 total
```
The FAQ now notes that there can be times where the jparse repo
(https://github.com/xexyl/jparse/) is different from the mkiocccentry
repo's subdirectory jparse. This is one of the reasons the tools in the
mkiocccentry and the jparse repo show the jparse API with the -V
(version) option.
I believe that this is all that's needed for the jparse repo in the FAQ
but time will tell on that.
We added ._.DS_Store to `.gitignore`, and generalized the `/archive/historic/`
year sub-directories into a single pattern line.
We fix `bin/sgi.sh` to properly sort, canonically, `.gitignore` files
including `._.DS_Store` lines. The tool now stories stdin content
into a temporary file, then prints 6 classes of files from the
temporary file to stdout.
Changed `bin/sgi.sh` VERSION from "1.1.3 2024-08-18"
to "1.2 2024-09-05".
Fixed a bug in `bin/sort.gitignore.sh` that prevented it from
finding the `bin/sgi.sh` tool.
Changed `bin/sort.gitignore.sh` VERSION from "1.1.8 2024-07-28"
to "1.2 2024-09-05".
Performed `make sort_gitignore` to test the above under macOS.
NOTE: The above canonically sorted:
- 2004/hibachi/.gitignore
- 2005/mynx/.gitignore
- 2011/vik/.gitignore
- 2013/dlowe/.gitignore
- 2020/otterness/.gitignore
Added a new "FAQ 1.4 - What is the **Great Fork Merge**?"
and a new "FAQ 6.18 - I do not understand the IOCCC, can you explain it
to me?".
Updated "FAQ 0.11: How can I validate any JSON document?"
with new jparse info.
Performed `make gen_top_html` to accomplish the above and to test under macOS.
Added `bin/all-jfmt.sh` tool.
Added `make all_jfmt` rule to `Makefile`.
Added `make all_jfmt` to `make www`.
NOTE: Because the `bin/all-jfmt.sh` tool is slow, we did not
add `make all_jfmt` to `make quick_www`.
NOTE: Once the `jprint(1)` tool, as described in [issue
repo](https://github.com/xexyl/jparse), this tool (and a number of other
tools) will run **MUCH FASTER**.
Performed `make www` to accomplish the above and to test under macOS.
FYI: The `make www` takes:
make www 396.29s user 523.94s system 102% cpu 15:00.82 total
This command will become somewhat faster when the `jprint(1)` tool is ready.
It will become **MUCH** faster when the `jval(1)` tool is ready.
As a comparison, `make quick_www` takes only:
make quick_www 43.63s user 53.87s system 109% cpu 1:29.17 total
The `bin/cvt-submission.sh` tool is now complete.
Changed `bin/cvt-submission.sh` VERSION from "1.0.5 2024-08-17"
to "1.1 2024-08-31".
Make minor error message fix to `bin/csv2entry.sh`.
Performed `make quick_www` to accomplish the above and to test under macOS.
TODO: Complete the `bin/csv2entry.sh` tool.
We fixed `bin/csv2entry.sh` to output entry `.entry.json`
files in JSON canonical form.
Changed `bin/csv2entry.sh` VERSION from "1.2.2 2024-08-17"
to "1.2.3 2024-08-30".
Performed `make quick_www` to accomplish the above and to test under macOS.
The jparse/ subdirectory in the mkiocccentry repo is self-contained but
it was suggested to put in parentheses the original source and this has
been done now.
The PR #2662 introduced TAB characters into entry `.entry.json` files
and mal-formatted `author_handle` JSON members.
To restore canonical JSON formatting, we did:
```sh
find [12][90][89012][0-9] -name .entry.json -print | xargs -n 1 bin/jfmt-wrapper.sh -v 1
```
BTW: We have written a tool, currently untested, to do this. We plan to also
add a new fix JSON format rule to the top level `Makefile`.
Performed `make www` to accomplish the above and to test under macOS.