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.
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`.
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.
This does not mean I have checked every link. Most have been checked
but more checks will follow.
Also as for the fgets() changes in the file it links to the FAQ about
this. It felt like a good idea as this is one where it can seem like
(and a judgement call had to be made) tampering with the entry. This
felt a better way than having a section about the fgets() change in the
file which really isn't to do with thanks but rather why. With this
change one can look at a specific entry, see the change and then if they
have any concerns see the FAQ that's directly linked to right there.
Rather than have the rake.sh script remove prog.dSYM the Rakefile no
longer uses -g.
Also to silent the misleading-indentation warning the Rakefile has had
the -Wno-misleading-indentation option added to it too.
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.
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.
The topbar, by way of JavaScript, now works
on mobile devices such as cell phones and
tablets.
Internal links for entries from 1984 thru 2015
have been adjusted.
Ran `make www` to perform the above.
TODO: Fix some color issues on topbar.
TODO: More testing!
Add "<!-- BEFORE: 1st line of markdown file: FILE/PATH -->"
before the markdown content. This line appears in the
generated HTML.
Add "<!-- AFTER: last line of markdown file: FILE/PATH -->"
after the markdown content. This line appears in the
generated HTML.
We test a fix relating to problems produced by `pandoc(1)`
when footnotes are added at the end of generated HTML.
This test is made for `2000/bmeyer/index.html`.
Fixed exit 4 in `bin/md2html.sh that should be exit 5.
Changed `bin/md2html.sh` VERSION from to "1.3 2024-04-14"
to "1.4 2024-04-18".
Run `bin/readme2index.sh -v 1 2000/bmeyer` to perform the above.
We added a checkmark all narbar's that has the make effect of
clicking on the **Nu HTML check this web page** link at the very
bottom. This makes it much more convenient when one needs
to quickly check the HTML of a number of web pages.
Run `make www` to perform the above.
For each YYYY header it is a link to the respective index.html page.
For each entry the index.html file for the entry is in the section name
of the entry (it used to not be a link there but rather in another line
with the source code on the same line). The source code is in a
subsection (that is the index.html is '#' and source code is '##') below
the index.html link.
(The rest of the years might happen later today or it might not happen
until another day due to a timing conflict here.)
Attempted to fix formatting problems of `thanks-for-help.html`
that was introduced in commit 476b0d45f0.
Fixed some HTML info notices in `bugs.html` as well.
Thank you, @chris-sab, for your excellent work and for helping us
commit this alpha version of the topbar.
As part of this work, the following HTML sections were removed:
* begin-row
* begin-leftcolumn
* sidenav
* end-leftcolumn
* begin-rightcolumn
* before-content
* end-rightcolumn
* end-row.default
Also added a new HTML section, just above the "header" section:
* topbar
The web site now as a more modern looking topbar, thanks to the
work of the contractor (GitHub user @chris-sab) who is working on
issue #2273.
Performed `make www` to implement the above and test under macOS.
TODO: Fix the Responsive Web Design to deal with
the new topbar system.
TODO: Improve the topbar. What is there now is
just an alpha version.
TODO: Decide what to do with `png/ioccc.png`.
Remove it make selective use of the image on certain top level
pages lower down?
TODO: The changes to `ioccc.css` causes some
formatting problems with pages such as `location.html` (missing
blank lines). Fix formatting problems as needed.
TODO: Fix the "Nu HTML check this web page"
links on things like the year level _YYYY/index.html_ pages.
TODO: Correct all HTML errors, warnings and perhaps
informative messages from the Nu HTML check.
TODO: Consider adding color (colour) to the
web pages in such a way that people with color perception
challenges can still use the web site.
TODO: For those web browsers that have and allow
JavaScript, make use of technology such as [Code
Mirror](https://codemirror.net/) to directly render source
code (C, shell, Makefile, etc.) with syntax coloring (colouring)
directly in the browser. For non-JavaScript browsers, fallback
to the current use of GitHub source code viewing.
This one of the parts of the change to the [look and feel
change](https://github.com/ioccc-src/temp-test-ioccc/issues/2273#issuecomment-2059754857)
wrote about.
Stay tuned ...
It turns out that one cannot have a div element inside an h2 element.
This does not work:
```html
<h2><div id="copyright">Copyright and CC BY-SA 4.0 License</div></h2>
```
Instead we need to do:
```html
<div id="copyright"><h2>Copyright and CC BY-SA 4.0 License</h2></div>
```
We are testing a fix for the top level HTML files.
Run `make gen_top_html` to perform the above and test under macOS.
TODO: Apply this type of fix across the entire web site if all is well.
This HTML is now obsolete in HTML 5:
```html
<a name="faq0"></a>Section 0: Submitting entries to a new IOCCC
```
Instead we need to use the div HTML elements:
```html
<div id="faq0">Section 0: Submitting entries to a new IOCCC</div>
```
We are testing a fix for the top level HTML files.
Run `make gen_top_html` to perform the above and test under macOS.
TODO: Apply this type of fix across the entire web site if all is well.
Fix `bin/gen_top_html` to generate the proper Nu HTML check URLs.
Changed `bin/gen_top_html` VERSION from "1.3 2024-04-14"
to "1.4 2024-04-15".
Remove improper "xmlns:cc="http://creativecommons.org/ns#"
from `inc/inc/footer.default.html`.
Run `make gen_top_html` to perform the above and test under macOS.
TODO: If this is successful, rebuild all other constructed 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.
Fixed the broken links for CC BY-SA 4.0 related icons.
Fixed broken Makefile and C code links in topnav bar
for entries.
Changed `bin/all-run.sh` VERSION from "1.3.2 2024-02-26"
to "1.3.3 2024-04-13"
Changed `bin/all-years.sh` VERSION from "1.0.2 2024-02-26"
to "1.0.3 2024-04-13"
Changed `bin/chk-entry.sh` VERSION from "1.1.5 2024-03-27"
to "1.1.6 2024-04-13"
Changed `bin/gen-authors.sh` VERSION from "1.3.2 2024-03-26"
to "1.3.3 2024-04-13"
Changed `bin/gen-location.sh` VERSION from "1.1.2 2024-03-26"
to "1.1.3 2024-04-13"
Changed `bin/gen-other-html.sh` VERSION from "1.0.3 2024-03-28"
to "1.0.4 2024-04-13"
Changed `bin/gen-sitemap.sh` VERSION from "1.3.5 2024-04-13"
to "1.3.6 2024-04-13"
Changed `bin/gen-status.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"
Changed `bin/gen-top-html.sh` VERSION from "1.2.3 2024-04-12"
to "1.2.4 2024-04-13"
Changed `bin/gen-year-index.sh` VERSION from "1.0.5 2024-03-28"
to "1.0.6 2024-04-13"
Changed `bin/gen-years.sh` VERSION from "1.1 2024-03-30"
to "1.1.1 2024-04-13"
Changed `bin/manifest.entry.json.awk` VERSION from "1.1 2024-02-11"
to "1.1.1 2024-04-13"
Changed `bin/md2html.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"
Changed `bin/output-index-author.sh` VERSION from "1.6 2024-03-31"
to "1.6.1 2024-04-13"
Changed `bin/output-index-inventory.sh` VERSION from "1.2.4 2024-03-27"
to "1.2.5 2024-04-13"
Changed `bin/output-year-index.sh` VERSION from "1.2 2024-03-30"
to "1.2.1 2024-04-13"
Changed `bin/pandoc-wrapper.sh` VERSION from "1.6 2024-03-31"
to "1.6.1 2024-04-13"
Changed `bin/quick-readme2index.sh` VERSION from "1.1.3 2024-03-26"
to "1.1.4 2024-04-13"
Changed `bin/readme2index.sh` VERSION from "1.2.2 2024-02-26"
to "1.2.3 2024-04-13"
Changed `bin/sort.gitignore.sh` VERSION from "1.1.5 2024-04-04"
to "1.1.6 2024-04-13"
Changed `bin/status2html.sh` VERSION from "1.1.3 2024-04-12"
to "1.1.4 2024-04-13"
Changed `bin/subst.default.sh` VERSION from "1.2.2 2024-02-26"
to "1.2.3 2024-04-13"
Changed `bin/subst.entry-index.sh` VERSION from "1.3.2 2024-03-26"
to "1.3.3 2024-04-13"
Changed `bin/subst.year-index.sh` VERSION from "1.1.2 2024-03-26"
to "1.1.3 2024-04-13"
Changed `bin/tar-entry.sh` VERSION from "1.3.4 2024-03-27"
to "1.3.5 2024-04-13"
Changed `bin/tar-year.sh` VERSION from "1.2.1 2024-03-28"
to "1.2.3 2024-04-13"
Changed `bin/untar-entry.sh` VERSION from "1.0.1 2024-03-26"
to "1.0.2 2024-04-13"
Changed `bin/untar-year.sh` VERSION from "1.0 2024-03-28"
to "1.0.1 2024-04-13"
Run `make www sitewap` to test and perform the above.
We improve the `inc/footer.default.html` file to make
the _Copyright and CC BY-SA 4.0 License_ clear.
We add `license.md` and generate `license.html` (via `make
gen_top_html`) so that key features and terms of the _Copyright and
CC BY-SA 4.0 License_ are accessible.
Add CC BY-SA 4.0 license images into the `png/` directory.
FYI: We use the license to allow the open use of IOCCC entry code,
and at the same time, we help ensure that those working on the IOCCC
have proper Attribution including, of course, the IOCCC winners
themselves! The _Copyright and CC BY-SA 4.0 License_ help ensure
that everyone may enjoy the IOCCC.
Added '#copyright' to all generated HTML pages so that the
_Copyright and CC BY-SA 4.0 License_ may be reached.
Changed `bin/gen-top-html.sh` VERSION from "1.2.2 2024-03-26"
to "1.2.3 2024-04-12".
Fix `bin/gen-sitemap.sh` to remove requirement of `ioccc.tar.bz2`.
Changed `bin/gen-sitemap.sh` VERSION from "1.3.4 2024-03-27"
to "1.3.5 2024-04-13".
Perform `make www sitemap` to perform the above.
We also give a _hint_ as to the next project.
TODO: Complete that next project we are _hinting_ at.
TODO: Review the work being done by a web designer to see
how their work might be incorporated into the web site.
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.