Renamed `ioccc.ico` to `favicon.ico`.
Correctly added use of `favicon.ico` to all constructed HTML headers.
Fixed the smart quote in HTML elements problem.
Moved HTML "DO NOT EDIT" comments down below at the bottom of the
HTML phase 1 section. According to to the Nu Html Checker, a charset
attribute on a meta element found after the first 1024 bytes.
Changed `bin/md2html.sh` VERSION from "1.1.3 2024-03-28"
to "1.2 2024-03-30".
Improved `bin/gen-status.sh` to adjust the "status_update" value
only when the "contest_status" is changed.
Performed a `make www` to perform and test the above under macOS.
Fixed links to year level compressed tarballs.
Added an "Inventory" of year-level compressed tarballs to the
generated `years.html` web page.
In `bin/gen-years.sh` changed VERSION from "1.0.3 2024-03-26"
to "1.1 2024-03-30".
In `bin/output-year-index.sh` changed VERSION from "1.1.2 2024-03-26"
to "1.2 2024-03-30".
Added `inc/topnav.empty.html` for an empty narrow topnav bar.
Changed references from "topnav=." to "topnav=empty" in `inc/md2html.cfg`.
Removed top level `ioccc.tar.bz2` compressed tarball. NOTE: Sorry
(tm Canada 🇨🇦) to remove the top level `ioccc.tar.bz2` file. We
will look into [Git Large File Storage [Git-LFS](https://git-lfs.com/).
If Git-LFS works well and does not have undesirable side effects,
we will consider restoring `ioccc.tar.bz2`.
Removed top level Makefile rules for "untar_all_tarball" and
"form_all_tarball". Removed `bin/tar-all.sh`.
Added `make gen_status` to `make quick_www` and `make www` in the
top level `Makefile`.
Ran `make www` to perform the above and test under macOS.
The inc/footer.default.html now has a common Copyright and CC BY-SA
4.0 License section for all generated HTML files.
All markdown files have a similar Copyright and CC
at the bottom in the form of an HTML comment.
The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.
We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.
Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.
Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".
Performed `make www` to achieve all of the above and to generate
HTML using the new `--wrap=preserve` `pandoc(1)` mode.
Changed the model of `status.json` model.
Updated `status.json` IOCCC_status_version from "0.2 2023-05-22"
to "1.0 2024-03-09".
Updated FAQ 2.6, improving how IOCCC entries announced.
Moved `bin/ioccc-status.sh` to `tmp/ioccc-status.sh`
now that we have a new status.json model for
which this tool no longer fits (sorry tm Canada 🇨🇦).
Added `status.md` markdown to explain the `status.json` model.
Added `status.html` to both display the contents of `status.json`
and render the contents of `status.md` as HTML.
Added `bin/status2html.sh` to convert `status.json`
into HTML for the `status.html` file.
Added `bin/gen-status.sh` to form `status.json`
and `status.html` files.
Added `make gen_status` to top level Makefile.
Performed `make www` to complete all of the above.
Changed `bin/gen-year-index.sh` VERSION from "1.0.2 2024-03-08"
to "1.0.3 2024-03-09".
Changed `bin/md2html.sh` VERSION from "1.1 2024-03-08"
to "1.1.1 2024-03-09".
Entry source is now prog.c for IOCCC years 2014 thru 2020,
or is now dirname.c IOCCC years 1984 thru 2013.
To achieve this state, we renamed the following:
renamed: 2004/hibachi/src/hibachi.c -> 2004/hibachi/hibachi.c
renamed: 2012/omoikane/nyaruko.alt.c -> 2012/omoikane/omoikane.alt.c
renamed: 2012/omoikane/nyaruko.alt2.c -> 2012/omoikane/omoikane.alt2.c
renamed: 2012/omoikane/nyaruko.c -> 2012/omoikane/omoikane.c
renamed: 2012/omoikane/nyaruko.orig.c -> 2012/omoikane/omoikane.orig.c
Modified `bin/subst.entry-index.sh` to add to entry `index.html` file,
links to the `Makefile` and the _C code_ to the top navigation bar.
Changed `bin/subst.entry-index.sh` VERSION from "1.2.2 2024-02-25"
to "1.3 2024-03-02".
Moved printing the Inventory link in the top navigation bar
from `bin/subst.entry-navbar.awk` to `bin/subst.entry-index.sh`.
Changed `bin/subst.entry-navbar.awk` VERSION from "1.0.1 2024-02-23"
to "1.1 2024-03-02".
Moved printing the Inventory link in the top navigation bar
from `bin/subst.year-navbar.awk` to `bin/subst.year-index.sh`.
Changed `bin/subst.year-index.sh` VERSION from "1.0 2024-02-11"
to "1.1 2024-03-02".
Changed `bin/subst.year-navbar.awk` VERSION from "1.0 2024-02-11"
to "1.1 2024-03-02".
Added location names (both default and common) to `author.html`.
Changed `tmp/gen_author_json.sh` VERSION from "1.0 2023-06-06"
to "1.1 2024-03-04".
Added location names (both default and common) to `author.html`.
Changed `bin/gen-authors.sh` VERSION from "1.2 2024-03-09"
to "1.3 2024-03-04".
The manifest and the resulting `.entry.json` files have been changed
for `2004/hibachi` and `2012/omoikane`.
The Makefiles for `2004/hibachi` and `2012/omoikane` copy the
source file into the "previously used location". The `make clobber`
rule removes the copied source. The `.gitignore` files have been
updated accordingly.
Improved how the concept of IOCCC terms _entry_, _author_ and _submission_ are
used in markdown files.
Links to markdown files (files ending in .md) within the repo were
changed to link to HTML files (files ending in .html). Special cases
where `README.md` became `index.html` were modified accordingly.
Fixed URL for `bugs.html` in Makefile comments.
Fixed name of `bin/sgi.sh` referenced in comments in `.gitignore` files.
Links to locations within the repo are now relative. For example a
link to `/contact.html` may become `../contact.html' or '../../contact.html`
depending on the directory level of the markdown file.
Nearly all links with absolute URLs under _https://www.ioccc.org_
or `https://ioccc-src.github.io/temp-test-ioccc_ have been changed to
relative paths within the repo. Some exceptions to this (such as
referring to a GitHub repo) were preserved.
Fixed a number of inside `faq.md` and `bugs.md`.
Added HTML name tags (in the form of an _entry_id_) for each entry
referenced in `bugs.md`. Fixed links from outside of `bugs.html`
into `bugs.html` accordingly.
Where FAQ entries are referenced, a named tag is used so that if a
FAQ is ever renumbered, links outside of `faq.html` will still work.
Changed the _inventory_order_ of a compressed tarball from _300_
to _100000_. While this may have been done for the manifest,
this changed had not yet been propagated into the `.entry.json` files.
Links to web sites that were in the for <URL> are now [URL](URL).
Performed `name www` to process all of the above.
Improved format of `authors.html`. Full names are now bold.
Location codes are now links back into `location.html` and
location names (both default and common) are now italics.
Added _author_handle_ each author.
Changed `bin/gen-authors.sh` VERSION from "1.1 2024-02-25"
to "1.2 2024-03-09".
Improved format of `location.html` as location codes are now bold,
author counts in a given location are now bold, and location names
(both default and common) are now italics.
Changed `bin/gen-location.sh` VERSION from "1.0.1 2024-02-23"
to "1.1 2024-03-04".
Added italic location name after location code in entry
`index.html` files.
Changed `bin/output-index-author.sh` VERSION from "1.4.1 2024-02-23"
to "1.5 2024-03-04".
Added _Location of authors_ to the sidebar as a link to `location.html`.
TODO: While nearly all of the above mentioned changes are likely correct,
they likely introduced a few errors that need correcting.
We build several top level HTML files whose content
comes from top level markdown files:
- CODE_OF_CONDUCT.html
- README.html
- bugs.html
- contact.html
- faq.html
- thanks-for-help.html
Added new `bin/gen-top-md2html.sh` to perform the above.
Added `make gen_top_md2html` rule to top level Makefile.
Added `make gen_top_md2html` to `make quick_www` and `make www`.
Improved top level jump links for `authors.html`.
Updated `bin/gen-authors.sh` to improve the top level jump links.
Changed `bin/gen-authors.sh` version from "1.0.1 2024-02-23"
to "1.1 2024-02-25".
Changed typo of "TITIE" into "TITLE".
Fixed `bin/subst.entry-index.sh` as per the above typo.
Changed `bin/subst.entry-index.sh` version from "1.2.1 2024-02-23"
to "1.2.2 2024-02-25".
Updated the `inc/md2html.cfg` config file to perform the above.
Performed `make quick_www` which updated `2000/natori/index.html`.
This is a HUGE commit and this task is not done. There are still some
changes that might need to be discussed and since so much is done here I
think it's better to let this go through and then make sure everything
is okay. When the remaining references are discussed they can also be
changed.
I did NOT include changes in the tmp/OLD_manifest directory.
Some of the changes in this commit (it might be exhaustive but it might
not be - not sure):
- In the Makefiles the WINNERS was renamed AUTHORS.
- References to winners.html were changed to authors.html.
- The FAQ named anchor 'fix_a_winner' was renamed 'fix_an_entry'.
- The JSON fields (or whatever they're called) 'winner_id' and
'winner_JSON_format_version' were changed so that 'winner' is 'entry'.
- In scripts for entries 'IOCCC winner' was changed to 'IOCCC entry'.
- 'winners_text' is now 'entries_text'. It might be better to be
'entry_text' as it's per entry but this was not noticed at first. Since
this is easy to fix I am holding off on this for the meantime.
- The script tmp/update-manifest.sh now has the commit log messages
changed to the correct terms as well.
The index.html files were updated as well with any of the above
changes.
There are some references that should NOT be updated. Two examples
caught (and maybe more have slipped through that will have to be changed
back): in 1984/anonymous/README.md the author wrote back to Landon after
being told about the famous tattoo and they used the words:
.. my entry will be the first IOCCC winner ..
but since this comes from the author it should remain so.
The other one is that winners.html should still refer to winners.html as
it informs people that it's been moved to authors.html (it does redirect
too but even so if it was changed it would defeat the purpose of the
message).
With paths like authors.html I tried to copy paste so that hopefully
there are no typos. It is possible that I did not end up doing this with
all but these can be fixed when discovered.
We add to the top level Makefile, some initial rules that
will facilitate the building of HTML content.
The `bin/md2html.sh` tool as been updated to output HTML comments
about the output during HTML phases 20, 21 and 22.
All entry `index.html` files were updated with some additional HTML
comments as a result of the above. The top level `location.html`,
`years.html` and `authors.html` have had HTML comments added also
a result.
Sorry (tm Canada 🇨🇦) for the mass update of entry `index.html` files.
Hopefully the times when all of them (often) need to be updated
will soon draw to a close.
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.