350 Commits
Author SHA1 Message Date
Landon Curt Noll aedb017223 improve markdown to HTML tools, build location.html, authors.html, years.html
Renamed `.winner.json` to `.entry.json` as per recent decisions made for issue #2156.

JSON element _winner_JSON_format_version_ renamed to _entry_JSON_format_version_
in `.winner.json`.

Changed _entry_JSON_format_version_ from "1.0 2024-01-14" to "1.1 2024-02-11".

JSON element _winner_id_ renamed to _entry_id_ in `.entry.json`
JSON element _winner_text renamed to _entry_text_ in `.entry.json`
JSON element _winner_id_ renamed to _entry_id_ in `author/author_handle.json` files.

Changed _author_JSON_format_version_ from "1.0 2023-06-10" to "1.1 2024-02-11".

Renamed `tmp/gen_winner_json.sh` to `tmp/gen_entry_json.sh`.

Renamed `tmp/example.dot_winner.json` to `tmp/example.dot_entry.json`.

Renamed `tmp/winner_id.txt` to `tmp/entry_id.txt`.

Renamed `tmp/winner_dir.txt` to `tmp/entry_dir.txt`.

Moved outdated `tmp/awards_check.sh` into `tmp/OLD_manifest/awards_check.sh`.
Moved outdated `tmp/awards_check.sh` into `tmp/OLD_manifest/awards_check.sh`.
Moved outdated `tmp/src/winner_name` into `tmp/OLD_manifest/winner_name`.
Moved outdated `tmp/sql` into `tmp/OLD_manifest/sql`.
Moved outdated `tmp/template-footer.html` into `tmp/OLD_manifest/template-footer.html`.
Moved outdated `tmp/template-header.html` into `tmp/OLD_manifest/template-header.html`.
Moved outdated `tmp/template-top.html` into `tmp/OLD_manifest/template-top.html`.
Moved outdated `tmp/test.html` into `tmp/OLD_manifest/test.html`.
Moved outdated `tmp/fake.gen_index.sh` into `tmp/OLD_manifest/fake.gen_index.sh`.
Moved outdated `tmp/old-ioccc.css` into `tmp/OLD_manifest/old-ioccc.css`.

Removed winner_name from `tmp/src/Makefile`.

Updated `tmp/example.dot_entry.json` to reflect the above JSON changes.

Updated `tmp/manifest.numbers` to reflect the above JSON changes.

Updated `tmp/README.md` to reflect the above JSON changes.
Sorted `tmp/README.md` by existing `tmp` filenames.

Updated all `.entry.json` files to reflect the above JSON changes.

Updated all `author/author_handle.json` files to reflect the above JSON changes.

Added new tool `bin/gen-location.sh` to form the top level file `location.html`
from `author/author_handle.json` files!

Added new tool `bin/gen-years.sh` to form the top level file `years.html`
using `.top`, `.year` and `.entry.json' files!

Added new tool `bin/gen-authors.sh` to form a new top level file
`/authors.html` from `author/author_handle.json` and related
`.entry.json' files!

The old `winners.html` file now redirects to the new `authors.html` file.

Renamed `bin/gen-author.sh` to `bin/output-index-author.sh`.
Renamed `bin/subst.winner-index.sh` to `subst.entry-index.sh`.
Renamed `bin/subst.winner-index.awk` to `subst.entry-index.awk`.
Renamed `bin/manifest.entry.json.awk` to `bin/manifest.entry.json.awk`.
Renamed `bin/gen-inventory.sh` to `bin/output-index-inventory.sh`.
Renamed `bin/sort.gitignore` to `bin/sort.gitignore.sh`.
Renamed `bin/sgi` to `bin/sgi.sh`.

The core logic of converting markdown to HTML has been
generalized into a new `bin/md2html.sh` tool.

The `bin/readme2index.sh` tool now calls the
new `bin/md2html.sh` tool to form entry's `index.html` files.

The `bin/quick-readme2index.sh` tool now calls the new `bin/md2html.sh`
tool, unless the `index.html` is newer than both `.entry.json` and
`README.md`, to form entry `index.html` files.

Increased, slightly, the speed of the `bin/quick-readme2index.sh` tool
with the entry's `index.html` file does not need to be updated.

The `bin/quick-readme2index.sh` tool will touch the `index.html` file,
even if the `bin/md2html.sh` tool determines that the `index.html` file
did not change, so that the `index.html` file will not appear
out of date with respect to `.entry.json`.

Slightly improved the look and feel of `index.html` files for entries.

The logic of `bin/all-run.sh` has been improved.  The initial
processing, from first bash version check, thru the -N test, serves
as the model for the `bin/readme2index.sh` tool and the
`bin/quick-readme2index.sh` tool.  There tools now share
a common set of command line options.

Changed the format of `inc/md2html.cfg` so that for a given "_file_glob_"
match, options follow, one per line.  The "_file_glob_" is on a line
by itself.  The option lines that follow must be intended:

```
[12][0-9][0-9][0-9]/README.md
	-H
	topnav=year
	-o
	bin/subst.default.sh
	-o
	bin/subst.year.sh
```

Added "-D ./" to top level markdown files in `inc/md2html.cfg`.

The above intending is performed with 1 or more whitespace
characters, although we use a leading tab "convention"
out of deference to Makefile formats. :-)

Once a new "_file_glob_" is found, the set of any previous
option lines is said to have ended.

The general argument processing logic now makes used of shell arrays.

Added checks in the `bin/md2html.sh` tool to disallow a "_file_glob_"
of . (dot) as this is used internally to help the shell process the
new `inc/md2html.cfg` format.

Changed `bin/all-run.sh` VERSION from "1.1.2 2024-01-20"
to "1.3 2024-02-11".

Changed `bin/output-index-author.sh` VERSION from "1.3.1 2024-01-16"
to "1.4 2024-02-11".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.3.2 2024-01-19"
to "1.4 2024-02-05".

Changed `bin/quick-readme2index.sh` VERSION from "1.0 2024-01-20"
to "1.1 2024-02-11".

Changed `bin/readme2index.sh` VERSION from "1.1.1 2024-01-20"
to "1.2 2024-02-11".

Changed `bin/subst.default.sh` VERSION from "1.1.1 2024-01-16"
to "1.2 2024-02-05".

Changed `bin/subst.entry-index.sh` VERSION from "1.1.1 2024-01-16
to "1.2 2024-02-11".

Changed `bin/output-index-inventory.sh` VERSION from "1.0.1 2024-01-16"
to "1.1 2024-02-11".

Changed `bin/manifest.entry.json.awk` from "1.0 2024-01-14"
to "1.1 2024-02-11".

Changed `bin/sort.gitignore.sh` from "1.0 2024-02-01"
to "1.1 2024-02-11".

Changed substitution symbol _%%DOCROOT_URL_SLASH%%_ to _%%DOCROOT_SLASH%%_
in various "inc/*.html" files.

Moved setting of symbol _%%DOCROOT_SLASH%%_ from `bin/subst.entry-index.sh`
to `bin/subst.default.sh`.

Changed the variable _$DOCROOT_URL_SLASH_ to _$DOCROOT_SLASH_, in
bin tools that use it, to be more descriptive.

Removed `-P pandoc_opts` from `bin/*.sh` command lines.
The PANDOC_WRAPPER_OPTSTR value is only used in `bin/pandoc-wrapper.sh`.

Removed `-B optstr` and `-A optstr` from the `bin/md2html.sh` command line.

Removed `[-O tool=optstr ..]` from the `bin/md2html.sh` command line.

Removed old use of `-U top_url` from command lines.
Add `-w site_url` as sort of a "replacement" for the old `-U top_url`.

Added a new `-U URL` to `bin/gen-author.sh`, `bin/output-index-inventory.sh`,
`bin/md2html.sh`, `bin/subst.default.sh`, and `bin/subst.entry-index.sh`
to allow for the Nu HTML check can use the encoded absolute URL of
the HTML page.

Added `-t tagline` to most command lines.

Added `-T md2html.sh` to most command lines.

Added `-D docroot/` to most command lines to set DOCROOT_SLASH.
The DOCROOT_SLASH value defaults to "../../" for most in tools,
suitable for HTML files under a `YYYY/dir` directory, except for
`bin/gen-location.sh` and `gen-entries-html.sh` (as this produces a
top level HTML file) and `bin/md2html.sh` (forms files at any level)
who use "./" instead.

In the case of `bin/output-index-inventory.sh`, `bin/quick-readme2index.sh`,
`bin/readme2index.sh`, and `bin/all-run.sh`

Helped make the use of exit code in bin tools a bit more consistent.

Fixed a number of typos in the bin tools.

Added comments for lower level tools such as
`manifest.entry.json.awk`, `bin/subst.default.sh`,
`bin/subst.entry-index.sh`, and bin/`manifest.entry.json.awk` to
indicate how they are usually invoked by other tools.

Changed the comments that a new `bin/md2html.sh` tool (that was the
`bin/readme2index.sh` tool) would add to a entry's `index.html` file.
No longer will it add the tool version number to the comment.  Thus,
a change in tool version will not force all entry `index.html`
files to be modified.  Now both the tool adds two comments, one
is the _tagline_ to indicate how the markdown content was generated,
and one for the new `bin/md2html.sh` tool.  For example:

```
<!-- The original markdown content was formed by the tool: bin/quick-readme2index.sh -->
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
```

Improve the debugging, especially in regards to changing important
exported shell variables, in `bin/md2html.sh`.  Other bin tools
have their exported shell variables improved somewhat as well.

The `bin/README.md` now describes the general _converting markdown
to HTML_ procedure including _getopt phases_ and _HTML phases_.
Content from `inc/md2html.cfg` and `bin/readme2index.sh` that related
to this topic has been centralized into the `bin/README.md` file.

Improved formatting of the `bin/README.md` file.  Updated it as needed
according to the above.

Sorted `2011/.year`, `2018/.year`, and `2019/.year` to be in dictionary order.
Adjusted ${WINNERS} in year Makefile to use dictionary order so
that `make genpath` will produce `.year` files in dictionary order.

FYI: We tested this massive set of changes as best as we could.
     Nevertheless we might have missing something in the JSON changes,
     `.entry.json` renames, manifest updates, code comments, etc.
2024-02-11 16:00:31 -08:00
Landon Curt Noll 73df990d9f Merge pull request #2170 from xexyl/faq-all-readme
Link fix in FAQ (/all/README.md, not README)
2024-02-05 14:17:33 -08:00
Landon Curt Noll b203a36401 added trying to trick us humor to FAQ 2.4 2024-02-05 13:29:18 -08:00
Cody Boone Ferguson b5c451ad0e Link fix in FAQ (/all/README.md, not README) 2024-02-05 11:52:28 -08:00
Cody Boone Ferguson a4a153cd74 Improve 2018/algmyr/try.sh + update FAQ
The script now does more (another feature of the program).

The FAQ now has a name of 'sox' for FAQ 3.10 which the script refers to
and the README.md file now refers it too (instead of 3.10).

Fix make clobber: rm *.wav.

Update .gitignore.
2024-01-31 09:12:10 -08:00
Cody Boone Ferguson 6739c0168a Typo fix in FAQ 2024-01-24 09:50:39 -08:00
Landon Curt Noll 7acdb2af4e change FAQ 1.2 to refer to the great fork merge 2024-01-21 18:10:12 -08:00
Cody Boone Ferguson 021d5f5c4e Improve FAQ 3.7 - how to compile/run X11 entries
Some typo fixes and various other changes and improvements.
2024-01-19 04:36:30 -08:00
Landon Curt Noll 471df9e33b improve FAQ 3.7 to address X11 for a wider set of platforms
Use the "#X11" name tag when referring the FAQ in the `README.md`.

Feel free to correct and improve FAQ 3.7.
2024-01-18 16:35:05 -08:00
Landon Curt Noll d0a1d62ee7 fix faq.md
Add missing : to FAQ 1.3 header
2024-01-11 11:36:16 -08:00
Landon Curt Noll b988968be3 note FAQ 5.4 issue
Update FAQ 5.4 needs to be synced with tools that are being g written.
2024-01-08 07:32:37 -08:00
Landon Curt Noll da0c303cd4 fix FAQ 5.1
Added a missing <
2024-01-08 07:27:56 -08:00
Landon Curt Noll 7b836f362d update faq.md
Minor working change for FAQ 1.3.
2024-01-05 03:22:10 -08:00
Landon Curt Noll d990a4bdf9 fix FAQ 1.3 line 2024-01-04 19:23:16 -08:00
Landon Curt Noll ce979d9b80 fix FAQ 0.0 alternate name, added FAQ 1,3
Added 1.3  - How has the IOCCC size limit rule changed over the years.
2024-01-04 19:22:50 -08:00
Landon Curt Noll 87fd807af8 add contact.md markdown file
In preparation for converting markdown files to HTML, added
`contact.md` with improved "see the FAQs" / "use pull request" /
"open GitHub action" suggestions instead of sending Email.

Fixed a few typos in `faq.md`.  Added / fixed links into most section 5 FAQs.
2023-12-23 21:47:56 -08:00
Cody Boone Ferguson d9c3005ec7 Minor fixes in FAQ
Let's just say that these minor issues have also gone up in smoke.
2023-12-17 12:23:02 -08:00
Landon Curt Noll f1c4b7aaf7 improve FAQ 5.6, thank Cody for finding broken links
The question for FAQ 5.6 was improved to be more compact
while addressing both broken and wrong web links.

Removed any direct reference to drugs in an effort to
avoid problems from those who are humor impaired,
as well as "bots" to might flag the site as connected to drugs.

Moved the reference to the tool used by Cory to find
broken links to the thanks page.
2023-12-16 21:01:03 -08:00
Cody Boone Ferguson 5906389fa8 Add FAQ about dead and invalid links
... and what one should do, of course. This includes an example of an
invalid link (albeit an extreme one :-) ) that I fixed quite some time
back (months ago) just to give an idea. But it's more useful to check
for dead links in the IOCCC website itself (linking to pages/files in
the website that is). Of course I'll be doing that once the README.md
files are in order but there's a high chance I won't be able to find
them all esp as after the website is done I have more to do.
2023-12-16 05:04:57 -08:00
Cody Boone Ferguson 2a44ac299b Update FAQ about entries requiring sound libraries
This update was supposed to be committed in
0cbd1db764 which was for 2018/algmyr but
it was accidentally left out.
2023-12-16 04:11:18 -08:00
Landon Curt Noll ad2e92520a Merge pull request #1690 from xexyl/faq-mkiocccentry
Try fixing formatting of in FAQ 0.0
2023-12-11 13:17:50 -08:00
Landon Curt Noll cca4189e84 improve the consistency of package install related FAQ
We make how "how to install" package XYZZY more consistent
for those FAQ in terms of the order the OS/methods
as well as mentioning all of the current methods:

* Red Hat based Linux
* macOS
* mavOS via Homwbrew
* mavOS via macports
* Debian based Linux
* Other Linux distributions
* package website

The sound based FAQ was modified in a similar way
so that should specific Linux distribution instructions
need to be added, those could be added under the
appropriate section.

Use only "dnf install" for RHEL and mention the possibility of that
older RHEL distributions might have to use "yum" instead of "dnf"

Changed linux to Linux.

Suggest in FAQ 3.1 that they look at other FAQ entries (in section 3).

Added missing empty lines before markdown headers.
2023-12-11 13:13:00 -08:00
Cody Boone Ferguson 2a6bfca58e Minor format consistency in FAQ
In FAQ 0.0 the numbered lists all start with a capital letter - except
that the last step did not. Now it does.
2023-12-11 13:12:21 -08:00
Cody Boone Ferguson f55c4abdfa Try fixing formatting of in FAQ 0.0 2023-12-11 13:10:25 -08:00
Landon Curt Noll c88801c35d remove sh part in list near start of faq.md 2023-12-11 11:54:57 -08:00
Cody Boone Ferguson 1289eab9f8 Update FAQ about different image tools
Three different image utility packages have been described for macOS
(MacPorts and Homebrew) and Red Hat Linux. I don't have any other linux
so I can't explain how to do those with certainty (except for copy/paste
somewhere which might or might not be correct).
2023-12-11 11:25:14 -08:00
Cody Boone Ferguson 767abf2aef Make local files absolute paths in FAQ
There was also a typo (missing word) in one of the questions that was
fixed.
2023-12-10 13:26:00 -08:00
Cody Boone Ferguson d949ca9e4e Format/typo check 2015/endoh1
The FAQ has been updated to say how to compile and install tcpserver
(for systems that don't have a package in their package manager) as this
entry requires it. The FAQ does not mention this entry.

The README.md file has been format/typo checked.
2023-12-10 12:01:37 -08:00
Landon Curt Noll 2c49086e84 Update faq.md
Add name "SDL" for SDL FAQ 3.8
2023-12-09 17:34:14 -08:00
Landon Curt Noll 6206201d8a add make genpath rules, .path files, updated .top and .year
Add .path files to each winner directory: a file containing
the path to the winner directory from the top directory.

Changed YYYY/.year files to contain the paths, from the top
directory, if the winning directories for the given year.

Changed `/.top` to contain the IOCCC years.

Added `make genpath` rule to the top Makefile and the
year Makefiles to generate the above.

Added FAQ 6.8 to `faq.md` to explain the above.

Updated manifest to reflect recent changes to the list of files.
2023-12-08 01:29:43 -08:00
Landon Curt Noll 2f002af1c8 move archive files under archive/historic
Adjusted links and references to old archive files
to use the `archive/historic/` tree.

TODO: Build compressed tarballs for winning entries,
individual years, and the entire winning set under `archive/ioccc/`.
2023-12-07 19:17:46 -08:00
Landon Curt Noll 0c6628d667 moved and improved thanks
Moved thanks-for-fixes.md -> thanks-for-help.md

References to thanks-for-help.md are referred to
as just the _thanks file_.

Updated links to reflect the above file change.

Links to winner files in bugs.md now start with /.

Updated the `/inc/sidenav.default.html` file
to use an improved sidenav menu that includes
a link to "How to enter the IOCCC".

Fixed reference to FAQ entry regarding 'gets()' in `bugs.md`.

Removed some trailing whitespace in `bugs.md`.
Removed some trailing whitespace in `faq.md`.

Fixed links into specific thanks file entries.

Added more info to FAQ 0.0 "How may I submit to the IOCCC?".

The temporary top level HTML files (contact.html, index.html,
judges.html, news.html, winners.html, years.html) have
a consistent set of links (w/o any bold links) that
match the revised `/inc/sidenav.default.html` sidenav menu.
These temporary top level HTML files are not yet being built
and so they do not yet use the `inc/*.html` system.

TODO: Turn contact.html, index.html, judges.html, news.html, winners.html,
and years.html into markdown files that markdown to HTML tools will generate.
2023-12-07 17:43:37 -08:00
Landon Curt Noll 78220627a0 move www-history.md into FAQ 1.2 2023-12-05 23:02:49 -08:00
Landon Curt Noll 1e1b26f320 update FAQ
Completed information for FAQ 5.5.

Removed a few redundant words in the FAQ..
2023-11-30 23:31:26 -08:00
Landon Curt Noll f112155e78 add to FAQ
Added:

- [5.5  - How may I correct or update IOCCC author information?](#faq5_5)
- [6.5  - What is an author handle?](#faq6_5)
- [6.6  - What is a author_handle.json file and how are they used?](#faq6_6)
- [6.7  - What is a winner_id?](#faq6_7)
2023-11-30 20:34:17 -08:00
Landon Curt Noll 7df40a150d move how-to-help.md into FAQ
Moved the contents of how-to-help.md into the FAQ as FAQ 5.2.

Renamed FAQ 5.0 _Why does an IOCCC winner fail to compile or or
fail run?_ to FAQ 3.13.

Added FAQ 5.0 for _How may I help the IOCCC?_.

Added FAQ 5.3 for _How may I report an IOCCC web site problem?_.

Added FAQ 5.4 for _How may I submit a fix to an IOCCC web site?_.
2023-11-29 18:53:56 -08:00
Landon Curt Noll defc4c3119 reorder FAQ 0.x and FAQ 1.x
Make the FAQ 0 top section the most important section for
those who want to submit an entry to the IOCCC.
2023-11-29 17:12:13 -08:00
Landon Curt Noll b6beda55a9 add news.html, move how-to-enter.md into faq.md
Moved news from index.html to news.html.

Moved how-to-enter.md into FAQ 2.6.

Moved FAQ 0.2 to FAQ 2.5.
2023-11-29 16:49:37 -08:00
Landon Curt Noll 31510efa3e add FAQ1.0 How do I submit my entry to the IOCCC 2023-11-24 20:49:47 -08:00
Cody Boone Ferguson 098be35449 Add how to find intr/etc. to FAQ
Since some entries require intr/EOF etc. I have added to the FAQ how to
find it. This was inspired by the 2005/sykes as to end the program one
has to send intr. For those with grep -o it's possible to show just the
output; other ways exist but those ways are more complicated and I've
not gone there.
2023-11-22 04:58:18 -08:00
Cody Boone Ferguson e41461cf38 Fix invalid file references in FAQ
Refer to thanks file, not the README.md file of the entry when fixing
entries.

Refer to how-to-help.md, not how-to-bugfix.md as I renamed it a while
back as the file doesn't really say how to fix bugs (how could it?) but
rather how to help.
2023-11-21 08:28:19 -08:00
Cody Boone Ferguson b98bfddb81 Improve discussion of gets()/fgets() in FAQ/thanks
It is not yet clear to me if some of the information in the two files
should be swapped. I think it probably should be done as the point in
the thanks file was to be a quick note but it ended up being long and
with details better left to the FAQ. But this can be done another time
after the remaining entries are reviewed or sometime in between.
2023-11-21 06:14:46 -08:00
Landon Curt Noll 0917f5279e Improve faq.md references to the pull request FAQ
Improve the punctuation when referring to FAQ 5.1.
2023-11-20 04:15:15 -07:00
Landon Curt Noll af5d1a56a3 Update faq.md
Add a reference to how to make a pull request in places where pull requests are encouraged.
2023-11-20 04:08:37 -07:00
Landon Curt Noll ae274b265d Update faq.md FAQ3.1
Simplify FAQ3.1 and remove references to specific entries in order to keep the FAQ more generic.
2023-11-20 04:05:31 -07:00
Landon Curt Noll 318759b01c Update faq.md FAQ5.1
Improve the pull request text in FAQ5.1
2023-11-20 03:57:36 -07:00
Landon Curt Noll 79cad82b02 Update faq.md FAQ3.4
Added a note to FAQ3.4 about `bugs.md` and possible pull requests to fix.
2023-11-20 03:48:08 -07:00
Landon Curt Noll 0d5c768703 Update faq.md FAQ3.3
Added a note to FAQ3.3 about `bugs.md` and encouraging pull requests that preserve the original intent of the code.
2023-11-20 03:43:11 -07:00
Landon Curt Noll c5ed5509ff Update faq.md FAQ3.2
Note `bugs.md` in FAQ3.2 and encourage minimally impacting pull requests.
2023-11-20 03:37:56 -07:00
Landon Curt Noll 523077042a Update faq.md FAQ3.1
Add a note about `bugs.md` to FAQ3.1.
2023-11-20 03:29:03 -07:00