improved indentation and whitespace for markdown code blocks
All code blocks in markdown have been intended by at least 4 spaces. We add `--tab-stop=8` to all `pandoc(1)` executions in order to set a better tab stop indentation, especially for tab intended code blocks. Changed `bin/pandoc-wrapper.sh` VERSION from "1.5.3 2024-03-26" to "1.6 2024-03-31". Fixed `1991/brnstnd/sorta.README.md` so that the sorta code is code blocks. Removed unneeded paragraph group in copyright in `inc/footer.default.html`. Fixed excess whitespace after list Author on entry `index.html` page. Changed `bin/output-index-author.sh` VERSION from "1.5.2 2024-03-26" to "1.6 2024-03-31". Performed `make www` to perform the above and test under macOS. TODO: Fix the problem of the initial line of code being extra intended. TODO: Fix excess whitespace around code that is inline.
This commit is contained in:
1 parent
b84c27ce02
commit
a996f8d2b8
734 files changed
+16723
-16963
No files matched your search
@@ -379,24 +379,24 @@ command that is compatible with GNU Make version 3.81.</p>
|
||||
<h3 id="faq-0.3-may-i-use-a-different-source-or-compiled-filename-than-prog.c-or-prog"><a name="faq0_3"></a>FAQ 0.3: May I use a different source or compiled filename than prog.c or prog?</h3>
|
||||
<p>While your entry’s source filename, as submitted, must be <code>prog.c</code>, your entry’s <code>Makefile</code>
|
||||
may copy <code>prog.c</code> to a different filename as part of the compiling/building process. For example:</p>
|
||||
<pre class="make"><code>all: desired_name
|
||||
<pre class="make"><code> all: desired_name
|
||||
|
||||
desired_name: desired_name.c
|
||||
cc desired_name.c -o $@
|
||||
desired_name: desired_name.c
|
||||
cc desired_name.c -o $@
|
||||
|
||||
desired_name.c: prog.c
|
||||
rm -f $@
|
||||
cp -f prog.c $@
|
||||
desired_name.c: prog.c
|
||||
rm -f $@
|
||||
cp -f prog.c $@
|
||||
|
||||
clobber:
|
||||
rm -f desired_name.c desired_name</code></pre>
|
||||
clobber:
|
||||
rm -f desired_name.c desired_name</code></pre>
|
||||
<p>We recommend that the <code>make clobber</code> rule remove files that your entry
|
||||
creates as part of the compiling/building process.</p>
|
||||
<p>You may also copy the compiled <code>prog</code> into a different file as part of compiling process.
|
||||
For example:</p>
|
||||
<pre class="make"><code>different_name: prog
|
||||
rm -f $@
|
||||
cp -f prog $@</code></pre>
|
||||
<pre class="make"><code> different_name: prog
|
||||
rm -f $@
|
||||
cp -f prog $@</code></pre>
|
||||
<h3 id="faq-0.4-what-platform-should-i-assume-for-my-entry"><a name="faq0_4"></a>FAQ 0.4: What platform should I assume for my entry?</h3>
|
||||
<p>Your entry must compile with GCC and run under at least one flavor of UNIX (e.g.
|
||||
Linux or Solaris). To improve chances to win, it should work under both BSD and
|
||||
@@ -779,19 +779,19 @@ winning entries page</a>.</p></li>
|
||||
<h2 id="section-3-compiling-and-running-ioccc-entries"><a name="faq3"></a>Section 3: Compiling and running IOCCC entries</h2>
|
||||
<h3 id="faq-3.0-what-makefile-rules-are-available-to-build-or-clean-up-ioccc-entries"><a name="faq3_0"></a>FAQ 3.0: What Makefile rules are available to build or clean up IOCCC entries?</h3>
|
||||
<p>In general the best way to compile everything in an entry directory is to run:</p>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber all</span></code></pre></div>
|
||||
<p>If you wish to compile every entry for every year you should go to the top level
|
||||
directory and run the same command as above, <code>make clobber all</code>.</p>
|
||||
<p>The <code>all</code> rule will build everything necessary except for the alternate
|
||||
versions. Every Makefile has an <code>alt</code> rule but it will only do something if an
|
||||
alternate version exists. To build all the entries along with any alternate code
|
||||
you can do from the top level directory:</p>
|
||||
<pre><code>make clobber everything</code></pre>
|
||||
<pre><code> make clobber everything</code></pre>
|
||||
<p>If you wish to only build alternate code you can do:</p>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber alt</span></code></pre></div>
|
||||
<p>If you wish to not remove the entry binaries and only compile the additional alt
|
||||
versions:</p>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> alt</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> alt</span></code></pre></div>
|
||||
<p>The following Makefile rules should be in all Makefiles:</p>
|
||||
<ul>
|
||||
<li>all: build the entry programs (main program and any supplementary program)</li>
|
||||
@@ -948,7 +948,7 @@ the <a href="thanks-for-help.html">thanks-for-help.html</a> file.</p>
|
||||
<h4 id="red-hat-based-linux">Red Hat based Linux</h4>
|
||||
<p>First, see the above note on <a href="#X11_general">installing and starting Xorg</a>.</p>
|
||||
<p>Install Xorg and related packages:</p>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p>See also:</p>
|
||||
<ul>
|
||||
<li><a href="https://www.wikihow.com/Configure-X11-in-Linux">How to Configure X11 in Linux</a></li>
|
||||
@@ -968,7 +968,7 @@ XQuartz</a>, preferably on an <a href="https://support.apple.com/macos">Apple su
|
||||
macOS, preferably the most recent version</a>.
|
||||
After it is installed, open the “XQuartz” application (usually located in
|
||||
<code>/Applications/Utilities/XQuartz.app</code>) by typing at the command line:</p>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ex">open</span> /Applications/Utilities/XQuartz.app</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">open</span> /Applications/Utilities/XQuartz.app</span></code></pre></div>
|
||||
<p>With the “XQuartz” application open you will get an <a href="https://www.x.org/wiki/">X Window System
|
||||
Manager</a> launched with an <a href="https://en.wikipedia.org/wiki/Xterm">Xterm window
|
||||
shell</a> started:</p>
|
||||
@@ -987,7 +987,7 @@ See the above note for details.</p>
|
||||
<p>First, see the above note on <a href="#X11_general">installing and starting Xorg</a>.</p>
|
||||
<p>According to the <a href="https://wiki.debian.org/Xorg">Debian Xorg wiki</a>, installing
|
||||
X11 requires:</p>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt install xorg</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> apt install xorg</span></code></pre></div>
|
||||
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org server has been deprecated</a>.
|
||||
See the above note for details.</p>
|
||||
<h4 id="other-linux-distributions">Other Linux distributions</h4>
|
||||
@@ -1005,9 +1005,9 @@ may be helpful:</p>
|
||||
<li><a href="https://www.wikihow.com/Configure-X11-in-Linux">How to Configure X11 in Linux</a></li>
|
||||
</ul>
|
||||
<p>For systems that have the <code>dnf(1)</code> command:</p>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> dnf install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p>For systems that have the <code>yum(1)</code> command:</p>
|
||||
<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> yum install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> yum install <span class="at">--skip-broken</span> <span class="at">--best</span> <span class="at">--exclude</span> xorgxrdp <span class="at">--exclude</span> xorgxrdp-glamor <span class="st">'*xorg*'</span> <span class="st">'libx*'</span> <span class="st">'libX*'</span> <span class="st">'fontconfig*'</span></span></code></pre></div>
|
||||
<p><strong>IMPORTANT NOTE</strong>: The <a href="#Xorg_deprecated">X.org server has been deprecated</a>.
|
||||
See the above note for details.</p>
|
||||
<h4 id="package-website">package website</h4>
|
||||
@@ -1020,13 +1020,13 @@ See the above note for details.</p>
|
||||
macOS with alternative methods for macOS and different package managers with Linux.</p>
|
||||
<h4 id="red-hat-based-linux-1">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install SDL2 SDL2-devel sdl12-compat sdl12-compat-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install SDL2 SDL2-devel sdl12-compat sdl12-compat-devel</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<p>In the past it was said that one might need to run <code>make</code> like:</p>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<p>or set the following environment variable:</p>
|
||||
<div class="sourceCode" id="cb14"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb14"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<p>but this might not be necessary in more modern days especially as we use
|
||||
<code>sdl-config</code> and <code>sdl2-config</code> which should find the proper paths.</p>
|
||||
<h4 id="macos-1">macOS</h4>
|
||||
@@ -1038,20 +1038,20 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install SDL and SDL2, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sdl2 sdl12-compat</span>
|
||||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">brew</span> install sdl2 sdl12-compat</span>
|
||||
<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a> <span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<h5 id="macos-via-macports">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libsdl libsdl2</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> port install libsdl libsdl2</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-1">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libsdl1.2debian libsdl1.2-dev libsdl2-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">apt</span> install libsdl1.2debian libsdl1.2-dev libsdl2-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<p>In the past it was said that one might need to run <code>make</code> like:</p>
|
||||
<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> ... SDL2_INCLUDE_ROOT=/usr</span></code></pre></div>
|
||||
<p>or set the following environment variable:</p>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">export</span> <span class="va">SDL2_INCLUDE_ROOT</span><span class="op">=</span>/usr</span></code></pre></div>
|
||||
<p>but this might not be necessary in more modern days especially as we use
|
||||
<code>sdl-config</code> and <code>sdl2-config</code> which should find the proper paths.</p>
|
||||
<h4 id="other-linux-distributions-1">Other Linux distributions</h4>
|
||||
@@ -1075,10 +1075,10 @@ as a GitHub pull request</a> for more information about pull requests.</p>
|
||||
macOS with alternative methods for macOS and different package managers with Linux.</p>
|
||||
<h4 id="red-hat-based-linux-2">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ncurses ncurses-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install ncurses ncurses-devel</span></code></pre></div>
|
||||
<h4 id="macos-2">macOS</h4>
|
||||
<p>With macOS it should already be installed. If it is not you might have to do:</p>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">xcode-select</span> <span class="at">--install</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">xcode-select</span> <span class="at">--install</span></span></code></pre></div>
|
||||
<p>and agree to the terms and conditions and proceed with the install.</p>
|
||||
<h5 id="macos-via-homebrew-1">macOS via Homebrew</h5>
|
||||
<p>Not applicable, see above.</p>
|
||||
@@ -1086,7 +1086,7 @@ macOS with alternative methods for macOS and different package managers with Lin
|
||||
<p>Not applicable, see above.</p>
|
||||
<h4 id="debian-based-linux-2">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libncurses6</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">apt</span> install libncurses6</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-2">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1103,18 +1103,18 @@ processing programs, <a href="https://sox.sourceforge.net">SoX</a>, will work. H
|
||||
install depends on your OS.</p>
|
||||
<h4 id="red-hat-based-linux-3">Red Hat based Linux</h4>
|
||||
<p>As root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install <span class="at">-y</span> sox sox-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install <span class="at">-y</span> sox sox-devel</span></code></pre></div>
|
||||
<h4 id="macos-3">macOS</h4>
|
||||
<p>For macOS there are two well known options.</p>
|
||||
<h5 id="macos-via-homebrew-2">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install SoX, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb24"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install sox</span>
|
||||
<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a><span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb24"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">brew</span> install sox</span>
|
||||
<span id="cb24-2"><a href="#cb24-2" aria-hidden="true" tabindex="-1"></a> <span class="bu">eval</span> <span class="st">"</span><span class="va">$(</span><span class="ex">opt/homebrew/bin/brew</span> shellenv<span class="va">)</span><span class="st">"</span></span></code></pre></div>
|
||||
<h5 id="macos-via-macports-2">macOS via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb25"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install sox</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb25"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> port install sox</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-3">Debian based Linux</h4>
|
||||
<p>Usually the index.html file will explain how to use it under Debian so we do not
|
||||
include this here, at least for now.</p>
|
||||
@@ -1135,13 +1135,13 @@ when they do, <code>-Weverything</code> is enabled with all of its challenges, p
|
||||
warnings, and sometimes warnings about things that do not matter, some of which
|
||||
are frankly frivolous and often downright dubious.</p>
|
||||
<p>To enable this feature:</p>
|
||||
<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all CC=clang</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber all CC=clang</span></code></pre></div>
|
||||
<p>or:</p>
|
||||
<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> clobber all <span class="st">'CWARN+= -Weverything'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> clobber all <span class="st">'CWARN+= -Weverything'</span></span></code></pre></div>
|
||||
<p>though it should be noted that if one tries <code>-Weverything</code> with compilers that
|
||||
are not <code>clang</code> they <em>might</em> see something like:</p>
|
||||
<div class="sourceCode" id="cb28"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> <span class="st">'int main(void) {}'</span> <span class="op">></span> foo.c <span class="kw">;</span> <span class="fu">cc</span> <span class="at">-Weverything</span> foo.c <span class="at">-o</span> foo</span>
|
||||
<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="ex">cc:</span> error: unrecognized command-line option <span class="st">'-Weverything'</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb28"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">echo</span> <span class="st">'int main(void) {}'</span> <span class="op">></span> foo.c <span class="kw">;</span> <span class="fu">cc</span> <span class="at">-Weverything</span> foo.c <span class="at">-o</span> foo</span>
|
||||
<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">cc:</span> error: unrecognized command-line option <span class="st">'-Weverything'</span></span></code></pre></div>
|
||||
<p>which means that it can’t even be compiled. Thus the proper way to do it is the
|
||||
first way, <code>make clobber all CC=clang</code>.</p>
|
||||
<p>IOCCC authors who have access to <code>clang</code> might wish to try their
|
||||
@@ -1184,11 +1184,11 @@ Ferguson</a> was able to
|
||||
get much of it to work and looking at that entry might be of value to your
|
||||
submissions, at least if you can figure the code out :-). To see the
|
||||
differences, try from <code>1989/westley</code>:</p>
|
||||
<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<p>If you have <code>colordiff</code> try:</p>
|
||||
<div class="sourceCode" id="cb30"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb30"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> DIFF=colordiff diff_orig_prog</span></code></pre></div>
|
||||
<p>Alternatively you can try:</p>
|
||||
<div class="sourceCode" id="cb31"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..eb9e69fde657acc8c85a618a8a99af4c2f93b21d westley.c</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb31"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> diff d2a42f42e8f477f29e9d5ed09ce2bb349eaf7397..eb9e69fde657acc8c85a618a8a99af4c2f93b21d westley.c</span></code></pre></div>
|
||||
<p>As you can see, using <code>clang</code> has some additional problems to work out but if
|
||||
you can get your entry to work well in <code>clang</code> it might very well be considered
|
||||
better than other entries.</p>
|
||||
@@ -1202,14 +1202,14 @@ special characters. There are typical defaults like (where <code>^</code> = ctrl
|
||||
</ul>
|
||||
<p>and various others. But if you don’t know this you can find out through the
|
||||
<code>stty(1)</code> command with the <code>-a</code> option. For instance with macOS you might see:</p>
|
||||
<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span></span>
|
||||
<span id="cb32-2"><a href="#cb32-2" aria-hidden="true" tabindex="-1"></a><span class="ex">speed</span> 9600 baud<span class="kw">;</span> <span class="ex">rows</span> 40<span class="kw">;</span> <span class="ex">columns</span> 155<span class="kw">;</span></span>
|
||||
<span id="cb32-3"><a href="#cb32-3" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C<span class="kw">;</span> <span class="ex">quit</span> = ^<span class="dt">\;</span> erase = ^<span class="pp">?</span><span class="kw">;</span> <span class="bu">kill</span> = ^U<span class="kw">;</span> <span class="ex">eof</span> = ^D<span class="kw">;</span> <span class="ex">[..snip..]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">$</span> stty <span class="at">-a</span></span>
|
||||
<span id="cb32-2"><a href="#cb32-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">speed</span> 9600 baud<span class="kw">;</span> <span class="ex">rows</span> 40<span class="kw">;</span> <span class="ex">columns</span> 155<span class="kw">;</span></span>
|
||||
<span id="cb32-3"><a href="#cb32-3" aria-hidden="true" tabindex="-1"></a> <span class="ex">intr</span> = ^C<span class="kw">;</span> <span class="ex">quit</span> = ^<span class="dt">\;</span> erase = ^<span class="pp">?</span><span class="kw">;</span> <span class="bu">kill</span> = ^U<span class="kw">;</span> <span class="ex">eof</span> = ^D<span class="kw">;</span> <span class="ex">[..snip..]</span></span></code></pre></div>
|
||||
<p>If you know the name you can use <code>grep</code> to find the correct line and if your
|
||||
implementation of <code>grep(1)</code> has the <code>-o</code> option you can filter it. For instance
|
||||
to find what the <code>intr</code> is set to:</p>
|
||||
<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> stty <span class="at">-a</span> <span class="kw">|</span><span class="fu">grep</span> <span class="at">-o</span> <span class="st">'intr = ^[[:alpha:]]'</span></span>
|
||||
<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a><span class="ex">intr</span> = ^C</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">$</span> stty <span class="at">-a</span> <span class="kw">|</span><span class="fu">grep</span> <span class="at">-o</span> <span class="st">'intr = ^[[:alpha:]]'</span></span>
|
||||
<span id="cb33-2"><a href="#cb33-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">intr</span> = ^C</span></code></pre></div>
|
||||
<p>… assuming of course that it’s a ctrl combination :-) If for some strange
|
||||
reason it’s not you might have to do something else including just piping it to
|
||||
just <code>grep intr</code> or whatever.</p>
|
||||
@@ -1246,19 +1246,19 @@ Please see <a href="#fix_an_entry">FAQ 5.2</a> for how to submit a fix to an IOC
|
||||
<p>If your OS package manager does not have the package <code>tcpserver</code> you can
|
||||
download, making sure you’re in a temporary directory, and compile the source
|
||||
like:</p>
|
||||
<div class="sourceCode" id="cb34"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a><span class="fu">wget</span> http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a><span class="fu">tar</span> ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-3"><a href="#cb34-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> ucspi-tcp-0.88</span>
|
||||
<span id="cb34-4"><a href="#cb34-4" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb34"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">wget</span> http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-2"><a href="#cb34-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">tar</span> ucspi-tcp-0.88.tar.gz</span>
|
||||
<span id="cb34-3"><a href="#cb34-3" aria-hidden="true" tabindex="-1"></a> <span class="bu">cd</span> ucspi-tcp-0.88</span>
|
||||
<span id="cb34-4"><a href="#cb34-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span></span></code></pre></div>
|
||||
<p>Then as root or via <code>sudo(1)</code> enter:</p>
|
||||
<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> setup check</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> setup check</span></code></pre></div>
|
||||
<p>That will install it to <code>/usr/local/bin</code>. Now you should be able to use the
|
||||
entry in question.</p>
|
||||
<h3 id="how-do-i-compile-and-install-netpbm-for-entries-that-require-it"><a name="faq3_15"></a><a name="netpbm"></a>3.15 - How do I compile and install netpbm for entries that require it?</h3>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-4">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install netpbm-progs netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install netpbm-progs netpbm</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-4">macOS</h4>
|
||||
@@ -1270,14 +1270,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-3">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install netpbm, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb37"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb37"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">brew</span> install netpbm</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-3">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libnetpbm netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> port install libnetpbm netpbm</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-4">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install netpbm</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">apt</span> install netpbm</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-4">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1292,7 +1292,7 @@ for downloading, installing and using netpbm.</p>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-5">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb40"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install libjpeg-turbo-utils libjpeg-turbo-devel libjpeg-turbo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb40"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install libjpeg-turbo-utils libjpeg-turbo-devel libjpeg-turbo</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-5">macOS</h4>
|
||||
@@ -1304,14 +1304,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-4">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install libjpeg-turbo, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install libjpeg-turbo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">brew</span> install libjpeg-turbo</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-4">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install libjpeg-turbo libjpeg-turbo-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> port install libjpeg-turbo libjpeg-turbo-devel</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-5">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb43"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install libturbojpeg0 libturbojpeg0-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb43"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">apt</span> install libturbojpeg0 libturbojpeg0-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-5">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1326,7 +1326,7 @@ for downloading, installing and using libjpeg-turbo.</p>
|
||||
<p>This depends on your operating system for which we describe a couple below.</p>
|
||||
<h4 id="red-hat-based-linux-6">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true" tabindex="-1"></a><span class="ex">dnf</span> install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">dnf</span> install ImageMagick</span></code></pre></div>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
<h4 id="macos-6">macOS</h4>
|
||||
@@ -1338,14 +1338,14 @@ the package website.</p>
|
||||
<h5 id="macos-via-homebrew-5">macOS via Homebrew</h5>
|
||||
<p>If you have not already done so, install <a href="https://brew.sh">Homebrew</a>.</p>
|
||||
<p>Then to install ImageMagick, execute the following command:</p>
|
||||
<div class="sourceCode" id="cb45"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a><span class="ex">brew</span> install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb45"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">brew</span> install ImageMagick</span></code></pre></div>
|
||||
<h5 id="macos-via-macports-5">macos via MacPorts</h5>
|
||||
<p>If you haven’t already, install
|
||||
<a href="https://www.macports.org/install.php">MacPorts</a>. Then run:</p>
|
||||
<div class="sourceCode" id="cb46"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> port install ImageMagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb46"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> port install ImageMagick</span></code></pre></div>
|
||||
<h4 id="debian-based-linux-6">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a><span class="ex">apt</span> install imagemagick</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">apt</span> install imagemagick</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<h4 id="other-linux-distributions-6">Other Linux distributions</h4>
|
||||
<p>Use your package manager to install the appropriate packages. Try the search
|
||||
@@ -1363,19 +1363,12 @@ See <a href="#X11_general">FAQ 3.7: How do I run an IOCCC entry that requires X1
|
||||
general information about X11.</p>
|
||||
<p>Once X11 is install and the X Window Server is running, one needs to compile
|
||||
and link with the two libraries, <em>GL</em> and <em>GLU</em>:</p>
|
||||
<div class="sourceCode" id="cb48"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a><span class="fu">cc</span> ... <span class="at">-lGL</span> <span class="at">-lGLU</span> <span class="at">-L</span> _location-where-X11-libs-are-installed_ <span class="at">-lX11</span></span>
|
||||
<span id="cb48-2"><a href="#cb48-2" aria-hidden="true" tabindex="-1"></a><span class="kw">``</span></span>
|
||||
<span id="cb48-3"><a href="#cb48-3" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-4"><a href="#cb48-4" aria-hidden="true" tabindex="-1"></a><span class="ex">NOTE:</span> The OpenGL development effort is being manageed by <span class="pp">[</span><span class="ss">vulkan.org</span><span class="pp">]</span><span class="er">(</span><span class="ex">https://vulkan.org</span><span class="kw">)</span><span class="bu">.</span></span>
|
||||
<span id="cb48-5"><a href="#cb48-5" aria-hidden="true" tabindex="-1"></a><span class="ex">We</span> suggest you check out their resource for further information on OpenGL.</span>
|
||||
<span id="cb48-6"><a href="#cb48-6" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-7"><a href="#cb48-7" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-8"><a href="#cb48-8" aria-hidden="true" tabindex="-1"></a><span class="co">#### Red Hat based Linux</span></span>
|
||||
<span id="cb48-9"><a href="#cb48-9" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-10"><a href="#cb48-10" aria-hidden="true" tabindex="-1"></a><span class="ex">Execute</span> the following as root or via sudo:</span>
|
||||
<span id="cb48-11"><a href="#cb48-11" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb48-12"><a href="#cb48-12" aria-hidden="true" tabindex="-1"></a><span class="kw">```</span><span class="fu">sh</span></span>
|
||||
<span id="cb48-13"><a href="#cb48-13" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> dnf install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb48"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">cc</span> ... <span class="at">-lGL</span> <span class="at">-lGLU</span> <span class="at">-L</span> _location-where-X11-libs-are-installed_ <span class="at">-lX11</span></span></code></pre></div>
|
||||
<p>NOTE: The OpenGL development effort is being manageed by <a href="https://vulkan.org">vulkan.org</a>.
|
||||
We suggest you check out their resource for further information on OpenGL.</p>
|
||||
<h4 id="red-hat-based-linux-7">Red Hat based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> dnf install glew-devel SDL2-devel SDL2_image-devel glm-devel freetype-devel</span></code></pre></div>
|
||||
<p>See <a href="https://en.wikibooks.org/wiki/OpenGL_Programming/Installation/Linux">OpenGL Programming/Installation/Linux</a> for details.</p>
|
||||
<p>Older RHEL distributions might have to use “yum” instead of “dnf”
|
||||
in the above command.</p>
|
||||
@@ -1387,7 +1380,7 @@ should be able to go. However in Apple drops support for OpenGL later on,
|
||||
you might look to install OpenGL via Homebrew or MacPorts.</p>
|
||||
<h4 id="debian-based-linux-7">Debian based Linux</h4>
|
||||
<p>Execute the following as root or via sudo:</p>
|
||||
<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sudo</span> apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb50"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">sudo</span> apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev</span></code></pre></div>
|
||||
<p>and then try <code>make all</code> again.</p>
|
||||
<p>See <a href="https://en.wikibooks.org/wiki/OpenGL_Programming/Installation/Linux">OpenGL Programming/Installation/Linux</a> for details.</p>
|
||||
<h4 id="other-linux-distributions-7">Other Linux distributions</h4>
|
||||
@@ -1416,9 +1409,9 @@ because of alarming warnings that can be displayed, in some systems at runtime
|
||||
interspersed with the output of the program.</p>
|
||||
<p>For instance in macOS the entry <a href="1990/tbr/index.html">1990/tbr</a> would output the
|
||||
warning in such a way that caused confusing output for the entry, looking like:</p>
|
||||
<div class="sourceCode" id="cb50"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> ./tbr</span>
|
||||
<span id="cb50-2"><a href="#cb50-2" aria-hidden="true" tabindex="-1"></a><span class="ex">$</span> warning: this program uses gets<span class="er">(</span><span class="kw">)</span><span class="ex">,</span> which is unsafe.</span>
|
||||
<span id="cb50-3"><a href="#cb50-3" aria-hidden="true" tabindex="-1"></a><span class="co"># nothing here, what to do?</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb51"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true" tabindex="-1"></a> <span class="ex">$</span> ./tbr</span>
|
||||
<span id="cb51-2"><a href="#cb51-2" aria-hidden="true" tabindex="-1"></a> <span class="ex">$</span> warning: this program uses gets<span class="er">(</span><span class="kw">)</span><span class="ex">,</span> which is unsafe.</span>
|
||||
<span id="cb51-3"><a href="#cb51-3" aria-hidden="true" tabindex="-1"></a> <span class="co"># nothing here, what to do?</span></span></code></pre></div>
|
||||
<p>In some cases changing the code to use <code>fgets()</code> is not so easy to fix and in
|
||||
one case at least there is an alternate version that has the fix instead due to
|
||||
a problem it creates (correct output but segfaults after the output in one of
|
||||
@@ -1434,10 +1427,10 @@ instance the fix to <a href="1988/reddy/index.html">1988/reddy</a> required only
|
||||
these problems.</p>
|
||||
<p>An annoying fact is that for ‘“compatibility” reasons’ <code>fgets()</code> retains the
|
||||
newline and <code>gets()</code> does not. As the Unix version 7 man page used to say:</p>
|
||||
<pre><code>BUGS
|
||||
<pre><code> BUGS
|
||||
|
||||
The fgets(3) function retains the newline while gets(3) does not, all in the
|
||||
name of backward compatibility.</code></pre>
|
||||
The fgets(3) function retains the newline while gets(3) does not, all in the
|
||||
name of backward compatibility.</code></pre>
|
||||
<p>We’re not sure how this is compatibility but either way it can cause a
|
||||
problem and it is this that has complicated most of the fixes though again some
|
||||
can look almost identical.</p>
|
||||
@@ -1484,7 +1477,7 @@ stands (that is <code>entry.alt.c</code> to <code>entry.c</code>).</li>
|
||||
<code>mullender.orig.c</code>, <code>mullender.alt.c</code> and <code>mullender.c</code>. For later years, it
|
||||
would be instead <code>prog.orig.c</code>, <code>prog.alt.c</code> and <code>prog.c</code>.</p>
|
||||
<p>Note that you might see something like:</p>
|
||||
<pre><code>make: [Makefile:170: diff_orig_prog] Error 1 (ignored)</code></pre>
|
||||
<pre><code> make: [Makefile:170: diff_orig_prog] Error 1 (ignored)</code></pre>
|
||||
<p>at the end of the output but this is completely normal if there are differences.</p>
|
||||
<p>If the alt code is the same as the original, say with
|
||||
<a href="1984/anonymous/index.html">1984/anonymous</a>, then naturally there is no point in
|
||||
@@ -1493,7 +1486,7 @@ allows for easily seeing the diffs.</p>
|
||||
<p>As some examples we’ll first look at one that has really long lines which
|
||||
will make it harder to see what is different,
|
||||
<a href="2001/anonymous/index.html">2001/anonymous</a>. What you would do is <code>cd 2001/anonymous</code> and then do:</p>
|
||||
<div class="sourceCode" id="cb53"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb54"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> diff_orig_prog</span></code></pre></div>
|
||||
<p>and then be really confused! :-)</p>
|
||||
<p>But for an entry like <a href="1991/dds/index.html">1991/dds</a>, you can see the
|
||||
differences much more easily. <code>1991/dds</code> is a good example where it’s very
|
||||
@@ -1510,13 +1503,13 @@ when you have compiler errors :-) (though there are, as noted, some examples
|
||||
where it’s quite easy to see the differences).</p>
|
||||
<p><a href="1991/dds/index.html">1991/dds</a> is also a good example to see the alt difference
|
||||
very easily. To do that <code>cd 1991/dds</code> and then do:</p>
|
||||
<div class="sourceCode" id="cb54"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> diff_alt_prog</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> diff_alt_prog</span></code></pre></div>
|
||||
<p>and you’ll see a single line changed and very simply.</p>
|
||||
<h4 id="tip-if-you-have-colordiff-installed-its-a-lot-easier-to-see-the-differences">Tip: if you have <code>colordiff</code> installed it’s a lot easier to see the differences</h4>
|
||||
<p>To use these rules but provide a different <code>diff</code>, for instance <code>colordiff</code>,
|
||||
just do:</p>
|
||||
<div class="sourceCode" id="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_orig_prog <span class="co"># for orig to prog diff</span></span>
|
||||
<span id="cb55-2"><a href="#cb55-2" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> DIFF=colordiff diff_alt_prog <span class="co"># for alt to prog diff</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb56"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> DIFF=colordiff diff_orig_prog <span class="co"># for orig to prog diff</span></span>
|
||||
<span id="cb56-2"><a href="#cb56-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> DIFF=colordiff diff_alt_prog <span class="co"># for alt to prog diff</span></span></code></pre></div>
|
||||
<p>Obviously if you want to view the alt code or the orig code you can just open
|
||||
the files as described above.</p>
|
||||
<h3 id="faq-4.3---why-do-author-remarks-sometimes-not-match-the-source-andor-why-are-there-other-inconsistencies-with-the-original-entry"><a name="faq4_3"></a> FAQ 4.3 - Why do author remarks sometimes not match the source and/or why are there other inconsistencies with the original entry?</h3>
|
||||
@@ -1635,20 +1628,20 @@ request</a> for more information about pull requests.</p>
|
||||
<p>Nearly all HTML files on the <a href="https://www.ioccc.org">IOCCC web site</a>
|
||||
are built from <a href="https://daringfireball.net/projects/markdown/">markdown</a> files.
|
||||
If you see lines containing:</p>
|
||||
<pre><code><!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<pre><code> <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<p>This means that the file is generated by a tool from a <a href="bin/index.html">bin directory tool</a>.
|
||||
You should <strong>NOT</strong> attempt to modify the file.</p>
|
||||
<p>You may also find lines slightly below the above set that suggest another file to edit.
|
||||
For example, in <a href="contact.html">contact.html</a>, one may read:</p>
|
||||
<pre><code><!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<pre><code> <!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: contact.md -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<p>This means that you could consider editing the referenced markdown file
|
||||
in your <a href="#pull_request">IOCCC pull request</a>.</p>
|
||||
<p>Please see <a href="#fix_an_entry">FAQ 5.2 How may I submit a fix to an IOCCC
|
||||
@@ -1658,20 +1651,20 @@ request</a> for more information about pull requests.</p>
|
||||
<p>In some cases, the HTML file is <strong>NOT</strong> based on markdown content, but instead
|
||||
came from JSON and other data files. So instead of the above reference to a
|
||||
markdown file, you will read:</p>
|
||||
<pre><code><!-- The main section of this web page came from JSON and other data files -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<pre><code> <!-- The main section of this web page came from JSON and other data files -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- The main section of this web page was generated via the tool: bin/gen-years.sh -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --></code></pre>
|
||||
<p>This means there is <strong>NOT even a markdown file to edit</strong>. Instead one must
|
||||
modify JSON files and/or change a <a href="bin/index.html">bin directory tool</a>.</p>
|
||||
<p>If this happens, consider opening up an <a href="https://github.com/ioccc-src/winner/issues">IOCCC issue</a>
|
||||
and ask for help. See <a href="#fix_an_entry">FAQ 5.3</a> for information on opening up an IOCCC issue.</p>
|
||||
<h2 id="faq-5.5-how-may-i-correct-or-update-ioccc-author-information"><a name="faq5_5"></a><a name="fix_author"></a>FAQ 5.5: How may I correct or update IOCCC author information?</h2>
|
||||
<p>Authors of IOCCC winning entries are kept in JSON files of the form:</p>
|
||||
<pre><code>author/author_handle.json</code></pre>
|
||||
<pre><code> author/author_handle.json</code></pre>
|
||||
<p>where <em>author_handle</em> is an author handle. See <a href="#author_handle">FAQ 6.5</a> for more
|
||||
information about an author handles.</p>
|
||||
<p>The contents of these JSON files contain the best known information
|
||||
@@ -1713,11 +1706,11 @@ please consider submitting a change to replace the link accordingly.</p>
|
||||
<p>If there is no alternative that you can find you might want to remove the link
|
||||
instead by replacing the link with just phrase of text. For example,
|
||||
if the text in some <code>index.html</code> file was:</p>
|
||||
<pre><code>See the [author's description of the program](https://example.com) for more information.</code></pre>
|
||||
<pre><code> See the [author's description of the program](https://example.com) for more information.</code></pre>
|
||||
<p>Assuming that the author’s description cannot be found in the
|
||||
<a href="https://web.archive.org">Internet Wayback Machine</a> archive, then
|
||||
replace that text with:</p>
|
||||
<pre><code>See the **author's description of the program** (sorry the content is no longer available) for more information.</code></pre>
|
||||
<pre><code> See the **author's description of the program** (sorry the content is no longer available) for more information.</code></pre>
|
||||
<p>If you just wish to report the bad link issue, see <a href="#report_web_problem">FAQ 5.3</a>.</p>
|
||||
<h2 id="section-6-miscellaneous-ioccc"><a name="faq6"></a>Section 6: Miscellaneous IOCCC</h2>
|
||||
<h3 id="faq-6.0-how-did-an-entry-that-breaks-the-size-rule-2-win-the-ioccc"><a name="faq6_0"></a>FAQ 6.0: How did an entry that breaks the size rule 2 win the IOCCC?</h3>
|
||||
@@ -1778,14 +1771,14 @@ exaggeration</a>.</p>
|
||||
<p>An <code>author_handle</code> is string that refers to a given author and is unique to the
|
||||
IOCCC. Each author has exactly one <code>author_handle</code>.</p>
|
||||
<p>For each <code>author_handle</code>, there will be a JSON file of the form:</p>
|
||||
<pre><code>author/author_handle.json</code></pre>
|
||||
<pre><code> author/author_handle.json</code></pre>
|
||||
<p>See <a href="#author_json">FAQ 6.6</a> for information about the contents of these JSON file and
|
||||
how they are used.</p>
|
||||
<p>Because the <code>author_handle</code> is used to form a JSON filename, the string must be
|
||||
POSIX safe string plus the use of <code>+</code> (for technical reasons beyond this
|
||||
answer). In particular, the <code>author_handle</code> must be an ASCII string that
|
||||
matches this regexp:</p>
|
||||
<pre class="re"><code>^[0-9A-Za-z][0-9A-Za-z._+-]*$"</code></pre>
|
||||
<pre class="re"><code> ^[0-9A-Za-z][0-9A-Za-z._+-]*$"</code></pre>
|
||||
<p>Default <code>author_handle</code>’s do not have multiple consecutive <code>_</code> (underscore)
|
||||
characters. Nevertheless, multiple consecutive <code>_</code> (underscore) characters are
|
||||
allowed. Contest submitters who wish to override their default <code>author_handle</code> may do so.</p>
|
||||
@@ -1798,15 +1791,15 @@ desire.</p>
|
||||
<code>author_handle</code> so that new winning entries can be associated with the same
|
||||
author.</p>
|
||||
<p>For an anonymous <code>author</code>, their handle is one of these forms:</p>
|
||||
<pre><code>Anonymous_year</code></pre>
|
||||
<pre><code> Anonymous_year</code></pre>
|
||||
<p>or:</p>
|
||||
<pre><code>Anonymous_year.digits</code></pre>
|
||||
<pre><code> Anonymous_year.digits</code></pre>
|
||||
<p>The latter form is in case there are more than one anonymous author in a given
|
||||
year.</p>
|
||||
<p>NOTE: even if the directory name is not <code>anonymous</code> the above rules apply as in
|
||||
in the case of <a href="2005/anon/anon.c">2005/anon</a>.</p>
|
||||
<p>Anonymous <code>author_handle</code>’s match this regexp:</p>
|
||||
<pre class="re"><code>Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre>
|
||||
<pre class="re"><code> Anonymous_[0-9][0-9][0-9][0-9][.0-9]*$</code></pre>
|
||||
<p>See <a href="#fix_author">FAQ 5.5</a> for information about how to update
|
||||
and/or correct IOCCC author information.</p>
|
||||
<h3 id="faq-6.6-what-is-a-author_handle.json-file-and-how-are-they-used"><a name="faq6_6"></a><a name="author_json"></a>FAQ 6.6: What is a author_handle.json file and how are they used?</h3>
|
||||
@@ -1824,7 +1817,7 @@ contact an authors of a IOCCC entry, they will consult the contents
|
||||
of the author’s JSON file for ways to contact them.</p>
|
||||
<p>Each author of an IOCCC winning entry has their own <code>author_handle.json</code> file
|
||||
of the form:</p>
|
||||
<pre><code>author/author_handle.json</code></pre>
|
||||
<pre><code> author/author_handle.json</code></pre>
|
||||
<p>where <em>author_handle</em> is an author handle. See <a href="#author_handle">FAQ 6.5</a> for more
|
||||
information about an author handles.</p>
|
||||
<h4 id="author_handle.json-json-file-contents">author_handle.json JSON file contents</h4>
|
||||
@@ -1833,54 +1826,54 @@ See <a href="https://github.com/ioccc-src/mkiocccentry/blob/master/jparse/json_i
|
||||
for information on the <em>So-called JSON spec</em>.</p>
|
||||
<p>A good way to understand the JSON file contents of a <code>author_handle.json</code> file
|
||||
is to look at an example, the <code>author_handle.json</code> file for Yusuke Endoh:</p>
|
||||
<pre><code>author/Yusuke_Endoh.json</code></pre>
|
||||
<pre><code> author/Yusuke_Endoh.json</code></pre>
|
||||
<p>As of <em>Thu Nov 30 23:51:12 UTC 2023</em>, the contents was as follows:</p>
|
||||
<div class="sourceCode" id="cb69"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb69-1"><a href="#cb69-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
|
||||
<span id="cb69-2"><a href="#cb69-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"no_comment"</span> <span class="fu">:</span> <span class="st">"mandatory comment: because comments were removed from the original JSON spec"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-3"><a href="#cb69-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_JSON_format_version"</span> <span class="fu">:</span> <span class="st">"1.0 2023-06-10"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-4"><a href="#cb69-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_handle"</span> <span class="fu">:</span> <span class="st">"Yusuke_Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-5"><a href="#cb69-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"full_name"</span> <span class="fu">:</span> <span class="st">"Yusuke Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-6"><a href="#cb69-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"sort_word"</span> <span class="fu">:</span> <span class="st">"endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-7"><a href="#cb69-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"location_code"</span> <span class="fu">:</span> <span class="st">"JP"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-8"><a href="#cb69-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">"email"</span> <span class="fu">:</span> <span class="st">"mame@ruby-lang.org"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-9"><a href="#cb69-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">"url"</span> <span class="fu">:</span> <span class="st">"https://mametter.hatenablog.com"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-10"><a href="#cb69-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">"alt_url"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-11"><a href="#cb69-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">"deprecated_twitter_handle"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-12"><a href="#cb69-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon"</span> <span class="fu">:</span> <span class="st">"@mame@ruby.social"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-13"><a href="#cb69-13" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon_url"</span> <span class="fu">:</span> <span class="st">"https://ruby.social/@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-14"><a href="#cb69-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">"github"</span> <span class="fu">:</span> <span class="st">"@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb69-15"><a href="#cb69-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">"affiliation"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb69-16"><a href="#cb69-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">"winning_entry_set"</span> <span class="fu">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb69-17"><a href="#cb69-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-18"><a href="#cb69-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-19"><a href="#cb69-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-20"><a href="#cb69-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-21"><a href="#cb69-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-22"><a href="#cb69-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-23"><a href="#cb69-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-24"><a href="#cb69-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-25"><a href="#cb69-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-26"><a href="#cb69-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-27"><a href="#cb69-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-28"><a href="#cb69-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-29"><a href="#cb69-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-30"><a href="#cb69-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-31"><a href="#cb69-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2019_endoh"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-32"><a href="#cb69-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-33"><a href="#cb69-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb69-34"><a href="#cb69-34" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb69-35"><a href="#cb69-35" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
|
||||
<span id="cb69-36"><a href="#cb69-36" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb70"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span></span>
|
||||
<span id="cb70-2"><a href="#cb70-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">"no_comment"</span> <span class="fu">:</span> <span class="st">"mandatory comment: because comments were removed from the original JSON spec"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-3"><a href="#cb70-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_JSON_format_version"</span> <span class="fu">:</span> <span class="st">"1.0 2023-06-10"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-4"><a href="#cb70-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">"author_handle"</span> <span class="fu">:</span> <span class="st">"Yusuke_Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-5"><a href="#cb70-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">"full_name"</span> <span class="fu">:</span> <span class="st">"Yusuke Endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-6"><a href="#cb70-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">"sort_word"</span> <span class="fu">:</span> <span class="st">"endoh"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-7"><a href="#cb70-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">"location_code"</span> <span class="fu">:</span> <span class="st">"JP"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-8"><a href="#cb70-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">"email"</span> <span class="fu">:</span> <span class="st">"mame@ruby-lang.org"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-9"><a href="#cb70-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">"url"</span> <span class="fu">:</span> <span class="st">"https://mametter.hatenablog.com"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-10"><a href="#cb70-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">"alt_url"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-11"><a href="#cb70-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">"deprecated_twitter_handle"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-12"><a href="#cb70-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon"</span> <span class="fu">:</span> <span class="st">"@mame@ruby.social"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-13"><a href="#cb70-13" aria-hidden="true" tabindex="-1"></a> <span class="dt">"mastodon_url"</span> <span class="fu">:</span> <span class="st">"https://ruby.social/@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-14"><a href="#cb70-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">"github"</span> <span class="fu">:</span> <span class="st">"@mame"</span><span class="fu">,</span></span>
|
||||
<span id="cb70-15"><a href="#cb70-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">"affiliation"</span> <span class="fu">:</span> <span class="kw">null</span><span class="fu">,</span></span>
|
||||
<span id="cb70-16"><a href="#cb70-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">"winning_entry_set"</span> <span class="fu">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb70-17"><a href="#cb70-17" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-18"><a href="#cb70-18" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-19"><a href="#cb70-19" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-20"><a href="#cb70-20" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-21"><a href="#cb70-21" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-22"><a href="#cb70-22" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-23"><a href="#cb70-23" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-24"><a href="#cb70-24" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2014_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-25"><a href="#cb70-25" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-26"><a href="#cb70-26" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-27"><a href="#cb70-27" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh3"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-28"><a href="#cb70-28" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2015_endoh4"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-29"><a href="#cb70-29" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-30"><a href="#cb70-30" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2018_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-31"><a href="#cb70-31" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2019_endoh"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-32"><a href="#cb70-32" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-33"><a href="#cb70-33" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb70-34"><a href="#cb70-34" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb70-35"><a href="#cb70-35" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span>
|
||||
<span id="cb70-36"><a href="#cb70-36" aria-hidden="true" tabindex="-1"></a> <span class="fu">}</span></span></code></pre></div>
|
||||
<p>We now will walk thru the above JSON document looking at various JSON members:</p>
|
||||
<h5 id="no_comment">no_comment</h5>
|
||||
<div class="sourceCode" id="cb70"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"no_comment"</span> <span class="er">:</span> <span class="er">"mandatory</span> <span class="er">comment:</span> <span class="er">because</span> <span class="er">comments</span> <span class="er">were</span> <span class="er">removed</span> <span class="er">from</span> <span class="er">the</span> <span class="er">original</span> <span class="er">JSON</span> <span class="er">spec",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb71"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"no_comment"</span> <span class="er">:</span> <span class="er">"mandatory</span> <span class="er">comment:</span> <span class="er">because</span> <span class="er">comments</span> <span class="er">were</span> <span class="er">removed</span> <span class="er">from</span> <span class="er">the</span> <span class="er">original</span> <span class="er">JSON</span> <span class="er">spec",</span></span></code></pre></div>
|
||||
<p>Because the authors of the so-called JSON spec removed the ability to use comments in JSON
|
||||
(for reason(s) that seem to be less than credible), the IOCCC mandates this <em>JSON member</em>
|
||||
be present in all IOCCC related JSON files.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>no_comment</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be the exact <em>JSON string</em> as shown above.</p>
|
||||
<h5 id="author_json_format_version">author_JSON_format_version</h5>
|
||||
<div class="sourceCode" id="cb71"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_JSON_format_version"</span> <span class="er">:</span> <span class="er">"1.0</span> <span class="er">2023-06-10",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb72"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_JSON_format_version"</span> <span class="er">:</span> <span class="er">"1.0</span> <span class="er">2023-06-10",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the format version of the <code>author_handle.json</code> JSON file.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>author_JSON_format_version</code>
|
||||
<em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||
@@ -1892,7 +1885,7 @@ of the these files is modified: and then only those who maintain the
|
||||
<a href="https://www.ioccc.org">official IOCCC web site</a> would be the one to do this
|
||||
in conjunction with changes to <a href="bin/index.html">bin directory tools</a>.</p>
|
||||
<h5 id="author_handle">author_handle</h5>
|
||||
<div class="sourceCode" id="cb72"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_handle"</span> <span class="er">:</span> <span class="er">"Yusuke_Endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb73"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"author_handle"</span> <span class="er">:</span> <span class="er">"Yusuke_Endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the author handle of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>author_handle</code> <em>JSON member</em>
|
||||
and the <em>JSON value</em> <strong>MUST</strong> be a <em>JSON string</em> that is also a value author handle.</p>
|
||||
@@ -1906,14 +1899,14 @@ without the trailing <code>.json</code>) of the <code>author_handle.json</code>
|
||||
a change of <em>author_handle</em> <em>JSON value</em> would also require the
|
||||
<code>author_handle.json</code> file to also be renamed.</p>
|
||||
<h5 id="full_name">full_name</h5>
|
||||
<div class="sourceCode" id="cb73"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"full_name"</span> <span class="er">:</span> <span class="er">"Yusuke</span> <span class="er">Endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb74"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"full_name"</span> <span class="er">:</span> <span class="er">"Yusuke</span> <span class="er">Endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the full name of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>full_name</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em>.</p>
|
||||
<p>The full name of an author may use non-ASCII characters so long as the
|
||||
full name is properly encoded as a <em>JSON string</em>.</p>
|
||||
<h5 id="sort_word">sort_word</h5>
|
||||
<div class="sourceCode" id="cb74"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"sort_word"</span> <span class="er">:</span> <span class="er">"endoh",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb75"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"sort_word"</span> <span class="er">:</span> <span class="er">"endoh",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the string that will be used to sort the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>sort_word</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em>. Moreover the string <strong>MUST</strong> be a lower case ASCII
|
||||
@@ -1927,7 +1920,7 @@ wishes to be found in the <code>/authors.html</code> file under a different
|
||||
string, such as if they wish to be listed under their first name
|
||||
or their username, then they may change this accordingly.</p>
|
||||
<h5 id="location_code">location_code</h5>
|
||||
<div class="sourceCode" id="cb75"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"location_code"</span> <span class="er">:</span> <span class="er">"JP",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb76"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"location_code"</span> <span class="er">:</span> <span class="er">"JP",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the string that is the
|
||||
<a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table">ISO 3166-1 alpha-2 code</a>
|
||||
of the author’s location or country.</p>
|
||||
@@ -1944,38 +1937,38 @@ ISO 3166-1 alpha-2 codes belong to locations that are not technically
|
||||
a country, such as “Antarctica” or a User-assigned code.</p>
|
||||
<p>If the author wishes to not specify a location, they should select <strong>XX</strong>.</p>
|
||||
<h5 id="email">email</h5>
|
||||
<div class="sourceCode" id="cb76"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">"mame@ruby-lang.org",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb77"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">"mame@ruby-lang.org",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the email address of the author, or is the value null.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>email</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>If the author wishes to not specify an email address, or if the email address is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb77"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb78"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"email"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="url">url</h5>
|
||||
<div class="sourceCode" id="cb78"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">"https://mametter.hatenablog.com",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb79"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">"https://mametter.hatenablog.com",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the URL of the author’s home page.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>If the author wishes to not specify an email address, or if the URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb79"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb80"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="alt_url">alt_url</h5>
|
||||
<div class="sourceCode" id="cb80"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb81"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds an alternate or 2nd URL a home page for the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>In some cases the author may wish to record a special URL for their IOCCC entry,
|
||||
or a 2nd URL such as a work or school or personal home page. For example,
|
||||
Cody as of <em>Thu Nov 30 23:51:12 UTC 2023</em> used:</p>
|
||||
<div class="sourceCode" id="cb81"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">"https://ioccc.xexyl.net",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb82"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"alt_url"</span> <span class="er">:</span> <span class="er">"https://ioccc.xexyl.net",</span></span></code></pre></div>
|
||||
<p>If the author wishes to not specify an email address, or if the alternate URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb82"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb83"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="deprecated_twitter_handle">deprecated_twitter_handle</h5>
|
||||
<p>This <em>JSON member</em> used to hold the twitter handle of the author.</p>
|
||||
@@ -1985,14 +1978,14 @@ be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</
|
||||
and so the <code>deprecated_twitter_handle</code> is <strong>no longer used</strong>. A <em>JSON value</em> that is
|
||||
not a <em>JSON null</em> is kept for only historic reasons. For example, Anthony C. Howe
|
||||
once used:</p>
|
||||
<div class="sourceCode" id="cb83"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">"@SirWumpus",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb84"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb84-1"><a href="#cb84-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">"@SirWumpus",</span></span></code></pre></div>
|
||||
<p>If the author wishes to not specify an twitter handle, or if the twitter handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb84"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb84-1"><a href="#cb84-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb85"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"deprecated_twitter_handle"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="mastodon">mastodon</h5>
|
||||
<div class="sourceCode" id="cb85"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">"@mame@ruby.social",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb86"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">"@mame@ruby.social",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the
|
||||
<a href="https://en.wikipedia.org/wiki/Mastodon_(social_network)">Mastodon social network</a>
|
||||
handle of the author.</p>
|
||||
@@ -2004,7 +1997,7 @@ used by the author.</p>
|
||||
<p>For more information in Mastodon, see the <a href="https://mastodon.help">Mastodon help</a> guide.
|
||||
See the “Mastodon Address” section of that page in particular.</p>
|
||||
<p>The IOCCC Mastodon handle is:</p>
|
||||
<div class="sourceCode" id="cb86"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true" tabindex="-1"></a><span class="er">@ioccc@fosstodon.org</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb87"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a> <span class="er">@ioccc@fosstodon.org</span></span></code></pre></div>
|
||||
<p>The IOCCC uses the Mastodon social network for announcements such
|
||||
as the opening and closing of a new IOCCC, changes to the IOCCC web
|
||||
site, updates during the judging process, and when new IOCCC entries
|
||||
@@ -2012,10 +2005,10 @@ are selected. We recommend you follow us on Mastodon.</p>
|
||||
<p>If the author wishes to not specify an Mastodon handle, or if the Mastodon handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb87"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb88"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb88-1"><a href="#cb88-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="mastodon_url">mastodon_url</h5>
|
||||
<div class="sourceCode" id="cb88"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb88-1"><a href="#cb88-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">"https://ruby.social/@mame",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb89"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb89-1"><a href="#cb89-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">"https://ruby.social/@mame",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the URL of the author’s Mastodon page.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>mastodon_url</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <em>JSON string</em> just be a valid URL.
|
||||
@@ -2023,16 +2016,16 @@ If the <code>mastodon</code> handle is a <em>JSON null</em>, them the <code>mast
|
||||
If the <code>mastodon</code> handle is a <em>JSON string</em>, then the <code>mastodon_url</code> <strong>MUST</strong> be a <em>JSON string</em>.</p>
|
||||
<p>The <code>mastodon_url</code> is just a translation of the above mentioned <a href="#mastodon">mastodon</a> handle.
|
||||
For example, if the Mastodon handle is:</p>
|
||||
<pre><code>@user@server.domain</code></pre>
|
||||
<pre><code> @user@server.domain</code></pre>
|
||||
<p>Then the <code>mastodon_url</code> would be:</p>
|
||||
<pre><code>https://server.domain/@user</code></pre>
|
||||
<pre><code> https://server.domain/@user</code></pre>
|
||||
<p>If the author wishes to not specify an Mastodon URL, or if the Mastodon URL is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb91"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb91-1"><a href="#cb91-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb92"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"mastodon_url"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="github">github</h5>
|
||||
<div class="sourceCode" id="cb92"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">"@mame",</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb93"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb93-1"><a href="#cb93-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">"@mame",</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the <a href="https://github.com">GitHub</a> handle of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>github</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>. The <code>github</code> <em>JSON string</em> <strong>MUST</strong>
|
||||
@@ -2040,37 +2033,37 @@ start with an at sign (_<span class="citation" data-cites="_">@_</span>) and <st
|
||||
<p>The IOCCC uses GitHub to hold the <a href="https://github.com/ioccc-src/winner">official winner repo of the IOCCC</a>,
|
||||
and hosts <a href="https://www.ioccc.org">official IOCCC web site</a> on GitHub pages.</p>
|
||||
<p>The IOCCC GitHub handle is:</p>
|
||||
<pre><code>@ioccc-src</code></pre>
|
||||
<pre><code> @ioccc-src</code></pre>
|
||||
<p>If the author wishes to not specify an GitHub handle, or if the GitHub handle is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb94"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb94-1"><a href="#cb94-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb95"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"github"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="affiliation">affiliation</h5>
|
||||
<div class="sourceCode" id="cb95"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb96"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb96-1"><a href="#cb96-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>This <em>JSON member</em> holds the affiliation of the author.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>affiliation</code> <em>JSON member</em> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a <em>JSON string</em> or it <strong>MUST</strong> be a <em>JSON null</em>.</p>
|
||||
<p>An affiliation might be the name of a school, university, company, or organization.
|
||||
It is recommended that the affiliation <em>JSON string</em> be the formal affiliation name.
|
||||
For example, the affiliation for the IOCCC would be:</p>
|
||||
<pre><code>The International Obfuscared C Code Contest</code></pre>
|
||||
<pre><code> The International Obfuscared C Code Contest</code></pre>
|
||||
<p>If the author wishes to not specify an affiliation, or if the affiliation is
|
||||
unknown, they should use the <em>JSON null</em> as the <em>JSON value</em> of this <em>JSON member</em>.
|
||||
For example:</p>
|
||||
<div class="sourceCode" id="cb97"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb97-1"><a href="#cb97-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb98"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"affiliation"</span> <span class="er">:</span> <span class="er">null,</span></span></code></pre></div>
|
||||
<p>NOTE: The <em>JSON null</em> is <strong>NOT</strong> enclosed in quotes!</p>
|
||||
<h5 id="winning_entry_set">winning_entry_set</h5>
|
||||
<h5 id="entry_id">entry_id</h5>
|
||||
<div class="sourceCode" id="cb98"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"winning_entry_set"</span> <span class="er">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb98-2"><a href="#cb98-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-3"><a href="#cb98-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-4"><a href="#cb98-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-5"><a href="#cb98-5" aria-hidden="true" tabindex="-1"></a><span class="er">...</span></span>
|
||||
<span id="cb98-6"><a href="#cb98-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-7"><a href="#cb98-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb98-8"><a href="#cb98-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb98-9"><a href="#cb98-9" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb99"><pre class="sourceCode json"><code class="sourceCode json"><span id="cb99-1"><a href="#cb99-1" aria-hidden="true" tabindex="-1"></a> <span class="er">"winning_entry_set"</span> <span class="er">:</span> <span class="ot">[</span></span>
|
||||
<span id="cb99-2"><a href="#cb99-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-3"><a href="#cb99-3" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2012_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-4"><a href="#cb99-4" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2013_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-5"><a href="#cb99-5" aria-hidden="true" tabindex="-1"></a> <span class="er">...</span></span>
|
||||
<span id="cb99-6"><a href="#cb99-6" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh1"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-7"><a href="#cb99-7" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh2"</span> <span class="fu">}</span><span class="ot">,</span></span>
|
||||
<span id="cb99-8"><a href="#cb99-8" aria-hidden="true" tabindex="-1"></a> <span class="fu">{</span> <span class="dt">"entry_id"</span> <span class="fu">:</span> <span class="st">"2020_endoh3"</span> <span class="fu">}</span></span>
|
||||
<span id="cb99-9"><a href="#cb99-9" aria-hidden="true" tabindex="-1"></a> <span class="ot">]</span></span></code></pre></div>
|
||||
<p>The <code>winning_entry_set</code> <em>JSON member</em> holds <em>JSON array</em> containing one or more <code>entry_id</code> _JSON member_s.</p>
|
||||
<p>There <strong>MUST</strong> be one and only one <code>winning_entry_set</code> and the <em>JSON value</em> <strong>MUST</strong>
|
||||
be a non-empty <em>JSON array</em>. Each value in that <em>JSON array</em> <strong>MUST</strong> must contain
|
||||
@@ -2086,9 +2079,9 @@ and/or correct IOCCC author information.</p>
|
||||
<p>A <code>entry_id</code> is a 4-digit year, followed by an underscore, followed by a directory name.</p>
|
||||
<p>For example, the <code>entry_id</code> associated with Cody Boone Ferguson’s 2nd winning IOCCC entry
|
||||
of 2020 is found under the following directory:</p>
|
||||
<pre><code>2020/ferguson2</code></pre>
|
||||
<pre><code> 2020/ferguson2</code></pre>
|
||||
<p>The <code>entry_id</code> for that winning entry is:</p>
|
||||
<pre><code>2020_ferguson2</code></pre>
|
||||
<pre><code> 2020_ferguson2</code></pre>
|
||||
<h3 id="faq-6.8-what-is-the-purpose-of-the-.top-.year-and-.path-files"><a name="faq6_8"></a>FAQ 6.8: What is the purpose of the .top, .year and .path files?</h3>
|
||||
<p>The <a href=".top">.top</a> file resides at the top directory. This file contains the complete list
|
||||
of IOCCC years.</p>
|
||||
@@ -2098,7 +2091,7 @@ of the IOCCC entry directories for a given year. For example, see the <a href=".
|
||||
These files contain the directory path from the top directory.
|
||||
For example see <a href="1984/anonymous/.path">1984/anonymous/.path</a>.</p>
|
||||
<p>The .top, .year and .path files are generated from the top level Makefile, by:</p>
|
||||
<div class="sourceCode" id="cb101"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb101-1"><a href="#cb101-1" aria-hidden="true" tabindex="-1"></a><span class="fu">make</span> genpath</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">make</span> genpath</span></code></pre></div>
|
||||
<h3 id="a-nametermsfaq-6.9-what-is-the-current-meaning-of-the-ioccc-terms-author-entry-and-submission"><a name="faq6_9"></a><a name”terms”></a>FAQ 6.9: What is the current meaning of the IOCCC terms Author, Entry, and Submission?</h3>
|
||||
<p>The IOCCC is now attempting to use the following terms:</p>
|
||||
<ul>
|
||||
@@ -2170,7 +2163,7 @@ instructions. Once you’ve completed this task make sure you log in to GitHub.<
|
||||
<p>Assuming you do not have an ssh key you should go to the command prompt and
|
||||
type (if you already have one and are okay using it for GitHub you can use that
|
||||
one):</p>
|
||||
<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh-keygen</span> <span class="at">-t</span> rsa <span class="at">-b</span> 4096 <span class="at">-C</span> <span class="st">"luser@example.com"</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb103"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">ssh-keygen</span> <span class="at">-t</span> rsa <span class="at">-b</span> 4096 <span class="at">-C</span> <span class="st">"luser@example.com"</span></span></code></pre></div>
|
||||
<p>where <code>luser@example.com</code> is the email you want associated with your key.
|
||||
Follow the instructions. It will tell you the key files.</p>
|
||||
<p>Once you have an ssh key you need to go to your <a href="https://github.com/settings/profile">account
|
||||
@@ -2195,11 +2188,11 @@ instructions in forking the repo.</p>
|
||||
<h4 id="cloning-the-temp-test-ioccc-repo">Cloning the temp-test-ioccc repo</h4>
|
||||
<p>Once you have forked the repo you are ready to clone it to your system. For
|
||||
instance Cody Boone Ferguson has the GitHub handle <em>xexyl</em> so he would type in:</p>
|
||||
<div class="sourceCode" id="cb103"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/xexyl/temp-test-ioccc <span class="pp">[</span><span class="ss">target_dir</span><span class="pp">]</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> clone https://github.com/xexyl/temp-test-ioccc <span class="pp">[</span><span class="ss">target_dir</span><span class="pp">]</span></span></code></pre></div>
|
||||
<p>Once that is completed you will need to change to that directory. The default
|
||||
directory would be the name of the repo but if you specified a target directory
|
||||
it will be that. For instance using the above example you might do:</p>
|
||||
<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> temp-test-ioccc</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb105"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true" tabindex="-1"></a> <span class="bu">cd</span> temp-test-ioccc</span></code></pre></div>
|
||||
<p>You’re ready to make your changes now!</p>
|
||||
<h4 id="making-changes-fixes-etc.">Making changes, fixes etc.</h4>
|
||||
<p>Here you must use your wits, knowledge, creativity and whatever else you have.
|
||||
@@ -2217,7 +2210,7 @@ or an exercise in sibilance!</p>
|
||||
starts with <code># Last updated:</code> to refer to <code>01 March 2024</code> rather than what it
|
||||
is now (at the time of writing this), <code>15 April 2023</code>.</p>
|
||||
<p>But what if he wanted to add a file? He’d create the file and then type:</p>
|
||||
<div class="sourceCode" id="cb105"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add foo</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> add foo</span></code></pre></div>
|
||||
<p>where <em>foo</em> is the file to add.</p>
|
||||
<p>When he’s ready to make a commit he would need to create a new branch for the
|
||||
pull request.</p>
|
||||
@@ -2225,61 +2218,61 @@ pull request.</p>
|
||||
<p>First, as an aside, if this is your first pull request (which we assume is if you’re
|
||||
reading this :-) ) you need to make sure that you can push changes to GitHub
|
||||
with your ssh key. To do this you need to do:</p>
|
||||
<div class="sourceCode" id="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-T</span> git@github.com</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb107"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">ssh</span> <span class="at">-T</span> git@github.com</span></code></pre></div>
|
||||
<p>Cody would see:</p>
|
||||
<blockquote>
|
||||
<p>Hi xexyl! You’ve successfully authenticated, but GitHub does not provide shell access.</p>
|
||||
</blockquote>
|
||||
<p>Now, assuming that the forked repo is
|
||||
<a href="https://github.com/xexyl/temp-test-ioccc" class="uri">https://github.com/xexyl/temp-test-ioccc</a>, you’d type:</p>
|
||||
<div class="sourceCode" id="cb107"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> remote set-url origin git@github.com:xexyl/temp-test-ioccc.git</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> remote set-url origin git@github.com:xexyl/temp-test-ioccc.git</span></code></pre></div>
|
||||
<p>Now you’d be ready to make your commits.</p>
|
||||
<p>Before doing anything else, however, a new branch needs to be created.
|
||||
Continuing the example above for
|
||||
<a href="2020/ferguson1/play.sh">2020/ferguson1/play.sh</a>, it might be that:</p>
|
||||
<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout <span class="at">-B</span> human-snakes</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb109"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> checkout <span class="at">-B</span> human-snakes</span></code></pre></div>
|
||||
<p>This would change the branch to the newly created branch <code>human-snakes</code> branch.
|
||||
Now Cody could commit the changes:</p>
|
||||
<div class="sourceCode" id="cb109"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit play.sh <span class="co"># if specifying specific files</span></span>
|
||||
<span id="cb109-2"><a href="#cb109-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">-a</span> <span class="co"># if committing everything</span></span></code></pre></div>
|
||||
<div class="sourceCode" id="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> commit play.sh <span class="co"># if specifying specific files</span></span>
|
||||
<span id="cb110-2"><a href="#cb110-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> commit <span class="at">-a</span> <span class="co"># if committing everything</span></span></code></pre></div>
|
||||
<p>He could also have done:</p>
|
||||
<div class="sourceCode" id="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add play.sh</span>
|
||||
<span id="cb110-2"><a href="#cb110-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb111"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb111-1"><a href="#cb111-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> add play.sh</span>
|
||||
<span id="cb111-2"><a href="#cb111-2" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> commit</span></code></pre></div>
|
||||
<p>In any case this would open an editor (in his case vim) to write a commit log.
|
||||
It is recommended that the first line is <=51 chars and the next line is blank.
|
||||
Then if necessary add a description for the log. For instance the above might
|
||||
warrant the log:</p>
|
||||
<pre><code>Add fun link to 2020/ferguson1/play.sh
|
||||
<pre><code> Add fun link to 2020/ferguson1/play.sh
|
||||
|
||||
Did you know some people believe in snake human hybrids? I added a link to the
|
||||
script that discusses this and gives supposed examples.</code></pre>
|
||||
Did you know some people believe in snake human hybrids? I added a link to the
|
||||
script that discusses this and gives supposed examples.</code></pre>
|
||||
<p>Now a pull request has to be opened.</p>
|
||||
<h4 id="opening-a-pull-request">Opening a pull request</h4>
|
||||
<p>To do this depends on the branch name. Assuming the branch from above,
|
||||
<code>human-snakes</code>, you would type:</p>
|
||||
<div class="sourceCode" id="cb112"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb112-1"><a href="#cb112-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push <span class="at">--set-upstream</span> origin human-snakes</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb113"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb113-1"><a href="#cb113-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> push <span class="at">--set-upstream</span> origin human-snakes</span></code></pre></div>
|
||||
<p>This might show:</p>
|
||||
<pre><code>Enumerating objects: 9, done.
|
||||
Counting objects: 100% (9/9), done.
|
||||
Delta compression using up to 10 threads
|
||||
Compressing objects: 100% (5/5), done.
|
||||
Writing objects: 100% (5/5), 739 bytes | 147.00 KiB/s, done.
|
||||
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
|
||||
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
|
||||
remote:
|
||||
remote: Create a pull request for 'human-snakes' on GitHub by visiting:
|
||||
remote: https://github.com/xexyl/temp-test-ioccc/pull/new/human-snakes
|
||||
remote:
|
||||
To github.com:xexyl/temp-test-ioccc.git
|
||||
* [new branch] human-snakes -> human-snakes
|
||||
branch 'human-snakes' set up to track 'origin/human-snakes'.</code></pre>
|
||||
<pre><code> Enumerating objects: 9, done.
|
||||
Counting objects: 100% (9/9), done.
|
||||
Delta compression using up to 10 threads
|
||||
Compressing objects: 100% (5/5), done.
|
||||
Writing objects: 100% (5/5), 739 bytes | 147.00 KiB/s, done.
|
||||
Total 5 (delta 4), reused 0 (delta 0), pack-reused 0
|
||||
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
|
||||
remote:
|
||||
remote: Create a pull request for 'human-snakes' on GitHub by visiting:
|
||||
remote: https://github.com/xexyl/temp-test-ioccc/pull/new/human-snakes
|
||||
remote:
|
||||
To github.com:xexyl/temp-test-ioccc.git
|
||||
* [new branch] human-snakes -> human-snakes
|
||||
branch 'human-snakes' set up to track 'origin/human-snakes'.</code></pre>
|
||||
<p>The link referred to above would then be opened to open a pull request. Just
|
||||
follow the instructions at this point. If however it does not show a link it is
|
||||
likely because the branch already exists in your GitHub account (for the repo).
|
||||
In this case you can open the link:
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/pulls" class="uri">https://github.com/ioccc-src/temp-test-ioccc/pulls</a> which might show something
|
||||
like:</p>
|
||||
<pre><code>xexyl:human-snakes had recent pushes 1 minute ago</code></pre>
|
||||
<pre><code> xexyl:human-snakes had recent pushes 1 minute ago</code></pre>
|
||||
<p>and to the right of it you would see a button that says <em>Compare & pull request</em>
|
||||
which you could click on. Do that and follow the instructions.</p>
|
||||
<p>An important note is if you have more than one pull request opened it’ll only
|
||||
@@ -2303,7 +2296,7 @@ in the matter.</p>
|
||||
<p>When the judges have merged the pull request you now need to make sure your fork
|
||||
has the merge. To do this from the command line, assuming the fork in the above
|
||||
example, you would type:</p>
|
||||
<div class="sourceCode" id="cb115"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb115-1"><a href="#cb115-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout master <span class="kw">&&</span> <span class="fu">git</span> pull https://github.com/ioccc-src/temp-test-ioccc.git master <span class="kw">&&</span> <span class="fu">git</span> push origin master</span></code></pre></div>
|
||||
<div class="sourceCode" id="cb116"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb116-1"><a href="#cb116-1" aria-hidden="true" tabindex="-1"></a> <span class="fu">git</span> checkout master <span class="kw">&&</span> <span class="fu">git</span> pull https://github.com/ioccc-src/temp-test-ioccc.git master <span class="kw">&&</span> <span class="fu">git</span> push origin master</span></code></pre></div>
|
||||
<p>This will merge your pull request to your fork.</p>
|
||||
<!--
|
||||
|
||||
|
||||
Reference in new issue
Block a user