More work might need to be done in this section and other sections might
need checking too but I believe this section is more helpful. An attempt
was made to shorten some of it without compromising the usefulness but
more will have to be done to make sure this is the case.
A number of question answers have been merged and shortened somewhat.
Fix link in the menu of all html pages and the inc/ files that was
broken due to renaming an anchor.
The guidelines and rules have had a link fix (to the FAQ) as well as
some additional points added about the mkiocccentry toolkit.
More work in the FAQ needs to be done, including with the how to enter
the IOCCC, but as so much work has been done already I have decided to
make the commit to get these many important changes out of the way.
We fixed some of minor inconsistencies in the `faq.md` markdown.
We added "Q x.y:" to the Table of Contents and FAQ titles,
in part to verify the order, and in part to help someone find
their way while inside the FAQ content.
Reduced several FAQ titles that were wrapping onto a 2nd line
at the standard window width.
Perform `make faq` to perform the above and test under macOS.
The faq entries have been reordered to match the same order
as the Table of Contents.
Added missing "Why were some filenames changed?" FAQ to the
Table of Contents.
Fixed a number of FAQ headers to use the "Q:" at the start.
Added double 1/2 lines between sections.
Made use of double empty lines consistent.
Added some missing "Jump to top" lines.
Shortened 2 very long FAQ long titles.
Perform `make faq` to perform the above and test under macOS.
TODO: Check the HTML with the link checker.
That is I did:
sgit -e '/^<\/li>$/d' -e '/^<li>$/d' \
-e '/^<ol>$/d' -e -e 's/^<\/ol>$/g' faq.md
The next steps are to move the question/answers to the appropriate
sections and to try and shorten as many answers as possible, possibly
merging some or even getting rid of some.
This does not mean that there aren't other question/answers under this
section just yet but the first questions are those that are in the table
of contents and in the correct order.
More work must be done but to make sure that things are safe I am
committing what has been done so far as this is very error prone and
right now it seems okay.
New sections were added. Not all anchors work yet. The questions/answers
are not yet in the right order. That is the next step.
Instead of relying on having to manually add numbers use ordered lists.
The sections are in unordered lists so we have control over the number.
The downside with this is with the long file it is harder to find the
section one is in but as each question/answer has a jump to the top that
should be worth the gain of not having to manually edit every question
(in the table of contents as well as the question/answers) every time a
question is moved to another place (or a new one is added) above others.
Another downside is minor: it does not allow for 0 as html lists do not
start with 0 but 1.
Another thing that has to be done is to make sure that the html lint is
correct. That can be done once this is merged. Any thing that needs to
be fixed can then be fixed.
Numerous sections have had questions moved to another section including
the new sections 'The mkiocccentry toolkit: finer details' and 'History
of the IOCCC'.
The first section was renamed (pending any better name as it might not
be quite right) 'Entering the IOCCC: the bare minimum you need to know'.
Renamed some questions to better (hopefully) account for what they are
about.
The purpose of not making the actual content match this reordering is so
that if any changes need to be made they do not have to be done again
(though a few were moved). Thus before more work can be done some
discussion is needed.
The guidelines and rules now refer at the top to the general FAQ
especially about the bare minimum one needs to know.
This commit is the first step in reordering/restructuring the FAQ.
Something important to notice is that except for the FAQ sections, the
anchor names starting with the regexp '^faq[0-9]' have been removed. The
numbers have not been removed otherwise, however, and as one FAQ was a
duplicate there might be a labelling problem too.
As the FAQ links do not refer to the number but rather what they are
about, and since the FAQ is being heavily restructured, the numbers are
a burden. Even after everything is reordered it could be a potential
problem when adding a new FAQ (though that should hopefully be pretty
rare). Perhaps a list that's not numbered (unordered instead of ordered
in html terms) is what is needed but this can be decided later.
This is a work in progress but since a lot was done I wanted this in.
The next step will be to move things about and perhaps remove the
numbers, whether temporary or not.
This commit also adds the faq.html and bugs.html file that should have
been committed with 2013. The reason the faq.md is updated with only the
version update (backdated to yesterday) is because the version was not
updated with the previous update.
The FAQ now notes that there can be times where the jparse repo
(https://github.com/xexyl/jparse/) is different from the mkiocccentry
repo's subdirectory jparse. This is one of the reasons the tools in the
mkiocccentry and the jparse repo show the jparse API with the -V
(version) option.
I believe that this is all that's needed for the jparse repo in the FAQ
but time will tell on that.
Added a new "FAQ 1.4 - What is the **Great Fork Merge**?"
and a new "FAQ 6.18 - I do not understand the IOCCC, can you explain it
to me?".
Updated "FAQ 0.11: How can I validate any JSON document?"
with new jparse info.
Performed `make gen_top_html` to accomplish the above and to test under macOS.
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.
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.
We improve entry `index.html` navbar links by allowing the
next and previous to link across years.
The `make genpath` now forms `.allyear`, which is a
sorted contamination of all YYY level `.year` files.
Updated `make help` to reflect the `make genpath` functionality.
Updated FAQ 6.8 to talk about the `.allyear` file.
Fixed links to `.top` and `.allyear' to refer to GitHub.
Changed `bin/subst.entry-navbar.awk` VERSION from "1.2 2024-03-02"
to "1.3 2024-08-02".
Changed `bin/subst.entry-index.sh` VERSION from "1.3.5 2024-08-05"
to "1.4 2024-08-09".
Performed `make www` to accomplish the above and to test under macOS.
Added FAQ 4.9 "What is the original source file?".
Added links for "dot_path" (and "dot_year" and "dot_top").
Clarify reasons why `OK_to_edit` might be set to `false`.
Performed `make www` to accomplish the above and to test under macOS.
Several new FAQ entries have been added to discuss some of the details
of chkentry, txzchk, fnamchk, jparse and maybe others that are related
to the rules and guidelines (and in particular rule 17 and how to
package submission tarballs). As there are new FAQ entries on these
(which is much of what was in the guidelines) the guidelines have been
shortened for these additions.
Looking over the rendered html files it seems okay but I believe that
these entries are works in progress and not complete.
For reference the new FAQ version is 28.0.3 2024-07-27 and the new
guidelines version is 28.11 2024-07-27.
This FAQ was added as part of updates to bin/index.html. I did notice
that there are some inconsistencies with formatting in some FAQs
compared to this (and others also). The example here is that for JSON
members it would be better to use inline code blocks than italics but
some use italics instead. There are others as well. I did look at the
format and the links in this updated FAQ but the format inconsistencies
can be addressed another time - after it is clear that new FAQs will not
have to be added. Even so this FAQ that was added here could also
possibly be improved further - also later on.
The bin/index.html updates need to be more thoroughly checked as part of
further documenting the newer tools (and any additional ones that might
be added) but there should be some improvements as well. This required
check will also be done later on.
The fields are now in the order that the mkiocccentry tool writes them.
A brief note on how to verify that the .auth.json and .info.json files
are valid JSON (not valid according to the IOCCC rules but valid JSON)
is at the end of each of these FAQs. Given that there are numerous FAQs
on different JSON files it seems like that it might be better to have an
entire FAQ on this (it links to a subsection in an FAQ about another
kind of JSON file). Where this might go is unclear to me so it has not
been done yet.