The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.
Ran `make www timestamp` to perform the above.
We improve the text in the top level `social.html` page.
Added a number of missing files to the sitemap.
Changed `bin/gen-sitemap.sh` VERSION from "2.0.1 2025-04-28"
to "2.0.2 2025-07-30".
Ran `make social sitemap` to perform the above.
Prepare for the winners of **IOCCC28**.
> However these are not the 2024 droids you are looking for. :-)
The HTML menu (both JavaScript and non-JavaScript) has been updated.
The `Status -> Rules and guidelines' have been replaced with two
separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`.
Added a new top level `social.html` page: built from a new `social.md`.
Sorted rules for building specific web pages in the top level `Makefile`.
Added `make social` to make the `social.html` page from `social.md`.
The `bin/gen-top-html.sh` now is able to process a argument of **social**
to process the new top level `social.html` page.
Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-07-25".
Below `About -> Home page` a new `About -> IOCCC social media` menu item
as added.
Because the menu change touched every HTML file, we changed the general
copyright date range for HTML files from "1984-2024" to "1984-2025"
due to the extensive changes made for **IOCCC28**.
Those markdown files that were modified in 2025 had their copyright date
range also changed from "1984-2024" to "1984-2025".
Rebuilt tarballs and sitemap due to the extensive HTML rebuilding.
Ran `make update` to perform the above.
The `bin/gen-years.sh` has been updated to include the abstract of the
winning entry.
Changed `bin/gen-years.sh` VERSION from "2.1.1 2025-06-06"
ta "2.2.0 2025-07-10".
Ran `make gen_years timestamp` to perform the above.
Adjusted `bin/md2html.cfg` to allow for the creation of year level
archive of the rules and guidelines that were in effect when the given
year's content opened for submissions.
We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/rules.md` rules archive, then `YYYY/rules.html`
will be created.
We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/guidelines.md` rules archive, then `YYYY/guidelines.html`
will be created.
Changed `bin/gen-year-index.sh` VERSION from "2.0.0 2025-03-13"
to "2.1.0 2025-07-05".
Adjusted `next/rules.md` and `next/guidelines.md` so that when they are
copied as archived copies of rules and guidelines under a YYYY directory,
the internal links do not break. There are **NO** changes to the readable
contents of the rules and guidelines, only some changes to a few internal links.
Updated `1992/buzzard.2/index.html, `1993/rince/index.html`, and
`2012/omoikane/index.html that were modified by recent commits.
Rebuild sitemap due to the changes above.
Ran `make www` to test and perform the above.
The `display_as` field in an `.entry_json` file must match
the regex `^[a-z][0-9a-z]*$` now. This is needed to reduce
errors during the final round while converting a potential
submission to entry form.
Modify `1992/buzzard.2/.entry.json` and
`1993/rince/.entry.json` to change `display_as` field
to use lower case.
Correct `2012/omoikane/.entry.json` to correctly
reflect changes made by commit 2955e5d07e
and commit 2955e5d07e.
Change `bin/cvt-submission.sh` to verify that the `display_as`
matches the above regex.
Changed `bin/cvt-submission.sh` VERSION from "2.2.2 2025-06-30"
to "2.3.0 2025-07-02".
Rebuild all tarballs, both at the entry and the year level
due recent changes to `var.mk`, `1337.mk`, and `ioccc.css`.
Rebuild sitemap due to the changes above.
Ran `make update` to test and perform the above.
When `bin/cvt-submission.sh` needs to form a `try.sh` file,
it now uses `try.sh.judging`.
Changed `bin/cvt-submission.sh` VERSION from "2.2.1 2025-06-29"
to "2.2.2 2025-06-30".
Modified `bin/cvt-submission.sh` to use `chkentry(1)` on
submissions that are about to be converted into an entry,
by using `-P` to ignore permissions. We also ignore any
`.DS_Store` files found as they will not be committed to
the repo (because of the top level `.gitignore` file).
Changed `bin/cvt-submission.sh` VERSION from "2.2.0 2025-06-29"
to "2.2.1 2025-06-29".
The `bin/cvt-submission.sh` tool no longer will remove selected files
when -n` is used.
The `bin/cvt-submission.sh` tool will not object if a `.gitignore` file
(put there by an IOCCC Judge) is found.
Changed `bin/cvt-submission.sh` VERSION from "2.1.0 2025-06-16"
to "2.2.0 2025-06-29".
The `bin/new-dir.sh` tool use of `sed(1)` to update the year level
Makefile has been fixed.
Changed `bin/new-dir.sh` VERSION from "2.0.2 2025-05-29"
to "2.0.3 2025-06-29".
Tested/testing using potential final round submissions.
We fix/improve the new_entry rule in `template/Makefile.year`
that is used by `bin/new-dir.sh`.
Changed `bin/new-dir.sh` VERSION from "2.0.1 2025-05-18"
to "2.0.2 2025-05-29".
Tested/testing using potential final round submissions.
We moved the building of an initial entry `README.md` file functionality
form `bin/cvt-submission.sh` to a new `bin/gen-readme.sh` tool.
Add `bin/gen-readme.sh` VERSION "2.0.0 2025-06-16".
Update `bin/cvt-submission.sh` to ignore while running `chkentry(1)`,
any submission top level `REDAME.md` file.
Removed unused template file `template/entry/README_md`.
Changed `bin/cvt-submission.sh` allowed minimum `chkentry(1)` VERSION from "1.1.5"
to "2.0.5".
Changed `bin/cvt-submission.sh` VERSION from "2.0.5 2025-05-18"
to "2.1.0 2025-06-16".
Update sitemap.
Tested the above via `make gen_top_html timestamp` on macOS.
Fixed heading title for "Support the IOCCC" block in `years.html`.
Changed `bin/gen-years.sh` VERSION from "2.1.0 2025-06-06"
to "2.1.1 2025-06-06".
Update sitemap.
Tested the above via `make gen_years timestamp` on macOS.
Changed "Support IOCCC" heading to "Support the IOCCC".
Use HTML blockquote instead of markdown quote for the "Support the IOCCC"
and "IOCCC on Social Media" HTML code blocks.
Added "Support the IOCCC" and "IOCCC on Social Media" to the
top level `index.html` page, the top level `news.html` page and
the top level `years.html` page.
Changed `bin/gen-years.sh` VERSION from "2.0.0 2025-03-13"
to "2.1.0 2025-06-06".
Update sitemap.
Tested the above via `make gen_top_html gen_years timestamp` on macOS.
Successfully tested `bin/cvt-submission.sh` on a new entry in a new
year that was generated from a submission entry.number directory via
`sbin/post-collect.sh` from the submit tools.
Changed `bin/cvt-submission.sh` prompts to use "[Y,n]" and to default to yes.
The `bin/cvt-submission.sh` processes and appends YYYY/dir to `.allyear`.
Improved 215 error message and exit code from `bin/subst.entry-navbar.awk`.
Changed `bin/cvt-submission.sh` VERSION from "2.0.3 2025-05-18"
to "2.0.4 2025-05-18".
Changed `bin/output-index-author.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-18".
Changed `bin/output-index-inventory.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-18".
Changed `bin/output-index-inventory.sh` VERSION from "2.0.1 2025-05-17"
to "2.0.2 2025-05-18".
Changed `bin/subst.entry-index.sh` VERSION from "2.0.1 2025-05-17"
to "2.0.2 2025-05-18".
Changed `bin/subst.entry-navbar.awk` VERSION from "1.3.1 2025-05-17"
to "1.3.2 2025-05-18".
Update sitemap.
Tested the above via `make update` on macOS.
Fixed a bug that was introduced into `bin/subst.entry-index.sh`
where the value `$HTML_SED` was set too early. Shell functions
variables are evaluated when they are executed, not when they
are first parsed. So exported variables used by a shell function
need to be set only before the shell function is executed.
Checkpoint `bin/cvt-submission.sh` as part of our testing.
Set file modes of 0444 for when `.auth.json` is formed from `.auth.json.xz`.
The awk scripts under bin put their name (basename) into error
messages to make it easier to debug any error they might raise.
Changed `bin/cvt-submission.sh` VERSION from "2.0.1 2025-05-01"
to "2.0.2 2025-05-17".
Changed `bin/filelist.entry.json.awk` VERSION from "1.0 2024-02-12"
to "1.0.1 2025-05-17".
Changed `bin/manifest.csv.entry.awk` VERSION from "1.0 2024-07-14"
to "1.0.1 2025-05-17".
Changed `bin/manifest.entry.json.awk` VERSION from "1.2.1 2024-11-16"
to "1.2.2 2025-05-17".
Changed `bin/subst.entry-index.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-05-17".
Changed `bin/subst.entry-navbar.awk` VERSION from "1.3 2024-08-02"
to "1.3.1 2025-05-17".
Changed `bin/subst.year-navbar.awk` VERSION from "1.2 2024-04-04"
to "1.2.1 2025-05-17".
Update sitemap.
Tested the above via `make update` on macOS.
The json wrapper tools, `bin/jfmt-wrapper.sh`, `bin/jprint-wrapper.sh`
and `bin/jval-wrapper.sh` have been updated as follows:
The `-Q` option now does a quick test, ignores args, and exits.
With `-Q`, the required args are ignored and are not required.
The quick testing of `JSONPath.sh` via `-Q` is fixed.
Leading commends about the tools have improved.
A few typos have been fixed.
The `-v 3` variable printing is performed just before any `-N` test.
Changed `bin/jfmt-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Changed `bin/jprint-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Changed `bin/jval-wrapper.sh` VERSION from "2.0.1 2025-04-21"
to "2.0.2 2025-05-04".
Updated sitemap.
Tested the above via `make update` on macOS.
Fixed vimrc typo relating to noexpandtab in `markdown.md`.
Added missing top level and 2nd level markdown and HTML files
to the sitemap.
Changed `bin/gen-sitemap.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-28".
Updated sitemap.
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
The `JSONPath.sh` has been updated (and bug fixed).
The `-A` option is gone and `-4` has been added.
See: https://github.com/lcn2/JSONPath.sh
Changed `bin/jfmt-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Changed `bin/jprint-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Changed `bin/jval-wrapper.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-04-21".
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
Updated `bugs.html` to reflect the fix of all known bugs in `2000/dlowe`.
Added thank you to John Dalbec in `thanks-for-help.md`.
Added processing of "%%REPO_TOP_URL%%" tokens to `bin/subst.default.sh`.
Updated `find-missing-links.sh` to not falsely report missing links
when a "%%REPO_TOP_URL%%" token is used.
Changed `bin/subst.default.sh` VERSION from "1.3.2 2024-08-05"
to "1.4.0 2025-04-16".
Changed `bin/find-missing-links.sh` VERSION from "1.1.1 2024-04-28"
to "1.2.0 2025-04-16".
Due to a `pandoc(1)` bug fix, `2011/fredriksson/index.html` and
`2012/kang/index.html` were modified. The bug fix removed extraneous
whitespace that was previously introduced into HTML under certain
situations. These 2 changes do **NOT** impact the way web browsers
render these pages, however.
Updated sitemap.
Tested the above via `make www gen_status gen_sitemap timestamp` on macOS.
In conjunction with changes made to "the other repo",
we now set:
export LANG="C"
export LC_CTYPE="C"
export LC_NUMERIC="C"
export LC_TIME="C"
export LC_COLLATE="C"
export LC_MONETARY="C"
export LC_MESSAGES="C"
export LC_PAPER="C"
export LC_NAME="C"
export LC_ADDRESS="C"
export LC_TELEPHONE="C"
export LC_MEASUREMENT="C"
export LC_IDENTIFICATION="C"
export LC_ALL="C"
instead of just "$LC_ALL", "$LANG", "$LC_NUMERIC".
In all bin shell scripts, set `LC_ALL`, `LANG`, and `LC_NUMERIC` to "C".
Changed all bin shell script VERSION to "2.0.0 2025-03-13".
Tested the above via `make www` on macOS. Only the sitemap was updated.
The file next/remarks.example.md has been renamed next/remarks.md.
From this file a new html file, next/remarks.html, is generated. The
first part of the instructions say to download the markdown file and
copy it to your submission's directory.
The rest is mostly the same but this way one can look at the website and
also be aware of the file (and it'll be linked to in the rules and/or
guidelines as well).
This required updating bin/gen-top-html.sh an bin/md2html.cfg and the
Makefile was updated too (with a typo fix also).
The minimum version for cvt-submission of chkentry is 1.1.5, the most
recent version.
Technically the previous version would work too but 1.1.5 renamed some
variables to make it more consistent with the mkiocccentry terminology
so it's better to have 1.1.5.
Not only were some commands (multiple cp commands) referencing the wrong
file but the move of template/try.*sh to next/ caused an error.
Additionally the chkentry(1) tool no longer has the two file arg syntax
but instead just one arg, the directory.
I was able to test up to the creation of the index.html file but I got
an error. I believe this is due to something else not being set up (I
did have to temporarily modify .top to test this out - as one example -
but I surely missed some things).
The `chkentry(1)` tool was changed so that the `.auth.json`
arg comes before the `.info.json` arg. These changes are
needed to accommodate and document that change.
Also the use of the single arg as a directory was
removed from documentation (until issue #940 is addressed).
removed most inc files form cleanup except `inc/index.html`.
Updated `sitemap.xml`.
Changed `bin/status2html.sh` VERSION from "1.3.15 2025-01-09"
to "1.3.16 2025-01-09".
Performed `make gen_status gen_sitemap timestamp` on macOS to complete the above.
Modified `bin/status2html.sh` to remove . files from sitemap.
Updated `sitemap.xml`.
Changed `bin/status2html.sh` VERSION from "1.3.14 2024-08-19"
to "1.3.15 2025-01-09".
Performed `make gen_status gen_sitemap timestamp` on macOS to complete the above.
The status showed 'The IOCCC is not yet open' to indicate it is in
pending status. But it would be better to match the actual status
itself especially as the status.html file explains pending status, not
'not yet open'. At a quick glance it is easy to miss especially for
those of us who have worked on the repo for a long time and in
particular those who worked on the status.html file a lot.
This updated files in inc/, bin/ and next/ but I cheated and used sgit
to do this. I then rebuilt the html files. A previous minor grammar
problem in rules was fixed as well.
Fixed link in `inc/guidelines.pending.hdr`.
Improved link in `inc/rules.open.hdr`.
Updated timestamps and sitemap with `make gen_status gen_sitemap timestamp`.
Changed `bin/status2html.sh` VERSION from "1.4.3 2024-08-05"
to "1.4.4 2024-12-29".
Performed `make quick_www` on macOS to complete the above.
We set dates and times for when IOCCC28 will go into pending state,
open state, and judging state. These dates are subject to change until
the content enters the open state.
Modified both `next/guidelines.md` and `next/rules.md` as per the
IOCCC28 dates and times.
Improve the `next/guidelines.md` and `next/rules.md` text around IOCCC28 dates and times.
We processed the XXX's in markdown files that needed processing.
Fixed a minor typo in `bin/cvt-submission.sh`.
Made some minor formatting improvements to `faq.md`, `next/register.md`,
`next/rules.md`, `next/guidelines.md`, `README.md` and `index.md`.
Updated "Rule 3" in `next/rules.md` in regards to the above.
Updated "Rule 8" in `next/rules.md` in regards to the above.
Changed `faq.md` version from **28.1.8 2024-12-07**
to **28.2.0 2024-12-28**.
Changed `next/guidelines.md` version from **28.29 2024-12-27**
to **28.30 2024-12-28**.
Changed `next/rules.md` version from **28.14 2024-12-07**
to **28.15 2024-12-28**.
TODO: Review these changes.
The menu in all html pages for the FAQ was fixed to link to the step 0
(of how to enter the contest) and also it was renamed ('Enter the
IOCCC').
I also went through the most important sections of the FAQ (how to
enter and the mkiocccentry related questions) and checked the
register.html, pw-change.html and submit.html pages. It is possible I
have missed something but I think it's in pretty good shape nonetheless.
Added a new `next/submit.html` to move the "how to submit" form "in-line"
of the top FAQ entry into a new page managed by `next/submit.md`.
Thus, `next/submit.html` is a parallel to `next/register.html`
and `next/submit.md` is a parallel to `next/register.md`.
Changed the FAQ "faq.html#submit" and into "faq.html#enter".
Added individual tags for the steps in FAQ0.0.
Moved "faq.html#register" down to FAQ 0.0 step 2.
Added "faq.html#submit" for FAQ 0.0 step 5,
however elsewhere often "next/submit.html" is used.
Changed references for "faq.html#upload" to "next/submit.html".
We made a number of changes to the following markdown files to reflect the above:
- `about.md`
- `faq.md`
- `index.md`
- `markdown.md`
- `next/README.md`
- `next/README.md`
- `next/guidelines.md`
- `next/register.md`
- `next/rules.md`
- `nojs-menu.md`
- `status.md`
as well as these files:
- `bin/gen-top-html.sh`
- `bin/md2html.cfg`
and added:
- `next/submit.html`
- `next/submit.md`
Perform `make www` and `make gen_status` to perform the above and test under macOS.
TODO: Add images about the mailing list to `next/register.md`. See the line:
```
XXX - **put images and other details about joining the mailing list here** - XXX
```
Added a new `next/register.html` that is required by the mailing list server.
The `next/register.md` still contains a big **XXX - put more data here - XXX**
as a placeholder for information about the mailing list registration process.
Improved the status text for `faq.html`, `next/index.html` and `status.html`
via `faq.md`, `next/README.md` and `status.md`. We also removed the
excessive links to IOCCC and instead use the term "contest" where applicable.
IMPORTANT CHANGE: Registration be available when the contest is both pending and open.
We made a number of changes to `faq.md`, `next/README.md` in an attempt to
reflect the above.
Changed `bin/gen-status.sh` VERSION from "1.7 2024-09-23"
to "1.8 2024-11-23".
Changed `bin/gen-top-html.sh` VERSION from "1.4.9 2024-08-11"
to "1.4.10 2024-11-23".
Perform `make www` and `make gen_status` to perform the above and test under macOS.
TODO: Change **XXX - put more data here - XXX** in `next/register.md` for information
about how to join the mailing list.
The file template/entry/Makefile.entry was moved to
next/Makefile.example. This matches the mkiocccentry repo in filename
and where it was before (template/entry) is not the right place as that
is for the template of making submissions into a winning entry whereas
next/ is for the next contest. The next/ seems like the most logical
place because the example file could be updated per contest for whatever
reason, perhaps by adding the year in it (or not). On the other hand,
the try.sh in template/entry is for submitters too but since the
bin/cvt-submission.sh script will copy the template files to a winning
entry if it does not exist it is left in template/entry, even if this
might not be ideal.
The references to the old Makefile.entry have been updated to
Makefile.example in the new path/filename.
Other changes had to be made too including updates to
bin/cvt-submission.sh. That script should be checked to make sure
everything is okay but as I have no way to test it that might have to be
done by the judges though I think it is okay.
Html files that have been changed that might need to be checked are:
0. faq.html (this one especially should be checked)
1. next/guidelines.html (though the judges will be checking this more)
2. next/rules.html (though the judges will be checking this more)
For the faq.html file, the Makefile.example and try.sh/try.alt.sh
scripts should be downloaded, not linked to on GitHub and it needs to be
clear that one should use the Makefile.example from the website (this
repo) rather than the out of date mkiocccentry repo.
For the guidelines and rules, and especially the guidelines, any files
linked should also be downloaded and not linked to GitHub. The text
should be clear already but it might be good to have a quick pass. The
judges will be going over these files before the next contest too. The
files should be downloaded here too, not linked to GitHub as submitters
need to download the files to make use of.
The thanks-for-help.html file was slightly modified but should be fine
too. In this case the GitHub file should be linked to.
The version of the rules and guidelines are from an earlier date of when
they were last modified for the above changes (as this was worked on
over a number of days).
When jparse is not found it did not show how to install it, which is
needed for the script to function. It might be worth pointing out that
it does not use the jparse repo as that requires one to install the
libraries needed, whereas the mkiocccentry clone of the repo has the
libraries needed as part of its ecosystem.
This happened because when focusing on a bug for several days that had
to do with decoding code points (which so happens to be encoding but in
JSON it should be converted to unicode even when decoding) I lost sight
of the fact that jstrencode is meant to be **JSON** encoder. In the
process of this I have uncovered a number of other bugs but that's with
jstrencode and the website uses jstrdecode so this should not delay the
contest at all.