fix non-indented markdown code blocks
We have fixed cases where markdown code blocks were not properly intended. Updated `markdown.md` to discuss how markdown code blocks should be indented and how blank lines should follow a markdown code block. We used this shell script to find problematic code blocks: ```sh find . -name '*.md' ! -name markdown.md -print | xargs pcregrep -M '^``.*\n[^|`\n \t]' ``` Ran `make www` to perform the above.
This commit is contained in:
1 parent
a507a06076
commit
b1516f0ed9
29 files changed
+357
-213
No files matched your search
@@ -407,7 +407,7 @@ limitation removed the numbers now are <code>43</code> and <code>45</code>. But
|
|||||||
the command is:</p>
|
the command is:</p>
|
||||||
<pre><code> "0gcc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("</code></pre>
|
<pre><code> "0gcc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("</code></pre>
|
||||||
<p>which has been changed to be:</p>
|
<p>which has been changed to be:</p>
|
||||||
<pre><code>"0cc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("</code></pre>
|
<pre><code> "0cc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("</code></pre>
|
||||||
<p>Shortly below that you will see, as noted above, the numbers:</p>
|
<p>Shortly below that you will see, as noted above, the numbers:</p>
|
||||||
<pre><code> if ((H = fopen (__FILE__+43, 43+__FILE__)))
|
<pre><code> if ((H = fopen (__FILE__+43, 43+__FILE__)))
|
||||||
while ((fgets (L, (int)sizeof L, H)) != 0) {
|
while ((fgets (L, (int)sizeof L, H)) != 0) {
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ the command is:
|
|||||||
which has been changed to be:
|
which has been changed to be:
|
||||||
|
|
||||||
```
|
```
|
||||||
"0cc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("
|
"0cc -ansi -E -dM -undef %s /usr/include/%s>r\0 ("
|
||||||
```
|
```
|
||||||
|
|
||||||
Shortly below that you will see, as noted above, the numbers:
|
Shortly below that you will see, as noted above, the numbers:
|
||||||
|
|||||||
@@ -373,6 +373,7 @@ and change it to BLC8 with
|
|||||||
$ wc rev.Blc
|
$ wc rev.Blc
|
||||||
0 1 9 rev.Blc
|
0 1 9 rev.Blc
|
||||||
```
|
```
|
||||||
|
|
||||||
and then try it out with:
|
and then try it out with:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
|
|||||||
+1
-1
@@ -161,7 +161,7 @@ Despite the messy look, `a.c` and [hou.c](%%REPO_URL%%/2013/hou/hou.c) compile w
|
|||||||
`a.c` compiles mostly clean in the C99/ANSI modes of clang and gcc (with:
|
`a.c` compiles mostly clean in the C99/ANSI modes of clang and gcc (with:
|
||||||
|
|
||||||
```
|
```
|
||||||
-Wall --pedantic
|
-Wall --pedantic
|
||||||
```
|
```
|
||||||
|
|
||||||
The only warning generated is a pedantic one: `"string constant
|
The only warning generated is a pedantic one: `"string constant
|
||||||
|
|||||||
+1
-1
@@ -507,7 +507,7 @@ Despite the messy look, <code>a.c</code> and <a href="https://github.com/ioccc-s
|
|||||||
(<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/hou/hou.c">hou.c</a> even wastes 18 bytes on <code>#include<stdio.h></code> just for <code>putchar(3)</code>).
|
(<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/hou/hou.c">hou.c</a> even wastes 18 bytes on <code>#include<stdio.h></code> just for <code>putchar(3)</code>).
|
||||||
<code>a.c</code> compiles mostly clean in the C99/ANSI modes of clang and gcc (with:</li>
|
<code>a.c</code> compiles mostly clean in the C99/ANSI modes of clang and gcc (with:</li>
|
||||||
</ul>
|
</ul>
|
||||||
<pre><code>-Wall --pedantic</code></pre>
|
<pre><code> -Wall --pedantic</code></pre>
|
||||||
<p>The only warning generated is a pedantic one: <code>"string constant too long"</code>.</p>
|
<p>The only warning generated is a pedantic one: <code>"string constant too long"</code>.</p>
|
||||||
<h3 id="comments-and-why-obfuscated">Comments and why obfuscated</h3>
|
<h3 id="comments-and-why-obfuscated">Comments and why obfuscated</h3>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ NB: The keyword file used in this code is derived from the list in [iocccsize.c]
|
|||||||
which is neither complete (`#define`, `#ifndef`, `#undef` are missing
|
which is neither complete (`#define`, `#ifndef`, `#undef` are missing
|
||||||
|
|
||||||
```
|
```
|
||||||
yes, Virginia knows about `#define` omitted on purpose
|
yes, Virginia knows about `#define` omitted on purpose
|
||||||
```
|
```
|
||||||
|
|
||||||
nor correct (many more are added: `I`, `true`, `bool`, `compl`, ...):
|
nor correct (many more are added: `I`, `true`, `bool`, `compl`, ...):
|
||||||
|
|||||||
@@ -644,7 +644,7 @@ the IOJCC trash can.</p>
|
|||||||
</ul>
|
</ul>
|
||||||
<p>NB: The keyword file used in this code is derived from the list in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a>,
|
<p>NB: The keyword file used in this code is derived from the list in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/iocccsize.c">iocccsize.c</a>,
|
||||||
which is neither complete (<code>#define</code>, <code>#ifndef</code>, <code>#undef</code> are missing</p>
|
which is neither complete (<code>#define</code>, <code>#ifndef</code>, <code>#undef</code> are missing</p>
|
||||||
<pre><code>yes, Virginia knows about `#define` omitted on purpose</code></pre>
|
<pre><code> yes, Virginia knows about `#define` omitted on purpose</code></pre>
|
||||||
<p>nor correct (many more are added: <code>I</code>, <code>true</code>, <code>bool</code>, <code>compl</code>, …):</p>
|
<p>nor correct (many more are added: <code>I</code>, <code>true</code>, <code>bool</code>, <code>compl</code>, …):</p>
|
||||||
<pre><code> (sed -n '1p' c11; sed -n '2,$p' ioccc.kw.freq | sort) | comm -3 - c11</code></pre>
|
<pre><code> (sed -n '1p' c11; sed -n '2,$p' ioccc.kw.freq | sort) | comm -3 - c11</code></pre>
|
||||||
<p>That is an obfuscated way to say “diff”. But it also more clearly shows the, um, diffs.</p>
|
<p>That is an obfuscated way to say “diff”. But it also more clearly shows the, um, diffs.</p>
|
||||||
|
|||||||
@@ -744,7 +744,7 @@ Keep in mind the way I display the generations and the fact that generation 0
|
|||||||
has no parents; it is generation 1 that starts working towards the goal. You'll
|
has no parents; it is generation 1 that starts working towards the goal. You'll
|
||||||
see also **(mutation)** at the end of the line at this point (if you enable
|
see also **(mutation)** at the end of the line at this point (if you enable
|
||||||
monkey mode you'll find that it shows something else). The lines that only have
|
monkey mode you'll find that it shows something else). The lines that only have
|
||||||
`` are separators: you won't see this between generation 0 and 1 but you will
|
back-quote ("\`") are separators: you won't see this between generation 0 and 1 but you will
|
||||||
between future generations - as well as the final answer (if the answer is in
|
between future generations - as well as the final answer (if the answer is in
|
||||||
generation 0 you won't see the ``).
|
generation 0 you won't see the ``).
|
||||||
|
|
||||||
|
|||||||
@@ -895,7 +895,9 @@ bash shell built-in utility: that isn’t output from my entry.</p>
|
|||||||
has no parents; it is generation 1 that starts working towards the goal. You’ll
|
has no parents; it is generation 1 that starts working towards the goal. You’ll
|
||||||
see also <strong>(mutation)</strong> at the end of the line at this point (if you enable
|
see also <strong>(mutation)</strong> at the end of the line at this point (if you enable
|
||||||
monkey mode you’ll find that it shows something else). The lines that only have
|
monkey mode you’ll find that it shows something else). The lines that only have
|
||||||
<code>are separators: you won't see this between generation 0 and 1 but you will between future generations - as well as the final answer (if the answer is in generation 0 you won't see the</code>).</p>
|
back-quote (“`”) are separators: you won’t see this between generation 0 and 1 but you will
|
||||||
|
between future generations - as well as the final answer (if the answer is in
|
||||||
|
generation 0 you won’t see the ``).</p>
|
||||||
<div id="test">
|
<div id="test">
|
||||||
<p>One final thing to consider is that <strong>the program doesn’t directly read from a
|
<p>One final thing to consider is that <strong>the program doesn’t directly read from a
|
||||||
file</strong>. This combined with the way the shell works could possibly confuse some
|
file</strong>. This combined with the way the shell works could possibly confuse some
|
||||||
|
|||||||
@@ -412,7 +412,6 @@ performance, at the cost of a much larger parameter space.
|
|||||||
|
|
||||||
**IMPORTANT NOTE**:
|
**IMPORTANT NOTE**:
|
||||||
|
|
||||||
```
|
|
||||||
Since OMLET uses the system stack for network storage,
|
Since OMLET uses the system stack for network storage,
|
||||||
larger networks may cause OMLET to crash (typically with a message like
|
larger networks may cause OMLET to crash (typically with a message like
|
||||||
Segmentation fault) unless the system stack size is first increased.
|
Segmentation fault) unless the system stack size is first increased.
|
||||||
@@ -422,7 +421,6 @@ with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
|||||||
with the actual hard limit). On csh/tcsh shells, you can view
|
with the actual hard limit). On csh/tcsh shells, you can view
|
||||||
the hard limit with limit -h stacksize and set it with
|
the hard limit with limit -h stacksize and set it with
|
||||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).
|
limit stacksize 65532 (replacing 65532 with the actual hard limit).
|
||||||
```
|
|
||||||
|
|
||||||
<hr style="width:10%;text-align:left;margin-left:0">
|
<hr style="width:10%;text-align:left;margin-left:0">
|
||||||
|
|
||||||
|
|||||||
@@ -686,15 +686,15 @@ parameters and its own hidden state vector. This will improve the network’s
|
|||||||
performance, at the cost of a much larger parameter space.</p>
|
performance, at the cost of a much larger parameter space.</p>
|
||||||
<hr style="width:10%;text-align:left;margin-left:0">
|
<hr style="width:10%;text-align:left;margin-left:0">
|
||||||
<p><strong>IMPORTANT NOTE</strong>:</p>
|
<p><strong>IMPORTANT NOTE</strong>:</p>
|
||||||
<pre><code>Since OMLET uses the system stack for network storage,
|
<p>Since OMLET uses the system stack for network storage,
|
||||||
larger networks may cause OMLET to crash (typically with a message like
|
larger networks may cause OMLET to crash (typically with a message like
|
||||||
Segmentation fault) unless the system stack size is first increased.
|
Segmentation fault) unless the system stack size is first increased.
|
||||||
The exact command for doing so depends on your shell and your system's
|
The exact command for doing so depends on your shell and your system’s
|
||||||
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
hard limits. On sh/ksh/bash shells, you can view the hard limit
|
||||||
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
with ulimit -Hs and set it with ulimit -s 65532 (replacing 65532
|
||||||
with the actual hard limit). On csh/tcsh shells, you can view
|
with the actual hard limit). On csh/tcsh shells, you can view
|
||||||
the hard limit with limit -h stacksize and set it with
|
the hard limit with limit -h stacksize and set it with
|
||||||
limit stacksize 65532 (replacing 65532 with the actual hard limit).</code></pre>
|
limit stacksize 65532 (replacing 65532 with the actual hard limit).</p>
|
||||||
<hr style="width:10%;text-align:left;margin-left:0">
|
<hr style="width:10%;text-align:left;margin-left:0">
|
||||||
<p>You can try the deeper network by doing</p>
|
<p>You can try the deeper network by doing</p>
|
||||||
<pre><code> make rnn2</code></pre>
|
<pre><code> make rnn2</code></pre>
|
||||||
|
|||||||
@@ -615,8 +615,8 @@ might look like (I set the starting size to 150 and had only just started):</p>
|
|||||||
# #
|
# #
|
||||||
##################################################</code></pre>
|
##################################################</code></pre>
|
||||||
<p>If I continue going up I will see:</p>
|
<p>If I continue going up I will see:</p>
|
||||||
<pre><code>OUCH!
|
<pre><code> OUCH!
|
||||||
X:20/49 Y:1/16 S:150/658 B:0</code></pre>
|
X:20/49 Y:1/16 S:150/658 B:0</code></pre>
|
||||||
<div id="cannibalism">
|
<div id="cannibalism">
|
||||||
<h1 id="gameplay-cannibalism"><a href="#toc">Gameplay: Cannibalism</a></h1>
|
<h1 id="gameplay-cannibalism"><a href="#toc">Gameplay: Cannibalism</a></h1>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -294,8 +294,8 @@ might look like (I set the starting size to 150 and had only just started):
|
|||||||
If I continue going up I will see:
|
If I continue going up I will see:
|
||||||
|
|
||||||
```
|
```
|
||||||
OUCH!
|
OUCH!
|
||||||
X:20/49 Y:1/16 S:150/658 B:0
|
X:20/49 Y:1/16 S:150/658 B:0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -448,7 +448,7 @@ you encounter should give you more appreciation for the entry.</p>
|
|||||||
<p>If you have the energy to type in the text, or if you have access to a machine
|
<p>If you have the energy to type in the text, or if you have access to a machine
|
||||||
readable version of these programs, you should next consider some preprocessing
|
readable version of these programs, you should next consider some preprocessing
|
||||||
such as:</p>
|
such as:</p>
|
||||||
<pre><code>sed -e '/^#.*include/d' prog.c | cc -E</code></pre>
|
<pre><code> sed -e '/^#.*include/d' prog.c | cc -E</code></pre>
|
||||||
<p>This strips away comments and expands the program’s macros without having things
|
<p>This strips away comments and expands the program’s macros without having things
|
||||||
such as includes and macros cluttering up the output. If the entry requires or
|
such as includes and macros cluttering up the output. If the entry requires or
|
||||||
suggests the use of compile line options (such as <code>-Dindex=strchr</code>) they should
|
suggests the use of compile line options (such as <code>-Dindex=strchr</code>) they should
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ readable version of these programs, you should next consider some preprocessing
|
|||||||
such as:
|
such as:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
sed -e '/^#.*include/d' prog.c | cc -E
|
sed -e '/^#.*include/d' prog.c | cc -E
|
||||||
```
|
```
|
||||||
|
|
||||||
This strips away comments and expands the program's macros without having things
|
This strips away comments and expands the program's macros without having things
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ Machine](https://web.archive.org) as of [2022 Dec
|
|||||||
*HINT*: To uncompress a given bzip2 compressed tarball file, use:
|
*HINT*: To uncompress a given bzip2 compressed tarball file, use:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
tar -jxvf file.tar.bz2
|
tar -jxvf file.tar.bz2
|
||||||
```
|
```
|
||||||
|
|
||||||
where "_file.tar.bz2_" is the name of a file found in this directory.
|
where "_file.tar.bz2_" is the name of a file found in this directory.
|
||||||
@@ -89,10 +89,10 @@ To uncompress all of the 2022 Dec 28 archive using the year based
|
|||||||
bzip2 compressed tarball files:
|
bzip2 compressed tarball files:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
for year in 198{4,5,6,7,8,9} 199{0,1,2,3,4,5,6,8} 200{0,1,4,5,6} 201{1,2,3,4,5,8,9} 2020; do
|
for year in 198{4,5,6,7,8,9} 199{0,1,2,3,4,5,6,8} 200{0,1,4,5,6} 201{1,2,3,4,5,8,9} 2020; do
|
||||||
rm -rf "$year"
|
rm -rf "$year"
|
||||||
tar -jxvf "archive-$year.tar.bz2"
|
tar -jxvf "archive-$year.tar.bz2"
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -445,14 +445,14 @@ Machine</a> as of [2022 Dec
|
|||||||
28)(https://web.archive.org/web/20201228005211/https://www.ioccc.org/).</p>
|
28)(https://web.archive.org/web/20201228005211/https://www.ioccc.org/).</p>
|
||||||
<h2 id="how-to-unpack">How to unpack</h2>
|
<h2 id="how-to-unpack">How to unpack</h2>
|
||||||
<p><em>HINT</em>: To uncompress a given bzip2 compressed tarball file, use:</p>
|
<p><em>HINT</em>: To uncompress a given bzip2 compressed tarball file, use:</p>
|
||||||
<pre><code>tar -jxvf file.tar.bz2</code></pre>
|
<pre><code> tar -jxvf file.tar.bz2</code></pre>
|
||||||
<p>where “<em>file.tar.bz2</em>” is the name of a file found in this directory.</p>
|
<p>where “<em>file.tar.bz2</em>” is the name of a file found in this directory.</p>
|
||||||
<p>To uncompress all of the 2022 Dec 28 archive using the year based
|
<p>To uncompress all of the 2022 Dec 28 archive using the year based
|
||||||
bzip2 compressed tarball files:</p>
|
bzip2 compressed tarball files:</p>
|
||||||
<pre><code>for year in 198{4,5,6,7,8,9} 199{0,1,2,3,4,5,6,8} 200{0,1,4,5,6} 201{1,2,3,4,5,8,9} 2020; do
|
<pre><code> for year in 198{4,5,6,7,8,9} 199{0,1,2,3,4,5,6,8} 200{0,1,4,5,6} 201{1,2,3,4,5,8,9} 2020; do
|
||||||
rm -rf "$year"
|
rm -rf "$year"
|
||||||
tar -jxvf "archive-$year.tar.bz2"
|
tar -jxvf "archive-$year.tar.bz2"
|
||||||
done</code></pre>
|
done</code></pre>
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||||
|
|||||||
+78
-78
@@ -5,7 +5,7 @@ least one winning IOCCC entry. For each author, there is a JSON
|
|||||||
file with the following name format:
|
file with the following name format:
|
||||||
|
|
||||||
```
|
```
|
||||||
author/author_handle.json
|
author/author_handle.json
|
||||||
```
|
```
|
||||||
|
|
||||||
where `author_handle` is defined below.
|
where `author_handle` is defined below.
|
||||||
@@ -16,7 +16,7 @@ Each author of a winning IOCCC entry has an assigned `author_handle`,
|
|||||||
an IOCCC unique string that matches this regex:
|
an IOCCC unique string that matches this regex:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
^[0-9a-z][0-9a-z_]*$
|
^[0-9a-z][0-9a-z_]*$
|
||||||
```
|
```
|
||||||
|
|
||||||
The `author_handle`, by default, is derived from the name of the author.
|
The `author_handle`, by default, is derived from the name of the author.
|
||||||
@@ -34,13 +34,13 @@ author or authors.
|
|||||||
For an anonymous `author`, their handle is one of these forms:
|
For an anonymous `author`, their handle is one of these forms:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous_year
|
Anonymous_year
|
||||||
```
|
```
|
||||||
|
|
||||||
or:
|
or:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous_year.digits
|
Anonymous_year.digits
|
||||||
```
|
```
|
||||||
|
|
||||||
The latter form is in case there are more than one
|
The latter form is in case there are more than one
|
||||||
@@ -49,7 +49,7 @@ anonymous author in a given year.
|
|||||||
Anonymous author_handle's match this regexp:
|
Anonymous author_handle's match this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
||||||
```
|
```
|
||||||
|
|
||||||
## author_handle.json JSON syntax
|
## author_handle.json JSON syntax
|
||||||
@@ -57,17 +57,17 @@ Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
|||||||
The `author_handle.json` must have the following JSON members:
|
The `author_handle.json` must have the following JSON members:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
||||||
"author_JSON_format_version" : "0.1 2023-05-22",
|
"author_JSON_format_version" : "0.1 2023-05-22",
|
||||||
```
|
```
|
||||||
|
|
||||||
There must be the following JSON members:
|
There must be the following JSON members:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"full_name" : "Your Full Name",
|
"full_name" : "Your Full Name",
|
||||||
"sort_word" : "lowercaselast",
|
"sort_word" : "lowercaselast",
|
||||||
"location_code" : "XX",
|
"location_code" : "XX",
|
||||||
"location_name" : "Formal location name",
|
"location_name" : "Formal location name",
|
||||||
```
|
```
|
||||||
|
|
||||||
- `"full_name"` value is the author's formal full name.
|
- `"full_name"` value is the author's formal full name.
|
||||||
@@ -81,20 +81,20 @@ an `author` and the entry they submitted are to be listed.
|
|||||||
A `sort_word` matches this regexp:
|
A `sort_word` matches this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
^[a-z][0-9a-z]*
|
^[a-z][0-9a-z]*
|
||||||
```
|
```
|
||||||
|
|
||||||
And there must be the following JSON members:
|
And there must be the following JSON members:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"email" : "user0@example.com",
|
"email" : "user0@example.com",
|
||||||
"url" : "https://a.host0.example.com/index.html",
|
"url" : "https://a.host0.example.com/index.html",
|
||||||
"alt_url" : "https://b.host0.example.com/index.html",
|
"alt_url" : "https://b.host0.example.com/index.html",
|
||||||
"deprecated_twitter_handle" : "@something",
|
"deprecated_twitter_handle" : "@something",
|
||||||
"mastodon" : "@mastodon0@example.com",
|
"mastodon" : "@mastodon0@example.com",
|
||||||
"mastodon_url" : "https://example.org/@mastodon0",
|
"mastodon_url" : "https://example.org/@mastodon0",
|
||||||
"github" : "@github0",
|
"github" : "@github0",
|
||||||
"affiliation" : "an affiliation group",
|
"affiliation" : "an affiliation group",
|
||||||
```
|
```
|
||||||
|
|
||||||
- `"email"` value is the author's email address as a JSON encoded string, or `null` if not given
|
- `"email"` value is the author's email address as a JSON encoded string, or `null` if not given
|
||||||
@@ -110,14 +110,14 @@ If an author does not have one of the previous set of values, or wishes to not d
|
|||||||
then the JSON value can be `null`. For example:
|
then the JSON value can be `null`. For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"email" : null,
|
"email" : null,
|
||||||
"url" : null,
|
"url" : null,
|
||||||
"alt_url" : null,
|
"alt_url" : null,
|
||||||
"deprecated_twitter_handle" : null,
|
"deprecated_twitter_handle" : null,
|
||||||
"mastodon" : null,
|
"mastodon" : null,
|
||||||
"mastodon_url" : null,
|
"mastodon_url" : null,
|
||||||
"github" : null,
|
"github" : null,
|
||||||
"affiliation" : null,
|
"affiliation" : null,
|
||||||
```
|
```
|
||||||
|
|
||||||
NOTE: The JSON value of `null` is NOT enclosed in double quotes.
|
NOTE: The JSON value of `null` is NOT enclosed in double quotes.
|
||||||
@@ -126,7 +126,7 @@ The `"winning_entry_set"` is an array of JSON members that indicate
|
|||||||
each of the IOCCC winning entries that the author is the author of. :-)
|
each of the IOCCC winning entries that the author is the author of. :-)
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
{ "entry_id" : "YYYY_dirname" }
|
{ "entry_id" : "YYYY_dirname" }
|
||||||
```
|
```
|
||||||
|
|
||||||
The `"YYYY_dirname"` is a entry ID in JSON encoded string form.
|
The `"YYYY_dirname"` is a entry ID in JSON encoded string form.
|
||||||
@@ -137,11 +137,11 @@ NOTE: Due to mis-features in the JSON spec, the final JSON member must NOT be fo
|
|||||||
For example:
|
For example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
"winning_entry_set" : [
|
"winning_entry_set" : [
|
||||||
{ "entry_id" : "1987_somedir" },
|
{ "entry_id" : "1987_somedir" },
|
||||||
{ "entry_id" : "2020_entrydir" },
|
{ "entry_id" : "2020_entrydir" },
|
||||||
{ "entry_id" : "2024_dirname" }
|
{ "entry_id" : "2024_dirname" }
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
### author_handle.json example
|
### author_handle.json example
|
||||||
@@ -149,56 +149,56 @@ For example:
|
|||||||
Here is a fictitious author_handle.json example:
|
Here is a fictitious author_handle.json example:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
{
|
{
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
||||||
"author_JSON_format_version" : "1.0 2023-06-10",
|
"author_JSON_format_version" : "1.0 2023-06-10",
|
||||||
"author_handle" : "first0_last0",
|
"author_handle" : "first0_last0",
|
||||||
"full_name" : "First Middle Last",
|
"full_name" : "First Middle Last",
|
||||||
"sort_word" : "lowercaselast",
|
"sort_word" : "lowercaselast",
|
||||||
"location_code" : "AU",
|
"location_code" : "AU",
|
||||||
"location_name" : "Australia",
|
"location_name" : "Australia",
|
||||||
"email" : "user0@example.com",
|
"email" : "user0@example.com",
|
||||||
"url" : "https://a.host0.example.com/index.html",
|
"url" : "https://a.host0.example.com/index.html",
|
||||||
"alt_url" : "https://b.host0.example.com/index.html",
|
"alt_url" : "https://b.host0.example.com/index.html",
|
||||||
"deprecated_twitter_handle" : "@something",
|
"deprecated_twitter_handle" : "@something",
|
||||||
"mastodon" : "@mastodon0@example.com",
|
"mastodon" : "@mastodon0@example.com",
|
||||||
"mastodon_url" : "https://example.org/@mastodon0",
|
"mastodon_url" : "https://example.org/@mastodon0",
|
||||||
"github" : "@github0",
|
"github" : "@github0",
|
||||||
"affiliation" : "an affiliation group",
|
"affiliation" : "an affiliation group",
|
||||||
"winning_entry_set" : [
|
"winning_entry_set" : [
|
||||||
{ "entry_id" : "1987_somedir" },
|
{ "entry_id" : "1987_somedir" },
|
||||||
{ "entry_id" : "2020_entrydir" },
|
{ "entry_id" : "2020_entrydir" },
|
||||||
{ "entry_id" : "2024_dirname" }
|
{ "entry_id" : "2024_dirname" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Here is fictitious author_handle.json example where all entries that may be
|
Here is fictitious author_handle.json example where all entries that may be
|
||||||
withheld are null:
|
withheld are null:
|
||||||
|
|
||||||
``` <!---json-->
|
``` <!---json-->
|
||||||
{
|
{
|
||||||
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
"no_comment" : "mandatory comment: because comments were removed from the original JSON spec",
|
||||||
"author_JSON_format_version" : "1.0 2023-06-10",
|
"author_JSON_format_version" : "1.0 2023-06-10",
|
||||||
"author_handle" : "first0_last0",
|
"author_handle" : "first0_last0",
|
||||||
"full_name" : "First Middle Last",
|
"full_name" : "First Middle Last",
|
||||||
"sort_word" : "lowercaselast",
|
"sort_word" : "lowercaselast",
|
||||||
"location_code" : "AU",
|
"location_code" : "AU",
|
||||||
"location_name" : "Australia",
|
"location_name" : "Australia",
|
||||||
"email" : null,
|
"email" : null,
|
||||||
"url" : null,
|
"url" : null,
|
||||||
"alt_url" : null,
|
"alt_url" : null,
|
||||||
"deprecated_twitter_handle" : null,
|
"deprecated_twitter_handle" : null,
|
||||||
"mastodon" : null,
|
"mastodon" : null,
|
||||||
"mastodon_url" : null,
|
"mastodon_url" : null,
|
||||||
"github" : null,
|
"github" : null,
|
||||||
"affiliation" : null,
|
"affiliation" : null,
|
||||||
"winning_entry_set" : [
|
"winning_entry_set" : [
|
||||||
{ "entry_id" : "1987_somedir" },
|
{ "entry_id" : "1987_somedir" },
|
||||||
{ "entry_id" : "2020_entrydir" },
|
{ "entry_id" : "2020_entrydir" },
|
||||||
{ "entry_id" : "2024_dirname" }
|
{ "entry_id" : "2024_dirname" }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## NOTE to authors
|
## NOTE to authors
|
||||||
|
|||||||
+5
-5
@@ -421,13 +421,13 @@ Form a compressed tarball for an entry.
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
bin/tar-entry.sh -v 1 YYYY/dir
|
bin/tar-entry.sh -v 1 YYYY/dir
|
||||||
```
|
```
|
||||||
|
|
||||||
Suggested usage:
|
Suggested usage:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
bin/all-run.sh -v 3 bin/tar-entry.sh -v 1 -W
|
bin/all-run.sh -v 3 bin/tar-entry.sh -v 1 -W
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -438,19 +438,19 @@ Form a compressed tarball for an IOCCC year.
|
|||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
bin/tar-year.sh -v 1 YYYY
|
bin/tar-year.sh -v 1 YYYY
|
||||||
```
|
```
|
||||||
|
|
||||||
Suggested usage:
|
Suggested usage:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
bin/all-years.sh -v 3 bin/tar-year.sh -v 1 -W
|
bin/all-years.sh -v 3 bin/tar-year.sh -v 1 -W
|
||||||
```
|
```
|
||||||
|
|
||||||
We recommend that this tool be invoked via the top level `Makefile`:
|
We recommend that this tool be invoked via the top level `Makefile`:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
make form_year_tarball
|
make form_year_tarball
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -564,17 +564,17 @@ We sort with lines starting with <code>!</code> fourth.</p>
|
|||||||
<h2 id="tar-entry.sh"><a href="../bin/tar-entry.sh">tar-entry.sh</a></h2>
|
<h2 id="tar-entry.sh"><a href="../bin/tar-entry.sh">tar-entry.sh</a></h2>
|
||||||
<p>Form a compressed tarball for an entry.</p>
|
<p>Form a compressed tarball for an entry.</p>
|
||||||
<p>Usage:</p>
|
<p>Usage:</p>
|
||||||
<pre><code>bin/tar-entry.sh -v 1 YYYY/dir</code></pre>
|
<pre><code> bin/tar-entry.sh -v 1 YYYY/dir</code></pre>
|
||||||
<p>Suggested usage:</p>
|
<p>Suggested usage:</p>
|
||||||
<pre><code>bin/all-run.sh -v 3 bin/tar-entry.sh -v 1 -W</code></pre>
|
<pre><code> bin/all-run.sh -v 3 bin/tar-entry.sh -v 1 -W</code></pre>
|
||||||
<h2 id="tar-year.sh"><a href="../bin/tar-year.sh">tar-year.sh</a></h2>
|
<h2 id="tar-year.sh"><a href="../bin/tar-year.sh">tar-year.sh</a></h2>
|
||||||
<p>Form a compressed tarball for an IOCCC year.</p>
|
<p>Form a compressed tarball for an IOCCC year.</p>
|
||||||
<p>Usage:</p>
|
<p>Usage:</p>
|
||||||
<pre><code>bin/tar-year.sh -v 1 YYYY</code></pre>
|
<pre><code> bin/tar-year.sh -v 1 YYYY</code></pre>
|
||||||
<p>Suggested usage:</p>
|
<p>Suggested usage:</p>
|
||||||
<pre><code>bin/all-years.sh -v 3 bin/tar-year.sh -v 1 -W</code></pre>
|
<pre><code> bin/all-years.sh -v 3 bin/tar-year.sh -v 1 -W</code></pre>
|
||||||
<p>We recommend that this tool be invoked via the top level <code>Makefile</code>:</p>
|
<p>We recommend that this tool be invoked via the top level <code>Makefile</code>:</p>
|
||||||
<pre><code>make form_year_tarball</code></pre>
|
<pre><code> make form_year_tarball</code></pre>
|
||||||
<h2 id="untar-entry.sh"><a href="../bin/untar-entry.sh">untar-entry.sh</a></h2>
|
<h2 id="untar-entry.sh"><a href="../bin/untar-entry.sh">untar-entry.sh</a></h2>
|
||||||
<p>Untar an entry’s a compressed tarball.</p>
|
<p>Untar an entry’s a compressed tarball.</p>
|
||||||
<p>Usage:</p>
|
<p>Usage:</p>
|
||||||
|
|||||||
@@ -1370,25 +1370,25 @@ original code has had a buffer size increase.</p>
|
|||||||
comment as well as the <code>int r=0,x,y=0</code> at the top of the file. If you look at
|
comment as well as the <code>int r=0,x,y=0</code> at the top of the file. If you look at
|
||||||
each column go down that column you can see how it spells out the code! For
|
each column go down that column you can see how it spells out the code! For
|
||||||
instance the first column looks like:</p>
|
instance the first column looks like:</p>
|
||||||
<pre><code>i
|
<pre><code> i
|
||||||
n
|
n
|
||||||
c
|
c
|
||||||
l
|
l
|
||||||
u
|
u
|
||||||
d
|
d
|
||||||
e
|
e
|
||||||
|
|
||||||
<
|
<
|
||||||
s
|
s
|
||||||
t
|
t
|
||||||
d
|
d
|
||||||
i
|
i
|
||||||
o
|
o
|
||||||
.
|
.
|
||||||
h
|
h
|
||||||
></code></pre>
|
></code></pre>
|
||||||
<p>If you join the lines you end up with:</p>
|
<p>If you join the lines you end up with:</p>
|
||||||
<pre><code>#include <stdio.h></code></pre>
|
<pre><code> #include <stdio.h></code></pre>
|
||||||
<p>If you look at column 25 which is the end of the word ‘mh111’ and you go down to
|
<p>If you look at column 25 which is the end of the word ‘mh111’ and you go down to
|
||||||
the next row you’ll see a 0 and if you go one row down another 0. This is the
|
the next row you’ll see a 0 and if you go one row down another 0. This is the
|
||||||
buffer size, 100, for <code>u</code>! The column to the left is the same for the <code>t</code>
|
buffer size, 100, for <code>u</code>! The column to the left is the same for the <code>t</code>
|
||||||
|
|||||||
@@ -1441,30 +1441,30 @@ instance the first column looks like:
|
|||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
i
|
i
|
||||||
n
|
n
|
||||||
c
|
c
|
||||||
l
|
l
|
||||||
u
|
u
|
||||||
d
|
d
|
||||||
e
|
e
|
||||||
|
|
||||||
<
|
<
|
||||||
s
|
s
|
||||||
t
|
t
|
||||||
d
|
d
|
||||||
i
|
i
|
||||||
o
|
o
|
||||||
.
|
.
|
||||||
h
|
h
|
||||||
>
|
>
|
||||||
```
|
```
|
||||||
|
|
||||||
If you join the lines you end up with:
|
If you join the lines you end up with:
|
||||||
|
|
||||||
|
|
||||||
``` <!---c-->
|
``` <!---c-->
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
```
|
```
|
||||||
|
|
||||||
If you look at column 25 which is the end of the word 'mh111' and you go down to
|
If you look at column 25 which is the end of the word 'mh111' and you go down to
|
||||||
|
|||||||
+125
-36
@@ -464,11 +464,11 @@ unquoted attribute values.</p>
|
|||||||
<p>If a short line is needed, use:</p>
|
<p>If a short line is needed, use:</p>
|
||||||
<pre><code> <hr style="width:10%;text-align:left;margin-left:0"></code></pre>
|
<pre><code> <hr style="width:10%;text-align:left;margin-left:0"></code></pre>
|
||||||
<h2 id="do-not-use-the-strike-html-element">Do not use the strike HTML element</h2>
|
<h2 id="do-not-use-the-strike-html-element">Do not use the strike HTML element</h2>
|
||||||
<p>Please not use the HTML element:</p>
|
<p>Please not use HTML elements:</p>
|
||||||
<pre><code> <strike>...</strike> <=== no thank you</code></pre>
|
<pre><code> <strike>...</strike> <=== no thank you</code></pre>
|
||||||
<p>Use instead:</p>
|
<p>Use instead:</p>
|
||||||
<pre><code> <del>...</del></code></pre>
|
<pre><code> <del>...</del></code></pre>
|
||||||
<h2 id="do-not-use-tt-html-elements">Do not use tt HTML elements</h2>
|
<h2 id="do-not-use-the-tt-html-element">Do not use the tt HTML element</h2>
|
||||||
<p>Please do not use the tt HTML elements:</p>
|
<p>Please do not use the tt HTML elements:</p>
|
||||||
<div class="sourceCode" id="cb16"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a> <span class="dt"><</span><span class="kw">tt</span><span class="dt">></span>The HTML 5 obsolete tt element is obsolete<span class="dt"></</span><span class="kw">tt</span><span class="dt">></span> <span class="er"><</span>=== no thank you</span></code></pre></div>
|
<div class="sourceCode" id="cb16"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a> <span class="dt"><</span><span class="kw">tt</span><span class="dt">></span>The HTML 5 obsolete tt element is obsolete<span class="dt"></</span><span class="kw">tt</span><span class="dt">></span> <span class="er"><</span>=== no thank you</span></code></pre></div>
|
||||||
<p>Instead use either a monospaced span:</p>
|
<p>Instead use either a monospaced span:</p>
|
||||||
@@ -487,42 +487,131 @@ We request that you indent the code block by 4 spaces:
|
|||||||
</code></pre>
|
</code></pre>
|
||||||
<pre><code> This code block
|
<pre><code> This code block
|
||||||
is intented 4 spaces</code></pre>
|
is intented 4 spaces</code></pre>
|
||||||
<p>````</p>
|
<pre><code>
|
||||||
<h2 id="do-not-add-trailing-slash-on-void-html-elements">Do not add trailing slash on void HTML elements</h2>
|
One exception is where change bars are needed, such as
|
||||||
<p>Please do not use trailing slash on <a href="https://github.com/validator/validator/wiki/Markup-»-Void-elements">void HTML
|
those used in `next/rules.md` and in `next/guidelines.md`.
|
||||||
elements</a>.</p>
|
|
||||||
<p>See also this note on <a href="https://github.com/validator/validator/wiki/Markup-»-Void-elements#trailing-slashes-in-void-element-start-tags-do-not-mark-the-start-tags-as-self-closing">trailing slashes in void-element start
|
For example, `next/guidelines.md` uses this markdown code block:
|
||||||
tags</a>.</p>
|
</code></pre>
|
||||||
<p>The trailing slash on void HTML elements has no effect and interacts badly with unquoted attribute values.</p>
|
<pre><code> main() {
|
||||||
<p>For example, please do not use:</p>
|
| void please_do_not_submit_this() {
|
||||||
<pre><code> <br/> <=== no thank you</code></pre>
|
| printf("The machine that goes BING!\n");
|
||||||
<p>Instead use just:</p>
|
}
|
||||||
<pre><code> <br></code></pre>
|
| please_do_not_submit_this();
|
||||||
<p>And for example, please do not use:</p>
|
}</code></pre>
|
||||||
<pre><code> <hr/> <=== no thank you</code></pre>
|
<pre><code>
|
||||||
<p>Instead use just:</p>
|
|
||||||
<pre><code> <hr></code></pre>
|
## Do not add trailing slash on void HTML elements
|
||||||
<p>And for example, please do not use:</p>
|
|
||||||
<pre><code> <img src="1984-anonymous-tattoo.jpg"
|
Please do not use trailing slash on [void HTML
|
||||||
|
elements](https://github.com/validator/validator/wiki/Markup-»-Void-elements).
|
||||||
|
|
||||||
|
See also this note on [trailing slashes in void-element start
|
||||||
|
tags](https://github.com/validator/validator/wiki/Markup-»-Void-elements#trailing-slashes-in-void-element-start-tags-do-not-mark-the-start-tags-as-self-closing).
|
||||||
|
|
||||||
|
The trailing slash on void HTML elements has no effect and interacts badly with unquoted attribute values.
|
||||||
|
|
||||||
|
For example, please do not use:
|
||||||
|
|
||||||
|
```
|
||||||
|
<br/> <=== no thank you
|
||||||
|
```
|
||||||
|
|
||||||
|
Instead use just:
|
||||||
|
|
||||||
|
```
|
||||||
|
<br>
|
||||||
|
```
|
||||||
|
|
||||||
|
And for example, please do not use:
|
||||||
|
|
||||||
|
```
|
||||||
|
<hr/> <=== no thank you
|
||||||
|
```
|
||||||
|
|
||||||
|
Instead use just:
|
||||||
|
|
||||||
|
```
|
||||||
|
<hr>
|
||||||
|
```
|
||||||
|
|
||||||
|
And for example, please do not use:
|
||||||
|
|
||||||
|
```
|
||||||
|
<img src="1984-anonymous-tattoo.jpg"
|
||||||
alt="image of a tattoo of the 1984 anonymous C code"
|
alt="image of a tattoo of the 1984 anonymous C code"
|
||||||
width=600 height=401 /> <=== no thank you</code></pre>
|
width=600 height=401 /> <=== no thank you
|
||||||
<p>Instead use just:</p>
|
```
|
||||||
<pre><code> <img src="1984-anonymous-tattoo.jpg"
|
|
||||||
|
Instead use just:
|
||||||
|
|
||||||
|
```
|
||||||
|
<img src="1984-anonymous-tattoo.jpg"
|
||||||
alt="image of a tattoo of the 1984 anonymous C code"
|
alt="image of a tattoo of the 1984 anonymous C code"
|
||||||
width=600 height=401></code></pre>
|
width=600 height=401>
|
||||||
<p>etc.</p>
|
```
|
||||||
<h2 id="do-not-end-markdown-links-in">Do not end markdown links in ))</h2>
|
|
||||||
<p>Please do not end a markdown links with a double closed parenthesis “))”.</p>
|
etc.
|
||||||
<p>Markdown links that end in “))” complicate parsing and sometimes lead
|
|
||||||
to incorrect URLs or file paths.</p>
|
|
||||||
<p>Instead of:</p>
|
## Do not end markdown links in ))
|
||||||
<pre><code> [some text](https://example.com/foo_(bar)) <=== no thank you</code></pre>
|
|
||||||
<p>Use:</p>
|
Please do not end a markdown links with a double closed parenthesis "))".
|
||||||
<pre><code> [some text](https://example.com/foo_&#x28;bar&#x29;)</code></pre>
|
|
||||||
<p>Instead of:</p>
|
Markdown links that end in "))" complicate parsing and sometimes lead
|
||||||
<pre><code> This thing ([some text](some/path)) is not ideal. <=== no thank you</code></pre>
|
to incorrect URLs or file paths.
|
||||||
<p>Use:</p>
|
|
||||||
<pre><code> This thing, [some text](some/path), is better.</code></pre>
|
Instead of:
|
||||||
|
|
||||||
|
```
|
||||||
|
[some text](https://example.com/foo_(bar)) <=== no thank you
|
||||||
|
```
|
||||||
|
|
||||||
|
Use:
|
||||||
|
|
||||||
|
```
|
||||||
|
[some text](https://example.com/foo_&#x28;bar&#x29;)
|
||||||
|
```
|
||||||
|
|
||||||
|
Instead of:
|
||||||
|
|
||||||
|
```
|
||||||
|
This thing ([some text](some/path)) is not ideal. <=== no thank you
|
||||||
|
```
|
||||||
|
|
||||||
|
Use:
|
||||||
|
|
||||||
|
```
|
||||||
|
This thing, [some text](some/path), is better.
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Do not place text on the next line after a markdown code block
|
||||||
|
|
||||||
|
Please do not place text on the next line after a markdown code block.
|
||||||
|
Instead, place a blank line after the end of a markdown code block
|
||||||
|
is this makes it easier to detect when markdown code blocks are
|
||||||
|
not properly indented.
|
||||||
|
|
||||||
|
Instead of:
|
||||||
|
</code></pre>
|
||||||
|
<pre><code> int
|
||||||
|
main(int foo)
|
||||||
|
{
|
||||||
|
return foo;
|
||||||
|
}</code></pre>
|
||||||
|
<p>C compilers cannot be given a -Wno-main-arg-errors flag. <=== no thank you</p>
|
||||||
|
<pre><code>
|
||||||
|
Use:
|
||||||
|
</code></pre>
|
||||||
|
<pre><code> int
|
||||||
|
main(int foo)
|
||||||
|
{
|
||||||
|
return foo;
|
||||||
|
}</code></pre>
|
||||||
|
<p>C compilers cannot be given a -Wno-main-arg-errors flag.</p>
|
||||||
|
<p>BTW: Not the blank line after the code block.
|
||||||
|
````</p>
|
||||||
<h2 id="do-not-put-s-or-markdown-link-titles">Do not put (‘s or )’ markdown link titles</h2>
|
<h2 id="do-not-put-s-or-markdown-link-titles">Do not put (‘s or )’ markdown link titles</h2>
|
||||||
<p>Please do not use parenthesis inside the markdown link titles.</p>
|
<p>Please do not use parenthesis inside the markdown link titles.</p>
|
||||||
<p>Instead of:</p>
|
<p>Instead of:</p>
|
||||||
|
|||||||
+55
-2
@@ -163,7 +163,7 @@ If a short line is needed, use:
|
|||||||
|
|
||||||
## Do not use the strike HTML element
|
## Do not use the strike HTML element
|
||||||
|
|
||||||
Please not use the HTML element:
|
Please not use HTML elements:
|
||||||
|
|
||||||
```
|
```
|
||||||
<strike>...</strike> <=== no thank you
|
<strike>...</strike> <=== no thank you
|
||||||
@@ -176,7 +176,7 @@ Use instead:
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Do not use tt HTML elements
|
## Do not use the tt HTML element
|
||||||
|
|
||||||
Please do not use the tt HTML elements:
|
Please do not use the tt HTML elements:
|
||||||
|
|
||||||
@@ -217,6 +217,22 @@ We request that you indent the code block by 4 spaces:
|
|||||||
```
|
```
|
||||||
````
|
````
|
||||||
|
|
||||||
|
One exception is where change bars are needed, such as
|
||||||
|
those used in `next/rules.md` and in `next/guidelines.md`.
|
||||||
|
|
||||||
|
For example, `next/guidelines.md` uses this markdown code block:
|
||||||
|
|
||||||
|
````
|
||||||
|
```
|
||||||
|
main() {
|
||||||
|
| void please_do_not_submit_this() {
|
||||||
|
| printf("The machine that goes BING!\n");
|
||||||
|
}
|
||||||
|
| please_do_not_submit_this();
|
||||||
|
}
|
||||||
|
```
|
||||||
|
````
|
||||||
|
|
||||||
|
|
||||||
## Do not add trailing slash on void HTML elements
|
## Do not add trailing slash on void HTML elements
|
||||||
|
|
||||||
@@ -303,6 +319,43 @@ Use:
|
|||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Do not place text on the next line after a markdown code block
|
||||||
|
|
||||||
|
Please do not place text on the next line after a markdown code block.
|
||||||
|
Instead, place a blank line after the end of a markdown code block
|
||||||
|
is this makes it easier to detect when markdown code blocks are
|
||||||
|
not properly indented.
|
||||||
|
|
||||||
|
Instead of:
|
||||||
|
|
||||||
|
````
|
||||||
|
```
|
||||||
|
int
|
||||||
|
main(int foo)
|
||||||
|
{
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
C compilers cannot be given a -Wno-main-arg-errors flag. <=== no thank you
|
||||||
|
````
|
||||||
|
|
||||||
|
Use:
|
||||||
|
|
||||||
|
````
|
||||||
|
```
|
||||||
|
int
|
||||||
|
main(int foo)
|
||||||
|
{
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
C compilers cannot be given a -Wno-main-arg-errors flag.
|
||||||
|
|
||||||
|
BTW: Not the blank line after the code block.
|
||||||
|
````
|
||||||
|
|
||||||
|
|
||||||
## Do not put ('s or )' markdown link titles
|
## Do not put ('s or )' markdown link titles
|
||||||
|
|
||||||
Please do not use parenthesis inside the markdown link titles.
|
Please do not use parenthesis inside the markdown link titles.
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<!-- END: this line ends content from: inc/head.default.html -->
|
<!-- END: this line ends content from: inc/head.default.html -->
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- This web page was formed via the tool: bin/gen-status.sh -->
|
<!-- This web page was formed via the tool: bin/gen-top-html.sh -->
|
||||||
<!-- The content of main section of this web page came from: next/guidelines.md -->
|
<!-- The content of main section of this web page came from: next/guidelines.md -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@
|
|||||||
<!-- END: this line ends content from: inc/head.default.html -->
|
<!-- END: this line ends content from: inc/head.default.html -->
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<!-- This web page was formed via the tool: bin/gen-status.sh -->
|
<!-- This web page was formed via the tool: bin/gen-top-html.sh -->
|
||||||
<!-- The content of main section of this web page came from: next/rules.md -->
|
<!-- The content of main section of this web page came from: next/rules.md -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
||||||
|
|||||||
@@ -1506,6 +1506,7 @@ changed from `char*s` to `char s[]`):
|
|||||||
```
|
```
|
||||||
!.Xop.fssps!.Xop.sfuvso.uzqf!.Xop.jnqmjdju.gvodujpo.efdmbsbujpo
|
!.Xop.fssps!.Xop.sfuvso.uzqf!.Xop.jnqmjdju.gvodujpo.efdmbsbujpo
|
||||||
```
|
```
|
||||||
|
|
||||||
and then the call to `system()` had to be changed to:
|
and then the call to `system()` had to be changed to:
|
||||||
|
|
||||||
``` <!---c-->
|
``` <!---c-->
|
||||||
|
|||||||
+14
-14
@@ -30,7 +30,7 @@ IOCCC. Each author has exactly one `author_handle`.
|
|||||||
For each `author_handle`, there will be a JSON file of the form:
|
For each `author_handle`, there will be a JSON file of the form:
|
||||||
|
|
||||||
```
|
```
|
||||||
author/author_handle.json
|
author/author_handle.json
|
||||||
```
|
```
|
||||||
|
|
||||||
Because the `author_handle` is used to form a JSON filename, the string must be
|
Because the `author_handle` is used to form a JSON filename, the string must be
|
||||||
@@ -38,7 +38,7 @@ lower case POSIX safe string. Furthermore, the `author_handle` must be an ASCII
|
|||||||
string that matches this regexp:
|
string that matches this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
^[0-9a-z][0-9a-z_]*$
|
^[0-9a-z][0-9a-z_]*$
|
||||||
```
|
```
|
||||||
|
|
||||||
Default `author_handle`'s do not have multiple consecutive `_` (underscore)
|
Default `author_handle`'s do not have multiple consecutive `_` (underscore)
|
||||||
@@ -58,13 +58,13 @@ author.
|
|||||||
For an anonymous `author`, their handle is one of these forms:
|
For an anonymous `author`, their handle is one of these forms:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous_year
|
Anonymous_year
|
||||||
```
|
```
|
||||||
|
|
||||||
or:
|
or:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous_year.digits
|
Anonymous_year.digits
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ in the case of [2005/anon](/2005/anon/anon.c).
|
|||||||
Anonymous `author_handle`'s match this regexp:
|
Anonymous `author_handle`'s match this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ Non-numeric `year` strings are lower case.
|
|||||||
A `year` string matches this regexp:
|
A `year` string matches this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
[0-9a-z][0-9a-z][0-9a-z][0-9a-z]
|
[0-9a-z][0-9a-z][0-9a-z][0-9a-z]
|
||||||
```
|
```
|
||||||
|
|
||||||
The `year` directories reside directly below the top level directory.
|
The `year` directories reside directly below the top level directory.
|
||||||
@@ -117,7 +117,7 @@ The `year` directories reside directly below the top level directory.
|
|||||||
Each `year` will have a file directory under it named:
|
Each `year` will have a file directory under it named:
|
||||||
|
|
||||||
```
|
```
|
||||||
.year
|
.year
|
||||||
```
|
```
|
||||||
|
|
||||||
The contents of the `.year` file is the year string of the directory. For
|
The contents of the `.year` file is the year string of the directory. For
|
||||||
@@ -131,7 +131,7 @@ A `dir` is a POSIX safe string that holds an winner.
|
|||||||
A `dir` is a string that matches this regexp:
|
A `dir` is a string that matches this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
^[a-z][0-9a-z.-]*$
|
^[a-z][0-9a-z.-]*$
|
||||||
```
|
```
|
||||||
|
|
||||||
Each `winner` is under its own individual directory. This directory
|
Each `winner` is under its own individual directory. This directory
|
||||||
@@ -143,7 +143,7 @@ is directly under a `year` directory.
|
|||||||
A string that identifies the winning entry. The string is of the form:
|
A string that identifies the winning entry. The string is of the form:
|
||||||
|
|
||||||
```
|
```
|
||||||
year_dir
|
year_dir
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ year_dir
|
|||||||
Each `winner` directory will have a file directory under it named:
|
Each `winner` directory will have a file directory under it named:
|
||||||
|
|
||||||
```
|
```
|
||||||
.id
|
.id
|
||||||
```
|
```
|
||||||
|
|
||||||
The contents of `_.id_` file is the `winner_id` string for that `winner`.
|
The contents of `_.id_` file is the `winner_id` string for that `winner`.
|
||||||
@@ -165,7 +165,7 @@ an `author` and the `winners` they submitted are to be listed.
|
|||||||
A `sort_word` match this regexp:
|
A `sort_word` match this regexp:
|
||||||
|
|
||||||
``` <!---re-->
|
``` <!---re-->
|
||||||
^[a-z][0-9a-z]*
|
^[a-z][0-9a-z]*
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ A text file of full names of each `author`: one full name per line.
|
|||||||
In the case of anonymous authors the form is:
|
In the case of anonymous authors the form is:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous YYYY
|
Anonymous YYYY
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ Run the script from the top level directory. The output should end in ":1".
|
|||||||
For example, this command should not produce any output.
|
For example, this command should not produce any output.
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
tmp/awards_check.sh | grep -v ':1$'
|
tmp/awards_check.sh | grep -v ':1$'
|
||||||
```
|
```
|
||||||
|
|
||||||
Any output is an indication that either an award name is incorrect, or the
|
Any output is an indication that either an award name is incorrect, or the
|
||||||
@@ -420,7 +420,7 @@ Temporary tool used to generate the `author/author_handle.json` files.
|
|||||||
The following command, executed in this directory, created the `author/` directory:
|
The following command, executed in this directory, created the `author/` directory:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
rm -rf ../author ; ./gen_author_json.sh author_handle.txt author.csv author_wins.csv ../author
|
rm -rf ../author ; ./gen_author_json.sh author_handle.txt author.csv author_wins.csv ../author
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -56,7 +56,7 @@ A text file of full names of each `author`: one full name per line.
|
|||||||
In the case of anonymous authors the form is:
|
In the case of anonymous authors the form is:
|
||||||
|
|
||||||
```
|
```
|
||||||
Anonymous YYYY
|
Anonymous YYYY
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -157,9 +157,9 @@ returns and appending a newline if it was missing.
|
|||||||
Fixing involves these actions:
|
Fixing involves these actions:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
tr -d '\015' < input.csv > tmp.csv
|
tr -d '\015' < input.csv > tmp.csv
|
||||||
echo >> tmp.csv
|
echo >> tmp.csv
|
||||||
mv -f tmp.csv input.csv
|
mv -f tmp.csv input.csv
|
||||||
```
|
```
|
||||||
|
|
||||||
This tool also forms [path_list.built.txt](path_list.built.txt),
|
This tool also forms [path_list.built.txt](path_list.built.txt),
|
||||||
@@ -343,8 +343,8 @@ A tool to run another tool over all _YYYY/dir_ entry directories.
|
|||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
``` <!---sh-->
|
``` <!---sh-->
|
||||||
./run_all.sh -v 3 ./fake.gen_index.sh
|
./run_all.sh -v 3 ./fake.gen_index.sh
|
||||||
./run_all.sh -v 1 ./gen_entry_json.sh
|
./run_all.sh -v 1 ./gen_entry_json.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user