add rules, guidelines, fix HTML code, move compressed tarball in inventory
By changing the _inventory_order_ of the compressed tarball from
**100000** to **1415926535**, the compressed tarball will land at
the top of the secondary file list and remain still easy to find.
Updated the `manifest.numbers` spreadsheet and rebuilt
the `.entry.json` files.
Added `next/` directory to hold the next IOCCC rules and guidelines.
Added `next/README.md` that `bin/gen-top-html.sh` uses to form
the `next/index.html` file.
Added _Rules and Guidelines_ link to the sidenav bar to link to the
`next/index.html` file.
Added _IOCCC Rules_ as `next/rules.md` that `bin/gen-top-html.sh`
uses to form the `next/rules.html` file.
Added _IOCCC Guidelines_ as `next/guidelines.md` that `bin/gen-top-html.sh`
uses to form the `next/guidelines.html` file.
Changed `bin/gen-top-html.sh` VERSION from "1.2.4 2024-04-13"
to "1.3 2024-04-14".
Prevent `pandoc(1)` from interpreting the commented out language
of a markdown code block as a code class. So a markdown such as:
````
``` <!---sh-->
...
```
````
that produced HTML of the form:
```html
<pre class="<!---sh-->"><code>...</code></pre>
```
will now produce HTML of the form:
```html
<pre><code>...</code></pre>
```
NOTE: Before when the language of a markdown code block
was not commented, the HTML produced by `pandoc(1)` was
oddly indented with extra whitespace on the first line
of the code block. While commenting out the language
of the code block removed some of the odd intending,
it left a weird class in the HTML pre block that
surrounded the HTML code block. This hack prevents
`pandoc(1)` from assigning a class to the HTML pre block.
Changed `in/md2html.sh` VERSION from "1.2.1 2024-04-13"
to "1.3 2024-04-14".
Added `make gen_sitemap` to end of both `make www` and `make
quick_www` in top level Makefile.
Ram `make www` to test under macOS and to perform the above.
**IMPORTANT NOTE**: The current `next/rules.md` and `next/guidelines.md`
are simply the 2020 IOCCC Rules and Guidelines converted into
markdown form. There are **NOT** the Rules and Guidelines that
will be used the IOCCC MOCK, nor the next IOCCC.
TODO: Improve the `bin/gen-status.sh` tool to modify the top of the
`next/rules.md` and `next/guidelines.md` files to keep them
in sync with the _contest_status_ as found in `status.json`.
TODO: Improve the look and feel of the `next/rules.md` and
`next/guidelines.md` markdown files.
This commit is contained in:
1 parent
a672335d2d
commit
518a6336d0
734 files changed
+7919
-4119
No files matched your search
+11
-10
@@ -88,6 +88,7 @@
|
||||
<div class="sidenav">
|
||||
<a href="../../news.html">IOCCC News</a>
|
||||
<a href="../../status.html">Contest status</a>
|
||||
<a href="../../next/index.html">Rules and Guidelines</a>
|
||||
<a href="../../faq.html#submit">How to enter the IOCCC</a>
|
||||
<a href="../../faq.html">FAQ</a>
|
||||
</div>
|
||||
@@ -141,7 +142,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<pre class="<!---sh-->"><code> make</code></pre>
|
||||
<pre><code> make</code></pre>
|
||||
<p>There are two additional programs based on the author’s remarks and the original
|
||||
version, provided as alternate code as it might be less portable. See <a href="#sorted-code">sorted
|
||||
code</a>, <a href="#punch-card-code">punch card code</a> and <a href="#alternate-code">alternate
|
||||
@@ -153,14 +154,14 @@ code</a> below.</p>
|
||||
STATUS: main() has only one arg - try and make it have 2 or 3</code></pre>
|
||||
<p>For more detailed information see <a href="../../bugs.html#2001_westley">2001 westley bugs</a>.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<pre class="<!---sh-->"><code> ./westley 2>/dev/null
|
||||
<pre><code> ./westley 2>/dev/null
|
||||
# enter some input, terminate with EOF
|
||||
|
||||
echo foo | ./westley 2>/dev/null
|
||||
|
||||
./westley < westley.c 2>/dev/null</code></pre>
|
||||
<h2 id="try">Try:</h2>
|
||||
<pre class="<!---sh-->"><code> ./try.sh</code></pre>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<h2 id="sorted-code">Sorted code:</h2>
|
||||
<p>The author stated that one can sort (ignoring leading blanks i.e. <code>sort -b</code>) the
|
||||
code by line and it will always sort the order of the input.</p>
|
||||
@@ -171,12 +172,12 @@ code by line and it will always sort the order of the input.</p>
|
||||
<a href="westley.punch.c">westley.punch.c</a> code is specifically so that Westley can punch
|
||||
everyone in the face! :-) This is also compiled by default.</p>
|
||||
<h3 id="punch-card-try">Punch card try:</h3>
|
||||
<pre class="<!---sh-->"><code> echo 'Brian Westley does it again!' | ./westley.punch 2>/dev/null</code></pre>
|
||||
<pre><code> echo 'Brian Westley does it again!' | ./westley.punch 2>/dev/null</code></pre>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>An alternate version of this entry, <a href="westley.alt.c">westley.alt.c</a>, is provided.
|
||||
This alternate code might be less portable.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre class="<!---sh-->"><code> make alt</code></pre>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>westley.alt</code> as you would <code>westley</code> above.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
@@ -195,7 +196,7 @@ were becoming obsolete just as C was becoming more popular*; this is rather
|
||||
unfortunate, because C has an advantage over many other languages when it comes
|
||||
to punch cards - C programs can be written to be “drop proof”.</p>
|
||||
<p>Consider the following C program:</p>
|
||||
<pre class="<!---c-->"><code> main(){a();b();c();}
|
||||
<pre><code> main(){a();b();c();}
|
||||
a(){printf("A");}
|
||||
b(){printf("B");}
|
||||
c(){printf("C");}</code></pre>
|
||||
@@ -204,13 +205,13 @@ lines are in. If you punch it on cards (one line of code per
|
||||
card, naturally) and drop them, you don’t need to put them in
|
||||
any particular order**; it will always produce <code>ABC</code> as output.</p>
|
||||
<p>You can also use global variables:</p>
|
||||
<pre class="<!---c-->"><code> char *greet = "Hello, world!";
|
||||
<pre><code> char *greet = "Hello, world!";
|
||||
char *greet; main(){puts(greet);}</code></pre>
|
||||
<p>It would be trivial to write an entire C program that is
|
||||
“drop proof” using the above techniques; surprisingly, it’s
|
||||
possible to write a program that will always compile but
|
||||
behave differently depending on the line order:</p>
|
||||
<pre class="<!---c-->"><code> test(a,b){return a;}
|
||||
<pre><code> test(a,b){return a;}
|
||||
#define test(a,b) test(b,a)
|
||||
main(){if (test(0,1)) printf("T"); else printf("F");}</code></pre>
|
||||
<p>This program will print out <code>T</code> if the <code>#define</code> statement
|
||||
@@ -218,7 +219,7 @@ falls between the declaration of <code>test()</code> and its use in
|
||||
<code>main()</code>, otherwise it will print out <code>F</code>. Furthermore,
|
||||
you can use the same call to <code>test()</code> repeatedly in
|
||||
different lines to return different values:</p>
|
||||
<pre class="<!---c-->"><code> #define test(x,y) test(y,x)
|
||||
<pre><code> #define test(x,y) test(y,x)
|
||||
main(){int i=0;a(&i);b(&i);c(&i);d(&i);printf("%d\n",i);}
|
||||
a(i)int*i;{if (test(0,1)) *i += 1;}
|
||||
b(i)int*i;{if (test(0,1)) *i += 2;}
|
||||
@@ -314,10 +315,10 @@ all legal C.</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/westley/westley.alt.c">westley.alt.c</a> - alternative source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/westley/westley.orig.c">westley.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/westley/try.sh">try.sh</a> - how to run</li>
|
||||
<li><a href="2001_westley.tar.bz2">2001_westley.tar.bz2</a> - download entry tarball</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="2001_westley.tar.bz2">2001_westley.tar.bz2</a> - download entry tarball</li>
|
||||
<li><a href="index.html">index.html</a> - this web page</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/westley/README.md">README.md</a> - markdown source for this web page</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2001/westley/.entry.json">.entry.json</a> - description of entry in JSON</li>
|
||||
|
||||
Reference in new issue
Block a user