Commit Graph
100 Commits
Author SHA1 Message Date
Landon Curt Noll 0fa01fd744 add title and abstract to .entry.json and index.html files
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.
2024-09-27 23:40:45 -07:00
Landon Curt Noll 7d14be74fb fix 5th comma that was on line 54 2024-09-24 22:28:54 -07:00
Landon Curt Noll b947c1f155 fix other quote problems so GitHub does not complain 2024-09-24 22:27:18 -07:00
Landon Curt Noll 7c27ac4e0c fix Illegal quoting
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?
2024-09-24 22:21:53 -07:00
Landon Curt Noll c1f2a5f5e2 add temporary summary.csv file
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.
2024-09-24 21:57:48 -07:00
Landon Curt Noll 7359c091b5 sort entries in bin/README.md by filename 2024-09-24 18:27:03 -07:00
Landon Curt Noll f9f72152ab add make unicode_chk and add jparse check to bin/unicode-chk.sh
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.
2024-09-24 04:51:22 -07:00
Landon Curt Noll 499be5983d use jsp tool, workaround JSON Unicode bugs, misc fixes
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
```
2024-09-24 04:04:27 -07:00
Landon Curt Noll e84d6eb095 add make sort_gitignore to make www and make quick_www 2024-09-07 12:28:57 -07:00
Landon Curt Noll 69bef8add2 fix bin/sort.gitignore.sh and bin/sgi.sh
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
2024-09-05 16:56:47 -07:00
Landon Curt Noll a6c34f57cf update FAQ as per changes to jparse and mkiocccentry repos 2024-09-03 01:06:29 -07:00
Landon Curt Noll 73d777a4b8 add may apply to HHG quote pre-text 2024-09-02 12:52:27 -07:00
Landon Curt Noll 519705d178 add some FAQ humor and clarification
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.
2024-09-01 22:44:55 -07:00
Landon Curt Noll 841a44c364 add the goal to have fun with C! 2024-09-01 22:16:43 -07:00
Landon Curt Noll 8866c45a90 remove obsolete XXX comment from bin/csv2entry.sh 2024-09-01 01:01:25 -07:00
Landon Curt Noll 114e7ce85f improve format of make help 2024-09-01 00:38:31 -07:00
Landon Curt Noll e1bae250e1 fix make help typo 2024-09-01 00:21:04 -07:00
Landon Curt Noll cbdf9ed33f add bin/all-jfmt.sh tool
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
2024-09-01 00:16:13 -07:00
Landon Curt Noll e7656ec3b1 improve the usage message slightly to bin/jfmt-wrapper.sh 2024-08-31 22:34:54 -07:00
Landon Curt Noll 045716cde2 release bin/cvt-submission.sh tool
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.
2024-08-31 00:38:29 -07:00
Landon Curt Noll db67bf8a37 fix bin/csv2entry.sh
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.
2024-08-30 22:45:22 -07:00
Landon Curt Noll d981aa2a04 revert non-canonical JSON changes from a previous commit
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.
2024-08-29 19:03:28 -07:00
Landon Curt Noll 265e8fdfef change variable name in bin/gen-other-html.sh
We make a simple variable name change from `OTHERMD2HTML`
to ` OTHERMD2HTML_SH`.
2024-08-27 16:40:33 -07:00
Landon Curt Noll ccc360b2fb move non-README.md HTML formation to bin/othermd2html.sh
The core of `bin/gen-other-html.sh` code that converts entry non-README.md
into HTML has been moved into a new tool: `bin/othermd2html.sh`.

The `bin/othermd2html.sh` tool will be useful to the `bin/cvt-submission.sh`
tool that is under development.

Added info about `bin/othermd2html.sh` to `bin/README.md`.

Changed `bin/gen-other-html.sh` VERSION from "1.4.1 2024-08-18"
to "1.5 2024-08-27".

HTML produced by `bin/gen-other-html.sh` now uses a "jump to" mid-bar
test now shows the `YYYY/dir/index.html` link text (with `YYYY/dir/` added).

Performed `make gen_other_html` to accomplish the above and to test under macOS.
Performed `make gen_top_html` to accomplish the above and to test under macOS.
2024-08-27 16:31:56 -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 ccc982386e undo the effect of rejected PR #2645
It seems that for some reason, PR #2647 tried to drag in older
PR #2645 that was rejected.  We attempt to undo this effect
with this change.
2024-08-22 11:30:21 -07:00
Landon Curt Noll b3d865835f undo PR #2645
For some reason, PR #2646 was made on top of the code base for pr #2645.
If we accept PR #2646 as is, we perform PR #2645 that was previously
rejected.  This change is an attempt to avoid this.
2024-08-22 11:10:23 -07:00
Landon Curt Noll 96e0f2b966 move some rules into 1337.mk
A number of rules have been moved from entry `Makefile`s into the
`1337.mk` include file to make it easier for these common rules to be
updated or modified globally (by modifying the `1337.mk` include file).

The entry level `Makefile`s are now similar in form to the
/Makefile.example](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
file from the other repo.

The following make rules were moved into the `1337.mk` include file:

- `make indent.c`
- `make install`
- `make diff_orig_prog`
- `make diff_prog_orig`
- `make diff_alt_prog`
- `make diff_prog_alt`

This simplifies the entry level `Makefile`s so that they mostly reflect
the specifics of the particular entry.

Mentioned in FAQ 4.2, that the make diff rules are in the `1337.mk` include file.

Fixed invalid TAB character in `faq.md`.

Removed `make clean` directives that removed `indent.c`.  This file is now
removed via `make indent_clean`, a clean rule that also removes `indent.c`.

Removed `make clobber` directives that removed sandwich,  This file is now
removed via `make indent_clobber`, a clean rule that also removes `sandwich`.

Added `make indent_clean` and `make indent_clobber` rules into the top level
`Makefile` and the year level `YYYY/Makefile`.

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-21 23:42:28 -07:00
Landon Curt Noll 06ae40f99c fix clean rule examples in FAQ 0.3 2024-08-21 21:14:56 -07:00
Landon Curt Noll d6f487224a add Jump to: top below FAQ entries
We add links to jump to the top of the file at the bottom of FAQ
sections.

Improved Makefile samples for FAQ 0.3.

Performed `make faq` to accomplish the above and to test under macOS.
2024-08-21 21:04:40 -07:00
Landon Curt Noll 6655e2f31c reformat JSON indent with multiples of 4 spaces and no TABs
There is also a fix that fixes a format problem with
the `author_set`.

Used `bn/jfmt-wrapper.sh` to reformat JSON with:

```sh
find * -name '*.json' -print0 | xargs0 -n1 -t bin/jfmt-wrapper.sh
```
2024-08-20 11:25:00 -07:00
Landon Curt Noll afe9f9ea08 change JSON wrapper tools to not use -T with JSONPATH.sh
In keeping with [GH-issues 931](https://github.com/ioccc-src/mkiocccentry/issues/931),
we remove the use of `-T` from the `JSONPATH.sh` tool.  This will implement JSON
formatting using multiples of 4 ASCII spaces and without TABs.

Changed `bin/jfmt-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".

Changed `bin/jprint-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".

Changed `bin/jval-wrapper.sh` VERSION form "1.0.3 2024-08-11"
to "1.0.4 2024-08-20".
2024-08-20 11:25:00 -07:00
Landon Curt Noll 79f50c7d42 fix quick mode in bin/gen-other-html.sh
Fixed how `-Q` quick mode works in `bin/gen-other-html.sh`
so that the target HTML file is not touched needlessly.

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

Performed `quick_other_html` to test the above under macOS.

Performed `gen_other_html` to test the above under macOS.
2024-08-18 02:24:15 -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 f159369a0a use 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-location.sh` to use `bin/jval-wrapper.sh`.

Added `-Q` option to `bin/gen-location.sh` to not form
`location.html` when the `location.html` file is newer than all
`author/author_handle.json` files.

Changed `bin/gen-location.sh` VERSION from "1.4.5 2024-08-05"
to "1.5 2024-08-15".

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

Added `make quick_location` rule to the top level `Makefile`
to run `bin/gen-location.sh` with `-Q`.

Changed `make quick_www` use `make quick_location`.

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

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

Performed `make www` to test the above under macOS.
2024-08-17 17:54:15 -07:00
Landon Curt Noll 6c37038256 use uniq with LC_ALL=C
We make sure that when we uniq, we sort with `LC_ALL=C` as in:

> LC_ALL=C uniq ...

Changed `bin/csv2entry.sh` VERSION from "1.2.1 2024-08-17"
to "1.2.2 2024-08-17".

Performed `make csv2entry` to test the above under macOS.
2024-08-17 16:07:45 -07:00
Landon Curt Noll 0203a51dd8 improve FAQ on helping with ZZ location 2024-08-17 16:00:57 -07:00
Landon Curt Noll 5201a45561 use sort with LC_ALL=C
We make sure that when we sort, we sort with `LC_ALL=C` as in:

> LC_ALL=C sort ...

Changed `bin/entry2csv.sh` VERSION from "1.2 2024-08-13"
to "1.2.1 2024-08-17".

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

Changed `bin/csv2entry.sh` VERSION from "1.2 2024-08-13"
to "1.2.1 2024-08-17".

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

Changed `bin/cvt-submission.sh` VERSION from "1.0.4 2024-08-11"
to "1.0.5 2024-08-17".

Changed `bin/gen-sitemap.sh` VERSION from "1.3.13 2024-08-05"
to "1.3.14 2024-08-19".

Changed `bin/new-dir.sh` VERSION from "1.3.1 2024-08-11"
to "1.3.2 2024-08-17".

Performed `make www` to test the above under macOS.
2024-08-17 15:44:15 -07:00
Landon Curt Noll 5c66aaa1f2 use 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/subst.entry-index.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/subst.entry-index.sh` VERSION from "1.4 2024-08-09"
to "1.5 2024-08-13".

Adjusted `bin/entry2csv.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/entry2csv.sh` VERSION from "1.1.1 2024-07-22"
to "1.2 2024-08-13".

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

Adjusted `bin/csv2entry.sh` to use `bin/jval-wrapper.sh`.

Changed `bin/entry2csv.sh` VERSION from "1.1.1 2024-07-22"
to "1.2 2024-08-13".

Performed `make csv2entry` to test the above under macOS.
2024-08-13 22:55:41 -07:00
Landon Curt Noll 317a2a0c2c use 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.

Improve `-v 1` debug messages for `bin/gen-authors.sh` to give some
level of progress instead of a long pause.  Improve `-v 3` as well.

While the `bin/jval-wrapper.sh` tool is slower, it is also more accurate
in that various non-canonical JSON layouts will not confuse the tool.

Apologies for the slowdown.  Once the `jval(1)` tool is ready, it should
be faster than the `JSONPath.sh` tool that `bin/jval-wrapper.sh` uses now.

Added `-Q` to  `bin/jval-wrapper.sh` tool to perform a quick exit if
`authors.html` is newer than all `author/author_handle.json` files.

Updated the top level `Makefile` by adding `make quick_authors` rule
that will invoke `bin/gen-authors.sh -Q`.  Also changed `make quick_www`
to call `make quick_authors` instead of `make authors`.

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

Make a minor improvement in the usage message for `bin/gen-other-html.sh`.

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

Performed `make quick_www` to test the above under macOS.
2024-08-13 16:51:34 -07:00
Landon Curt Noll 21e29c9a68 checkpoint on bin/cvt-submission.sh
This is a checkpoint on `bin/cvt-submission.sh` development.

The `bin/cvt-submission.sh` tool now forms a compressed tarball
to contain submission files that will be modified or removed
by the tool.  The compressed tarball formed will be of the form
`/var/tmp/YYYY_dir.save.YYYYMMDD.hhmmss.tar.bz2`.

Added `-u` facility to  `bin/jval-wrapper.sh` to strip unnecessary
leading path elements.

Changed `bin/jval-wrapper.sh` VERSION from "1.0.2 2024-08-08"
to "1.0.3 2024-08-11".

Changed `bin/cvt-submission.sh` VERSION from "1.0.3 2024-08-09"
to "1.0.4 2024-08-11".

Performed `make quick_www` to test the above under macOS.
2024-08-13 14:42:06 -07:00
Landon Curt Noll 783d39b24f add missing author/index.html
We changed `author/README.md` to refer to FAQs instead
of trying to duplicate FAQ information.

Added `author/README.md` to `bin/md2html.cfg`.

Changed `bin/gen-top-html.sh` VERSION from "1.4.8 2024-08-05"
to "1.4.9 2024-08-11".

Performed `make gen_top_html` to accomplish the above and to test under macOS.
2024-08-11 23:21:13 -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 4d75ebc6c0 improve bin/new-dir.sh and bin/README.md
We improve debug messages in `bin/new-dir.sh`.

Updated `bin/README.md` with more information about
the recently added utilities.

Changed `bin/new-dir.sh` VERSION from "1.3 2024-08-11"
to "1.3.1 2024-08-11".

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-11 17:21:55 -07:00
Landon Curt Noll ee1ba8c7bd rename bin/add-dir.sh to bin/new-dir.sh
We rename `bin/add-dir.sh` to `bin/new-dir.sh`.
The `bin/README.md` is updated accordingly.

Changed `bin/new-dir.sh` VERSION from "1.2 2024-08-09"
to "1.3 2024-08-11".

Performed `make www` to accomplish the above and to test under macOS.
2024-08-11 14:34:45 -07:00
Landon Curt Noll cad0490b0f improve bin/add-dir.sh, checkpoint bin/cvt-submission.sh
We improve `bin/add-dir.sh` by calling `make genpath` so
that the `.allyear` will be up to date.

Changed `bin/add-dir.sh` VERSION from "1.1.1 2024-07-28"
to "1.2 2024-08-09".

Checkpoint `bin/cvt-submission.sh`: a work in progress.

Added more files to `template/entry` in support of the
checkpoint of the `bin/cvt-submission.sh` tool.

Changed `bin/cvt-submission.sh` VERSION from "1.0.2 2024-08-05"
to "1.0.3 2024-08-09".

Performed `make www` to accomplish the above and to test under macOS.
2024-08-09 12:01:17 -07:00
Landon Curt Noll a956c3d1e5 improve entry index.html navbar links
We improve entry `index.html` navbar links by allowing the
next and previous to link across years.

The `make genpath` now forms `.allyear`, which is a
sorted contamination of all YYY level `.year` files.

Updated `make help` to reflect the  `make genpath` functionality.

Updated FAQ 6.8 to talk about the `.allyear` file.
Fixed links to `.top` and `.allyear' to refer to GitHub.

Changed `bin/subst.entry-navbar.awk` VERSION from "1.2 2024-03-02"
to "1.3 2024-08-02".

Changed `bin/subst.entry-index.sh` VERSION from "1.3.5 2024-08-05"
to "1.4 2024-08-09".

Performed `make www` to accomplish the above and to test under macOS.
2024-08-09 03:23:16 -07:00
Landon Curt Noll 8683845014 fix shellcheck warning in bin/cvt-submission.sh 2024-08-08 18:28:25 -07:00
Landon Curt Noll 3fcae6f0c9 remove cd to topdir from JSON wrapper tols
The JSON related wrapper tools do not need to cd to topdir, so we
removed ahe code that finds and cd's to the top directory of the repo.
The tools that will call JSON related wrapper tools will have already
have moved to the top directory (topdir) of the repo.

Changed `bin/jfmt-wrapper.sh` VERSION from "1.0.1 2024-08-05"
to "1.0.2 2024-08-08".

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

Changed `bin/jval-wrapper.sh` VERSION from "1.0.1 2024-08-05"
to "1.0.2 2024-08-08".

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-08 18:22:26 -07:00
Landon Curt Noll 19119ea8fe revert convert bin/jfmt-wrapper.sh to use jfmt
The `jfmt(1)` is not ready to print canonical JSON.
2024-08-08 18:08:09 -07:00
Landon Curt Noll 865a4537b6 fix usage message for jfmt-wrapper.sh
-     1        JSONPath.sh exited non-zero
+     1        jval exited non-zero
2024-08-08 16:32:31 -07:00
Landon Curt Noll ff9dcf0a7a convert bin/jfmt-wrapper.sh to use jfmt
Converted `bin/jfmt-wrapper.sh` to use the `jfmt(1)` tool
now that the debug message problem was fixed.

Changed `bin/jfmt-wrapper.sh` VERSION from "1.0.1 2024-08-05"
to "1.1 2024-08-08".

Performed `make quick_www` to accomplish the above and to test under macOS.
2024-08-08 14:28:55 -07:00
Landon Curt Noll 42d072c622 add historical update to the historical mirror note 2024-08-08 09:20:42 -07:00
Landon Curt Noll 31d4f9d302 change bin/jval-wrapper.sh to have default pattern
With only 1 arg, `bin/jval-wrapper.sh` will print all JSON values found.

Changed `bin/jval-wrapper.sh` VERSION from "1.0 2024-08-05"
to "1.0.1 2024-08-05".
2024-08-05 01:53:14 -07:00
Landon Curt Noll 4bb575f482 checkpoint bin/cvt-submission.sh
Added checkpoint for `bin/cvt-submission.sh` as the code
is in development.

Changed `bin/cvt-submission.sh` VERSION from "1.0.1 2024-07-28"
to "1.0.2 2024-08-05".
2024-08-05 01:45:59 -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 1732c368ed add bin/jval-wrapper.sh tool
We form a wrapper for the `jval(1)`, a tool that allow the printing of JSON values.

We propose that the grammar used by JSONPath.sh(1):

>   https://github.com/lcn2/JSONPath.sh

becomes the model for how `jval(1)` prints JSON values.  Consider, for, example:

>   JSONPath.sh -w -f 1984/mullender/.entry.json '$author_set..author_handle'

and in particular:

>   JSONPath.sh -w -b -f 1984/mullender/.entry.json '$author_set..author_handle'

as a model of printing the `author_handle` values from the JSON `author_set` array.

See the following URL for more information.

>   https://github.com/lcn2/JSONPath.sh?tab=readme-ov-file#jsonpath-patterns-and-extensions
2024-08-05 00:13:53 -07:00
Landon Curt Noll caba4ecdf0 fix new_entry file for year level 2024-08-04 15:24:44 -07:00
Landon Curt Noll efc5485ebd fix new_year in top Makefile 2024-08-04 15:19:08 -07:00
Landon Curt Noll 633d457d1c say "So long and thanks for all the fish" to tmp
It is time to say "**So long and thanks for all the fish**" to the `tmp/` directory.

Now that `bin/csv2entry.sh` and `bin/entry2csv.sh` are in working well, we
no longer need any of the tools nor data files under the tmp/` directory.
At this point, the `.entry.json` files AND `author/author_handle.json`
are considered "_truth_" under this repo.

BTW: We are developing the `bin/cvt-submission.sh` tool for the IOCCC
judges to convert the contents of a submission files `.auth.json` and
`.info.json` into `.entry.json` files AND `author/author_handle.json`
file content (new or modified).   We are also planning to develop
a tool to validate an existing `.entry.json`: issuing warnings or
errors if problematic `.entry.json` data is discovered.  We also have the
[chkentry(1)](https://github.com/ioccc-src/mkiocccentry/blob/master/chkentry.c)
tool (and especially much thanks to the `jparse.a`  link library) to
validate `.auth.json` and `.info.json` files for a submission.  With the
completion of he `bin/cvt-submission.sh` tool and the  `.entry.json`
validator, as well as the `bin/csv2entry.sh` and `bin/entry2csv.sh`,
we will be able to maintain a set of coherent   `.entry.json` files.`
2024-07-31 17:12:40 -07:00
Landon Curt Noll e83cd61baf add FAQ to clarify original source code and OK_to_edit
Added FAQ 4.9 "What is the original source file?".

Added links for "dot_path" (and "dot_year" and "dot_top").

Clarify reasons why `OK_to_edit` might be set to `false`.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-31 16:22:01 -07:00
Landon Curt Noll 460cc40ffc fix invalid OK_to_edit values 2024-07-31 15:45:30 -07:00
Landon Curt Noll f6b15761b8 undo test by leave behind HTML fix 2024-07-31 01:47:02 -07:00
Landon Curt Noll 9a8cb0a5ed add temporary test of markdown link styles #2
Do not worry, this will go away after the test

We had to fix a prior HTML bug
2024-07-31 01:43:32 -07:00
Landon Curt Noll 3394a14dc0 add temporary test of markdown link styles
Do not worry, this change will go away soon
2024-07-31 01:35:34 -07:00
Landon Curt Noll 609bd44f67 fix and improve FAQ 0.16 2024-07-29 13:31:13 -07:00
Landon Curt Noll ed1afc7895 add How to I compile mkiocccentry and its related tools FAQ 2024-07-29 13:21:38 -07:00
Landon Curt Noll e297d4541a do not silence make rules for single pages 2024-07-28 21:54:39 -07:00
Landon Curt Noll f6495f1856 fix awkward bugs entry language for 2019/dogon 2024-07-28 21:53:45 -07:00
Landon Curt Noll 0e8f1e6e98 align no thank you's in markdown.html, add make markdown
Added `make markdown` to the top level `Makefile` to just build
the `markdown.html` file.

Sorted make rules that build individual HTML files.

Performed `make gen_top_html` to accomplish the above and to test under macOS.
2024-07-28 21:31:01 -07:00
Landon Curt Noll 975824f93b fix author_handle links in authors.html
Fixed a bug in `bin/gen-authors.sh` that corrupted author_handle links in
`authors.html.

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

Performed `make make gen_authors` to accomplish the above and to test under macOS.
2024-07-28 21:07:00 -07:00
Landon Curt Noll 444f79270e add bin/jfmt-wrapper.sh and bin/jprint-wrapper.sh
Added wrappers for `jfmt(1)` and `jprint(1)` that
will use `JSONPath.sh` temporarily in the mean time.

FYI: Please do **NOT** be concerted by these tools.  This is a workaround
prior to the **Great Fork Merge** that will allow us to, when jfmt(1)` and
`jprint(1)` exist, easily modify these wrapper tools to use those tools
when they are available.  But as we do **NOT** want to delay IOCCC28,
this workaround will do for now.
2024-07-28 20:33:23 -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
Landon Curt Noll dbf6921b3a use include 1337.mk to hold 1337 hacker rulz
Updated 1337 hacker rulz to version 7.

Added `1337.mk` to contain the updated 1337 hacker rulz (v7).

We use an optional include of `1337.mk` (or `../1337.mk`,
or `../../1337.mk`) to include the 1337 hacker rulz.

Changed `make deep_magic` to `make more_magic`.

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

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

Add `make new_entry` to `YYYY/Makefile` and `template/Makefile.year`.

Change `make new_year` to use `sort -n -u`.

Made minor debug message fixes to `bin/new-year.sh`.

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

Improved `bin/add-dir.sh` to update `YYYY/Makefile` with
the new entry directory name.

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

Performed `make www` to accomplish the above and to test under macOS.
2024-07-23 22:45:16 -07:00
Landon Curt Noll 16c33c5f2f add YYYY/README.md processing to bin/new-year.sh
The `bin/new-year.sh` will form `YYYY/README.md` from
the template file: `template/README.md.year`.

In `bin/new-year.sh` changed VERSION from "1.2 2024-07-21"
to "1.3 2024-07-23".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-23 14:18:17 -07:00
Landon Curt Noll 30334f9716 add bin/add-dir.sh skeleton for further development
We have added `bin/add-dir.sh` which is just a skeleton
script.  For now, most of what is useful are the top level
comments describing what the command will and will NOT do.
These comments are work in progress and will be updated.

Updated `bin/README.md` to reflect these changes.

Changed usage introduction text to `bin/README.md`.

Made a minor comment change to `bin/add-dir.sh`.

The `bin/new-year.sh` toll will create the YYYY directory if needed.

Added `template/` directory for Makefile templates.

The `bin/new-year.sh` tool will create `YYYY/Makefile` from
the `template/Makefile.year` if needed.

The `YYYY/.year` and `YYYY/.filelist` will be created
for the new IOCCC year.

Change `bin/new-year.sh` VERSION from "1.1 2024-07-21"
to "1.2 2024-07-22".

Added a brief description of `bin/add-dir.sh` to `bin/README.md`
and updated `bin/new-year.sh` entry.

Added `make genpath_top` rule that just updates `.top`.
The existing `make genpath` also runs `make genpath_top`.

The `YYYY/README.md` will be created from a template
for the new IOCCC year.

Flag as error if `YYYY/README.md`, or `YYYY/YYYY.tar.bz2` is
missing in `bin/gen-years.sh`.

Warn if `YYYY/README.md`, or `YYYY/YYYY.tar.bz2` is an empty file
in `bin/gen-years.sh`.

Changed `bin/gen-years.sh` VERSION from "1.3.4 2024-07-13"
to "1.3.5 2024-07-23".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-23 12:55:07 -07:00
Landon Curt Noll 354953b530 fix checking of command status
In the spirit of pr #2589, we correct similar cases where the string
"status" instead of `$status` was being tested for a value.

In `bin/csv2entry.sh` changed VERSION from "1.1 2024-07-20"
to "1.1.1 2024-07-22".

In `bin/entry2csv.sh` changed VERSION from "1.1 2024-07-20"
to "1.1.1 2024-07-22".

In `bin/gen-sitemap.sh` changed VERSION from "1.3.10 2024-07-18"
to "1.3.11 2024-07-22".

In `bin/gen-status.sh` changed VERSION from "1.5.5 2024-07-18"
to "1.5.6 2024-07-22".

In `bin/md2html.sh` changed VERSION from "1.5.2 2024-07-18"
to "1.5.3 2024-07-22".

In `bin/tar-entry.sh` changed VERSION from "1.3.6 2024-04-28"
to "1.3.7 2024-07-22".

In `bin/tar-year.sh` changed VERSION from "1.2.4 2024-04-28"
to "1.2.5 2024-07-22".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-22 12:23:33 -07:00
Landon Curt Noll ec2819ac4c exclude .auth.json and .info.json
Always exclude `.auth.json` and `.info.json` files
in this repo.

This will be useful for IOCCC judges who are processing
submissions that are going to be announced as
new winning entries.
2024-07-21 23:57:25 -07:00
Landon Curt Noll 86ceab39f4 improve bin/new-year.sh and Makefile sub-dir processing
The `bin/new-year.sh` now uses make rules to perform some
if its actions.  It modifies the `Makefile` to add the
new year to the `${YEARS}` make variable.

Changed `bin/new-year.sh` VERSION from "1.0 2024-07-21"
to "1.1 2024-07-21".

The top level `Makefile` will test of a Makefile for
a given year exits before calling a make rule for the year.
If there is no `YYYY/Makefile` a warning message is issued

Updated `bin/README.md` to reflect these changes.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-21 23:42:16 -07:00
Landon Curt Noll a4c07b0a14 put 2024 under test
We are testing tools and need to maintain a 2024 test directory
so we have added 2024 to `.gitignore` temporarily.

We have added a TODO item to issue #2239 to undo the effect
of this commit and similar testing commits.
2024-07-21 22:28:14 -07:00
Landon Curt Noll 0dbf358b37 add a consistent set of text about X11 2024-07-21 17:27:47 -07:00
Landon Curt Noll e719e63a1e fix bin/new-year.sh rename
Sorry (tm Canada 🇨).
2024-07-21 17:07:19 -07:00
Landon Curt Noll 082c8edbed add bin/add-dir.sh tool
Added `bin/add-dir.sh` VERSION "1.0 2024-07-21".
2024-07-21 16:53:20 -07:00
Landon Curt Noll d60f7784ba rename new_year.sh to new-year.sh
Use -'s for consistent bin tool names.
2024-07-21 16:30:22 -07:00
Landon Curt Noll 89e66b96c5 improve word flow around FAQ references 2024-07-21 16:17:20 -07:00
Landon Curt Noll f7e7610370 added the ability to wish a Happy New IOCCC Year
:-)

Added `bin/new_year.sh` VERSION "1.0 2024-07-21".
2024-07-21 15:22:40 -07:00
Landon Curt Noll 314ef43d25 improve the 1992/nathan historical note 2024-07-21 14:27:37 -07:00
Landon Curt Noll 62a90df37f improve CSV / .entry.json tools
Any canonicalization errors (e.g., sort error, mv error, etc.) will
cause an immediate `exit 8`.

The `bin/entry2csv.sh` tool will verify the author_handles referred
to by `author_wins.csv` and check the `author/cauthor_handle.json' file set.

The `bin/csv2entry.sh` tool will verify the author_handles referred
to by `author_wins.csv` and check the `author/cauthor_handle.json' file set.

In `bin/entry2csv.sh` changed VERSION from 1.0.4 2024-07-19"
"1.1 2024-07-20".

In `bin/csv2entry.sh` changed VERSION from to "1.0.1 2024-07-19"
"1.1 2024-07-20".

Performed `make www` to accomplish the above and to test under macOS.

TODO: Remove the `tmp` directory (after saving contents into private storage)
      after testing and improvement of `bin/csv2entry.sh` and
      `bin/entry2csv.sh is complete.
2024-07-20 23:44:45 -07:00
Landon Curt Noll 34178dadba improve CSV / .entry.json tools, fix make csv2entry
Fixed typo in `make csv2entry` rule in `Makefile`.

Fixed how exit codes triggered deep within loops are realized.
Regularize how raising an exit codes with loops are announced.

The use of `-n` does NOT prevent the creation of temporary files:
only permanent files are not modified with `-n`.  NOTE: While
CSV files are NOT permanent files, they too are not modified with `-n`.

Fixed the canonical sort of `manifest.csv`.  Now running
`bin/csv2entry.sh` immediately after `bin/entry2csv.sh` will not
modify `manifest.csv`.

If `bin/csv2entry.sh` encounters an author handle for which
there is no `author/author_handle.json` file, the tool will
complete the formation of the CSV file set and then exit 9
at the very end.

Fixed a few comments in `bin/csv2entry.sh` and `bin/entry2csv.sh`.

In `bin/entry2csv.sh` changed VERSION from "1.0.3 2024-07-19"
to "1.0.4 2024-07-19".

In `bin/csv2entry.sh` changed VERSION from "1.0 2024-07-19"
to "1.0.1 2024-07-19".

Performed `make www` to accomplish the above and to test under macOS.

TODO: Incorporate as needed, more processing of `author/author_handle.json` files.

TODO: Remove the `tmp` directory (after saving contents into private storage).
2024-07-19 16:39:09 -07:00
Landon Curt Noll fcd016a884 update and improve make help
Added `make entry2csv` and `make csv2entry` to the help list.

Changed the "syntax" if the lines printed by `make help` so
that when one selects the entire line and pastes that line
into the shell, the trailing comment is not seen as a rule,
nor it is executed.

Made other minor formatting changes of `make help`.
2024-07-19 14:41:20 -07:00
Landon Curt Noll 097dd49cc7 add tools to manage .entry.json content
Added `bin/csv2entry.sh` VERSION "1.0 2024-07-19".

In `bin/entry2csv.sh` changed VERSION from "1.0.2 2024-07-14"
to "1.0.3 2024-07-19".

The `bin/entry2csv.sh` tool converts all entry `.entry.json` files
into canonicalized `author_wins.csv`, `manifest.csv`, and `year_prize.csv`
CSV files.

The `bin/csv2entry.sh` tool converts `author_wins.csv`, `manifest.csv`,
and `year_prize.csv` (canonicalizing them if needed)  `.entry.json`
files for all entries.

To change the manifest for one or more entries:

```sh
    bin/entry2csv.sh -v 1
    # ((import `manifest.csv` into a spreadsheet tool))
    # ((modify in the spreadsheet tool, the content as needed))
    # ((export the spreadsheet contents, as the CSV file  `manifest.csv`))
    bin/csv2entry.sh -v 1
    make www
``

To change the award for one or more entries:

```sh
    bin/entry2csv.sh -v 1
    # ((import `year_prize.csv` into a spreadsheet tool))
    # ((modify in the spreadsheet tool, the content as needed))
    # ((export the spreadsheet contents, as the CSV file  `year_prize.csv`))
    bin/csv2entry.sh -v 1
    make www
``

To change the authorship of one or more entries:

```sh
    bin/entry2csv.sh -v 1
    # ((import `author_wins.csv` into a spreadsheet tool))
    # ((modify in the spreadsheet tool, the content as needed))
    # ((export the spreadsheet contents, as the CSV file  `author_wins.csv`))
    bin/csv2entry.sh -v 1
    # ((modify winning_entry_set of `author/author_handle.json` files as needed))
    make www
``

Performed `make www` to accomplish the above and to test under macOS.

TODO: Review and improve/expand as needed, changes that were made to `bin/README.md`.

TODO: Remove the `tmp` directory (after saving contents into private storage).
2024-07-19 02:15:18 -07:00
Landon Curt Noll ed866b45e8 format headers
We move `tmp/format-headers.sh` into `bin/format-headers.sh`.

We also add a few missing empty lines to `README.md`.

We add `bin/format-headers.sh` to the `bin/README.md`.

We run `bin/format-headers.sh` to perform the above.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-19 00:18:41 -07:00
Landon Curt Noll 0ae673c24e added UNIX command line quote to bin/README.md 2024-07-18 15:23:30 -07:00
Landon Curt Noll be94c60316 fix how tools check exit codes an entire pipe
We use the `status_codes=("${PIPESTATUS[@]}")` method to
collect all of the bash exit codes from a pipe in one go,
and then test for any failure with `[[ ${status_codes[*]} =~ [1-9] ]]`.

There are other cases where an exit code is obtained,
however in each of those cases only a single exit code
from just one of the commands in the pipe is needed.

In `bin/gen-sitemap.sh` changed VERSION from "1.3.9 2024-06-21"
to "1.3.10 2024-07-18".

In `bin/gen-status.sh` changed VERSION from "1.5.4 2024-07-18"
to "1.5.5 2024-07-18".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-18 15:02:16 -07:00
Landon Curt Noll ef35efc4d3 canonicalize failure :-)
We fix some error messages in a few bin scripts.

Sorry (tm Canada 🇨) for the punny log message.
2024-07-18 13:37:44 -07:00
Landon Curt Noll ad72ca96ea add change that was caught by make www 2024-07-18 12:41:08 -07:00
Landon Curt Noll 6d7b5348b6 improve FAQ 5.5 and FAQ 6.16
We improve FAQ 5.5 (correcting or updating IOCCC author information)
by adding a generic example on changing author's URL.

Now the "PLEASE HELP us identify proper locations for IOCCC authors"
(that now follows the change of URL example) contains only
generic information about changing the location_code from ZZ to AU.

We remove the indirect reference to author email in FAQ 6.16 as we
do not wish to call out what we previously included in the
`authors.html` page.

This commit modifies that otherwise perfect fine PR #2578.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-17 12:38:14 -07:00
Landon Curt Noll 55a413cd55 Merge remote-tracking branch 'origin/master' into statuses 2024-07-17 12:29:55 -07:00
Landon Curt Noll 43fafd0af6 improve FAQ 5.5 and FAQ 6.16
We improve FAQ 5.5 (correcting or updating IOCCC author information)
by adding a generic example on changing author's URL.

Now the "PLEASE HELP us identify proper locations for IOCCC authors"
(that now follows the change of URL example) contains only
generic information about changing the location_code from ZZ to AU.

We remove the indirect reference to author email in FAQ 6.16 as we
do not wish to call out what we previously included in the
`authors.html` page.

This commit modifies that otherwise perfect fine PR #2578.

Performed `make www` to accomplish the above and to test under macOS.
2024-07-17 12:25:23 -07:00
Landon Curt Noll 538c11b639 remove reference author email, clarify make quick_www
We remove an indirect reference to author email in FAQ 6.16.

We also clarify and simplify mention of `make quick_www` in FAQ 5.5.
2024-07-17 10:37:29 -07:00