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.
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.
This includes the include files inc/guidelines.pending.hdr and
inc/rules.pending.hdr.
Rebuilt html files as well.
This does not include the other pending fixes and it does not include
the updates about mkiocccentry now allowing subdirectories. That'll come
in another commit either later today or if not then hopefully this
weekend.
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.
It turned out that `next/rules.md` was modified in the section marked
between:
```html
<!-- START: this line starts content from: inc/rules.closed.hdr -->
```
and:
```html
<!-- END: the next line ends content from: inc/rules.closed.hdr -->
```
Instead, `inc/{guidelines,rules}.*.hdr` should be modified as
`make gen_status` uses these files to form this content.
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.
We improved the rules language around `make clobber` to not insist,
but instead request actions to restore the state of the submission.
Updated `inc/rules.closed.hdr` and `inc/guidelines.closed.hdr` to clarify
the tentative nature of the rules and guidelines without implying
that they might be massively changed before the IOCCC re-opened.
The `next/rules.md` and `next/guidelines.md` have been updated to
include the `inc/rules.closed.hdr` and `inc/guidelines.closed.hdr`
content respectively.
The top level warning that the rules and guidelines are out of date
have been removed.
Performed `make rules guidelines` to update the HTML pages.
We move the "_Thanks for the help_" out from under the "Entries"
menu and under the "About" menu to better balance the menus.
Besides, "_Thanks for the help_" is more **about** the IOCCC itself.
The sections have been modified a fair amount. The Entries menu has been
extended to have: Fixing entries, Updating author info, Thanks for the
help. The first two were moved from FAQ and the last one from About.
The rationale for these, in order: entries and authors have to do with
entries and most of the help involves entries. It also has to do with
website but in 'about' it does not seem the right place, unless maybe it
is renamed to 'Credits' or something (I am not suggesting this one way
or the other). This one is debatable but that was the rationale.
The Status menu has been extended to have: Markdown guidelines and
Security policy. The rationale is that the markdown guidelines are part
of contest guidelines and the security policy is about the status of the
entries and how if there are any security problems they will not be
addressed (instead of about the IOCCC).
The FAQ was extended to have: Compiling entries, Running entries, How to
help. The reason to not have compiling and running entries under Entries
is because this is 'how to' and also the menu was too long. How to help
seems like a good idea under FAQ too (was in About).
About was extended to have the new 'about.html' page (from about.md).
This is a rare case where a new file is useful as it fits under 'About'.
The menu now is: Home page, About the IOCCC, The Judges, Contact us. I
was pondering the 'About [the IOCCC]' at the top and also naming it
'About us' but it seemed like a link to index.html was necessary and as
for 'about us' it seemed less clear as to whether it was about the
judges or the contest itself. The FAQ has been updated slightly for
this.
After further inspection the bin/index.html and the inc/index.html links
were removed from the about section.
With these changes, renaming an item or slight reordering
notwithstanding, I believe that #2006 is probably in good shape.
The mobile About menu was missing the IOCCC markdown guidelines. This
has been added to the mobile menu but moved to 'Status' which is where
guidelines are (it has been renamed to be 'IOCCC Markdown Guidelines' to
match the style of the other items in that menu).
The About menu now has two more links, one for the website tools and the
other for the include files of the tools. It might be, looking at the
generated html files, better to have another menu instead, but what that
should be is unclear. The reason it might be better is because the
'About' menu is rather long. In retrospect it might be better to not
have the script include files in the html files but this can be decided
and dealt with later.
The script bin/find-missing-links.sh now ignores the directory NOTES/. A
better approach might be using git ls-files --exclude but a quick test
did not work right. Another option, at least for NOTES/, might be to use
'git ls-files --exclude-standard'.
The bin/index.html file has been updated.
Run make www to rebuild all html files.
A number of question answers have been merged and shortened somewhat.
Fix link in the menu of all html pages and the inc/ files that was
broken due to renaming an anchor.
The guidelines and rules have had a link fix (to the FAQ) as well as
some additional points added about the mkiocccentry toolkit.
More work in the FAQ needs to be done, including with the how to enter
the IOCCC, but as so much work has been done already I have decided to
make the commit to get these many important changes out of the way.
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.
The location of the link is in the About menu under the 'Contacting the
IOCCC' and above 'Thanks for the help'. At first I had it at the very
bottom, under 'IOCCC markdown guidelines', but it seemed better to have
it closer to contacting the IOCCC. This is the same location in the no
JavaScript menu (which, for those who do not know or forget, is not a
requirement except for some screen sizes).
The top level Makefile has a new 'security' rule. Updated make help.
Typo fixes in make help.
SECURITY.html has had a few updates as well: change the wording of entry
code is unsupported (it now says 'ALL CODE IN ALL IOCCC ENTRIES IS
UNSUPPORTED!!') and it now links to the mkiocccentry repo and how to
report a possible security vulnerability in that repo; as that IS
supported - and since there was reference to discussing security
concerns is in SECURITY.html - even though the entries will not receive
security updates - it seemed a good idea to have a link to report such
security issues in the mkiocccentry repo. Perhaps the FAQ needs to be
updated for this too.
A typo that was missed because I did not look at that part of the file
was 'quidelines' instead of 'guidelines'. This has been fixed in inc/
and next/.
Harmonized and improve the headers that are prepended
to the rules and guidelines given the IOCCC state.
Attempted to make the headers that are prepended
to the rules and guidelines more consistent.
Make reference to, where applicable, FAQs
about feedback and questions in those headers.
Perform `make www` to perform the above and test under macOS.
Fixed a number of typos, inconsistencies, and problems with the
rules and guidelines.
Improved how the closed version of the rules and guidelines declare
themselves at the top of the markdown and HTML file.
Changed `next/rules.md` VERSION from "2024-06-29-v28"
to "28.1 2024-06-29" in order to be more consistent
with IOCCC tool version format.
Changed `next/guidelines.md` VERSION from "2024-06-29-v28"
to "28.1 2024-06-29" in order to be more consistent
with IOCCC tool version format.
Make a minor format fix to `faq.md`.
Performed `make status` and `make www` to test the above umder macOS.
While not strictly necessary, replacing the two ASCII tab characters
in the markdown copyright comment makes it easier to detect problematic
TAB indentation within markdown files.
After this commit, only 90 markdown files have leading ASCII TAB
characters. And again, while not strictly necessary, we can consider
running expand on those 90 markdown files to see what effect that
might have on the HTML files they produce.
Replace leading ASCII TAB characters with multiples of 8 ASCII SPACE
characters (the default action of the `expand(1)` tool) might have
an negative effect on some HTML formatting where **hack-a-round**
formatting was attempted to fix broken indentation caused by
problematic ASCII TAB characters.
Think of this as a baseline for evaluating leading
TAB characters within markdown files.
TODO: Consider either using `expand(1)` to replace leading ASCII
TAB characters with multiples of 8 ASCII SPACE characters AND/OR
modifying the appropriate `bin` tool to convert leading ASCII TAB
characters into multiples of 8 ASCII SPACE characters.
It should be 'Location of winning authors' (as it is now) but by mistake
there was an extra space ('Location of winning authors'). Obviously
this is a huge commit as every html file with a menu (almost all) had to
be updated.
A few page names were changed and menu link (titles) were changed too.
By page names it means either DESCRIPTION or HEADER_2 in
bin/md2html.cfg. Although it looks better and is more consistent, there
might be one or two that can be further improved.
Naturally every html file that is markdown based was updated.
This is a very large commit not only because I forgot to run make www
after updating the menus but I also forgot to do that after the update
to some of the award titles (only quick-readme2index.sh was used).
There is a typo fix in bin/README.md.
This commit does mean that md2html.cfg has to be added to bin/README.md
but that can be done later.
The steps run to verify this works okay:
make www
git status
git diff
git add -u
make update
git status
git restore $(git check)
The last is important as it is not time for make update. 'git check' is
an alias:
git diff --name-only
In some pages at the top it had 'and' but in the menu it had instead a
'&'. The menus (JavaScript and otherwise) now has 'and' to match the
pages. The file nojs-menu.html has been checked for broken links and
indeed one at least was fixed. Very few top level html files need to be
checked now. Some that are entirely generated should be okay but links
will still be checked to be sure.
Some cases of '(Mis)features' from the previous commit were also
corrected to '(mis)features' as this is also part of menu and page
consistency.
The files markdown.{md,html} have had the menus updated too but there
are some other changes that were works in progress. This file is not
thus completed but will be sometime soon.
This commit changes inc/md2html.cfg also and it is done to make the
header (under the line 'The International Obfuscated C Code Contest')
match the header in the bugs.md file, in case. Updating bugs.md is not
necessary. A keyword was also added to the html file, mis-features,
along with the already existing misfeatures.
The inc/md2html.cfg file was in this case updated for the keywords (not
that many would think of it, maybe, but since I was making another fix I
added the keyword 'ta') and more importantly HEADER_2. The file is not
just about fixing old entries but rather help in every other way too.
Thus it now reads 'Thanking people for their help'.
The thanks-for-help.{md,html} has also been fixed in the above way and
the 'thanks for all the fish' is now a link.
'Ta ta and thanks for all the fish :-)'
I was asked to actually make corrections in the rules and guidelines and
to make sure that the look and feel seems good. The typos and other
features will be added back later. Some things worth noting below.
First references to twitter were changed to mastodon. I also in some
cases (this should be in the FAQ too and I'm not sure if it is) when
referring to mastodon noted that unless you are mentioned (also if
someone reposts your toot but this is not mentioned as it's not
relevant) you will not get a notification so one should still refresh
the page as otherwise they might not get an update.
The current iocccsize in the mkiocccentry repo checks for 2503 not 2053
like it used to. Only some of the references can be changed to 2503,
however. For why this is read the file!
I changed the word 'historic' to 'historical'. This is because
historical refers to something that happened in the past and the rules
and guidelines are something that existed in the past. On the other hand
historic refers to famous or important in history. Of course that might
be the case here but it felt like in these cases historical was more
correct. This, of course, depends entirely on how you view the rules and
guidelines that are from the previous contest.
This time I modified files in inc: guidelines.closed.hdr and
rules.closed.hdr. This is because the next/guidelines.md and
next/rules.md refer to it as being included (even though it appears that
might not be the case). These files are simply what the top of the
guidelines.md and rules.md files are. I do not know if this is important
but since the markdown files do refer to them I have updated this time
(even though it seems like one has to keep two copies of the same text).
The inc files that have been removed were from the days, prior to
commit 97f6da1247 when the web site
used left side links and right side content. Now, no web IOCCC
web pages use them so there have been removed so as to not
needlessly complicate the `inc/` directory with unused stuff.
We fixed an HTML error and improved the use of punctuation
in the footer, including the copyright.
This is a test using `make gen_top_html`.
TODO: If all is well, process `make www`.
We make better use of the rel HTML attribute.
We format the inc/footer.default.html so that it is a
slightly easier to read.
This is a test using `make gen_top_html`.
TODO: If all is well, process `make www`.
For browsers that have JavaScript disabled, topbar puts up
a link that reads "Please Enable JavaScript" instead of the
so-called "hamburger menu" icon.
Fixed a number of internal links that were broken
when by commit `e7d69bc23270e8ad73d391d15d4c996ffbd33cc3 and
perhaps a few other earlier commits.
Ran `make www` to perform the above.
The icons used to show the menu open (`png/hamburger-icon-open.png`)
and closed (`png/hamburger-icon-closed.png`) have been added.
Changed `inc/topbar.default.html` to use the png icons instead
of a svg file.
A new page `nojs-menu.html` has been added for when
JavaScript is disabled.
Changed `bin/gen-top-html.sh` VERSION from to "1.4.4 2024-04-21"
to "1.4.5 2024-04-23".
Sorted top sections in `inc/md2html.cfg` and added
a section for `nojs-menu.md`.
Fixed `ioccc.css` so that the topbar and related pulldown
menus had the correct background colour.
Ran `make www` to perform the above.
TODO: Detect when JavaScript is disabled and display:
Please
Enable
JavaScript
As a link to the new `nojs-menu.html` page.
TODO: Fix a problem on wide screens where some of
the righthand edge pulldown menus are cutoff.
TODO: Fix the 5 HTML 5 errors introduced by the topbar code.