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.
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.
Make link to entries and award titles bold like the other files that
have links to entries with the award title. This is done by modifying
the bin/gen-authors.sh script.
Make it consistent with my improvement to bin/gen-years.sh: the entry
awards in the links (to each entry) are now in bold and so are the link
names. This helps them stand out a bit more.
The script set the URL for the tarball of all entries in the year to:
$YYYY/$YYYY.tar.bz2 but the link is relative so for 1984, for example,
it would link to 1984/1984/1984.tar.bz2 which obviously is a 404.
I also changed the formatting and wording of the link. It now is all
bold and it says instead (for example with 1984): 'Download all winning
entries from 1984'. Before it still referred to 'entry source' but it is
all entries and more than just the source.
This commit does not mean that the YYYY/index.html files have been
checked (though it's likely that all should be okay at this point) but
the manifest of entries and the tarball of all entries of the year
should at least be good.
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 completes bin/ except that one file is likely to be moved to bin/
which will mean that the file has to be updated again but not in a big
way.
Very few top level html files (including inc/ and some other
subdirectories that are not the years) have to be checked now, I
believe. Some did not require any fixes at all. Still it might be a
couple days before this is done. It is hoped that the entry html files
will go quicker and then the final FAQ and bugs checks can be done.
... 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).
Usage for scripts where the usage was missing added, even if that's just
that it is used in another file.
The script links have been changed to use %%REPO_URL%% for the GitHub
syntax highlighting. Some other files have also been changed to this.
Other changes were probably made too.
Links still have to be checked but this has to be done next time.
The PANDOC_WRAPPER did not have a default value which not only caused
the help string to show something like: '(def: use )' but it meant one
had to specify the option -p to specify the pandoc wrapper tool (which
is bin/pandoc-wrapper.sh).
A few typos were fixed.
One tool had the description reworded a bit to make it (hopefully) a bit
clearer.
A link was fixed but I am not sure if, since it's a script, it should
link to the GitHub repo or not, like with other markdown files. I
changed it to use the %%var%% that the bin/README.md file uses. This is
one reason links have not been checked. The other reason is I have not
gone through the entire file yet.
I notice some tools do not have example usage and those could be added
too.
There was an apparent typo in bin/find-missing-links.sh and this same
typo was fixed in bin/README.md. I am not sure exactly what was meant,
however, so it might need further modifications.
I have (the caveats above notwithstanding) gone up through
pandoc-wrapper.sh or just before it.
Regenerated bin/index.html.
The links in the html file now are a bit more consistent in form and
the titles make a bit more sense.
By that I mean that it used to be that it would say 'About the 1st IOCCC' but only '1st IOCCC' was a link
and 'About' was bold but now it's all bold and now it's all a link (to suggest that the link is actually about
the first IOCCC). The download links were also improved in this way and
they now say 'winning entries' rather than say (for 1984) '1984 entry
source' (that was for all entries). Also, since it would otherwise say
something like:
...
Download all 1985 IOCCC winning entries.
Download all 1984 IOCCC winning entries.
I reworded it to say:
...
Download all IOCCC winning entries of 1985.
Download all IOCCC winning entries of 1984.
As other link titles were in bold in the file now each entry link is in
bold as well and so is the title - to help it stand out a bit better. I
am not quite sure about the bold title yet but the link should be bold
anyway to match others. I think the bold title does seem like a good
idea though.
Rebuilt years.html.
Note that most of the links have been checked in this file but I will
look at each entry link again as I verify links and formatting in the
entries' html files.
For the improvements to the script, besides a typo, a link to the FAQ
(for submitting entries) has been added and a link to the GitHub issues
page (the new issue page) has been added in the case where an unknown
status appears in the status.json file.
The news update is that more progress has been made in that one of the
longer files to check for invalid links is done (thanks file) and that
two long files are left but that instead of looking at those two first
the other html files will be looked at first as it's quite possible that
both will have to be updated in some way or another as the other files
are being edited. Indeed this has happened numerous times already. This
way will save time and prevent having to look at those files a second
time. It also notes that some of the top level html files have also been
reviewed (see below) and a link was fixed (added a <div id="news"> for a
link that was linked to). I am fairly certain that I also fixed some
formatting problems and some links were fixed as well.
The status.md/status.html file has been updated with some links added,
more div blocks (for each section describing the status.json file),
which are used, slight formatting updates and possibly some other things
as well. As for some of the links we might say that it's 'statuses all
the way down' :-)
With this commit I am happy to report that some other top level files
have also been verified for invalid links:
judges.html
news.html
status.html
As the news.html file will be updated it is entirely possible that some
fixes will have to be made but the links up to and including 08 June
2024 (unless more changes are made today of course) need not be checked
again.
More top level html files (which include those in next/ and other
subdirectories that are not of the entries) also have to be checked but
these should also go relatively quickly.
Regenerated status.json file as the news has been updated.
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.
There were URLs that linked to https://www.ioccc.org/bin/README.md#foo
but at ioccc.org it will be index.html so the README.md has been changed
to index.html.
Rather than do 'stat' or 'ls' do type -P on the tools and check that
they exist (or that the variables are not empty), exiting with a fatal
error (and exit code 5) if either are empty. The variables are used in
the script instead of the raw or literal 'stat' and 'ls'.
Now the is for text is not in italic so that only the letter is in
italics and the word is in a code block but the 'is for' is in normal
text. This looks nicer and makes the letter and the word stand out
better.
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 "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.
This is a test using `make gen_top_html`.
TODO: If all is well, process `make www`.
The `bin/gen-authors.sh` tool was upgraded to print URLs, alt URLs,
Mastodon, GitHub and affiliation information about authors.
The format for author information in `authors.html` was improved.
Changed `bin/gen-authors.sh` VERSION from "1.9.1 2024-04-28"
to "1.10 2024-05-06".
Ran `make www` to perform test the above under macOS.