I believe the item of checking in the Makefiles for primary target
failing resulting in building the alt version (where desired) is now
done so this has also been removed from the todo file.
I believe that the task of dealing with messages/warnings in the
Makefile about compilation has now been addressed. If this is not the
case it will be fixed in time but I believe it has been done.
Update the manifest as per recent file changes.
Removed inventory.html from all winners as the inventory will be
added to the winner `index.html` instead,
Updated winner `.winner.json` files as per the above.
Add code to `readme2index.sh` to implement HTML phases 20, 21 and 22.
Improve `inc/gen-author.sh` to put blank lines around
the pandoc tool output.
Changed `inc/gen-author.sh` VERSION from "1.1 2024-01-01"
to "1.2 2024-01-04".
The `tmp/readme2index.sh` tool now processes all the HTML phases,
except 20, 21, and 22.
Added missing -N early exits to various inc/*.sh tools.
Released VERSION "1.0 2024-01-02" of `inc/subst.default.sh`.
Renamed `inc/subst.readme.sh` to `inc/subst.winner-index.sh`.
Released VERSION "1.0 2024-01-02" of `inc/subst.winner-index.sh`.
Added `inc/topnav.first.html` and `inc/topnav.last.html` to
handle the 1st and last winners of a given year.
Added various fixes to `tmp/readme2index.sh`.
Improved debugging statements from `tmp/readme2index.sh`.
TODO: Add code to process HTML phases 20, 21, and 22.
TODO: Modify `inc/subst.winner-index.sh` to handle topnav links.
TODO: Add inventory links in some form to `index.html`.
TODO: Figure out how to best generate `inventory.html'.
Added Left - class for placing things on the left side
Added Right - class for placing things on the left side
Added Disabled - class for making something as if the feature has been disabled
Improved Responsive Web Design, adjusted font sizes and scaling.
Now Default: screen is > 968 pixels wide (> 984 w/padding)
Adapts when screen is > 761 pixels (> 777 w/padding) AND <= 968 pixels wide (<= 984 w/padding)
Adapts when screen is > 500 pixels (> 515 w/padding) AND <= 761 pixels wide (<= 777 w/padding)
Adapts when screen is <= 500 pixels wide: (<= 515 w/padding)
Changed tmp/test,html to help test this new part of the CSS.
Set select variables ahead of USAGE so that the
help message contains certain default values.
Added -u repo_url to `tmp/readme2index.sh` and `inc/pandoc_wrapper.sh` for
the URL of the final target repo from where HTML files will be viewed.
Add missing Copyright to `inc/pandoc_wrapper.sh`.
Require a `.winner.json` under _yyyy/dir_.
Change `tmp/readme2index.sh` VERSION from "0.3 2023-12-31"
to "0.4 2023-12-31".
Change `inc/pandoc_wrapper.sh` VERSION from "1.0 2023-12-29"
to "1.2 2023-12-31".
Improve the parameter debugging under -v 3.
Fixed various typos.
The -P optstr default for `readme2index.sh` now defaults to:
-f markdown -t html --fail-if-warnings=true
The default -P optstr and -p tool are now displayed
in the help message of `readme2index.sh`.
The `readme2index.sh` VERSION changed from "0.2 2023-12-29"
to "0.3 2023-12-31".
The '-p tool' and '-P optstr' will be passed as leading options on the
-b tool and -a tool command lines, not to the '-o tool' command lines.
Improve help text for readme2index.sh.
The `inc/md2html.cfg` file was updated so that the comment
about options matches the `readme2index.sh` tool usage message.
The `readme2index.sh` tool does a more consistent job of checking
options in the help message and reporting when something violates
a restriction.
In many cases the parameters (_$OPTARG_) of an option is not allowed
to contain a single-quote, nor a double-quote. We prevent use of
single-quotes and double-quotes in cases where passing such to other
tools may create a problem.
There are a few exceptions to the above mention "single-quote /
double-quote" restrictions. For example, the "-s token=value" does
NOT have such a restriction. In the case of "-s token=value", we
can allow for the single-quotes and double-quotes because the ;
(semicolon) is used as a regex separator instead.
We also better explain the cumulative nature of "-s token=value".
Some help message wording cleanup was performed.
The `inc/md2html.cfg` file was updated so that the comment
about options matches the `readme2index.sh` tool usage message.
With -N, just parse arguments and ignore the file.
Change readme2index.sh version from "0.1 2023-12-10"
to "0.2 2023-12-29". The previous change in
commit d5c4171d73
forgot to update the version number.
The `tmp/sample_getopt.sh` is now `tmp/readme2index.sh`, a tool
that goes thru the motions of multi-phase getopt processing, scanning
the `inc/md2html.cfg` for the first match, and calls various stub tools.
The `inc/md2html.cfg` has been improved to document a cleaner getopt
phase model.
There are certainly more including some I encountered yesterday that are
not fixed but these can be fixed later on. These are just quick (and
incomplete) looks at some of the scripts.
I found another place where the wrong file is referred to in an entry:
in particular 1992/buzzard.2 refers to a file in 2020/ferguson2. This
type of thing will have to be checked for for all entries but this is an
example for future reference (I discovered it as I am working on a task
of 1992/buzzard.2).
The script had "s surrounding the git ls-files command which turned it
to a single file which of course is wrong.
Ran script again fixing many README.md files that had incorrect number
of blank lines for critical headers.
This will have to be done a final but a good number of files have been
corrected.
In alt code where a call to usleep(3) is made to allow for configuring
speed originally I used the macro 'Z'. In one case 'Z' was already taken
so I changed it to 'S' for that entry. I had the thought it might be
nice to make it always the same. This however is not possible as more
entries already have 'S' used. Also it's not important since I changed
the Makefiles so that one can specify it like 'make clobber SLEEP=500
alt' or whatever, removing the macro name and having to mess with
'CDEFINE'.
Adjusted `inc/md2html.cfg` to improve the 3 phase parse process.
Added `tmp/sample_getopt.sh` as a demo of the 3 phase parse of command
line options and arguments for that a markdown to HTML tool that
uses the `inc/md2html.cfg` configuration file.
Try:
```sh
cd tmp
./sample_getopt.sh -v 3 foo
```
The `tmp/sample_getopt.sh` tool performs a somewhat complicated 3
phase getopt parse of simulated command line options and arguments
that a tool converting markdown to HTML and using the `inc/md2html.cfg`
configuration file would perform. The tool does not actually use
the `inc/md2html.cfg`, it just simulates the complex 3 phase getopt
parsing procedure.
Updated `tmp/README.md` accordingly.
The new variables in the Makefile, with defaults, are:
FIRE= XK_BackSpace:XK_Tab
FORWARD= XK_Up:XK_w
BACKWARD= XK_Down:XK_s
LEFT= XK_Left:XK_a
RIGHT= XK_Right:XK_d
WIDTH= 512
HEIGHT= 288
An example of how to set some is in the README.md file.
This commit means I can remove an item from the things-todo.md file
which I have now done. Next I can return to 2018.
That is the comments have a general form and if they're for the alt code
they're defined in the alt code section. If they're for the entry and
the alt code they're above the CDEFINE variable.
The thanks file has been updated where it was needed.
Now only entries that have not been done need this improvement.
As the thanks-for-fixes.md file was renamed (at my suggestion)
thanks-for-help.md I have made sure that the file referred to in the
repo is thanks-for-help and that the text regarding it also refers to
help and not fixes ('Thanks for the fixes' -> 'Thanks for the help').
Add .path files to each winner directory: a file containing
the path to the winner directory from the top directory.
Changed YYYY/.year files to contain the paths, from the top
directory, if the winning directories for the given year.
Changed `/.top` to contain the IOCCC years.
Added `make genpath` rule to the top Makefile and the
year Makefiles to generate the above.
Added FAQ 6.8 to `faq.md` to explain the above.
Updated manifest to reflect recent changes to the list of files.
There are still a few entries that need to be improved for the easier
redefining of macros (usually for alt versions) via the Makefile but as
this is tedious I have grown tired of it for the day. The thanks file
for some of these might need to be updated as well. The todo file
includes the entries modified today that have to be checked so this is
not lost though not many have to be updated in this way. This is
primarily for entries that this improves the build of the original entry
too like 1998/banks.
I noticed some issues in 2020/ferguson1/.winner.json that although is
for another issue I want to be sure to remember that this is one of the
ones that does in fact have a problem. Later on I can go through the
rest of them (not just mine but every one) and then make sure that
everything is okay.
Removed duplicate lines in manifest.numbers.
Fixed case problems with true, false and null.
Fixed leading and trailing whitespace problems.
Fixed multiple whitespace problems.
Improved fix_csv.sh to detect the above mentioned problems in
manifest.csv.
Updated manifest to reflect recent repo changes.