added initial draft of manifest.
The `manifest.numbers` contains information about files, that must already exist. See `README.md` for details. The `manifest.csv` is generated from `manifest.numbers`. See `README.md` for details on how it is generated. The `missing-manifest.numbers` contains information about files, that may not yet exist because a tool needs to create it. The `missing-manifest.csv` is generated from `manifest.numbers`. See `README.md` for details on how it is generated. Updated `example.dot_winner.json` as per fields in the `manifest.numbers` spreadsheet. The `file_list.txt` contains paths of all files that should already exist, or will be created by a tool. The `winner_dir.txt` contains a list of paths to winning directories. Updated `README.md`. NOTE: The `manifest.numbers` and `missing-manifest.numbers` are initial draft files and will be worked in and modified. In particular, empty cells represent values that need to be added, or replaced with null if not such field file is needed. NOTE: Lines from `missing-manifest.numbers` will be moved into `manifest.numbers` as they are created. Eventually the `missing-manifest.numbers` spreadsheet will be come empty and, along with `missing-manifest.csv` will be removed. NOTE: Some files, such as `.id` files are temporary, are not listed in any contents of the above files, and will be removed.
This commit is contained in:
1 parent
eefbf59f5b
commit
749f4644a1
8 files changed
+8330
-102
No files matched your search
+262
-23
@@ -1,5 +1,6 @@
|
||||
# tmp
|
||||
|
||||
|
||||
The purpose of the `tmp` directory is to hold temporary files.
|
||||
The files in the `tmp` directory will go away leaving behind
|
||||
an empty `tmp` directory.
|
||||
@@ -10,8 +11,10 @@ and the format of those files.
|
||||
*NOTE*: The `terms` section may be moved to another file
|
||||
later on, after the contents
|
||||
|
||||
|
||||
## terms
|
||||
|
||||
|
||||
### `author`
|
||||
|
||||
An individual who was an `author` of at least one winning IOCCC entry.
|
||||
@@ -19,6 +22,7 @@ An individual who was an `author` of at least one winning IOCCC entry.
|
||||
Some authors have submitted more than one IOCCC entry that won. Some winning
|
||||
IOCCC entries have more than one author.
|
||||
|
||||
|
||||
### `author_handle`
|
||||
|
||||
An `author_handle` is string that refers to a given author and is unique to the
|
||||
@@ -77,6 +81,7 @@ Anonymous `author_handle`'s match this regexp:
|
||||
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
||||
```
|
||||
|
||||
|
||||
### `winner`
|
||||
|
||||
An IOCCC entry that won an award for given IOCCC.
|
||||
@@ -92,6 +97,7 @@ there are a few cases where a `winner` directory contains subdirectories.
|
||||
Use of subdirectories under a `winner` directory is discouraged and
|
||||
may be limited to previous `winner`s that used them.
|
||||
|
||||
|
||||
### `year`
|
||||
|
||||
A `year` is a 4 character string. Most years are 4-digit strings that
|
||||
@@ -117,6 +123,7 @@ Each `year` will have a file directory under it named:
|
||||
The contents of the `.year` file is the year string of the directory. For
|
||||
instance, [2020/.year](/2020/.year) has the string: `2020`.
|
||||
|
||||
|
||||
### `dir`
|
||||
|
||||
A `dir` is a POSIX safe string that holds an winner.
|
||||
@@ -130,6 +137,7 @@ A `dir` is a string that matches this regexp:
|
||||
Each `winner` is under its own individual directory. This directory
|
||||
is directly under a `year` directory.
|
||||
|
||||
|
||||
### `winner_id`
|
||||
|
||||
A string that identifies the winning entry. The string is of the form:
|
||||
@@ -138,6 +146,7 @@ A string that identifies the winning entry. The string is of the form:
|
||||
year_dir
|
||||
```
|
||||
|
||||
|
||||
### `.id`
|
||||
|
||||
Each `winner` directory will have a file directory under it named:
|
||||
@@ -159,8 +168,15 @@ A `sort_word` match this regexp:
|
||||
^[a-z][0-9a-z]*
|
||||
```
|
||||
|
||||
|
||||
## files
|
||||
|
||||
|
||||
### [README.md](README.md)
|
||||
|
||||
This file.
|
||||
|
||||
|
||||
### [author-names.txt](author-names.txt)
|
||||
|
||||
A text file of full names of each `author`: one full name per line.
|
||||
@@ -171,6 +187,7 @@ In the case of anonymous authors the form is:
|
||||
Anonymous YYYY
|
||||
```
|
||||
|
||||
|
||||
### [author-wins.csv](author-wins.csv)
|
||||
|
||||
A CSV (Comma Separated Values) file: one line per `author`.
|
||||
@@ -179,6 +196,7 @@ The first field is an `author_handle`.
|
||||
|
||||
The other fields are the `winner_id`'s of all `winner`s won by the `author`.
|
||||
|
||||
|
||||
### [author.csv](author.csv)
|
||||
|
||||
The [author.csv](author.csv) is a CSV file that was exported from the
|
||||
@@ -214,13 +232,13 @@ via the [macOS](https://www.apple.com/macos/)
|
||||
|
||||
8. mv -f tmp.csv author.csv
|
||||
|
||||
|
||||
### [author.numbers](author.numbers)
|
||||
|
||||
A [macOS](https://www.apple.com/macos) [Numbers](https://www.apple.com/numbers/)
|
||||
spreadsheet contains information about `author`s: one line per `author` with the
|
||||
following fields:
|
||||
|
||||
|
||||
1. This field is `sort_word` string.
|
||||
|
||||
2. This field is the full name of the `author`.
|
||||
@@ -228,38 +246,60 @@ following fields:
|
||||
3. This field is the `author_handle` of the `author`.
|
||||
|
||||
4. This field is the primary URL of `author` or the string `null` if none was
|
||||
given.
|
||||
given.
|
||||
|
||||
5. This field is the email address of `author` or the string `null` if none was
|
||||
given.
|
||||
given.
|
||||
|
||||
6. This field is the location ISO 3166 code of `author` or the string `null` is unknown.
|
||||
An `author` who does not wish to specify a location ISO 3166 code is encouraged to
|
||||
use the code `XX`. The location ISO 3166 code consists of two UPPER CASE ASCII letters.
|
||||
An `author` who does not wish to specify a location ISO 3166 code is encouraged to
|
||||
use the code `XX`. The location ISO 3166 code consists of two UPPER CASE ASCII letters.
|
||||
|
||||
7. This field is the twitter handle of the `author` or the string `null` if none
|
||||
was given. This field is kept for purely historic record purposes and is
|
||||
otherwise not used.
|
||||
was given. This field is kept for purely historic record purposes and is
|
||||
otherwise not used.
|
||||
|
||||
8. This field is the mastodon handle of the `author` or the string `null` if
|
||||
none was given.
|
||||
none was given.
|
||||
|
||||
9. This field is the alternate URL of `author` or the string `null` if none
|
||||
was given.
|
||||
was given.
|
||||
|
||||
|
||||
### [author_handle.txt](author_handle.txt)
|
||||
|
||||
A text file containing `author_handle`s for each `author`: one `author_handle`
|
||||
per line.
|
||||
|
||||
|
||||
### [check_awards.sh](check_awards.sh)
|
||||
|
||||
Script to verify that the award name for each entry as found as a level 1
|
||||
markdown header in each entry's `README.md` file.
|
||||
|
||||
Run the script from the top level directory. The output should end in ":1".
|
||||
|
||||
For example, this command should not produce any output.
|
||||
|
||||
```sh
|
||||
tmp/check_awards.sh | grep -v ':1$'
|
||||
```
|
||||
|
||||
Any output is an indication that either an award name is incorrect, or the
|
||||
award is not formed at a level 1 markdown header, or that more than one
|
||||
award line as at a level 1 markdown header we found, or the `README.md`
|
||||
file is missing, etc.
|
||||
|
||||
|
||||
### [example.author.json](example.author.json)
|
||||
|
||||
This is a JSON file containing an example `author/author_handle.json` for a
|
||||
fictitious `author`.
|
||||
|
||||
An `author/author_handle.json` file will be derived from the contents of the
|
||||
An `author/author_handle.json` file will be derived from the contents of the
|
||||
[author.csv](author.csv) file and the [author-wins.csv](author-wins.csv) file.
|
||||
|
||||
|
||||
### [example.dot_winner.json](example.dot_winner.json)
|
||||
|
||||
This is a JSON file containing an example `year/dir/.winner.json` for a
|
||||
@@ -269,22 +309,12 @@ A `year/dir/.winner.json` file will be derived from the contents the `year/dir/.
|
||||
the [author-wins.csv](author-wins.csv) file, the `year/dir/.year` file, and the
|
||||
contents of the `year/dir` directory.
|
||||
|
||||
### [sql/winners.sql](sql/winners.sql)
|
||||
|
||||
This is a SQL file, extracted from another SQL file that was used in the past
|
||||
to generate data for the old winners directory tree.
|
||||
### [file_list.txt](file_list.txt)
|
||||
|
||||
### [winner_id.txt](winner_id.txt)
|
||||
A list of files that exist, or should exist once the tools to generate certain files,
|
||||
such as the `index.html`, or the `.winner.json` files for each entry, are created.
|
||||
|
||||
A text file containing `winner_id` strings: one `winner_id` per line.
|
||||
|
||||
### [year-prize.csv](year-prize.csv)
|
||||
|
||||
A CSV file: one line per `winner`.
|
||||
|
||||
The first field is a `winner_id`.
|
||||
|
||||
The second field is the name of the award for given `winner`.
|
||||
|
||||
### [gen_author_json.sh](gen_author_json.sh)
|
||||
|
||||
@@ -295,3 +325,212 @@ The following command, executed in this directory, created the `author/` directo
|
||||
```sh
|
||||
rm -rf ../author ; ./gen_author_json.sh author_handle.txt author.csv author-wins.csv ../author
|
||||
```
|
||||
|
||||
|
||||
### [manifest.numbers](manifest.numbers)
|
||||
|
||||
|
||||
A [macOS](https://www.apple.com/macos) [Numbers](https://www.apple.com/numbers/)
|
||||
spreadsheet contains information about files, that must already exist, with the
|
||||
following fields:
|
||||
|
||||
1. IOCCC year as a 4-character string.
|
||||
|
||||
2. Directory name number the IOCCC year.
|
||||
|
||||
3. If a number, then this is the winners rank showing the order
|
||||
that this file is to be listed for the given entry's in
|
||||
[winners.html](winners.html), or null if the file is not to be listed.
|
||||
|
||||
4. Path under the IOCCC/directory. In a few cases this is a path,
|
||||
not just a simple filename under the IOCCC/directory.
|
||||
|
||||
5. This field indicates if the file main program. This filed is one of:
|
||||
|
||||
main The main source code to display.
|
||||
alt The alternative source code.
|
||||
orig The original version of the source code (may be the same as main).
|
||||
null Not a primary source code file.
|
||||
|
||||
6. The type of file.
|
||||
|
||||
7. The name of the program that creates this file, or null is the
|
||||
file an original file.
|
||||
|
||||
8. A JSON boolean indicating of the file is listed on `winners.html` or not.
|
||||
|
||||
9. A string indicating how the file is to be displayed from `winners.html`.
|
||||
Possible files include:
|
||||
|
||||
browser The file is to be displayed directly from the browser.
|
||||
github The file should be linked to the GitHub repo so that
|
||||
it may be rendered directly by GitHub. In the future
|
||||
this may changed to allow a suitable browser to
|
||||
directly display this file instead of via GitHub.
|
||||
null This file not listed in `winners.html`.
|
||||
download The file is intended to be downloaded from the browser
|
||||
instead of being displayed.
|
||||
|
||||
10. Any text that should be displayed at the end of line in `winners.html`
|
||||
(with a preceding " - "), or null is no such text is to be displayed.
|
||||
|
||||
11. This ending filename extension, or null if no extension.
|
||||
This field is temporary and may go away.
|
||||
|
||||
NOTE: Cells containing null are a JSON nulls.
|
||||
NOTE: Cells containing true or false are JSON booleans.
|
||||
NOTE: Empty cells are TBD and need to be filled in.
|
||||
NOTE: The winners_rank cells are either JSON null or JSON numbers.
|
||||
NOTE: All other cells are JSON strings that need to be double quoted, including the year.
|
||||
|
||||
|
||||
### [manifest.csv](manifest.csv)
|
||||
|
||||
The [manifest.csv](manifest.csv) is a CSV file that was exported from the
|
||||
[manifest.numbers](manifest.numbers) file.
|
||||
|
||||
In case of conflict, the data in [manifest.numbers](manifest.numbers) file is
|
||||
considered manifestitative over the [manifest.csv](manifest.csv) file.
|
||||
|
||||
The [manifest.csv](manifest.csv) is generated from the [manifest.numbers](manifest.numbers) file,
|
||||
via the [macOS](https://www.apple.com/macos/)
|
||||
[Numbers](https://www.apple.com/numbers/) spreadsheet app, as follows:
|
||||
|
||||
0. open [manifest.csv](manifest.csv) in numbers: modify if/as needed
|
||||
|
||||
1. File -> Export To -> CSV...
|
||||
* 1a. `[ ]` Include table names (unset)
|
||||
* 1b. Text Encoding: Unicode (UTF-8)
|
||||
* 1c. Click ((Save..))
|
||||
|
||||
2. Save As: manifest.csv
|
||||
* 2a. Select the `tmp` directory
|
||||
|
||||
3. Click ((Export))
|
||||
* 3a. If needed click ((Replace))
|
||||
|
||||
4. open a terminal window
|
||||
|
||||
5. cd to the `tmp` directory
|
||||
|
||||
6. tr -d '\015' < manifest.csv > tmp.csv
|
||||
|
||||
7. echo >> tmp.csv
|
||||
|
||||
8. mv -f tmp.csv manifest.csv
|
||||
|
||||
|
||||
### [missing-manifest.numbers](missing-manifest.numbers)
|
||||
|
||||
|
||||
A [macOS](https://www.apple.com/macos) [Numbers](https://www.apple.com/numbers/)
|
||||
spreadsheet contains information about files, that may not yet exist because
|
||||
a tool needs to create it, with the following fields:
|
||||
|
||||
NOTE: Later on when these files are created, their spreadsheet lines
|
||||
will be moved into the [manifest.numbers](manifest.numbers) spreadsheet.
|
||||
|
||||
1. IOCCC year as a 4-character string.
|
||||
|
||||
2. Directory name number the IOCCC year.
|
||||
|
||||
3. If a number, then this is the winners rank showing the order
|
||||
that this file is to be listed for the given entry's in
|
||||
[winners.html](winners.html), or null if the file is not to be listed.
|
||||
|
||||
4. Path under the IOCCC/directory. In a few cases this is a path,
|
||||
not just a simple filename under the IOCCC/directory.
|
||||
|
||||
5. This field indicates if the file main program. This filed is one of:
|
||||
|
||||
main The main source code to display.
|
||||
alt The alternative source code.
|
||||
orig The original version of the source code (may be the same as main).
|
||||
null Not a primary source code file.
|
||||
|
||||
6. The type of file.
|
||||
|
||||
7. The name of the program that creates this file, or null is the
|
||||
file an original file.
|
||||
|
||||
8. A JSON boolean indicating of the file is listed on `winners.html` or not.
|
||||
|
||||
9. A string indicating how the file is to be displayed from `winners.html`.
|
||||
Possible files include:
|
||||
|
||||
browser The file is to be displayed directly from the browser.
|
||||
github The file should be linked to the GitHub repo so that
|
||||
it may be rendered directly by GitHub. In the future
|
||||
this may changed to allow a suitable browser to
|
||||
directly display this file instead of via GitHub.
|
||||
null This file not listed in `winners.html`.
|
||||
download The file is intended to be downloaded from the browser
|
||||
instead of being displayed.
|
||||
|
||||
10. Any text that should be displayed at the end of line in `winners.html`
|
||||
(with a preceding " - "), or null is no such text is to be displayed.
|
||||
|
||||
11. This ending filename extension, or null if no extension.
|
||||
This field is temporary and may go away.
|
||||
|
||||
NOTE: Cells containing null are a JSON nulls.
|
||||
NOTE: Cells containing true or false are JSON booleans.
|
||||
NOTE: Empty cells are TBD and need to be filled in.
|
||||
NOTE: The winners_rank cells are either JSON null or JSON numbers.
|
||||
NOTE: All other cells are JSON strings that need to be double quoted, including the year.
|
||||
|
||||
|
||||
### [missing-manifest.csv](missing-manifest.csv)
|
||||
|
||||
The [missing-manifest.csv](missing-manifest.csv) is a CSV file that was exported from the
|
||||
[missing-manifest.numbers](missing-manifest.numbers) file.
|
||||
|
||||
In case of conflict, the data in [missing-manifest.numbers](missing-manifest.numbers) file is
|
||||
considered missing-manifestitative over the [missing-manifest.csv](missing-manifest.csv) file.
|
||||
|
||||
The [missing-manifest.csv](missing-manifest.csv) is generated from the [missing-manifest.numbers](missing-manifest.numbers) file,
|
||||
via the [macOS](https://www.apple.com/macos/)
|
||||
[Numbers](https://www.apple.com/numbers/) spreadsheet app, as follows:
|
||||
|
||||
0. open [missing-manifest.csv](missing-manifest.csv) in numbers: modify if/as needed
|
||||
|
||||
1. File -> Export To -> CSV...
|
||||
* 1a. `[ ]` Include table names (unset)
|
||||
* 1b. Text Encoding: Unicode (UTF-8)
|
||||
* 1c. Click ((Save..))
|
||||
|
||||
2. Save As: missing-manifest.csv
|
||||
* 2a. Select the `tmp` directory
|
||||
|
||||
3. Click ((Export))
|
||||
* 3a. If needed click ((Replace))
|
||||
|
||||
4. open a terminal window
|
||||
|
||||
5. cd to the `tmp` directory
|
||||
|
||||
6. tr -d '\015' < missing-manifest.csv > tmp.csv
|
||||
|
||||
7. echo >> tmp.csv
|
||||
|
||||
8. mv -f tmp.csv missing-manifest.csv
|
||||
|
||||
|
||||
### [sql/winners.sql](sql/winners.sql)
|
||||
|
||||
This is a SQL file, extracted from another SQL file that was used in the past
|
||||
to generate data for the old winners directory tree.
|
||||
|
||||
|
||||
### [winner_id.txt](winner_id.txt)
|
||||
|
||||
A text file containing `winner_id` strings: one `winner_id` per line.
|
||||
|
||||
|
||||
### [year-prize.csv](year-prize.csv)
|
||||
|
||||
A CSV file: one line per `winner`.
|
||||
|
||||
The first field is a `winner_id`.
|
||||
|
||||
The second field is the name of the award for given `winner`.
|
||||
Reference in new issue
Block a user