Commit Graph
4526 Commits
Author SHA1 Message Date
Landon Curt Noll cc73503c10 add experimental rules to build web site
We add to the top level Makefile, some initial rules that
will facilitate the building of HTML content.

The `bin/md2html.sh` tool as been updated to output HTML comments
about the output during HTML phases 20, 21 and 22.

All entry `index.html` files were updated with some additional HTML
comments as a result of the above.  The top level `location.html`,
`years.html` and `authors.html` have had HTML comments added also
a result.

Sorry (tm Canada 🇨🇦) for the mass update of entry `index.html` files.
Hopefully the times when all of them (often) need to be updated
will soon draw to a close.
2024-02-12 15:11:56 -08:00
Landon Curt Noll 15a2cade86 change order of YYYY level index.html sections
The list of winners for a given year in that year's
top level `index.html` file will be the equivalent of the
file inventory of a winner's `index.html`.

A year's top level `index.html` "_Inventory_" link will
jump down to the lower section of the `index.html` file.
Thus, the output of `bin/output-year-index.sh` needs to come
after, this we need to use `-a` (not `-b`).
2024-02-12 10:12:08 -08:00
Landon Curt Noll b4d123eaa5 fix The N-th IOCCC in years.html 2024-02-11 22:31:06 -08:00
Landon Curt Noll 621938c84e fix 210 error message from subst.entry-navbar.awk 2024-02-11 22:19:19 -08:00
Landon Curt Noll 16cc268c2a change winner to entry
We change various uses of winner to entry, including
variable names and code comments.
2024-02-11 21:39:22 -08:00
Landon Curt Noll 23d3e5fbb5 fix comment winner to an entry 2024-02-11 20:21:35 -08:00
Landon Curt Noll 0cd6385657 fix comment header for the gen scripts 2024-02-11 19:46:19 -08:00
Landon Curt Noll a23c6b76cb fix minor shellcheck issues 2024-02-11 18:10:01 -08:00
Landon Curt Noll a59e689a87 add YYYY/.filelist files
A _YYYY/.filelist_ is a simple list of files for a given IOCCC year
that need to be present when building a _YYYY_ level compressed
tarball.  The list is relative to _docroot_ (top level repo directory).

We do not need a complex JSON file for such a simple list of files.
We only care about checking for the existence of files when forming
_YYYY_ level compressed tarball.
2024-02-11 17:40:44 -08:00
Landon Curt Noll c9709343b6 Merge pull request #2202 from ioccc-src/master
import sitemap.xml from the official IOCCC winner repo
2024-02-11 17:20:24 -08:00
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 b23ab491ca Merge pull request #2201 from xexyl/akari11-clobber
Fix fix of 2011/akari make clobber
2024-02-11 08:54:56 -08:00
Cody Boone Ferguson 89ca21ebfd Further fix 2011/akari make clobber
Remove rot13.c
2024-02-10 12:40:51 -08:00
Cody Boone Ferguson 6bc708d71f Fix fix of 2011/akari make clobber
Can't remove *.ppm as that removes example.ppm. Instead specific ppm
files are removed.

Also two text files have to be removed.
2024-02-10 12:39:11 -08:00
Landon Curt Noll e4c1bf7a3a Merge pull request #2200 from xexyl/akari2011-clobber 2024-02-10 12:17:35 -08:00
Cody Boone Ferguson 388c094e6d Fix make clobber in 2011/akari 2024-02-10 08:39:07 -08:00
Landon Curt Noll daa37e4ae9 Merge pull request #2199 from xexyl/manifest
Manifest updates
2024-02-09 07:33:49 -08:00
Cody Boone Ferguson 31f5cc1e4e update index.html and .winner.json per recent manifest changes'
A note of interest is that commit
1d7a2692ea was rolled back as it was
problematic. This was accidentally done in a commit to do with the
manifest update (I think 5d4f9ff907 but
possibly e7756cfb31 instead).
2024-02-09 06:06:25 -08:00
Cody Boone Ferguson af7d56450b update .winner.json files per recent manifest changes 2024-02-09 06:05:30 -08:00
Cody Boone Ferguson 5d4f9ff907 update manifest as per recent file changes 2024-02-09 06:01:03 -08:00
Cody Boone Ferguson e7756cfb31 update manifest as per recent file changes 2024-02-09 05:58:53 -08:00
Cody Boone Ferguson 1d7a2692ea Minor fix in update-manifest.sh
In the ./run_all.sh step it used -v $CAP_D_FLAG but the script that it
runs, gen_winner_json.sh, wasn't using -v at all so it lacked
information that was otherwise desired. As noted before and in help of
update-manifest.sh the default is level 3 as typically I want more
information (progress included) but one may override it if they wish.
The bin/all-run.sh steps did not have this problem: they already used
'-v $CAP_D_FLAG'.
2024-02-09 05:53:56 -08:00
Cody Boone Ferguson bfb3d5c4ab update index.html and .winner.json per recent manifest changes 2024-02-09 05:48:07 -08:00
Cody Boone Ferguson 3e29785e3c update .winner.json files per recent manifest changes 2024-02-09 05:46:51 -08:00
Cody Boone Ferguson 33b913681c update manifest as per recent file changes 2024-02-09 05:37:01 -08:00
Cody Boone Ferguson b98a9cc557 Fix make clobber in 2006/sykes1 2024-02-09 05:35:05 -08:00
Landon Curt Noll 445079e497 Merge pull request #2198 from xexyl/sykes12006-try
Minor less options update to 2006/sykes1/try.sh
2024-02-08 18:09:38 -08:00
Cody Boone Ferguson 63e2ad3283 Minor less options update to 2006/sykes1/try.sh 2024-02-08 16:41:46 -08:00
Cody Boone Ferguson 20193209a2 Remove warning of taking time in 2006/night 2024-02-08 07:28:04 -08:00
Cody Boone Ferguson 89c2d58094 Fix make clobber in 2004/jdalbec 2024-02-08 07:20:47 -08:00
Cody Boone Ferguson 682f542fc0 Fix make clobber in 2001/westley 2024-02-08 07:16:50 -08:00
Cody Boone Ferguson 2a0b98250c Fix make clobber in 2001/herrmann1 2024-02-08 07:16:09 -08:00
Cody Boone Ferguson 4adb54eba5 Fix make clobber in 2000/tomx 2024-02-08 07:15:00 -08:00
Cody Boone Ferguson f20272d2b6 Fix make clobber in 2004/sds 2024-02-08 07:14:24 -08:00
Landon Curt Noll 24ed01e0a9 Merge pull request #2195 from xexyl/borsanyi06-try
Fix display problem in 2006/borsanyi/try.sh
2024-02-07 12:05:23 -08:00
Cody Boone Ferguson 12d98ed1bd Fix display problem in 2006/borsanyi/try.sh 2024-02-07 08:56:36 -08:00
Cody Boone Ferguson 890f2bede1 Minor improvements to 2006/birken/try.sh 2024-02-07 08:54:50 -08:00
Cody Boone Ferguson 2caf4e80b5 Minor update to 2005/timwi/try.sh 2024-02-07 08:49:46 -08:00
Cody Boone Ferguson 75f830ee57 Fix 2005/persano make clobber, .gitignore, try.sh
The make clobber fix is important for updating the manifest. The
.gitignore left a .gif file out but now it just ignores '*.gif'. The
script was updated with some newlines to separate commands.
2024-02-07 08:44:28 -08:00
Cody Boone Ferguson 7013fc901f Fix 2005/mikeash/try.sh (shellcheck and otherwise) 2024-02-07 08:41:38 -08:00
Cody Boone Ferguson ff56edf805 Add more strings to 2005/klausler/try.sh
Now includes: Dennis Ritchie, Ken Thompson and Linus Torvalds. Fun
anagrams, some of which are not shown in the output:

    DENNIS RITCHIE = INDECENT IRISH = SHIRE INCIDENT

    KEN THOMPSON = SPOKEN MONTH

    LINUS TORVALDS = VILLOUS STRAND (VILLOUS is a word of anatomy,
    medical and botany).
2024-02-07 08:15:57 -08:00
Landon Curt Noll 045ddb944e Merge pull request #2189 from xexyl/jetro2005-polysemy 2024-02-07 07:41:48 -08:00
Cody Boone Ferguson b446d884b7 Remove ambiguity in 2005/jetro/README.md
The wording 'this entry requires SDL to be installed' has more than one
interpretation: 'it requires SDL to install the entry' (which seems more
likely even though it's incorrect) or 'it requires SDL to be built'
(less likely as that is not what it said). Now it just says 'this entry
requires SDL'. Now it's monosemic and it says exactly what it should
(okay - it could say something else like 'it requires SDL to compile'
but that's bordering on unnecessary semantics).
2024-02-07 04:45:32 -08:00
Cody Boone Ferguson 3709b1f75c Restore original comment in 2005/chia
In README.md it's fine to fix a spelling error. Not so in the code but
it was changed without really thinking about it on 22 March 2023. This
fixes that problem: for problem it is.
2024-02-07 04:39:41 -08:00
Cody Boone Ferguson 5935d523c4 Fix link to SDL FAQ in 2005/jetro/README.md 2024-02-07 04:36:20 -08:00
Cody Boone Ferguson ba758e897d Minor update to less options in 2005/aidan/try 2024-02-07 03:47:39 -08:00
Landon Curt Noll 9e4ba9a0a0 Merge pull request #2185 from xexyl/boutines05-try 2024-02-06 13:35:24 -08:00
Cody Boone Ferguson 07939ce6f3 Further improve 2005/boutines/try.sh
Add link to FAQ about ImageMagick. The README.md also links to this.
2024-02-06 09:35:17 -08:00
Cody Boone Ferguson 4faef1b5ba Format update in 2005/boutines/try.sh 2024-02-06 09:32:09 -08:00
Cody Boone Ferguson 9a3ec1e894 Add ctk.alt to 2001/ctk/.gitignore 2024-02-06 09:30:45 -08:00