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!
Fixed a big where the wrong shell variable for the HTML file was used.
Changed `bin/gen-other-html.sh` VERSION from "1.2.1 2024-04-21"
to "1.2.2 2024-04-21".
Ran `make gen_other_html` to perform the above.
Fixed internal links in entry HTML files other than index.html.
Removed links to markdown files that otherwise used to
generate HTML files other than index.html.
Ran `make gen_other_html` to perform the above.
Testing another fix for **Nu HTML check this web page**
for constructed entry pages that are not `index.html`.
Changed `bin/gen-other-html.sh` VERSION from "1.2 2024-04-21".
to "1.2.1 2024-04-21".
Ran `make gen_other_html` to perform the above.
Testing a fix for **Nu HTML check this web page**
for constructed entry pages that are not `index.html`.
Changed `bin/gen-other-html.sh` VERSION from "1.1 2024-04-20"
to "1.2 2024-04-21".
Ran `make gen_other_html` to perform the above.
The "Jump to top" in the inventory section of an entry index.html file
now is below the secondary file list, with a short line above it.
Changed `bin/output-year-index.sh` VERSION from "1.3 2024-04-15"
to "1.4 2024-04-21".
Run `make gen_year_index` to perform the above.
Improve `make clobber` for `2004/anonymous`.
Instead of using this markdown element to embed an image:
```

```
Use a "img" HTML element with "alt", "alt", "width" and "length"
attributes:
```
<img src="filename.png"
alt="describe the filename.png image for someone who cannot view it"
width=PIXEL_WIDTH height=PIXEL_HEIGHT>
```
This was performed for:
```
2004/anonymous/index.html
2005/boutines/index.html
2011/goren/index.html
2012/vik/index.html
2013/birken/index.html
2013/cable1/index.html
2013/cable3/index.html
2013/hou/doc/example.html
2013/hou/index.html
2020/ferguson1/chocolate-cake.html
```
In the case of `2013/cable1/index.html` we reduce the displayed
image size by a factor for 2. There is **NO** need to downsize the image
as this image size reduction produces a clean and sharp looking image.
In the case of `2013/hou/index.html` we reduce the displayed
image size by a factor for 2. There is **NO** need to downsize the image
as this image size reduction produces a clean and sharp looking image.
In the case of `2020/ferguson1/chocolate-cake.html` we reduce the displayed
image size by a factor for 4. There is **NO** need to downsize the image
as this image size reduction produces a clean and sharp looking image.
Run `make www` to perform the above.
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.
Please do not use "**---**" in markdown lines to separate sections.
This causes `pandoc(1)` to generate "**\<hr />**".
The "**\<hr />**" has no effect in standard HTML 5 and interacts
badly with unquoted attribute values.
If a horizontal line is really needed, use "**\<hr>**".
If a short line is needed, use: "**\<hr
style="width:10%;text-align:left;margin-left:0">**"
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.
In cases that are **outside of a markdown code block**,
a markdown line with ending in a tailing "\" can generate
problematic HTML.
We certain trailing backslashes outside of a markdown code block
with "<br>" HTML elements, or in some cases eliminated the
need for a trailing backslash.
In a few cases some unnecessary trailing backslashes inside
of a markdown code block were removed.
The following markdown files were changed in this commit:
```
1990/dds/README.md
1990/jaw/README.md
1991/ant/README.md
1991/rince/README.md
1991/westley/README.md
1992/vern/README.md
1992/westley/README.md
1998/schweikh1/README.md
2004/anonymous/README.md
2005/sykes/README.md
2006/toledo2/README.md
2011/toledo/README.md
2012/endoh2/README.md
2012/tromp/README.md
2013/robison/README.md
2015/hou/README.md
2015/howe/README.md
2015/schweikhardt/README.md
2018/burton1/README.md
2018/burton2/README.md
2018/ferguson/README.md
2018/vokes/README.md
2020/ferguson1/README.md
```
Performed `make www` to test these changes.
Fixed the "Nu HTML check this web page" for _YYYY/index.html_ files.
Changed `bin/gen-top-html.sh` VERSION from to "1.4 2024-04-15"
to "1.4.1 2024-04-16".
Changed `bin/gen-year-index.sh` VERSION from to "1.0.7 2024-04-14"
to "1.1 2024-04-16".
Run `make www` to perform the above and test under macOS.
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 ...
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>
```
Changed `bin/gen-authors.sh` VERSION from to "1.5 2024-04-15"
to "1.6 2024-04-15".
Changed `bin/gen-location.sh` VERSION from to "1.1.3 2024-04-13"
to "1.2 2024-04-15".
Changed `bin/gen-years.sh` VERSION from to "1.1.1 2024-04-13"
to "1.2 2024-04-15".
Changed `bin/output-index-author.sh` VERSION from to "1.6.1 2024-04-13"
to "1.7 2024-04-15".
Changed `bin/output-index-inventory.sh` VERSION from to "1.2.5 2024-04-13"
to "1.3 2024-04-15".
Changed `bin/output-year-index.sh` VERSION from to "1.2.2 2024-04-14"
to "1.3 2024-04-15".
Changed `bin/status2html.sh` VERSION from to "1.1.4 2024-04-13"
to "1.2 2024-04-15".
Run `make www` to perform the above.
TODO: Check this fix with the Nu HTML 5 validator.
TODO: Look for other HTML 5 warnings and errors.
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.
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.
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.
The top link in the topnav bar for or year level `index.html` pages
now links to `years.html` instead of the very top level repo/web
`index.html` page.
Changed `bin/subst.year-navbar.awk` VERSION from "1.1 2024-03-02"
to "1.2 2024-04-04".
Make `make sort_gitignore` less verbose.
Changed `bin/sort.gitignore.sh` VERSION from "1.1.4 2024-03-28"
to "1.1.5 2024-04-04".
Performed `make www` to implement the above and test on macOS.
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.
All code blocks in markdown have been intended by at least 4 spaces.
We add `--tab-stop=8` to all `pandoc(1)` executions in order to set
a better tab stop indentation, especially for tab intended code blocks.
Changed `bin/pandoc-wrapper.sh` VERSION from "1.5.3 2024-03-26"
to "1.6 2024-03-31".
Fixed `1991/brnstnd/sorta.README.md` so that the sorta code
is code blocks.
Removed unneeded paragraph group in copyright in `inc/footer.default.html`.
Fixed excess whitespace after list Author on entry `index.html` page.
Changed `bin/output-index-author.sh` VERSION from "1.5.2 2024-03-26"
to "1.6 2024-03-31".
Performed `make www` to perform the above and test under macOS.
TODO: Fix the problem of the initial line of code being extra intended.
TODO: Fix excess whitespace around code that is inline.
We add `--tab-stop=8` to all `pandoc(1)` executions in order to set
a better tab stop indentation, especially for tab intended code blocks.
Changed `bin/pandoc-wrapper.sh` VERSION "1.5.3 2024-03-26"
to "1.6 2024-03-31".
Fixed `1991/brnstnd/sorta.README.md` so that the sorta code
is code blocks.
Removed unneeded paragraph group in copyright in `inc/footer.default.html`.
Performed `make www` to perform the above and test under macOS.
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.
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.
Eliminated the need for the `.tar.tstamp` files. It became intractable
to produce a tarball that was byte-for-byte identical to a tarball
on another platform. We further simplified the process used by the
`bin/tar-year.sh` tool to no longer need `.tar.tstamp` files.
Removed `.tar.tstamp` files and updated the manifest.
Sorry (tm Canada 🇨🇦) for the "flip-flop".
The `bin/tar-year.sh` tool now uses a similar algorithm to how
`bin/tar-entry.sh` determines if a compressed tarball needs to be
rebuilt.
Changed `bin/tar-entry.sh` VERSION from "1.3.3 2024-03-27"
to "1.3.4 2024-03-27".
Changed `bin/tar-year.sh` VERSION from "1.1.3 2024-03-27"
to "1.2 2024-03-27".
Performed `make www` and `make form_entry_tarball`
and `make form_year_tarball` to complete the above
actions and test these changes under macOS.
TODO: Test the `bin/tar-year.sh` tool under Linux.
TODO: Address issues with building the top level `ioccc.tar.bz2`
and the `bin/tar-all.sh` tool and the `make form_all_tarball` rule.
NOTE: The `bin/tar-all.sh` tool and the `make form_all_tarball` rule
and the `make tar` should **NOT** be used at this time.