The core of `bin/gen-other-html.sh` code that converts entry non-README.md
into HTML has been moved into a new tool: `bin/othermd2html.sh`.
The `bin/othermd2html.sh` tool will be useful to the `bin/cvt-submission.sh`
tool that is under development.
Added info about `bin/othermd2html.sh` to `bin/README.md`.
Changed `bin/gen-other-html.sh` VERSION from "1.4.1 2024-08-18"
to "1.5 2024-08-27".
HTML produced by `bin/gen-other-html.sh` now uses a "jump to" mid-bar
test now shows the `YYYY/dir/index.html` link text (with `YYYY/dir/` added).
Performed `make gen_other_html` to accomplish the above and to test under macOS.
Performed `make gen_top_html` to accomplish the above and to test under macOS.
A problem existed where in a superscript if there is a line immediately
above it the superscript text would cover part of the line and in
subscript the same problem occurred with the line below it.
This change can possibly be improved but it now does not cover text
(though admittedly I did not test the subscript before the change, only
after, but it seems highly unlikely it was not a problem).
Something that has bothered me VERY MUCH for A VERY LONG TIME is that
the honour roll (under my name) was not very humble and in some respects
rather redundant. I have fixed this a great deal and improved the
readability of it too (grammar and so on).
I also added a point about fixing many entries that no longer worked and
I also did this for Yusuke Endoh too as he was responsible for fixing
numerous (at the least) entries that no longer worked (and it should be
acknowledged and honoured just as much as what I did).
The FAQ I improved is related to one of the things that is in the above,
to do with alternate code. It now explains some of the purposes of
alternate code and why (in some cases) alt code was added when it might
or might not be useful (a judgement call that invariably is not always
perfect). It notes that in many cases the alternate code comes from the
author directly.
With these changes a problem that I felt was a VERY BIG problem should
be resolved now.
For some reason, PR #2646 was made on top of the code base for pr #2645.
If we accept PR #2646 as is, we perform PR #2645 that was previously
rejected. This change is an attempt to avoid this.
The entry that triggered the funny warning (-Wdocumentation) was not in
2013/birken but 2014/birken. Thus the -Wno-documentation was removed
from 2013/birken/Makefile and added to 2014/birken/Makefile.
With this commit I believe that every warning that can be disabled has
been disabled in some way or another, though this is with an earlier
version of clang (clang version 17.0.6 but the most recent one is,
according to its website and contrary to wiki claiming 17, 18.1.8, and I
also know that fedora linux clang had more problems).
A number of rules have been moved from entry `Makefile`s into the
`1337.mk` include file to make it easier for these common rules to be
updated or modified globally (by modifying the `1337.mk` include file).
The entry level `Makefile`s are now similar in form to the
/Makefile.example](https://github.com/ioccc-src/mkiocccentry/blob/master/Makefile.example)
file from the other repo.
The following make rules were moved into the `1337.mk` include file:
- `make indent.c`
- `make install`
- `make diff_orig_prog`
- `make diff_prog_orig`
- `make diff_alt_prog`
- `make diff_prog_alt`
This simplifies the entry level `Makefile`s so that they mostly reflect
the specifics of the particular entry.
Mentioned in FAQ 4.2, that the make diff rules are in the `1337.mk` include file.
Fixed invalid TAB character in `faq.md`.
Removed `make clean` directives that removed `indent.c`. This file is now
removed via `make indent_clean`, a clean rule that also removes `indent.c`.
Removed `make clobber` directives that removed sandwich, This file is now
removed via `make indent_clobber`, a clean rule that also removes `sandwich`.
Added `make indent_clean` and `make indent_clobber` rules into the top level
`Makefile` and the year level `YYYY/Makefile`.
Performed `make quick_www` to accomplish the above and to test under macOS.
We add links to jump to the top of the file at the bottom of FAQ
sections.
Improved Makefile samples for FAQ 0.3.
Performed `make faq` to accomplish the above and to test under macOS.
The warning is also -Wdocumentation:
recode.c:17:7: warning: line splicing in Doxygen comments are not supported [-Wdocumentation]
17 | /\
| ^
1 warning generated.
.. and I guess it's confused by the line splicing, actually, just like
the others as I see more clearly now, rereading the warning message as I
did not use trigraphs.
The warning -Wunsafe-buffer-usage is triggered (iirc) on pretty much
every use of 'char *' and some of the previous commits also had to
silence this warning. It is triggered by clang -Weverything.
That warning is -Wdocumentation:
prog.c:1:1: warning: line splicing in Doxygen comments are not supported [-Wdocumentation]
1 | /**??/
| ^
... and is obviously confused by trigraphs.
The warning -Wmisleading-indentation is nothing but style policing, can
causes unnecessary edits to working code which is error prone itself and
even beginner C programmers can parse it as it's one of the first things
learnt, blocks of code. And if someone can't perhaps they should be
using another language or not programming at all. As for the IOCCC it
would be considered a good thing to be 'misleading' except that it's not
misleading to anyone participating in the IOCCC and certainly not to the
judges if it even is to anyone else.
Having a '\' at the EOL of an echo followed by the rest of the string on
the next line will obviously not work as the '\' doesn't start a new
command but continues it (scripts notwithstanding). I am not sure how
this even got there but it resulted in a very long line of output.
There is also a fix that fixes a format problem with
the `author_set`.
Used `bn/jfmt-wrapper.sh` to reformat JSON with:
```sh
find * -name '*.json' -print0 | xargs0 -n1 -t bin/jfmt-wrapper.sh
```
In keeping with [GH-issues 931](https://github.com/ioccc-src/mkiocccentry/issues/931),
we remove the use of `-T` from the `JSONPATH.sh` tool. This will implement JSON
formatting using multiples of 4 ASCII spaces and without TABs.
Changed `bin/jfmt-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".
Changed `bin/jprint-wrapper.sh` VERSION form "1.0.2 2024-08-08"
to "1.1 2024-08-20".
Changed `bin/jval-wrapper.sh` VERSION form "1.0.3 2024-08-11"
to "1.0.4 2024-08-20".