While the use of `**font-weight: bold;` helps links standout in
most cases, there a few "_link heavy_" pages were the **MANY BOLD
LINK IN CLOSE PROXIMITY** looks excessive to the point of being
distracting. In areas where **nearly everything is BOLD, nothing
seems to stand out**.
Fortunately there seems to be only a very few places where this is a problem:
* `faq.html` - the table of contents
* `authors.html` - nearly the entire page
* `location.html` - nearly the entire page
* `years.html` - nearly the entire page
As an **bold** 😎 experiment we added to the CSS:
```css
/*
* To make a link non-bold, use: <a class="normal" href="url">link text</a>
*/
a.normal {
font-weight: normal;
}
```
And then modified select tools and a markdown file to "_unbold_"
those "_link heavy_" areas of the 4 pages above.
We don't claim that this is the best solution and there may be an
even better way to solve this, nevertheless we **do** think the it
improves the look and feel of the "_link heavy_" areas of the 4
pages above. For example, in `faq.html` beyond the table of
contents, the bold links look reasonable (although again there are
some quasi-"_link heavy_" areas down in the page look a bit too
bold, but perhaps not enough to warrant changing so we only altered
the table of contents).
In a few cases, while we were editing code that generated links,
we remove a few "**.**"'s where we didn't think they helped the
look and feel.
Change `bin/gen-authors.sh` VERSION from "1.10.3 2024-05-24"
to "1.10.4 2024-07-13".
Change `bin/gen-location.sh` VERSION from "1.4.2 2024-05-19"
to "1.4.3 2024-07-13".
Change `bin/gen-years.sh` VERSION from "1.3.3 2024-07-07"
to "1.3.4 2024-07-13".
Performed `make www` to accomplish the above and to test under macOS.
Repaired the output_award function in `bin/gen-years.sh`
and `bin/output-year-index.sh`.
Previous modifications to the output_award function made
is impossible to detect if output was empty.
Modifications also ran counter the Unix concept that a function
should ideally to one thing and one thing well.
Changed so that the code that called the output_award function
would decorate the award with bold markdown syntax.
Changed `bin/gen-years.sh` VERSION from "1.3.2 2024-05-19"
to "1.3.3 2024-07-07".
Changed `bin/output-year-index.sh` VERSION from "1.4.1 2024-04-28"
to "1.4.2 2024-07-07".
Ran `make www` to perform the above and test under macOS.
Perhaps we need a test, run under `make test`, to look for
cases where 'foo.html' is older than 'foo.md` or where
`index.html` is older than `README.md`, etc. ???
We add the following level-3 header to help people identify text
they may wish to skip if they wish for a greater challenge:
```
```
After that notice we add:
```
**If you want a greater challenge, don't read any further**:
just try to understand the program via the source.
If you get stuck, come back and read below for additional hints and information.
```
And sometimes follow with:
```
```
Or sometimes follow with:
```
```
Where the alt code impacts a "greater challenge", we add instead:
```
**If you want a greater challenge, don't read any further**:
just try to understand the program without looking at the Alternate code.
If you get stuck, come back and look at the Alternate code.
```
And where a given command impacts a "greater challenge", we add instead:
```
**If you want a greater challenge, don't read any further**:
just try to understand the program without running the command below.
If you get stuck, come back and run the following command:
```
Perform `make www` to perform the above and test under macOS.
Thanks to @xexyl for the suggestion.
Changed `bin/chk-entry.sh` VERSION from "1.1.7 2024-04-28"
to VERSION="1.1.8 2024-07-06".
Performed `make test` to test the above.
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.
Added a `#weverything` div tag to the FAQ.
Expanded and improved(?) a number of rules and guidelines.
In particular, the consequences of the new mkiocccentry
repo have been put into the rules and guidelines.
This is a checkpoint from which we can review,
edit and improve.
The way that markdown quotes are currently formatted (with a gray
vertical line) looks too much like a change bar. The change bar
is an important tool to help notice new and changed rules and
guidelines. Unfortunately the current quotes style looks too much
like a change bar, so we use markdown quotes **ONLY** for literal
quotes (such as from Mark Twain) in the `guidelines.md` file.
Clarified and simplified the request to not use ASCII tabs within
markdown file content.
Added _guidelines_ to `next/guidelines.md` about not using ASCII
tab characters in markdown files while stating that is just fine
to use ASCII tabs in non-markdown files and C code.
The `make tab_check` rule now simply checks for ASCII tabs within
markdown files, except `markdown.md` where they are required to
serve as examples of what not to do.
Perform `make quick_www` to perform the above and test under macOS.
Perform `make www` to perform the above and test under macOS.
Given that there are no longer any ASCII tab characters within
leading whitespace in markdown files, commit XXX added a `make
tab_check` rule to the top level `Makefile`. Moreover both `make
quick_www` and `make www` perform a `make tab_check` after running
`make clobber`.
Perform `make quick_www` to perform the above and test under macOS.
Perform `make www` to perform the above and test under macOS.
Given how problematic leading tabs in markdown files can be,
we have expanded all leading tabs in markdown files by:
```sh
find * -type f -name '*.md' -print |
while read -r file; do
rm -f "$file.tmp" ;
expand < "$file" > "$file.tmp" ;
mv -f -v "$file.tmp" "$file" ;
done
```
Given the previous changes to `bin/pandoc-wrapper.sh` and other recent
commits and recent pull requests, the were were **NO** changes to
any HTML files. This is a **good thing** as the expression goes.
No there are no leading tabs in any markdown files.
A check to catch any re-introduction of leading tabs
into any markdown file is on the way.
BTW: We do not have anything against leading tabs in files,
even though we have had to deal with their impact on forming
HTML from markdown files (as well as the calc source code).
It is just that this is one of those cases where tabs conflict
(sometimes caused by people wanting to change the classic
8-space tab model) with a desired outcome.
Perform `make www` to perform the above and test under macOS.
Each individual IOCCC rule has its own div tag.
References to a specific IOCCC rule is now a link.
We now use the term **IOCCC rules** more consistency when
referring to the rules.
We now use the term **IOCCC guidelines** more consistency when
referring to the guidelines.
In the **IOCCC guidelines**, we use _guideline_ when
referring to a general guideline.
Updated **IOCCC rules** and **IOCCC guidelines** to 2024-06-23-v28.
Added guidelines about the recent Rule 2a changes.
Improved to order of the guidelines related to Rule 2.
Added a ">" formatted quote about the iocccsize summary to the IOCCC guidelines.
Perform `make www` to perform the above and test under macOS.
Improve the formatting in `1992/westley/README.md`
and thus the resulting `1992/westley/index.html`.
Corrected a mistake on the use of `./whereami.alt`.
Perform `make www` to perform the above and test under macOS.
The `bin/pandoc-wrapper.sh` tool will use `expand(1)` to expand
leading ASCII TAB characters into multiples of 8 ASCII space
characters on all markdown data before piping it into `pandoc(1)`.
Thus, any leading ASCII TAB character in markdown files will be
automatically converted into spaces using 8 character tabs.
Changed `bin/pandoc-wrapper.sh` VERSION from "1.6.3 2024-06-22"
to "1.7 2024-06-22" to preform the above.
Perform `make www` to perform the above and test under macOS.
It turns out that only one other HTML file was impacted: `bugs.html`.
All other leading ASCII tab characters have been rendered
[Mostly Harmless](https://en.wikipedia.org/wiki/Mostly_Harmless). :)
When `bin/pandoc-wrapper.sh` encounters a fatal error, it will
leave behind `debug.input.md` and `debug.output.html`.
Added `debug.input.md` and `debug.output.html` to `.gitignore`.
The `.gitignore` file comment noew refers to `sgi.sh` not sgi.
Changed `bin/pandoc-wrapper.sh` VERSION from "1.6.2 2024-04-18"
to 1.6.3 2024-06-22" to preform the above.
Perform `make www` to perform the above and test under 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.
One must **NOT** use ASCII TAB characters to intent text. Down the TAB-ed
road is nothing but trouble! There are _quasi-solutions_, however those
have side effects that lead to a different set of problems.
The `markdown.md` was updated to ask that text not be intended with ASCII tabs.
See [Please do NOT use ASCII tabs to indent
text](https://ioccc-src.github.io/temp-test-ioccc/markdown.html#markdown.html#please-do-not-specify-a-language-for-a-code-block).
We discovered this awhile ago and fixed it in markdown files. Sorry
(tm Canada 🇨🇦), we forgot to mention this this in `markdown.md`.
BTW: It took some **deep magic** to be able to show an HTML comment
after a starting fenced markdown code block! See the **NO_COMMENT=**
line in `bin/md2html.cfg`. :-)
TODO: Stamp out indenting TABs in markdown files, especially in code blocks.
TODO: Consider a rule to detect problematic ASCII TAB intendation
within makrkdown files.
Detect were the stat tool is located. If no stat tool is found,
set `$STAT_TOOL` to `false`. Cleanup comments related to
determining the modification time of a file.
Changed `bin/gen-sitemap.sh` VERSION from "1.3.8 2024-04-28"
to "1.3.9 2024-06-21".
Changed `bin/gen-status.sh` VERSION from "1.5.2 2024-04-30"
to "1.5.3 2024-06-21".
Perform `make www` to perform the above and test under macOS.
Changed version from "2024-06-11-v28"
to "2024-06-15-v28'.
Changed all places where a date was used.
Improved the "XXX - date/time is TBD - XXX" message format.
Removed more stuff about tweeting that we no longer do.
Added a few missing | change marks.
As we fixed a rules typo, we went ahead and merged in a few of the
new rules that were pending.
While these are not the 2024 rules and guidelines, they
do contain a number of corrections and updates that are
anticipated for IOCCC28.
Fixed several broken links.
Performed `make www` to complete the above.
For HTML files from markdown files other than README.md, the h2
title now refers to the HTML file instead of the markdown file.
Changed `bin/gen-other-html.sh` VERSION from "1.2.3 2024-04-28"
to "1.2.4 2024-05-31" to perform the above.
Perform `make www` to perform the above and test under macOS.
Regarding use of `temp-test-ioccc` in current repo files:
We will ignore files under `tmp/` as they are going away.
We will ignore files under `bin/` as they will have their default `REPO_URL` value changed during the later parts of the **Great Fork Merge**.
We will ignore `*.html` files as the above changes to `bin/` tool will also change them during the later parts of the **Great Fork Merge**.
We will ignore `sitemap.xml` as the it will change during the later parts of the **Great Fork Merge**.
So this leaves for our consideration the files printed by this command:
```sh
find * -type f ! -name '*.html' ! -name sitemap.xml ! -path 'tmp/*' ! -path 'bin/*' -print0 | xargs -0 grep -l 'temp-test-ioccc'
```
We see 5 (3 sir), 3 cases:
* README.md index.md
The reference to `temp-test-ioccc` will be removed when a given section goes away as part of the later parts of the **Great Fork Merge**.
Nothing needs to be dome here other than to add some **XXX** comments to help remind us of what needs to be done in later parts of the **Great Fork Merge**.
* bugs.md faq.md news.md var.mk
The use of `temp-test-ioccc` is outside of a blob.
Here `https://github.com/ioccc-src/temp-test-ioccc/` may be be replaced by `https://github.com/ioccc-src/winner/` in anticipation of the **Great Fork Merge**.
There is an exception: The historic discussion abouts the history of the `temp-test-ioccc` repo needs to retain their `https://github.com/ioccc-src/temp-test-ioccc/` strings in `faq.md` and `news.md`.
* 2005/sykes/README.md
The markdown links that start with `https://github.com/ioccc-src/temp-test-ioccc/blob/master/` should instead start with `%%REPO_URL%%/`.
After the **Great Fork Merge**, the `%%REPO_URL%%/` value will refer to `https://github.com/ioccc-src/winner/blob/master/` instead.
* 2020/ferguson1/snake.1
There is not a tool to "pre-process" cat pages like there is for markdown files: no should there be.
The cat page refers to a markdown file when instead it should refer to a HTML page.
In this case we suggest that `https://github.com/ioccc-src/temp-test-ioccc/blob/` be replaced by `https://www.isthe.com/`, and `.md` be replaced by `.html` in anticipation of what it will need to be after the **Great Fork Merge**.
* YYYY/entry_dir/*.sh
The shell scripts references by the above command are "helper shell scripts. Like man pages, there is no "pre-processor" for shell scripts, nor should there be.
Looking at these helper shell script files in detail:
```sh
find * -name '*.sh' ! -path 'tmp/*' ! -path 'bin/*' -print0 | xargs -0 grep 'temp-test-ioccc/blob/master'
```
We see that they all make references to `faq.md#something.`.
This is wrong in 2 ways:
0) They should not refer to the markdown file `faq.md` but rather to the HTML file `faq.html`.
1) They punctuate a literal string (with one exception) by adding a final period (".") to a string that requires somebody to copy and paste and exclude the final period (".").
Since these echo commands are suggesting that the user view something within the FAQ, we recommend that `echo "Tip: see https://github.com/ioccc-src/temp-test-ioccc/blob/master/faq.md#` be replaced by `echo "Tip: see https://www.ioccc.org/faq.html#` AND that the final period (".") be removed. Thus they too will anticipate what they will need to be after the **Great Fork Merge**.
Improved information on how to view the status of the IOCCC, directing
people to `status.html` (which includes a copy of the contents of
`status.json`) instead of directly referring people to `status.json`.
Improved format of "FAQ 0.0: How may I submit to the IOCCC?".
Improved bottom of `index.html` to refer to the above.
Fixed errors in `1991/davidguy/Makefile`, `2000/bmeyer/Makefile`
and `2012/kang/Makefile` where a multi-line `CSILENCE` make variable
was not properly continued onto the next line.
Improve the output of `make quick_www` and `make www` no be less
verbose and more informative. Doing this allowed us to uncover
some bugs in the above mentioned entry Makefiles.
The `make quick_www` and `make www` no longer perform a
`make gen_status`.
The `make gen_top_html` rule, via `bin/gen-top-html.sh` will form
`status.html` based solely on the contents of `status.md`. Only
the `make gen_status` rule will modify `status.md` if needed, and
then rebuild `status.html` if needed.
The `status.html` file was updated to reflect the common way that
`make gen_top_html` forms this file. The `make timestamp` performs
a `make gen_top_html` after running `make gen_status` so that the
resulting `status.html` file matches what `make quick_www` and
`make www` would produce.
Changed `bin/gen-top-html.sh` VERSION from "1.4.5 2024-05-19"
to "1.4.6 2024-05-24" to perform the above.
Improved the text written by `make help`.
Added "for $TOOL" to the debug output of `bin/all-run.sh` to
help identify the tool performing the action.
Changed `bin/all-run.sh` VERSION from "1.3.3 2024-04-13"
to "1.3.4 2024-05-24" to perform the above.
Moved `make gen_other_html` after `make entry_index` and after the
`make quick_entry_index` in `make quick_www` and `make www`.
Perform `make quick_www` to perform the above and test under macOS.
Perform `make www` to perform the above and test under macOS.
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 add the following default IOCCC setting to `ioccc.css`:
```css
img {
height: auto;
max-width: 95%;
position: relative;
}
```
We also modified `ioccc.css` to use consitent 4 space indentation.
No other `ioccc.css` changes were made.
The "letter is for" is now inside HTML italics and
the C keyword is now inside HTML code.
Using lower case letters as the C keywords are
also in lower case and we prefer lower case.
Changed `bin/gen-authors.sh` VERSION from "1.10.2 2024-05-19"
to "1.10.3 2024-05-24" to perform the above.
Perform `make gen_authors` to perform the above.
We found cases where pandoc reported a conversion from markdown to
HTML problem that, while reported by the `bin/pandoc-wrapper.sh`
to `bin/md2html.sh`, which in turn reported to error to the tool
calling it, the tool calling `bin/md2html.sh` set `$EXIT_CODE` to
a non-zero value in order to delay the abort but then failed to act
on the non-zero `$EXIT_CODE` value at the end.
In a number of cases when `$EXIT_CODE` was set to non-zero, the
stderr message was labeled as a "Warning" instead of an "ERROR".
Fixed a bug in `bin/gen-authors.sh` that resulted the generation
of invalid markdown/HTML. An `<hr>` HTML tag inside a `<div>` span
caused pandoc to issue "Div at .. closing implicitly" at the _hr_
HTML tag line. For some reason, one cannot place a `<hr>`
(horizontal line) inside a `<div ... /div>` span.
Fixed a broken markdown links in `2020/endoh2/README.md` whose error
was hidden by one of the above mentioned problems.
Changed `bin/gen-authors.sh` VERSION from "1.10.1 2024-05-07"
to "1.10.2 2024-05-19" as a result of the above changes.
Changed `bin/gen-location.sh` VERSION from "1.4.1 2024-04-28"
to "1.4.2 2024-05-19" as a result of the above changes.
Changed `bin/gen-top-html.sh` VERSION from "1.4.6 2024-05-05"
to "1.4.5 2024-05-19" as a result of the above changes.
Changed `bin/gen-years.sh` VERSION from "1.3.1 2024-04-28"
to "1.3.2 2024-05-19" as a result of the above changes.
Changed `bin/quick-readme2index.sh` VERSION from "1.1.4 2024-04-13"
to "1.1.5 2024-05-19" as a result of the above changes.
Changed `bin/readme2index.sh` VERSION from "1.2.4 2024-04-14"
to "1.2.5 2024-05-19" as a result of the above changes.
Performed `make www` to test the above under macOS.
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.
Ran `make www` to perform test the above under macOS.