build several top level HTML files
We build several top level HTML files whose content comes from top level markdown files: - CODE_OF_CONDUCT.html - README.html - bugs.html - contact.html - faq.html - thanks-for-help.html Added new `bin/gen-top-md2html.sh` to perform the above. Added `make gen_top_md2html` rule to top level Makefile. Added `make gen_top_md2html` to `make quick_www` and `make www`. Improved top level jump links for `authors.html`. Updated `bin/gen-authors.sh` to improve the top level jump links. Changed `bin/gen-authors.sh` version from "1.0.1 2024-02-23" to "1.1 2024-02-25". Changed typo of "TITIE" into "TITLE". Fixed `bin/subst.entry-index.sh` as per the above typo. Changed `bin/subst.entry-index.sh` version from "1.2.1 2024-02-23" to "1.2.2 2024-02-25". Updated the `inc/md2html.cfg` config file to perform the above. Performed `make quick_www` which updated `2000/natori/index.html`.
This commit is contained in:
1 parent
7b42fcd251
commit
aa70cf88d0
18 files changed
+12316
-98
No files matched your search
@@ -134,11 +134,13 @@ href="#alternate-code">alternate version</a> below.</p>
|
||||
<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./natori</span></span></code></pre></div>
|
||||
<h2 id="try">Try:</h2>
|
||||
<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="ex">./try.sh</span></span></code></pre></div>
|
||||
<p>Try running this on different days, say a few days apart, and each
|
||||
time run it several times in a row (or several times in a day).</p>
|
||||
<p>Try running this on different days, say a few days apart (even better
|
||||
if the Moon phase changes), and each time run it several times in a row
|
||||
(or several times in a day).</p>
|
||||
<p>Also try modifying the code so that it will show another Moon phase
|
||||
based on input or else just by the code itself. Bonus points if you can
|
||||
make it show all~</p>
|
||||
make it show all.</p>
|
||||
<p>NOTE: if it’s a Full Moon the script won’t look as nice.</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The author noted that those in the southern hemisphere might want to
|
||||
change <code>acos(l/2)</code> into <code>acos(-l/2)</code> which we have
|
||||
@@ -156,8 +158,10 @@ differences?</p>
|
||||
both versions? Or are there any?</p>
|
||||
<h3 id="alternate-try">Alternate try:</h3>
|
||||
<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="ex">./try.alt.sh</span></span></code></pre></div>
|
||||
<p>Like with <a href="try.sh">try.sh</a>, try using this multiple
|
||||
times.</p>
|
||||
<p>Like with <a href="try.sh">try.sh</a>, try using this multiple times
|
||||
in a row or throughout the day on different days (if different phases of
|
||||
the Moon you’ll see more of a difference, of course).</p>
|
||||
<p>NOTE: if it’s a Full Moon the script won’t look as nice.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Here is a nice compact program that changes with the phase of the
|
||||
Moon. Can you figure out how it does it?</p>
|
||||
|
||||
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! 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 !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- -->
|
||||
<!-- END: this line ends content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- The original markdown content was formed by the tool: bin/gen-top-md2html.sh -->
|
||||
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
|
||||
<!-- -->
|
||||
<!-- START: this line starts content from: inc/head.default.html -->
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="Contributor Covenant Code of Conduct">
|
||||
<meta name="keywords" content="IOCCC, Contributor Covenant Code of Conduct, Code of Conduct">
|
||||
</head>
|
||||
|
||||
<!-- END: this line ends content from: inc/head.default.html -->
|
||||
<!-- START: this line starts content from: inc/body.default.html -->
|
||||
|
||||
<body>
|
||||
|
||||
<!-- END: this line ends content from: inc/body.default.html -->
|
||||
<!-- START: this line starts content from: inc/header.default.html -->
|
||||
|
||||
<div class="header">
|
||||
<img src="./png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>IOCCC GitHub repo Contributor Covenant Code of Conduct</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-row.default.html -->
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
|
||||
|
||||
<div class="leftcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/sidenav.default.html -->
|
||||
|
||||
<div class="sidenav">
|
||||
<a href="#content">Jump to contents</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./index.html">IOCCC Home</a>
|
||||
<a href="./years.html">Winning Entries</a>
|
||||
<a href="./authors.html">People who have won</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./news.html">IOCCC News</a>
|
||||
<a href="./faq.html#submit">How to enter the IOCCC</a>
|
||||
<a href="./faq.html">FAQ</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./bugs.html">Bugs & (mis)features</a>
|
||||
<a href="./faq.html#fix_an_entry">Fixing IOCCC entries</a>
|
||||
<a href="./faq.html#fix_web_site">Fixing the web site</a>
|
||||
<a href="./faq.html#fix_author">Fixing author info</a>
|
||||
<a href="./thanks-for-help.html">Thanks for the help</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./judges.html">The IOCCC Judges</a>
|
||||
<a href="./contact.html">Contacting the IOCCC</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="#top">Jump to top</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/sidenav.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
|
||||
|
||||
<div class="rightcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||||
|
||||
<a name="content"></a>
|
||||
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h1 id="contributor-covenant-code-of-conduct">Contributor Covenant Code
|
||||
of Conduct</h1>
|
||||
<h2 id="our-pledge">Our Pledge</h2>
|
||||
<p>We as members, contributors, and leaders pledge to make participation
|
||||
in our community a harassment-free experience for everyone, regardless
|
||||
of age, body size, visible or invisible disability, ethnicity, sex
|
||||
characteristics, gender identity and expression, level of experience,
|
||||
education, socio-economic status, nationality, personal appearance,
|
||||
race, religion, or sexual identity and orientation.</p>
|
||||
<p>We pledge to act and interact in ways that contribute to an open,
|
||||
welcoming, diverse, inclusive, and healthy community.</p>
|
||||
<h2 id="our-standards">Our Standards</h2>
|
||||
<p>Examples of behavior that contributes to a positive environment for
|
||||
our community include:</p>
|
||||
<ul>
|
||||
<li>Demonstrating empathy and kindness toward other people</li>
|
||||
<li>Being respectful of differing opinions, viewpoints, and
|
||||
experiences</li>
|
||||
<li>Giving and gracefully accepting constructive feedback</li>
|
||||
<li>Accepting responsibility and apologizing to those affected by our
|
||||
mistakes, and learning from the experience</li>
|
||||
<li>Focusing on what is best not just for us as individuals, but for the
|
||||
overall community</li>
|
||||
</ul>
|
||||
<p>Examples of unacceptable behavior include:</p>
|
||||
<ul>
|
||||
<li>The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind</li>
|
||||
<li>Trolling, insulting or derogatory comments, and personal or
|
||||
political attacks</li>
|
||||
<li>Public or private harassment</li>
|
||||
<li>Publishing others’ private information, such as a physical or email
|
||||
address, without their explicit permission</li>
|
||||
<li>Other conduct which could reasonably be considered inappropriate in
|
||||
a professional setting</li>
|
||||
</ul>
|
||||
<h2 id="enforcement-responsibilities">Enforcement Responsibilities</h2>
|
||||
<p>Community leaders are responsible for clarifying and enforcing our
|
||||
standards of acceptable behavior and will take appropriate and fair
|
||||
corrective action in response to any behavior that they deem
|
||||
inappropriate, threatening, offensive, or harmful.</p>
|
||||
<p>Community leaders have the right and responsibility to remove, edit,
|
||||
or reject comments, commits, code, wiki edits, issues, and other
|
||||
contributions that are not aligned to this Code of Conduct, and will
|
||||
communicate reasons for moderation decisions when appropriate.</p>
|
||||
<h2 id="scope">Scope</h2>
|
||||
<p>This Code of Conduct applies within all community spaces, and also
|
||||
applies when an individual is officially representing the community in
|
||||
public spaces. Examples of representing our community include using an
|
||||
official e-mail address, posting via an official social media account,
|
||||
or acting as an appointed representative at an online or offline
|
||||
event.</p>
|
||||
<h2 id="enforcement">Enforcement</h2>
|
||||
<p>Instances of abusive, harassing, or otherwise unacceptable behavior
|
||||
may be reported to the community leaders responsible for enforcement at
|
||||
https://www.ioccc.org/judges.html. All complaints will be reviewed and
|
||||
investigated promptly and fairly.</p>
|
||||
<p>All community leaders are obligated to respect the privacy and
|
||||
security of the reporter of any incident.</p>
|
||||
<h2 id="enforcement-guidelines">Enforcement Guidelines</h2>
|
||||
<p>Community leaders will follow these Community Impact Guidelines in
|
||||
determining the consequences for any action they deem in violation of
|
||||
this Code of Conduct:</p>
|
||||
<h3 id="correction">1. Correction</h3>
|
||||
<p><strong>Community Impact</strong>: Use of inappropriate language or
|
||||
other behavior deemed unprofessional or unwelcome in the community.</p>
|
||||
<p><strong>Consequence</strong>: A private, written warning from
|
||||
community leaders, providing clarity around the nature of the violation
|
||||
and an explanation of why the behavior was inappropriate. A public
|
||||
apology may be requested.</p>
|
||||
<h3 id="warning">2. Warning</h3>
|
||||
<p><strong>Community Impact</strong>: A violation through a single
|
||||
incident or series of actions.</p>
|
||||
<p><strong>Consequence</strong>: A warning with consequences for
|
||||
continued behavior. No interaction with the people involved, including
|
||||
unsolicited interaction with those enforcing the Code of Conduct, for a
|
||||
specified period of time. This includes avoiding interactions in
|
||||
community spaces as well as external channels like social media.
|
||||
Violating these terms may lead to a temporary or permanent ban.</p>
|
||||
<h3 id="temporary-ban">3. Temporary Ban</h3>
|
||||
<p><strong>Community Impact</strong>: A serious violation of community
|
||||
standards, including sustained inappropriate behavior.</p>
|
||||
<p><strong>Consequence</strong>: A temporary ban from any sort of
|
||||
interaction or public communication with the community for a specified
|
||||
period of time. No public or private interaction with the people
|
||||
involved, including unsolicited interaction with those enforcing the
|
||||
Code of Conduct, is allowed during this period. Violating these terms
|
||||
may lead to a permanent ban.</p>
|
||||
<h3 id="permanent-ban">4. Permanent Ban</h3>
|
||||
<p><strong>Community Impact</strong>: Demonstrating a pattern of
|
||||
violation of community standards, including sustained inappropriate
|
||||
behavior, harassment of an individual, or aggression toward or
|
||||
disparagement of classes of individuals.</p>
|
||||
<p><strong>Consequence</strong>: A permanent ban from any sort of public
|
||||
interaction within the community.</p>
|
||||
<h2 id="attribution">Attribution</h2>
|
||||
<p>This Code of Conduct is adapted from the <a
|
||||
href="https://www.contributor-covenant.org">Contributor Covenant</a>,
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.</p>
|
||||
<p>Community Impact Guidelines were inspired by <a
|
||||
href="https://github.com/mozilla/diversity">Mozilla’s code of conduct
|
||||
enforcement ladder</a>.</p>
|
||||
<p>For answers to common questions about this code of conduct, see the
|
||||
FAQ at https://www.contributor-covenant.org/faq. Translations are
|
||||
available at https://www.contributor-covenant.org/translations.</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
|
||||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-row.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||||
|
||||
<div class="footer">
|
||||
<hr>
|
||||
<h2>Coda</h2>
|
||||
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.html">Nu HTML check this web page</a></p>
|
||||
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- END: this line ends content from: inc/bottom.default.html -->
|
||||
@@ -54,6 +54,7 @@ GEN_LOCATION= bin/gen-location.sh
|
||||
GEN_YEARS= bin/gen-years.sh
|
||||
GEN_YEAR_INDEX= bin/gen-year-index.sh
|
||||
CHK_ENTRY= bin/chk-entry.sh
|
||||
GEN_TOP_MD2HTML= bin/gen-top-md2html.sh
|
||||
README2INDEX= bin/readme2index.sh
|
||||
QUICK_README2INDEX= bin/quick-readme2index.sh
|
||||
TAR_ENTRY= bin/tar-entry.sh
|
||||
@@ -238,7 +239,8 @@ indent.c:
|
||||
# They might not even work (right now). :-)
|
||||
|
||||
.PHONY: help genpath genfilelist verify_entry_files gen_authors gen_location gen_years \
|
||||
entry_index quick_entry_index form_entry_tarball form_year_tarball form_all_tarball \
|
||||
entry_index gen_top_md2html quick_entry_index \
|
||||
form_entry_tarball form_year_tarball form_all_tarball \
|
||||
gen_year_index quick_www www
|
||||
|
||||
# Suggest rules in this section
|
||||
@@ -255,6 +257,7 @@ help:
|
||||
@echo make gen_location
|
||||
@echo make gen_years
|
||||
@echo make entry_index
|
||||
@echo make gen_top_md2html
|
||||
@echo make gen_year_index
|
||||
@echo make quick_entry_index
|
||||
@echo make form_entry_tarball
|
||||
@@ -344,6 +347,13 @@ entry_index readme2index: ${ALL_RUN} ${README2INDEX}
|
||||
${ALL_RUN} -v 3 ${README2INDEX} -v 1
|
||||
@echo '=-=-=-=-= IOCCC complete make $@ =-=-=-=-='
|
||||
|
||||
# generate a number of the top level HTML files from top level markdown files
|
||||
#
|
||||
gen_top_md2html: ${GEN_TOP_MD2HTML}
|
||||
@echo '=-=-=-=-= IOCCC begin make $@ =-=-=-=-='
|
||||
${GEN_TOP_MD2HTML} -v 1
|
||||
@echo '=-=-=-=-= IOCCC complete make $@ =-=-=-=-='
|
||||
|
||||
# generate year level index.html files using the
|
||||
# ${GEN_YEAR_INDEX} tool (bin/gen-year-index.sh).
|
||||
#
|
||||
@@ -415,6 +425,7 @@ quick_www:
|
||||
${MAKE} gen_location
|
||||
${MAKE} gen_years
|
||||
${MAKE} gen_year_index
|
||||
${MAKE} gen_top_md2html
|
||||
${MAKE} quick_entry_index
|
||||
@echo XXX - disable tarball updates until mods settle down - XXX - ${MAKE} form_entry_tarball
|
||||
@echo XXX - disable tarball updates until mods settle down - XXX - ${MAKE} form_year_tarball
|
||||
@@ -435,6 +446,7 @@ www:
|
||||
${MAKE} gen_location
|
||||
${MAKE} gen_years
|
||||
${MAKE} gen_year_index
|
||||
${MAKE} gen_top_md2html
|
||||
${MAKE} entry_index
|
||||
@echo XXX - disable tarball updates until mods settle down - XXX - ${MAKE} form_entry_tarball
|
||||
@echo XXX - disable tarball updates until mods settle down - XXX - ${MAKE} form_year_tarball
|
||||
|
||||
+350
@@ -0,0 +1,350 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! 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 !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- -->
|
||||
<!-- END: this line ends content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- The original markdown content was formed by the tool: bin/gen-top-md2html.sh -->
|
||||
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
|
||||
<!-- -->
|
||||
<!-- START: this line starts content from: inc/head.default.html -->
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="IOCCC GitHub repo README">
|
||||
<meta name="keywords" content="IOCCC, IOCCC GitHub repo README">
|
||||
</head>
|
||||
|
||||
<!-- END: this line ends content from: inc/head.default.html -->
|
||||
<!-- START: this line starts content from: inc/body.default.html -->
|
||||
|
||||
<body>
|
||||
|
||||
<!-- END: this line ends content from: inc/body.default.html -->
|
||||
<!-- START: this line starts content from: inc/header.default.html -->
|
||||
|
||||
<div class="header">
|
||||
<img src="./png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>About the IOCCC GitHub repo</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-row.default.html -->
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
|
||||
|
||||
<div class="leftcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/sidenav.default.html -->
|
||||
|
||||
<div class="sidenav">
|
||||
<a href="#content">Jump to contents</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./index.html">IOCCC Home</a>
|
||||
<a href="./years.html">Winning Entries</a>
|
||||
<a href="./authors.html">People who have won</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./news.html">IOCCC News</a>
|
||||
<a href="./faq.html#submit">How to enter the IOCCC</a>
|
||||
<a href="./faq.html">FAQ</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./bugs.html">Bugs & (mis)features</a>
|
||||
<a href="./faq.html#fix_an_entry">Fixing IOCCC entries</a>
|
||||
<a href="./faq.html#fix_web_site">Fixing the web site</a>
|
||||
<a href="./faq.html#fix_author">Fixing author info</a>
|
||||
<a href="./thanks-for-help.html">Thanks for the help</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./judges.html">The IOCCC Judges</a>
|
||||
<a href="./contact.html">Contacting the IOCCC</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="#top">Jump to top</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/sidenav.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
|
||||
|
||||
<div class="rightcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||||
|
||||
<a name="content"></a>
|
||||
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h3 id="this-is-not-the-official-ioccc-web-site">This is NOT the
|
||||
official IOCCC web site!</h3>
|
||||
<p>Please visit <a href="https://www.ioccc.org">www.ioccc.org</a> for
|
||||
the official <strong>IOCCC</strong> web site.</p>
|
||||
<p>Please do NOT bookmark or link to this <a
|
||||
href="https://ioccc-src.github.io/temp-test-ioccc/">experimental web
|
||||
site</a>.</p>
|
||||
<p>When this experiment is finished, this site will go away!</p>
|
||||
<p>This test web tree is part of the <a
|
||||
href="https://github.com/ioccc-src/temp-test-ioccc">temp-test-ioccc
|
||||
GitHub repo</a>.</p>
|
||||
<p>This web site will be undergoing major changes, so expect many broken
|
||||
links, typos and other problems. If you wish to recommend changes
|
||||
(understanding that things may be rapidly changing out from under your
|
||||
copy), then consider making pull requests against the temp-test-ioccc
|
||||
GitHub repo.</p>
|
||||
<p>XXX - The text from the top down to the <em>What follows is the
|
||||
actual README.md file</em> line will be removed when this web site
|
||||
becomes official - XXX</p>
|
||||
<h2
|
||||
id="what-follows-is-the-actual-readme.md-file---remove-from-top-down-through-this-line---xxx">What
|
||||
follows is the actual README.md file - Remove from top down through this
|
||||
line - XXX</h2>
|
||||
<h1 id="the-international-obfuscated-c-code-contest">The International
|
||||
Obfuscated C Code Contest</h1>
|
||||
<h2 id="obfuscate-verb-with-object"><strong>Obfuscate</strong> |
|
||||
<em>verb</em> [with object]</h2>
|
||||
<ul>
|
||||
<li><p>render obscure, unclear, or unintelligible: the spelling changes
|
||||
will deform some familiar words and obfuscate their etymological
|
||||
origins.</p>
|
||||
<ul>
|
||||
<li>bewilder (someone): it is more likely to obfuscate people than
|
||||
enlighten them. obfuscatory | adjective</li>
|
||||
</ul>
|
||||
<p>late Middle English (as adjective): from late Latin
|
||||
<strong>obfuscat-</strong> ‘darkened’, from the verb
|
||||
<strong>obfuscare</strong>, based on Latin <strong>fuscus</strong>
|
||||
‘dark’.</p></li>
|
||||
</ul>
|
||||
<h2 id="obfuscation-noun"><strong>Obfuscation</strong> |
|
||||
<em>noun</em></h2>
|
||||
<ul>
|
||||
<li><p>the action of making something obscure, unclear, or
|
||||
unintelligible: when confronted with sharp questions they resort to
|
||||
obfuscation | ministers put up mealy-mouthed denials and
|
||||
obfuscations.</p>
|
||||
<p>late Middle English: from late Latin <strong>obfuscatio(n-)</strong>,
|
||||
from <strong>obfuscare</strong> ‘to darken or obscure’ (see
|
||||
<em>obfuscate</em>).</p></li>
|
||||
</ul>
|
||||
<p>The official IOCCC web site is <a href="https://www.ioccc.org"
|
||||
class="uri">https://www.ioccc.org</a>.</p>
|
||||
<h2 id="how-it-was-started">How it was started:</h2>
|
||||
<p>The original inspiration of the International Obfuscated C Code
|
||||
Contest came from the Bourne Shell source and the <code>finger(1)</code>
|
||||
command as distributed in <a
|
||||
href="https://en.wikipedia.org/wiki/History_of_the_Berkeley_Software_Distribution#4.2BSD">4.2BSD</a>.
|
||||
If this is what could result from what some people claim is reasonable
|
||||
programming practice, then to what depths might quality sink if people
|
||||
really tried to write poor code?</p>
|
||||
<p>I put that question to the USENET news groups net.lang.c and
|
||||
net.unix-wizards in the form of a contest. I selected a form similar to
|
||||
the contest (<a href="https://www.bulwer-lytton.com">Bulwer-Lytton</a>)
|
||||
that asks people to create the worst opening line to a novel (that
|
||||
contest in turn was inspired by disgust over <a
|
||||
href="https://en.wikipedia.org/wiki/Paul_Clifford">a novel</a> by <a
|
||||
href="https://en.wikipedia.org/wiki/Edward_Bulwer-Lytton">Edward
|
||||
Bulwer-Lytton</a> that opened with the line <em>“It was a dark and
|
||||
stormy night.”</em>). The rules were simple: write, in 512 bytes or
|
||||
less, the worst complete C program.</p>
|
||||
<p>Thru the contest I have tried to instill two things in people. First
|
||||
is a disgust for poor coding style. Second was the notion of just how
|
||||
much utility is lost when a program is written in an unstructured
|
||||
fashion. Contest winners help do this by what I call <em>satirical
|
||||
programming</em>. To see why, observe one of the definitions of
|
||||
<em>satire</em>:</p>
|
||||
<blockquote>
|
||||
<p>Keen or energetic activity of the mind used for the purpose of
|
||||
exposing and discrediting vice or folly.</p>
|
||||
</blockquote>
|
||||
<p>The authors of the winning entries placed a great deal of thought
|
||||
into their programs. These programs in turn exposed and discredited what
|
||||
I considered to be the programmer’s equivalent of “<em>vice or
|
||||
folly</em>”.</p>
|
||||
<p>There were two unexpected benefits that came from the contest
|
||||
winners. First was an educational value to the programs. To understand
|
||||
these C programs is to understand subtle points of the C programming
|
||||
language. The second benefit is the entertainment value, which should
|
||||
become evident as you read further!</p>
|
||||
<h2
|
||||
id="suggestions-on-how-to-understand-the-winning-entries">Suggestions on
|
||||
how to understand the winning entries:</h2>
|
||||
<p>You are strongly urged to try to determine what each program will
|
||||
produce by visual inspection. Often this is an impossible task, but the
|
||||
difficulty that you encounter should give you more appreciation for the
|
||||
entry.</p>
|
||||
<p>If you have the energy to type in the text, or if you have access to
|
||||
a machine readable version of these programs, you should next consider
|
||||
some preprocessing such as:</p>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">sed</span> <span class="at">-e</span> <span class="st">'/^#.*include/d'</span> prog.c <span class="kw">|</span> <span class="fu">cc</span> <span class="at">-E</span></span></code></pre></div>
|
||||
<p>This strips away comments and expands the program’s macros without
|
||||
having things such as includes and macros cluttering up the output. If
|
||||
the entry requires or suggests the use of compile line options (such as
|
||||
<code>-Dindex=strchr</code>) they should be added after the
|
||||
<code>-E</code> flag. See the entry README.md and/or Makefile. For the
|
||||
Makefiles look at the variable <code>CDEFINE</code>.</p>
|
||||
<p>The next stage towards understanding is to use a C beautifier or C
|
||||
indenting program on the source. Be warned that a number of these
|
||||
entries are so twisted that such tools may abort or become very
|
||||
confused, sometimes even preventing them from compiling. You may need to
|
||||
help out by doing some initial formatting with an editor. You might also
|
||||
try renaming variables and labels to give more meaningful names. Be
|
||||
aware, however, that some entries will not work if you rename variables,
|
||||
even if you manage to determine where exactly they are (to say nothing
|
||||
of the fact that the name might be elsewhere in the code).</p>
|
||||
<p>Now try linting the program. You may be surprised at how little lint
|
||||
complains about these programs. Pay careful attention to messages about
|
||||
unused variables, wrong types, pointer conversions, etc. But be careful,
|
||||
some lints produce incorrect error messages or even abort (or even
|
||||
crash)! Your lint may detect syntax errors in the source. See the next
|
||||
paragraph for suggestions on how to deal with this.</p>
|
||||
<p>When you get to the stage where you are ready to compile the program,
|
||||
examine the compilation comments above each entry. A simple
|
||||
<code>#define</code> (or <code>-D</code> at the compiler) or edit may be
|
||||
required due to differing semantics between operating systems. If you
|
||||
are able to successfully compile the program, experiment with it by
|
||||
giving it different arguments or input. You may also use the Makefile
|
||||
provided to compile the program. Look at the <code>To build</code> and
|
||||
<code>Try</code> sections at the top of the README.md for each entry as
|
||||
well. Keep in mind that C compilers often have bugs, or features which
|
||||
result the program failing to compile. You may have to do some syntax
|
||||
changing as we did to get old programs to compile on strict ANSI C
|
||||
compilers.</p>
|
||||
<p>Last, read the judges’ remarks/spoilers on the program. Hints for
|
||||
<code>foo.c</code> are given in <code>README.md</code>. Often they will
|
||||
contain suggested arguments or recommended data to use. Authors also
|
||||
sometimes give spoilers.</p>
|
||||
<p>If you do gain some understanding of how a program works, go back to
|
||||
the source and reexamine it using some of the techniques outlined above.
|
||||
See if you can convince yourself of why the program does what it
|
||||
does.</p>
|
||||
<h2 id="regarding-the-source-archive">Regarding the source archive:</h2>
|
||||
<p>Each sub-directory contains all the entries for a single year. Often
|
||||
the file names match one of the last names of the author. Judges’ hints
|
||||
are given in files of the form <code>README.md</code>.</p>
|
||||
<p>You may need to tweak the Makefile to get everything to compile
|
||||
correctly. Read the README.md files for suggestions.</p>
|
||||
<p>The rules for a given year are given in the file named
|
||||
<code>rules.txt</code>. Each archive contains a copy of the rules for
|
||||
the upcoming contest.</p>
|
||||
<p>The following URL is the official archive of the winning entries: <a
|
||||
href="https://www.ioccc.org/years.html"
|
||||
class="uri">https://www.ioccc.org/years.html</a>.</p>
|
||||
<h2 id="regarding-the-distribution-of-sources">Regarding the
|
||||
distribution of sources:</h2>
|
||||
<p>All contest results are in the public domain. We do ask that you
|
||||
observe the following request:</p>
|
||||
<p>You may share these files with others, but please do not prevent them
|
||||
of doing the same. If some of these files and/or contest entries are
|
||||
published in printed form, or if you use them in a business or classroom
|
||||
setting, please let us know. We ask that you drop a line to the judges’
|
||||
email box. See <a href="https://www.ioccc.org/contact.html"
|
||||
class="uri">https://www.ioccc.org/contact.html</a> for instructions on
|
||||
how to send us a message.</p>
|
||||
<h2 id="some-final-things-to-remember">Some final things to
|
||||
remember:</h2>
|
||||
<p>While the idea for the contests has remained the same through the
|
||||
years, the contest rules and guidelines vary. What was novel one year
|
||||
may be considered common the next. The categories for awards differ
|
||||
because they are determined after the judges examine all of the
|
||||
entries.</p>
|
||||
<p>The judges’ hints assume that the program resides in a file with the
|
||||
same username as the author or <code>prog.c</code> (depending on the
|
||||
year). Where there is more than one author, the first named author is
|
||||
used. If an author wins more than one entry <em>per year</em> there are
|
||||
different formats used but the first entry has 1 appended, the second
|
||||
has 2 etc. In some years it was <code>.1</code> and <code>.2</code>
|
||||
instead.</p>
|
||||
<p>Some C compilers are unable to compile some of these programs. The
|
||||
judges tried to select programs that were widely portable and
|
||||
compilable, but did not always succeed. As of 1990, an entry may use
|
||||
both <code>K&R</code> and ANSI C compilers. Makefiles for both types
|
||||
of C compilers are used. See the contest rules for details.</p>
|
||||
<p>You are strongly encouraged to read the new contest rules before
|
||||
sending any entries. The rules, and sometimes the contest email address
|
||||
itself, change from time to time. A valid entry one year may be rejected
|
||||
in a later year due to changes in the rules. See <a
|
||||
href="https://www.ioccc.org/index.html#enter"
|
||||
class="uri">https://www.ioccc.org/index.html#enter</a> for up to date
|
||||
information on how to enter.</p>
|
||||
<p>Last, PLEASE don’t code in the style of these programs It is hoped
|
||||
that you will gain an understanding that poor style destroys an
|
||||
otherwise correct program. Real programmers don’t write obfuscated
|
||||
programs, unless they are submitting a contest entry! :-)</p>
|
||||
<p>Happy pondering!</p>
|
||||
<h2 id="about-the-ioccc-winner-github-repository">About the IOCCC winner
|
||||
GitHub repository</h2>
|
||||
<p>The <a href="https://github.com/ioccc-src/winner">official IOCCC
|
||||
entries GitHub repository</a> are the official winners of the
|
||||
<strong>International Obfuscated C Code Contest (IOCCC)</strong>, the
|
||||
Internet’s oldest ongoing contest.</p>
|
||||
<p><strong>IMPORTANT NOTE</strong>: See <a
|
||||
href="/contact.html">contact.html</a> for up to date contact details as
|
||||
well as details on how to provide fixes to any of the entries. See also
|
||||
<a href="/faq.html">the IOCCC FAQ</a> for addition information on the
|
||||
IOCCC.</p>
|
||||
<h1 id="copyright-and-license">Copyright and License</h1>
|
||||
<p>Copyright (C) 2020,2023,2024 Landon Curt Noll. All Rights Reserved.
|
||||
This work is licensed under a <a
|
||||
href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons
|
||||
CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International</a> license.
|
||||
If you do use this work in some form, the <a href="/judges.html">IOCCC
|
||||
judges</a> would appreciate (but do not require) if you were to <a
|
||||
href="/contact.html">send us a note about your use</a>.</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
|
||||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-row.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||||
|
||||
<div class="footer">
|
||||
<hr>
|
||||
<h2>Coda</h2>
|
||||
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.html">Nu HTML check this web page</a></p>
|
||||
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- END: this line ends content from: inc/bottom.default.html -->
|
||||
+12
-13
@@ -19,7 +19,7 @@
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The authors of winning IOCCC entries</title>
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="IOCCC Authors and their winning entries">
|
||||
<meta name="keywords" content="IOCCC, entry, entries, Winning entries by author">
|
||||
</head>
|
||||
@@ -35,7 +35,7 @@
|
||||
<div class="header">
|
||||
<img src="./png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>IOCCC Authors and their winning entries</h2>
|
||||
<h2>Authors of winning IOCCC entries</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
@@ -104,21 +104,20 @@
|
||||
|
||||
<center>
|
||||
<p>
|
||||
[ <a href="#A">A</a> <a href="#B">B</a> <a href="#C">C</a>
|
||||
<a href="#D">D</a> <a href="#E">E</a> <a href="#F">F</a>
|
||||
<a href="#G">G</a> <a href="#H">H</a> <a href="#I">I</a>
|
||||
<a href="#J">J</a> <a href="#K">K</a> <a href="#L">L</a>
|
||||
<a href="#M">M</a> <a href="#N">N</a> <a href="#O">O</a>
|
||||
<a href="#P">P</a> <a href="#Q">Q</a> <a href="#R">R</a>
|
||||
<a href="#S">S</a> <a href="#T">T</a> <a href="#U">U</a>
|
||||
<a href="#V">V</a> <a href="#W">W</a> <a href="#X">X</a>
|
||||
<a href="#Y">Y</a> <a href="#Z">Z</a>]
|
||||
Jump to authors starting with: [ <a href="#A">A</a>
|
||||
<a href="#B">B</a> <a href="#C">C</a> <a href="#D">D</a>
|
||||
<a href="#E">E</a> <a href="#F">F</a> <a href="#G">G</a>
|
||||
<a href="#H">H</a> <a href="#I">I</a> <a href="#J">J</a>
|
||||
<a href="#K">K</a> <a href="#L">L</a> <a href="#M">M</a>
|
||||
<a href="#N">N</a> <a href="#O">O</a> <a href="#P">P</a>
|
||||
<a href="#Q">Q</a> <a href="#R">R</a> <a href="#S">S</a>
|
||||
<a href="#T">T</a> <a href="#U">U</a> <a href="#V">V</a>
|
||||
<a href="#W">W</a> <a href="#X">X</a> <a href="#Y">Y</a>
|
||||
<a href="#Z">Z</a>]
|
||||
</p>
|
||||
</center>
|
||||
<p>
|
||||
<hr>
|
||||
<h1 id="people-who-have-won-the-ioccc">People who have won the
|
||||
IOCCC</h1>
|
||||
<!-- A A A A A A A A A A A A A A A A A A A A A A A -->
|
||||
<h2 id="a-is-for-atoi"><a name="A"></a>A is for atoi</h2>
|
||||
<!-- A A A A A A A A A A A A A A A A A A A A A A A -->
|
||||
|
||||
+22
-2
@@ -91,6 +91,26 @@ bin/gen-location.sh -v 1
|
||||
```
|
||||
|
||||
|
||||
### [gen-top-md2html.sh](gen-top-md2html.sh)
|
||||
|
||||
Generate a number of top level HTML pages for the IOCCC web sites.
|
||||
|
||||
Usage:
|
||||
|
||||
```sh
|
||||
bin/gen-top-md2html.sh -v 1
|
||||
```
|
||||
|
||||
Examples of top level HTML pages built by this tool include:
|
||||
|
||||
- [CODE_OF_CONDUCT.html](CODE_OF_CONDUCT.html)
|
||||
- [README.html](README.html)
|
||||
- [bugs.html](bugs.html)
|
||||
- [contact.html](contact.html)
|
||||
- [faq.html](faq.html)
|
||||
- [thanks-for-help.html](thanks-for-help.html)
|
||||
|
||||
|
||||
### [gen-year-index.sh](gen-year-index.sh)
|
||||
|
||||
Generate an `index.html` page for an given IOCCC year.
|
||||
@@ -435,14 +455,14 @@ IMPORTANT: An "output tool" will print each command line option / argument on a
|
||||
So for example, if an "output tool" wishes to convey:
|
||||
|
||||
```
|
||||
-s TITIE='IOCCC entry locations' -H topnav=top-of-site
|
||||
-s TITLE='IOCCC entry locations' -H topnav=top-of-site
|
||||
```
|
||||
|
||||
The "output tool" would output the following 4 lines:
|
||||
|
||||
```
|
||||
-s
|
||||
TITIE='IOCCC entry locations'
|
||||
TITLE='IOCCC entry locations'
|
||||
-H
|
||||
topnav=top-of-site
|
||||
```
|
||||
|
||||
+2
-3
@@ -49,7 +49,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
|
||||
|
||||
# set variables referenced in the usage message
|
||||
#
|
||||
export VERSION="1.0.1 2024-02-23"
|
||||
export VERSION="1.1 2024-02-25"
|
||||
NAME=$(basename "$0")
|
||||
export NAME
|
||||
export V_FLAG=0
|
||||
@@ -741,7 +741,7 @@ fi
|
||||
# output top of content
|
||||
#
|
||||
cat << EOF
|
||||
<center><p>[
|
||||
<center><p>Jump to authors starting with: [
|
||||
<a href="#A">A</a>
|
||||
<a href="#B">B</a>
|
||||
<a href="#C">C</a>
|
||||
@@ -771,7 +771,6 @@ fi
|
||||
]</p></center>
|
||||
<p>
|
||||
<hr>
|
||||
# People who have won the IOCCC
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
Executable
+460
@@ -0,0 +1,460 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# gen-top-md2html.sh - generate select top level HTML files from markdown files
|
||||
#
|
||||
# Copyright (c) 2024 by Landon Curt Noll. All Rights Reserved.
|
||||
#
|
||||
# Permission to use, copy, modify, and distribute this software and
|
||||
# its documentation for any purpose and without fee is hereby granted,
|
||||
# provided that the above copyright, this permission notice and text
|
||||
# this comment, and the disclaimer below appear in all of the following:
|
||||
#
|
||||
# supporting documentation
|
||||
# source copies
|
||||
# source works derived from this source
|
||||
# binaries derived from this source or from derived source
|
||||
#
|
||||
# LANDON CURT NOLL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
|
||||
# EVENT SHALL LANDON CURT NOLL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
# CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
||||
# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
# PERFORMANCE OF THIS SOFTWARE.
|
||||
#
|
||||
# chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
|
||||
#
|
||||
# Share and enjoy! :-)
|
||||
|
||||
# firewall - must be bash with a version 4.2 or later
|
||||
#
|
||||
# We must declare arrays with -ag or -Ag, and we need loops to "export" modified variables.
|
||||
#
|
||||
if [[ -z ${BASH_VERSINFO[0]} || ${BASH_VERSINFO[0]} -lt 4 || ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 2 ]]; then
|
||||
echo "$0: ERROR: bash version must be >= 4.2: $BASH_VERSION" 1>&2
|
||||
exit 4
|
||||
fi
|
||||
|
||||
# setup bash file matching
|
||||
#
|
||||
# Requires bash with a version 4.2 or later
|
||||
#
|
||||
shopt -s nullglob # enable expanded to nothing rather than remaining unexpanded
|
||||
shopt -u failglob # disable error message if no matches are found
|
||||
shopt -u dotglob # disable matching files starting with .
|
||||
shopt -s globskipdots # enable never matching . nor ..
|
||||
shopt -u nocaseglob # disable strict case matching
|
||||
shopt -u extglob # enable extended globbing patterns
|
||||
shopt -s globstar # enable ** to match all files and zero or more directories and subdirectories
|
||||
TOP_MD_SET+=("faq")
|
||||
|
||||
# set variables referenced in the usage message
|
||||
#
|
||||
export VERSION="1.0 2024-02-24"
|
||||
NAME=$(basename "$0")
|
||||
export NAME
|
||||
export V_FLAG=0
|
||||
GIT_TOOL=$(type -P git)
|
||||
export GIT_TOOL
|
||||
if [[ -z "$GIT_TOOL" ]]; then
|
||||
echo "$0: FATAL: git tool is not installed or not in \$PATH" 1>&2
|
||||
exit 5
|
||||
fi
|
||||
"$GIT_TOOL" rev-parse --is-inside-work-tree >/dev/null 2>&1
|
||||
status="$?"
|
||||
if [[ $status -eq 0 ]]; then
|
||||
TOPDIR=$("$GIT_TOOL" rev-parse --show-toplevel)
|
||||
fi
|
||||
export TOPDIR
|
||||
export DOCROOT_SLASH="./"
|
||||
export TAGLINE="bin/$NAME"
|
||||
export MD2HTML_SH="bin/md2html.sh"
|
||||
export PANDOC_WRAPPER="bin/pandoc-wrapper.sh"
|
||||
export REPO_URL="https://github.com/ioccc-src/temp-test-ioccc"
|
||||
export SITE_URL="https://ioccc-src.github.io/temp-test-ioccc"
|
||||
#
|
||||
unset TOP_MD_SET
|
||||
TOP_MD_SET+=("CODE_OF_CONDUCT")
|
||||
TOP_MD_SET+=("README")
|
||||
TOP_MD_SET+=("bugs")
|
||||
TOP_MD_SET+=("contact")
|
||||
TOP_MD_SET+=("faq")
|
||||
TOP_MD_SET+=("thanks-for-help")
|
||||
#
|
||||
export NOOP=
|
||||
export DO_NOT_PROCESS=
|
||||
export EXIT_CODE="0"
|
||||
|
||||
# clear options we will add to tools
|
||||
#
|
||||
unset TOOL_OPTION
|
||||
declare -ag TOOL_OPTION
|
||||
|
||||
# usage
|
||||
#
|
||||
export USAGE="usage: $0 [-h] [-v level] [-V] [-d topdir] [-D docroot/] [-n] [-N]
|
||||
[-t tagline] [-T md2html.sh] [-p tool] [-u repo_url]
|
||||
|
||||
-h print help message and exit
|
||||
-v level set verbosity level (def level: 0)
|
||||
-V print version string and exit
|
||||
|
||||
-d topdir set topdir (def: $TOPDIR)
|
||||
NOTE: The '-d topdir' is passed as leading options on tool command lines.
|
||||
-D docroot/ set the document root path followed by slash (def: $DOCROOT_SLASH)
|
||||
NOTE: The '-D docroot/' is passed as leading options on tool command lines.
|
||||
NOTE: 'docroot' must end in a slash
|
||||
|
||||
-n go thru the actions, but do not update any files (def: do the action)
|
||||
NOTE: -n is passed to tool
|
||||
-N do not process anything, just parse arguments (def: process something)
|
||||
|
||||
-t tagline string to write about the tool that formed the markdown content (def: $TAGLINE)
|
||||
NOTE: 'tagline' may be enclosed within, but may NOT contain an internal single-quote, or double-quote.
|
||||
-T md2html.sh run 'markdown to html tool' to convert markdown into HTML (def: $MD2HTML_SH)
|
||||
|
||||
-p tool run 'pandoc wrapper tool' (not pandoc path) during HTML phase number 21 (def: use $PANDOC_WRAPPER)
|
||||
NOTE: The '-p tool' is passed as leading options on tool command lines.
|
||||
|
||||
-u repo_url Base level URL of target git repo (def: $REPO_URL)
|
||||
NOTE: The '-u repo_url' is passed as leading options on tool command lines.
|
||||
-w site_url Base URL of the web site (def: $SITE_URL)
|
||||
NOTE: The '-w site_url' is passed as leading options on tool command lines.
|
||||
|
||||
NOTE: The '-v level' is passed as initial command line options to the 'markdown to html tool' (md2html.sh).
|
||||
The 'tagline' is passed as '-t tagline' to the 'markdown to html tool' (md2html.sh), after the '-v level'.
|
||||
Any '-T md2html.sh', '-p tool', '-P pandoc_opts', '-u repo_url', '-U top_url'
|
||||
are passed to the 'markdown to html tool' (md2html.sh), and will be before any command line arguments.
|
||||
|
||||
Exit codes:
|
||||
0 all OK
|
||||
1 some internal tool exited non-zero
|
||||
2 -h and help string printed or -V and version string printed
|
||||
3 command line error
|
||||
4 bash version is < 4.2
|
||||
5 some internal tool is not found or not an executable file
|
||||
6 problems found with or in the topdir or topdir/YYYY directory
|
||||
8 markdown file(s) not a non-empty readable file
|
||||
>= 10 internal error
|
||||
|
||||
$NAME version: $VERSION"
|
||||
|
||||
# parse command line
|
||||
#
|
||||
while getopts :hv:Vd:D:nNt:T:p:u:w: flag; do
|
||||
case "$flag" in
|
||||
h) echo "$USAGE" 1>&2
|
||||
exit 2
|
||||
;;
|
||||
v) V_FLAG="$OPTARG"
|
||||
;;
|
||||
V) echo "$VERSION"
|
||||
exit 2
|
||||
;;
|
||||
d) TOPDIR="$OPTARG"
|
||||
TOOL_OPTION+=("-d")
|
||||
TOOL_OPTION+=("$TOPDIR")
|
||||
;;
|
||||
D) # parse -D docroot/
|
||||
case "$OPTARG" in
|
||||
*/) ;;
|
||||
*) echo "$0: ERROR: in -D docroot/, the docroot must end in /" 1>&2
|
||||
echo 1>&2
|
||||
print_usage 1>&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
DOCROOT_SLASH="$OPTARG"
|
||||
# -D docroot/ always added after arg parsing
|
||||
;;
|
||||
n) NOOP="-n"
|
||||
;;
|
||||
N) DO_NOT_PROCESS="-N"
|
||||
;;
|
||||
t) # parse -t tagline
|
||||
case "$OPTARG" in
|
||||
*"'"*)
|
||||
echo "$0: ERROR: in -t tagline, the tagline may not contain a single-quote character: $OPTARG" 1>&2
|
||||
echo 1>&2
|
||||
print_usage 1>&2
|
||||
exit 3
|
||||
;;
|
||||
*'"'*)
|
||||
echo "$0: ERROR: in -t tagline, the tagline may not contain a double-quote character: $OPTARG" 1>&2
|
||||
echo 1>&2
|
||||
print_usage 1>&2
|
||||
exit 3
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
TAGLINE="$OPTARG"
|
||||
# -t tagline always added after arg parsing
|
||||
;;
|
||||
T) MD2HTML_SH="$OPTARG"
|
||||
TOOL_OPTION+=("-T")
|
||||
TOOL_OPTION+=("$MD2HTML_SH")
|
||||
;;
|
||||
p) PANDOC_WRAPPER="$OPTARG"
|
||||
TOOL_OPTION+=("-p")
|
||||
TOOL_OPTION+=("$PANDOC_WRAPPER")
|
||||
;;
|
||||
u) REPO_URL="$OPTARG"
|
||||
TOOL_OPTION+=("-u")
|
||||
TOOL_OPTION+=("$REPO_URL")
|
||||
;;
|
||||
w) SITE_URL="$OPTARG"
|
||||
TOOL_OPTION+=("-w")
|
||||
TOOL_OPTION+=("$SITE_URL")
|
||||
;;
|
||||
\?) echo "$0: ERROR: invalid option: -$OPTARG" 1>&2
|
||||
echo 1>&2
|
||||
print_usage 1>&2
|
||||
exit 3
|
||||
;;
|
||||
:) echo "$0: ERROR: option -$OPTARG requires an argument" 1>&2
|
||||
echo 1>&2
|
||||
echo "$USAGE" 1>&2
|
||||
exit 3
|
||||
;;
|
||||
*) echo "$0: ERROR: unexpected value from getopts: $flag" 1>&2
|
||||
echo 1>&2
|
||||
echo "$USAGE" 1>&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# remove the options
|
||||
#
|
||||
shift $(( OPTIND - 1 ));
|
||||
#
|
||||
# verify arg count and parse args
|
||||
#
|
||||
if [[ $V_FLAG -ge 5 ]]; then
|
||||
echo "$0: debug[5]: file argument count: $#" 1>&2
|
||||
fi
|
||||
#
|
||||
if [[ $# -ne 0 ]]; then
|
||||
echo "$0: ERROR: expected 0 args, found: $#" 1>&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
# always add the '-v level' option, unless level is empty, to the set of options passed to the md2html.sh tool
|
||||
#
|
||||
if [[ -n $V_FLAG ]]; then
|
||||
TOOL_OPTION+=("-v")
|
||||
TOOL_OPTION+=("$V_FLAG")
|
||||
fi
|
||||
|
||||
# always add the '-t tagline' option, unless tagline is empty, to the set of options passed to the md2html.sh tool
|
||||
#
|
||||
if [[ -n $TAGLINE ]]; then
|
||||
TOOL_OPTION+=("-t")
|
||||
TOOL_OPTION+=("$TAGLINE")
|
||||
fi
|
||||
|
||||
# always add the '-U URL' for the top level location.html file
|
||||
#
|
||||
TOOL_OPTION+=("-U")
|
||||
TOOL_OPTION+=("$SITE_URL/location.html")
|
||||
|
||||
# always add the '-D docroot/' for the top level location.html file
|
||||
#
|
||||
TOOL_OPTION+=("-D")
|
||||
TOOL_OPTION+=("$DOCROOT_SLASH")
|
||||
|
||||
# verify that we have a topdir directory
|
||||
#
|
||||
REPO_NAME=$(basename "$REPO_URL")
|
||||
export REPO_NAME
|
||||
if [[ -z $TOPDIR ]]; then
|
||||
echo "$0: ERROR: cannot find top of git repo directory" 1>&2
|
||||
echo "$0: Notice: if needed: $GIT_TOOL clone $REPO_URL; cd $REPO_NAME" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
if [[ ! -e $TOPDIR ]]; then
|
||||
echo "$0: ERROR: TOPDIR does not exist: $TOPDIR" 1>&2
|
||||
echo "$0: Notice: if needed: $GIT_TOOL clone $REPO_URL; cd $REPO_NAME" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
if [[ ! -d $TOPDIR ]]; then
|
||||
echo "$0: ERROR: TOPDIR is not a directory: $TOPDIR" 1>&2
|
||||
echo "$0: Notice: if needed: $GIT_TOOL clone $REPO_URL; cd $REPO_NAME" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
|
||||
# cd to topdir
|
||||
#
|
||||
if [[ ! -e $TOPDIR ]]; then
|
||||
echo "$0: ERROR: cannot cd to non-existent path: $TOPDIR" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
if [[ ! -d $TOPDIR ]]; then
|
||||
echo "$0: ERROR: cannot cd to a non-directory: $TOPDIR" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
export CD_FAILED
|
||||
if [[ $V_FLAG -ge 5 ]]; then
|
||||
echo "$0: debug[5]: about to: cd $TOPDIR" 1>&2
|
||||
fi
|
||||
cd "$TOPDIR" || CD_FAILED="true"
|
||||
if [[ -n $CD_FAILED ]]; then
|
||||
echo "$0: ERROR: cd $TOPDIR failed" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
if [[ $V_FLAG -ge 3 ]]; then
|
||||
echo "$0: debug[3]: now in directory: $(/bin/pwd)" 1>&2
|
||||
fi
|
||||
|
||||
# verify that we have an author subdirectory
|
||||
#
|
||||
export AUTHOR_PATH="$TOPDIR/author"
|
||||
if [[ ! -d $AUTHOR_PATH ]]; then
|
||||
echo "$0: ERROR: author is not a directory under topdir: $AUTHOR_PATH" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
export AUTHOR_DIR="author"
|
||||
|
||||
# verify that we have an bin subdirectory
|
||||
#
|
||||
export BIN_PATH="$TOPDIR/bin"
|
||||
if [[ ! -d $BIN_PATH ]]; then
|
||||
echo "$0: ERROR: bin is not a directory under topdir: $BIN_PATH" 1>&2
|
||||
exit 6
|
||||
fi
|
||||
export BIN_DIR="bin"
|
||||
|
||||
# verify that the md2html tool is executable
|
||||
#
|
||||
if [[ ! -e $MD2HTML_SH ]]; then
|
||||
echo "$0: ERROR: md2html.sh does not exist: $MD2HTML_SH" 1>&2
|
||||
exit 5
|
||||
fi
|
||||
if [[ ! -f $MD2HTML_SH ]]; then
|
||||
echo "$0: ERROR: md2html.sh is not a regular file: $MD2HTML_SH" 1>&2
|
||||
exit 5
|
||||
fi
|
||||
if [[ ! -x $MD2HTML_SH ]]; then
|
||||
echo "$0: ERROR: md2html.sh is not an executable file: $MD2HTML_SH" 1>&2
|
||||
exit 5
|
||||
fi
|
||||
|
||||
# find the location tool
|
||||
#
|
||||
LOCATION_TOOL=$(type -P location)
|
||||
if [[ -z $LOCATION_TOOL ]]; then
|
||||
# guess we have a location tool in bin
|
||||
#
|
||||
LOCATION_TOOL="$BIN_DIR/location"
|
||||
fi
|
||||
if [[ ! -x $LOCATION_TOOL ]]; then
|
||||
echo "$0: ERROR: cannot find the location executable" 1>&2
|
||||
echo "$0: notice: location tool comes from this repo: https://github.com/ioccc-src/mkiocccentry" 1>&2
|
||||
exit 5
|
||||
fi
|
||||
|
||||
# note location.html file
|
||||
#
|
||||
export LOCATION_HTML="location.html"
|
||||
|
||||
# print running info if verbose
|
||||
#
|
||||
# If -v 3 or higher, print exported variables in order that they were exported.
|
||||
#
|
||||
if [[ $V_FLAG -ge 3 ]]; then
|
||||
echo "$0: debug[3]: VERSION=$VERSION" 1>&2
|
||||
echo "$0: debug[3]: NAME=$NAME" 1>&2
|
||||
echo "$0: debug[3]: V_FLAG=$V_FLAG" 1>&2
|
||||
echo "$0: debug[3]: GIT_TOOL=$GIT_TOOL" 1>&2
|
||||
echo "$0: debug[3]: TOPDIR=$TOPDIR" 1>&2
|
||||
echo "$0: debug[3]: DOCROOT_SLASH=$DOCROOT_SLASH" 1>&2
|
||||
echo "$0: debug[3]: TAGLINE=$TAGLINE" 1>&2
|
||||
echo "$0: debug[3]: MD2HTML_SH=$MD2HTML_SH" 1>&2
|
||||
echo "$0: debug[3]: PANDOC_WRAPPER=$PANDOC_WRAPPER" 1>&2
|
||||
echo "$0: debug[3]: REPO_URL=$REPO_URL" 1>&2
|
||||
echo "$0: debug[3]: SITE_URL=$SITE_URL" 1>&2
|
||||
for index in "${!TOP_MD_SET[@]}"; do
|
||||
echo "$0: debug[3]: TOP_MD_SET[$index]=${TOP_MD_SET[$index]}" 1>&2
|
||||
done
|
||||
echo "$0: debug[3]: NOOP=$NOOP" 1>&2
|
||||
echo "$0: debug[3]: DOCROOT_SLASH=$DOCROOT_SLASH" 1>&2
|
||||
echo "$0: debug[3]: EXIT_CODE=$EXIT_CODE" 1>&2
|
||||
echo "$0: debug[3]: REPO_NAME=$REPO_NAME" 1>&2
|
||||
for index in "${!TOOL_OPTION[@]}"; do
|
||||
echo "$0: debug[3]: TOOL_OPTION[$index]=${TOOL_OPTION[$index]}" 1>&2
|
||||
done
|
||||
echo "$0: debug[3]: AUTHOR_PATH=$AUTHOR_PATH" 1>&2
|
||||
echo "$0: debug[3]: AUTHOR_DIR=$AUTHOR_DIR" 1>&2
|
||||
echo "$0: debug[3]: BIN_PATH=$BIN_PATH" 1>&2
|
||||
echo "$0: debug[3]: LOCATION_HTML=$LOCATION_HTML" 1>&2
|
||||
fi
|
||||
|
||||
# -N stops early before any processing is performed
|
||||
#
|
||||
if [[ -n $DO_NOT_PROCESS ]]; then
|
||||
if [[ $V_FLAG -ge 3 ]]; then
|
||||
echo "$0: debug[3]: arguments parsed, -N given, exiting 0" 1>&2
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# process the entire markdown set
|
||||
#
|
||||
for name in "${TOP_MD_SET[@]}"; do
|
||||
|
||||
# verify that the markdown file exists at the topdir
|
||||
#
|
||||
export MD_FILE="$name.md"
|
||||
if [[ ! -e $MD_FILE ]]; then
|
||||
echo "$0: Warning: markdown file does not exist: $MD_FILE" 1>&2
|
||||
EXIT_CODE=8 # exit 8
|
||||
echo "$0: Warning: EXIT_CODE set to: $EXIT_CODE" 1>&2
|
||||
continue
|
||||
fi
|
||||
if [[ ! -f $MD_FILE ]]; then
|
||||
echo "$0: Warning: markdown file is not a regular file: $MD_FILE" 1>&2
|
||||
EXIT_CODE=8 # exit 8
|
||||
echo "$0: Warning: EXIT_CODE set to: $EXIT_CODE" 1>&2
|
||||
continue
|
||||
fi
|
||||
if [[ ! -r $MD_FILE ]]; then
|
||||
echo "$0: Warning: markdown file is not a readable file: $MD_FILE" 1>&2
|
||||
EXIT_CODE=8 # exit 8
|
||||
echo "$0: Warning: EXIT_CODE set to: $EXIT_CODE" 1>&2
|
||||
continue
|
||||
fi
|
||||
if [[ ! -s $MD_FILE ]]; then
|
||||
echo "$0: Warning: markdown file is not a non-empty readable file: $MD_FILE" 1>&2
|
||||
EXIT_CODE=8 # exit 8
|
||||
echo "$0: Warning: EXIT_CODE set to: $EXIT_CODE" 1>&2
|
||||
continue
|
||||
fi
|
||||
export HTML_FILE="$name.html"
|
||||
|
||||
# use the md2html.sh tool to form the HTML file, unless -n
|
||||
#
|
||||
if [[ -z $NOOP ]]; then
|
||||
if [[ $V_FLAG -ge 1 ]]; then
|
||||
echo "$0: debug[1]: about to run: $MD2HTML_SH ${TOOL_OPTION[*]} -- $MD_FILE $HTML_FILE" 1>&2
|
||||
fi
|
||||
"$MD2HTML_SH" "${TOOL_OPTION[@]}" -- "$MD_FILE" "$HTML_FILE"
|
||||
status="$?"
|
||||
if [[ $status -ne 0 ]]; then
|
||||
echo "$0: Warning: md2html.sh: $MD2HTML_SH ${TOOL_OPTION[*]} -- $MD_FILE $HTML_FILE" \
|
||||
"failed, error: $status" 1>&2
|
||||
EXIT_CODE="1" # exit 1
|
||||
echo "$0: Warning: EXIT_CODE set to: $EXIT_CODE" 1>&2
|
||||
elif [[ $V_FLAG -ge 3 ]]; then
|
||||
echo "$0: debug[3]: now up to date: $HTML_FILE" 1>&2
|
||||
fi
|
||||
|
||||
# report disabled by -n
|
||||
#
|
||||
elif [[ $V_FLAG -ge 5 ]]; then
|
||||
echo "$0: debug[5]: because of -n, did not run: $MD2HTML_SH ${TOOL_OPTION[*]} -- $MD_FILE $HTML_FILE" 1>&2
|
||||
fi
|
||||
done
|
||||
|
||||
# All Done!!! -- Jessica Noll, Age 2
|
||||
#
|
||||
exit "$EXIT_CODE"
|
||||
@@ -58,7 +58,7 @@ shopt -s globstar # enable ** to match all files and zero or more directories an
|
||||
|
||||
# set variables referenced in the usage message
|
||||
#
|
||||
export VERSION="1.2.1 2024-02-23"
|
||||
export VERSION="1.2.2 2024-02-25"
|
||||
NAME=$(basename "$0")
|
||||
export NAME
|
||||
export V_FLAG=0
|
||||
@@ -460,7 +460,7 @@ fi
|
||||
# output TITLE substitution
|
||||
#
|
||||
echo "-s"
|
||||
echo "TITIE=$YYYY_DIR - $AWARD"
|
||||
echo "TITLE=$YYYY_DIR - $AWARD"
|
||||
|
||||
# output DESCRIPTION substitution
|
||||
#
|
||||
|
||||
@@ -443,7 +443,7 @@ fi
|
||||
# output TITLE substitution
|
||||
#
|
||||
echo "-s"
|
||||
echo "TITIE=$YEAR_DIR - The $ORDINAL IOCCC"
|
||||
echo "TITLE=$YEAR_DIR - The $ORDINAL IOCCC"
|
||||
|
||||
# output DESCRIPTION substitution
|
||||
#
|
||||
|
||||
+171
-54
@@ -1,67 +1,184 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
|
||||
<link rel="stylesheet" type="text/css" href="tmp/old-ioccc.css">
|
||||
<TITLE>Contacting the IOCCC Judges</TITLE>
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000">
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! 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 !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- -->
|
||||
<!-- END: this line ends content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- The original markdown content was formed by the tool: bin/gen-top-md2html.sh -->
|
||||
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
|
||||
<!-- -->
|
||||
<!-- START: this line starts content from: inc/head.default.html -->
|
||||
|
||||
<CENTER><a HREF="2011/zucker/hint.html"><IMG ALT="IOCCC" SRC="png/ioccc.png"></a><br><FONT SIZE="1">Logo by winner <a href="2011/zucker/hint.html">Matt Zucker</a></font></CENTER><BR>
|
||||
<CENTER><FONT SIZE="6"><I>The International Obfuscated C Code
|
||||
Contest </I></FONT></CENTER><BR>
|
||||
<head>
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="Contacting the IOCCC Judges">
|
||||
<meta name="keywords" content="IOCCC, contact, Contacting the IOCCC Judges">
|
||||
</head>
|
||||
|
||||
<P>
|
||||
<CENTER>
|
||||
<A HREF="index.html">IOCCC home page</A> |
|
||||
<A HREF="years.html">Winning entries</A> |
|
||||
<A HREF="authors.html">People who have won</A>
|
||||
<BR><BR>
|
||||
<A HREF="news.html">IOCCC News</a> |
|
||||
<A HREF="faq.html#submit">How to enter the IOCCC</A> |
|
||||
<A HREF="faq.html">FAQ</A>
|
||||
<BR><BR>
|
||||
<A HREF="bugs.md">Known Bugs & (Mis)features</A> |
|
||||
<A HREF="faq.html#fix_an_entry">Fixing IOCCC entries</A> |
|
||||
<A HREF="faq.html#fix_web_site">Fixing the web site</A> |
|
||||
<A HREF="faq.html#fix_author">Fixing winner info</A> |
|
||||
<A HREF="thanks-for-help.md">Thanks for the help</A>
|
||||
<BR><BR>
|
||||
<A HREF="judges.html">The judges</A> |
|
||||
<A HREF="contact.html">Contacting the IOCCC</A>
|
||||
</CENTER>
|
||||
<!-- END: this line ends content from: inc/head.default.html -->
|
||||
<!-- START: this line starts content from: inc/body.default.html -->
|
||||
|
||||
<HR>
|
||||
<body>
|
||||
|
||||
<H2>Contacting the IOCCC</H2>
|
||||
<!-- END: this line ends content from: inc/body.default.html -->
|
||||
<!-- START: this line starts content from: inc/header.default.html -->
|
||||
|
||||
<P>If you want to contact the IOCCC please send email to:
|
||||
<div class="header">
|
||||
<img src="./png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>How to contact the IOCCC</h2>
|
||||
</div>
|
||||
|
||||
<blockquote><b><a href="mailto:q.YYYY@ioccc.org?subject=IOCCC YYYY question <=== You MUST change YYYY to the 4-digit year in both the To address and Subject, then remove this arrow note from the subject line!">q.YYYY@ioccc.org</a></b></blockquote>
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-row.default.html -->
|
||||
|
||||
<blockquote><b>IMPORTANT:</b> The <b>YYYY</b> in the above Email address <b>MUST</b> be changed to the current 4 digit year!</blockquote>
|
||||
<div class="row">
|
||||
|
||||
<P>
|
||||
You must include the following two words (separated by a space) in the subject of your email, otherwise the email will be rejected:
|
||||
<!-- END: this line ends content from: inc/begin-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
|
||||
|
||||
<blockquote><B>IOCCC YYYY</B></blockquote>
|
||||
<div class="leftcolumn">
|
||||
|
||||
<blockquote><b>IMPORTANT:</b> The <b>YYYY</b> in your subject line <b>MUST</b> be changed to the current 4 digit year!</blockquote>
|
||||
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/sidenav.default.html -->
|
||||
|
||||
<HR>
|
||||
<div class="sidenav">
|
||||
<a href="#content">Jump to contents</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./index.html">IOCCC Home</a>
|
||||
<a href="./years.html">Winning Entries</a>
|
||||
<a href="./authors.html">People who have won</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./news.html">IOCCC News</a>
|
||||
<a href="./faq.html#submit">How to enter the IOCCC</a>
|
||||
<a href="./faq.html">FAQ</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./bugs.html">Bugs & (mis)features</a>
|
||||
<a href="./faq.html#fix_an_entry">Fixing IOCCC entries</a>
|
||||
<a href="./faq.html#fix_web_site">Fixing the web site</a>
|
||||
<a href="./faq.html#fix_author">Fixing author info</a>
|
||||
<a href="./thanks-for-help.html">Thanks for the help</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="./judges.html">The IOCCC Judges</a>
|
||||
<a href="./contact.html">Contacting the IOCCC</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="#top">Jump to top</a>
|
||||
</div>
|
||||
|
||||
<table><tr>
|
||||
<td><img alt="Creative Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License"
|
||||
style="border-width:0" width="88" height="31" src="png/by-sa.88x31.png" /></td>
|
||||
<td>© Copyright 1984-2023,
|
||||
<a href="judges.html">Landon Curt Noll and Leonid A. Broukhis.</a> - All rights reserved.<br><br>
|
||||
This work is licensed under the
|
||||
<a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative
|
||||
Commons CC BY-SA 4.0 DEED Attribution-ShareAlike 4.0 International License</a>.<br><br>
|
||||
If you do use this work in some form, the
|
||||
<a href="judges.html">IOCCC judges</a> would appreciate (but does not require)
|
||||
if you were to <a href="contact.html">send us a note about your use</a>.</td>
|
||||
</tr></table>
|
||||
<!-- END: this line ends content from: inc/sidenav.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
|
||||
|
||||
<div class="rightcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||||
|
||||
<a name="content"></a>
|
||||
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h1 id="wait---before-you-send-that-email">WAIT!!! - Before you send
|
||||
that Email</h1>
|
||||
<p>If you are trying to:</p>
|
||||
<ul>
|
||||
<li>Fix a winning IOCCC entry - (see <a href="/faq.md#fix_an_entry">FAQ
|
||||
5.2</a>)</li>
|
||||
<li>Update winning author information - (see <a
|
||||
href="/faq.md#fix_author">FAQ 5.5</a>)</li>
|
||||
<li>Correct a web site problem - (see <a href="/faw.md#fix_web_site">FAQ
|
||||
5.4</a> or <a href="/faq.md#fix_link">FAQ 5.6</a>)</li>
|
||||
</ul>
|
||||
<p>Instead of sending us Email, <strong>Please</strong> consider using
|
||||
the <a href="https://github.com/ioccc-src/winner/pulls">GitHub pull
|
||||
request</a> process against the master <a
|
||||
href="https://github.com/ioccc-src/winner/branches">branch</a> of the <a
|
||||
href="https://github.com/ioccc-src/winner">ioccc-src/winner
|
||||
repo</a>.</p>
|
||||
<p>If you are trying to:</p>
|
||||
<ul>
|
||||
<li>Report a bug in an IOCCC winner - (see <a
|
||||
href="/faq.md#report_bug">FAQ 5.1</a>)</li>
|
||||
<li>Report an IOCCC web site problem - (see <a
|
||||
href="/faq.md#report_web_problem">FAQ 5.3</a>)</li>
|
||||
<li>Report a broken or wrong web link - (see <a
|
||||
href="/faq.md#fix_link">FAQ 5.6</a>)</li>
|
||||
</ul>
|
||||
<p>Instead first look at the <a
|
||||
href="https://github.com/ioccc-src/winner/issues">IOCCC issues</a> to
|
||||
see if the problem has already been reported. If it has been reported,
|
||||
feel free to add a comment to the issue. If you do not find an it has
|
||||
been reported, then fee free to open a <a
|
||||
href="//github.com/ioccc-src/winner/issues">new IOCCC issue</a>.</p>
|
||||
<p>See the above FAQ entries for more details.</p>
|
||||
<h1 id="if-you-really-need-to-send-email-the-ioccc-judges">If you really
|
||||
need to send Email the IOCCC judges</h1>
|
||||
<p>Did you look at the above section?</p>
|
||||
<p>If you must contact the IOCCC judges by email, then please send email
|
||||
to: <a
|
||||
href="mailto:q.YYYY@ioccc.org?subject=IOCCC%20YYYY%20question%20%3C===%20You%20MUST%20change%20YYYY%20to%20the%204-digit%20year%20in%20both%20the%20To%20address%20and%20Subject,%20then%20remove%20this%20arrow%20note%20from%20the%20subject%20line!">q.YYYY@ioccc.org</a></p>
|
||||
<p><strong>IMPORTANT:</strong> The <em>YYYY</em> in the above Email
|
||||
address <strong>MUST</strong> be changed to the current 4 digit
|
||||
year!</p>
|
||||
<p>You <strong>MUST</strong> include the following two words (separated
|
||||
by a space) in the subject of your email, otherwise the email will be
|
||||
rejected:</p>
|
||||
<pre><code>IOCCC YYYY</code></pre>
|
||||
<p><strong>IMPORTANT:</strong> The <em>YYYY</em> in the above Email
|
||||
address <strong>MUST</strong> be changed to the current 4 digit
|
||||
year!</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
|
||||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-row.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||||
|
||||
<div class="footer">
|
||||
<hr>
|
||||
<h2>Coda</h2>
|
||||
<p><a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2Flocation.html">Nu HTML check this web page</a></p>
|
||||
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- END: this line ends content from: inc/bottom.default.html -->
|
||||
@@ -4,7 +4,7 @@
|
||||
<link rel="stylesheet" href="%%DOCROOT_SLASH%%ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>%%TITIE%%</title>
|
||||
<title>%%TITLE%%</title>
|
||||
<meta name="description" content="%%DESCRIPTION%%">
|
||||
<meta name="keywords" content="%%KEYWORDS%%">
|
||||
</head>
|
||||
|
||||
+78
-13
@@ -72,6 +72,14 @@ CODE_OF_CONDUCT.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=Contributor Covenant Code of Conduct
|
||||
-s
|
||||
KEYWORDS=IOCCC, Contributor Covenant Code of Conduct, Code of Conduct
|
||||
-s
|
||||
HEADER_2=IOCCC GitHub repo Contributor Covenant Code of Conduct
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -80,6 +88,14 @@ README.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=IOCCC GitHub repo README
|
||||
-s
|
||||
KEYWORDS=IOCCC, IOCCC GitHub repo README
|
||||
-s
|
||||
HEADER_2=About the IOCCC GitHub repo
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -89,13 +105,13 @@ authors.md
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITIE=The authors of winning IOCCC entries
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=IOCCC Authors and their winning entries
|
||||
-s
|
||||
KEYWORDS=IOCCC, entry, entries, Winning entries by author
|
||||
-s
|
||||
HEADER_2=IOCCC Authors and their winning entries
|
||||
HEADER_2=Authors of winning IOCCC entries
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -104,6 +120,14 @@ bugs.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=Bugs and (Mis)features of IOCCC entries
|
||||
-s
|
||||
KEYWORDS=IOCCC, Bugs and (Mis)features, bugs, features, misfeatures
|
||||
-s
|
||||
HEADER_2=IOCCC entry Bugs and (Mis)features
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -112,6 +136,14 @@ contact.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=Contacting the IOCCC Judges
|
||||
-s
|
||||
KEYWORDS=IOCCC, contact, Contacting the IOCCC Judges
|
||||
-s
|
||||
HEADER_2=How to contact the IOCCC
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -120,6 +152,14 @@ faq.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=IOCCC FAQ
|
||||
-s
|
||||
KEYWORDS=IOCCC, FAQ, questions, answers, Frequently Asked Questions
|
||||
-s
|
||||
HEADER_2=Frequently Asked Questions
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -128,6 +168,14 @@ index.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=International Obfuscated C Code Contest
|
||||
-s
|
||||
KEYWORDS=IOCCC, International, Obfuscated, C, c, IOCCC, ioccc, obfuscated, Obfuscate, obfuscate, Landon Curt Noll, chongo, Leonid A. Broukhis, leob
|
||||
-s
|
||||
HEADER_2=
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -136,6 +184,14 @@ judges.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=IOCCC FAQ
|
||||
-s
|
||||
KEYWORDS=IOCCC, FAQ, questions, answers, Frequently Asked Questions
|
||||
-s
|
||||
HEADER_2=The Judges of the IOCCC
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -145,7 +201,7 @@ location.md
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITIE=IOCCC Author by Location
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=Locations and/or countries of IOCCC Authors
|
||||
-s
|
||||
@@ -160,6 +216,14 @@ news.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=News and notices of the IOCCC
|
||||
-s
|
||||
KEYWORDS=IOCCC, IOCCC news, news
|
||||
-s
|
||||
HEADER_2=IOCCC News
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -168,14 +232,14 @@ thanks-for-help.md
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-D
|
||||
./
|
||||
|
||||
www-history.md
|
||||
-H
|
||||
topnav=.
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=Thanks for all the fixes of IOCCC winning entries
|
||||
-s
|
||||
KEYWORDS=IOCCC, thanks, thanx, thank you
|
||||
-s
|
||||
HEADER_2=Thanking people for their fixes to IOCCC winning entries
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -185,13 +249,13 @@ years.md
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-s
|
||||
TITIE=IOCCC Winning Entries by Year
|
||||
TITLE=The International Obfuscated C Code Contest
|
||||
-s
|
||||
DESCRIPTION=IOCCC Winning Entries by Year
|
||||
-s
|
||||
KEYWORDS=IOCCC, entry, entries, IOCCC Winning Entries by Year, download IOCCC entry source, IOCCC entry source
|
||||
-s
|
||||
HEADER_2=Entries that won the IOCCC
|
||||
HEADER_2=IOCCC Winning Entries by Year
|
||||
-D
|
||||
./
|
||||
|
||||
@@ -249,6 +313,7 @@ mock/*/README.md
|
||||
-o
|
||||
bin/subst.default.sh
|
||||
-o
|
||||
bin/subst.entry-md.sh
|
||||
|
||||
mock/*/*.md
|
||||
-H
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>IOCCC Author by Location</title>
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="Locations and/or countries of IOCCC Authors">
|
||||
<meta name="keywords" content="IOCCC, IOCCC author by location, IOCCC author by country">
|
||||
</head>
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
+2
-2
@@ -19,7 +19,7 @@
|
||||
<link rel="stylesheet" href="./ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>IOCCC Winning Entries by Year</title>
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="IOCCC Winning Entries by Year">
|
||||
<meta name="keywords" content="IOCCC, entry, entries, IOCCC Winning Entries by Year, download IOCCC entry source, IOCCC entry source">
|
||||
</head>
|
||||
@@ -35,7 +35,7 @@
|
||||
<div class="header">
|
||||
<img src="./png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>Entries that won the IOCCC</h2>
|
||||
<h2>IOCCC Winning Entries by Year</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
|
||||
Reference in new issue
Block a user