The html files in 1986 (including 1986/marshall/compilers.html) look and
feel good. Format change (slight) in 1986/marshall/index.html.
The manifest update includes a fix for 1986/hague and this same change
in entry_text applies to files in a few other years as well.
To avoid problems the script now runs make find_missing_links at the
end. It does it in such a way, though, as to make sure everything is
fine before that. It runs the rule after everything is fine but if it
fails it tells them they do not have to run the script all over again
but they do need to fix the links and then run the appropriate make
rules in order to fix the html file(s). It does note that if you're in
doubt running 'make www' will be the safest bet.
There are two reasons the script does not run make www: first is that it
uses verbosity not used in the make rule and second is it offers to run
the quick-readme2index.sh script to go quicker if one knows that only
a few README.md files were modified. The script now warns that this will
only work if the README.md files have been changed (or timestamp
updated).
Many entry_text fields have been changed, some to make it more
consistent with others (though most likely some slipped through) and
others to make it more correct.
The recent commits which changed filenames are in this update but the
rest of the process will be done soon as part of the same pull request.
... including the index.{md,html} which was in all caps ..
The bin/README.md file (and index.html) was updated slightly with an
added comma: not strictly necessary but for some it might be easier to
read. This was discovered as I was going through the links (not done
checking them yet but so far so good).
A lot of the award titles that had more than one word capitalised were
changed to just one word capitalised, the first. Some were changed to
have multiple words capitalised. This happened when it was something
like '... prize' or '... award'. An exception to this is 2020/ferguson1:
'Don't tread on me award'. This is because I am not quite sure if I like
'Don't Tread On Me Award' or if it should be 'Don't Tread on Me Award'
(probably not that). For some like 'Grand Prize' or 'Bill Gates Award'
it's simple but I'm not so sure for my Snake entry of 2020. I will try
changing it and comparing it side-by-side to see which looks nicest.
This commit should make it easier to update the form of the award titles
in that they should all be consistent (or more consistent if not
completely) though it should be noted that the macOS Numbers application
(spreadsheet) is case-insensitive. A reason I did not change 'Don't
tread on me award' to 'Don't Tread On Me Award', yet, besides the above
reasons, is that it's a longer title and I am not sure how I like that
many words capitalised. Still it's a title of a slogan/whatever so it
might be better that way. This will be determined in the near future.
The tmp/year_prize.numbers had the text size increased a fair bit as
the default is too small for my pitiful vision (I changed it within
reason as it can become harder in another way if it's too big - 16"
MacBook Pro screen). One of the columns was also widened as it was too
short even for the smaller size.
There was a typo which had Homer''s instead of Homer's. This has been
corrected in the tmp/year_prize.numbers, tmp/year_prize.csv,
2006/sloane/.entry.json, 2006/sloane/index.html and years.html files.
This is a fun one because the scripts that are used to update the
manifest did not report any problem because the problematic file (though
see below as I did rename another file too for very similar rationale,
also discussed below) actually exists on file system but when linked to
from a web server it does not exist. This is because the filename had
the html encodings for [ and ] (again see below) which the web server
interpreted as [ and ] but the file doesn't exist on the filesystem in
that form: instead it had the html encodings for those characters. This
file was
2011/dlowe/dlowe-aux-data/english-0/CIR_APE_08_doc%5B1%5D.txt
and it has been renamed to
2011/dlowe/dlowe-aux-data/english-0/CIR_APE_08_doc.txt
The other file h ad the literal [ and ] but as this is also not POSIX
safe the [ and ] plus what was in between it was removed. Thus the file
2011/dlowe/dlowe-aux-data/png-1/image_thumb[40].png
was renamed to just
2011/dlowe/dlowe-aux-data/png-1/image_thumb.png
Updated the manifest and regenerated the .entry.json and index.html
files.
As a side effect of the manifest and rebuild of the .entry.json and
index.html file two other entries were touched that somehow were not
done when I changed 'Best of show' to 'Best of Show' even though a git
diff will show the same thing (seemingly of course):
- "award" : "Best Of Show",
+ "award" : "Best of Show",
plus a diff in their index.html files.
Those entries are 1991/brnstnd and 2001/jason though I am not sure why
as I'm pretty sure other entries also had the same change made and they
did not show up here.
Nevertheless that problem should now be resolved and the links in
2011/dlowe manifest now work (at least those two have been checked for
validity: others will be checked when I verify format and links in that
entry which will not be done until after the top level html files and
the earlier years).
This fixes an inconsistency in case. The spreadsheet in tmp,
year_prize.numbers and the year_prize.csv files were updated also (with
the ./fix_csv.sh run under tmp/).
There was no need to manually update the index.html, any other html
files or .entry.json files as I used sgit(1) to change the case.
The endoh4.sh script is better described now. In the script itself it no
longer refers to try.sh but endoh4.sh.
Regenerated .entry.json and index.html file.
This is because it was used in the same way as the try scripts and it
matches better other entries and looks better with the manifest (makes
it easier to see what it is for).
Rebuilt manifest, generated .entry.json and index.html files.
The thanks file was updated accordingly.
This also removes carriage returns that macOS Numbers apparently adds
when exporting to CSV.
Only the manifest.csv and manifest.numbers were updated here as the
previous commit did everything as expected.
This was done by:
sgit -e 's/alt code/alternate code/g' . ; git co tmp/OLD_manifest
as well as updating the tmp/manifest.numbers spreadsheet and exporting
to the CSV file (though that would not strictly be necessary).
The way this works means that the update manifest script does not need
to be run as it sgit(1) touched the .entry.json files (any that needed
to be updated) and so would any index.html files. An example for both
.entry.json and index.html files being modified due to manifest is
2012/kang.
Numerous Makefiles were updated, any try scripts that had 'alt code'
instead of 'alternate code' and README.md/index.html files (unrelated to
the manifest as 'alt code' was used in other places too) and obviously
the manifest.numbers spreadsheet.
However to be safe I will do a run of the manifest script in a bit even
though it should not be necessary. If no commits are made it means all
is good and if any commits are made for the manifest it means that I
did not think of something (or else I made another change after this).
Although there were a few lines that I kind of looked over quickly, not
evaluating the files in question, those seemed in good state anyway.
Often that was binary files.
In some cases for example input more information was given but not in
all as it was not always clear what it should be and it was not always
clear that it was necessary. Some typos were fixed as well.
Rebuilt .entry.json and index.html files.
A few other files were also modified with some minor fixes like
2006/toledo2/README.md for one example. In that case I believe some
binary files were referenced as %%REPO_URL%% but that is incorrect.
These files were edited before the index.html files were rebuilt so they
should be fine.
It should be noted that although I have gone through the entire manifest
and it might be that issue #1933 can be closed there is still a chance
that when I go through the web pages that I might come across a problem
that I will fix at that time. This might or might not be needed but that
will be determined later.
Now might be a good time to run make www but I will worry about that
later (it might or might not even do anything, depending on what was
missed).
Changed in 1984/anonymous 'source code tattoo image' to 'source code and
tattoo image'.
Changed in 1984/mullender 'header file for gentab.c for compatibility
with 1984 systems' to 'gentab.c header file for compatibility with
systems in 1984'. The rationale here is that it's not 1984 systems but
systems in 1984. I would have kept the ordering of the wording the same
but that was more than 59 characters. The way it is worded now is not
necessarily better (other than not being literally incorrect - that is
if it's interpreted literally it is incorrect) but it's also not worse.
Minor format fix in 1985/shapiro/README.md.
Rebuilt index.html and .entry.json files.
This is a large update that modifies every .entry.json file and fixes
many others. The changes of every .entry.json file are as follows:
- change 'entry source' to 'entry source code' [0]
- change 'original source' to 'original source code' [0]
- change 'directory path from top directory' to 'directory path from top
level directory'
[0] This is for consistency purposes. Other options were pondered but as
the index.html files refer to 'Alternate code' this was the simplest way
to go about it and it also feels more natural. A question was whether to
have 'entry code' and 'original entry code' or to have the word 'source'
added to it but I decided upon including the word 'source'. Another
question has occurred to me is whether or not 'original source code'
should instead be 'original entry source code' but that can be decided
upon later as that occurred to me after much of the files were already
rebuilt. The consistency that this commit has made is for the README.md
sections and in particular 'Alternate code'. One might wonder if that
should be changed to 'Alternate source code' as now the manifest
includes 'source' in the 'entry code' and 'original code' but the
manifest itself is what was actually updated and having 'source' feels
more natural for submitted files. After all not all entries have
alternate code. These questions can be decided on when looking at the
index.html files that have been rebuilt.
Changed 'alt code' to 'alternate code' where this was not already done
(in the manifest). It is questionable whether this should be done in
markdown files or not (in the README.md files section it already is done
but not necessarily in other places).
Many files had incorrect descriptions that have been checked.
Renamed 2020/endoh2/spoiler/spoiler.{md,html} to index.{md,html} so one
can go to just 2020/endoh2/spoiler and see the web page. Although the
manifest of 2 020/endoh2/index.html will link to it and that's probably
how most people will notice it it seems useful especially as the web
page links to the different files in spoiler/ or at least refers to
them, giving a description (kind of like the manifest in
2020/endoh2/index.html).
Due to the above changes all the entries had their index.html files
regenerated too.
There were likely other changes and fixes as well.
What has NOT been done is a check over all items, typos or otherwise,
though some typos have been fixed. Nonetheless this commit goes a long
way to resolving issue #1933.
Updated thanks file both with a missing <div> id and added a manifest
improvements section as the manifest is quite important.
The uuencoded file isaak.encode was removed. Instead the output was put
in isaak.output.txt. This has the same manifest priority as the encoded
file. This file is strictly for historical remarks in the index.html
file and not needed beyond that. Perhaps it should be in the secondary
file list but that can be decided later.
The file isaak.alt.c is now compilable. It is the isaak.orig.c that is
not. The difference is with an old enough compiler/system it might be
that the alt version will work. In modern systems the isaak.c will work.
Manifest updated for the file changes.
Thanks file updated with this and possibly other earlier changes in
1988. 1988 is not done yet but as these problems were found working on
it I felt like I should commit them now too.
As the index.html/README.md files say 'Alternate code' the 'alternative
source' has been changed to 'alternate code'. Similarly the text 'script
to try alternative code' was changed to 'script to try alternate code'.
A mistake was made where something referred to as being the alt code was
not the alt code (or the other way round).
Changed 'alternate alternative code' (or something like that) to 'second
alternate code'. This happened in steps and it might not, now that I
think on it, be the best wording, but this can be addressed later.
Rebuilt html files and .entry.json files.
Changed 'description of entry in JSON' to 'entry summary and manifest in
JSON'.
Changed 'how to run' (for try scripts) to 'script to try entry'.
Changed 'how to run if you have the primes utility' to 'script to try
entry if you have the primes utility'.
Changed 'how to run alternative code' to 'script to try alternative
code'.
A number of other more specific (to particular entries or maybe even a
single entry, 2019/ciura if not any others) descriptions were also
changed.
Rebuilt index.html and .entry.json files.
We have fixed cases where markdown code blocks were not properly intended.
Updated `markdown.md` to discuss how markdown code blocks should be indented
and how blank lines should follow a markdown code block.
We used this shell script to find problematic code blocks:
```sh
find . -name '*.md' ! -name markdown.md -print | xargs pcregrep -M '^``.*\n[^|`\n \t]'
```
Ran `make www` to perform the above.
Added `bin/find-missing-links.sh` tool to check for
markdown links to missing local files.
Regarding the missing link tool:
```
Here be extended regular expression magic dragons! :-)
```
Added `make find_missing_links` to the top level Makefile.
Added `make find_missing_links` to `make www` and `make quick_www`.
Ran `make www` to perform the above.
TODO: Fix markdown links to missing local files.
Fixed stuff we broke by mistake, previously.
Ran `make www` to perform the above.
TODO: Fix stuff we broke by mistake doing the above.
TODO: Fix more broken markdown links.
We fix more markdown links in markdown files that refer to files
internally to the web site.
Added tmp tools to find and print various markdown links:
* `tmp/md-links.sh` - print all markdown links
* `tmp/md-token-links.sh` - print all markdown links that start with a **%%TOKEN%%**
* `tmp/md-local-links.sh` - print all markdown links to a local file
* `tmp/md-link-paths.sh` - print local file paths referenced in markdown links
Fixed a number of markdown formatting problems with `thanks-for-help.md`.
Fixed markdown links to files in `thanks-for-help.md`. Improved
heading levels in `thanks-for-help.md`, and made entry sections consistent.
Changed all markdown links that end in "))" to end in a better way.
Explained in `markdown.md` why we are avoiding markdown links that
end in "))".
Ran `make www` to perform the above.
TODO: Fix stuff we broke by mistake doing the above.
TODO: Fix more broken markdown links.
Use the `ring.pgm` image output, scaled to a height of 127
pixels and translated into PNG format.
Also fix the `tmp/year_prize.numbers` file to
change the award for the `2004_anonymous` entry
to use single quotes so that `tmp/gen_entry_json.sh`
won't re-introduce the double quotes into the
`2004/anonymous/.entry.json` file.
Ran `bin/readme2index.sh -v 1 2004/anonymous` to perform the above.
Well, there was a markdown error in `2004/anonymous/README.md`
and we needed to test the new image markdown insertion method,
so we added `2004/anonymous/One_Ring_inscription.png` as well.
Ran `bin/readme2index.sh -v 1 2004/anonymous` to perform the above.
It's still a lot of text but now it's a bit less to .. uh, swallow. One
file was removed as it really served no purpose other than to make the
documentation longer in a way that is not helpful.
Updated manifest.
Regenerated html files.
By changing the _inventory_order_ of the compressed tarball from
**100000** to **1415926535**, the compressed tarball will land at
the top of the secondary file list and remain still easy to find.
Updated the `manifest.numbers` spreadsheet and rebuilt
the `.entry.json` files.
Added `next/` directory to hold the next IOCCC rules and guidelines.
Added `next/README.md` that `bin/gen-top-html.sh` uses to form
the `next/index.html` file.
Added _Rules and Guidelines_ link to the sidenav bar to link to the
`next/index.html` file.
Added _IOCCC Rules_ as `next/rules.md` that `bin/gen-top-html.sh`
uses to form the `next/rules.html` file.
Added _IOCCC Guidelines_ as `next/guidelines.md` that `bin/gen-top-html.sh`
uses to form the `next/guidelines.html` file.
Changed `bin/gen-top-html.sh` VERSION from "1.2.4 2024-04-13"
to "1.3 2024-04-14".
Prevent `pandoc(1)` from interpreting the commented out language
of a markdown code block as a code class. So a markdown such as:
````
``` <!---sh-->
...
```
````
that produced HTML of the form:
```html
<pre class="<!---sh-->"><code>...</code></pre>
```
will now produce HTML of the form:
```html
<pre><code>...</code></pre>
```
NOTE: Before when the language of a markdown code block
was not commented, the HTML produced by `pandoc(1)` was
oddly indented with extra whitespace on the first line
of the code block. While commenting out the language
of the code block removed some of the odd intending,
it left a weird class in the HTML pre block that
surrounded the HTML code block. This hack prevents
`pandoc(1)` from assigning a class to the HTML pre block.
Changed `in/md2html.sh` VERSION from "1.2.1 2024-04-13"
to "1.3 2024-04-14".
Added `make gen_sitemap` to end of both `make www` and `make
quick_www` in top level Makefile.
Ram `make www` to test under macOS and to perform the above.
**IMPORTANT NOTE**: The current `next/rules.md` and `next/guidelines.md`
are simply the 2020 IOCCC Rules and Guidelines converted into
markdown form. There are **NOT** the Rules and Guidelines that
will be used the IOCCC MOCK, nor the next IOCCC.
TODO: Improve the `bin/gen-status.sh` tool to modify the top of the
`next/rules.md` and `next/guidelines.md` files to keep them
in sync with the _contest_status_ as found in `status.json`.
TODO: Improve the look and feel of the `next/rules.md` and
`next/guidelines.md` markdown files.
Change 'download entry' to 'download entry tarball' as 'download entry' can be
slightly ambiguous: is it the source file or is it the entire entry? Perhaps
'download entire entry' could also be used but that might be going too far.
Change 'markdown source for index.html' to 'markdown source for this web page'
to match the index.html description in the manifest and because it makes more
sense this way.
Changed order of a.out.h and gentab.c in 1984/mullender in manifest: since
a.out.h description refers to gentab.c (as it's used in gentab.c) list gentab.c
first.
With this commit notwithstanding any possible manifest changes (which would
likely be for all other entries too) the index.html files of the entries from
1984 should be considered completely reviewed. The 1984/index.html file might
be done too but this depends on a discussion taking place.
We added a space between the markdown triple code mark
and language that was enclosed in HTML comments.
So a line of the form:
````
```<!---c--->
````
became:
````
``` <!---c--->
````
This was done to **help** some code see that the HTML comment
string was not a markdown code specifier. Not all code
understands this after this changed. For example, `pandoc(1)`
still forms HTML classes of the form "<!---c-->"
when it encounters the above mentioned change.
We also fixed a problem with `2019/dogon/README.md` regarding
a markdown code block.
We also fixed a problem with `2020/yang/README.md` regarding
a markdown code block.
When language is specified in a markdown code block such as:
````
```c
printf("Hello, world!\n");
```
````
is used, the resulting HTML as produced by `pandoc(1)` combined
with our revised `ioccc.css` is not intent the code block well.
A temporary "_hack-a-round_" is to turn the "markdown code language
specifier" into an HTML comment. For example:
````
```<!---c-->
printf("Hello, world!\n");
```
````
This commits turns off existing markdown code language specifiers
for now, while preserving our ability to restore them in the future
when a better "_hack-a-round_" to the "markdown code language
specifier" problem is found.
The HTML impact if this "_hack-a-round_" is to produce HTML that
looks like this:
```
<pre class="<!---c-->"><code> .. </code></pre>
```
We might be able to create a complex set of classes for each markdown
code language (there won't be very many) in `ioccc.css`, or we might
find a more general CSS (or maybe `pandoc(1)`?) solution.
For now, this hack-a-round will have to do.
Typo fixes and change 'download entry source' to 'download entry' as
it's the tarball, not the source itself.
Rebuilt .entry.json and index.html files for all entries.