allow for year level archive of rules and guidelines

Adjusted `bin/md2html.cfg` to allow for the creation of year level
archive of the rules and guidelines that were in effect when the given
year's content opened for submissions.

We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/rules.md` rules archive, then `YYYY/rules.html`
will be created.

We improved `bin/gen-year-index.sh` so that if there exists
a `YYYY/guidelines.md` rules archive, then `YYYY/guidelines.html`
will be created.

Changed `bin/gen-year-index.sh` VERSION from "2.0.0 2025-03-13"
to "2.1.0 2025-07-05".

Adjusted `next/rules.md` and `next/guidelines.md` so that when they are
copied as archived copies of rules and guidelines under a YYYY directory,
the internal links do not break.  There are **NO** changes to the readable
contents of the rules and guidelines, only some changes to a few internal links.

Updated `1992/buzzard.2/index.html, `1993/rince/index.html`, and
`2012/omoikane/index.html that were modified by recent commits.

Rebuild sitemap due to the changes above.

Ran `make www` to test and perform the above.
This commit is contained in:
Landon Curt Noll committed 2025-07-05 21:24:13 -07:00
1 parent def8e4d481
commit 3106998954
12 files changed
+319 -102

No files matched your search

+9 -9
View File
@@ -643,17 +643,17 @@ and thus indirectly inspiring me to write this program.</p>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/buzzard.2.alt.c">buzzard.2.alt.c</a> - alternate source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/buzzard.2.orig.c">buzzard.2.orig.c</a> - original source code</li>
<li><a href="buzzard.2.README.html">buzzard.2.README.html</a> - author’s description of files</li>
<li><a href="buzzard.2.design.html">buzzard.2.design.html</a> - about the FORTH language</li>
<li><a href="buzzard.2.design.html">buzzard.2.design.html</a> - about the forth language</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/try.alt.sh">try.alt.sh</a> - script to try alternate code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/try.sh">try.sh</a> - script to try entry</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo1.1st">demo1.1st</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo1.th">demo1.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo2.th">demo2.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo3.th">demo3.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo4.th">demo4.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo5.th">demo5.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo6.th">demo6.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/help.th">help.th</a> - demo FORTH source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo1.1st">demo1.1st</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo1.th">demo1.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo2.th">demo2.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo3.th">demo3.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo4.th">demo4.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo5.th">demo5.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/demo6.th">demo6.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/help.th">help.th</a> - demo forth source</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1992/buzzard.2/third">third</a> - the third source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
+4 -4
View File
@@ -608,10 +608,10 @@ mechanism other than control-c.</p>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.alt.c">rince.alt.c</a> - alternate source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.orig.c">rince.orig.c</a> - original source code</li>
<li><a href="design.html">design.html</a> - implementation notes</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data1">rince.data1</a> - CABBAGE data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data2">rince.data2</a> - CABBAGE data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data3">rince.data3</a> - CABBAGE data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data4">rince.data4</a> - CABBAGE data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data1">rince.data1</a> - cabbage data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data2">rince.data2</a> - cabbage data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data3">rince.data3</a> - cabbage data file</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/1993/rince/rince.data4">rince.data4</a> - cabbage data file</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
+1 -1
View File
@@ -598,12 +598,12 @@ JavaScript.</p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/binmode_main.h">binmode_main.h</a> - preprocessor hack to set binary mode</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/omoikane.alt.c">omoikane.alt.c</a> - alternate source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/omoikane.orig.c">omoikane.orig.c</a> - original source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/omoikane.c">omoikane.c</a> - entry source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/try.alt.sh">try.alt.sh</a> - script to try alternate code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/try.sh">try.sh</a> - script to try entry</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2012/omoikane/binmode_main.h">binmode_main.h</a> - Preprocessor hack to set binary mode</li>
<li><a href="obfuscation.html">obfuscation.html</a> - JavaScript page with full recording of development</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
+10 -3
View File
@@ -421,15 +421,22 @@ genpath:
# generate YYYY level .filelist
#
# This rule assumes that a YYYY/README.md will produce a YYYY/index.html file.
# This rule assumes that if there is a YYYY/rules.md then YYYY/rules.html will be created.
# This rule assumes that if there is a YYYY/guidelines.md then YYYY/guidelines.html will be created.
# These html files may be later created or updated by the quick_year_index or gen_year_index rules.
#
# IMPORTANT: .filelist assumes that make clobber was previously done.
#
genfilelist:
@echo '=-=-=-=-= IOCCC begin make $@ =-=-=-=-='
@-for i in ${YEARS}; do \
${RM} -f "$$i/.genfilelist.tmp"; \
${FIND} "$$i" -mindepth 1 -maxdepth 1 -type f ! -path "$$i/.genfilelist.tmp" \
! -name .DS_Store ! -name '*.swp' | \
${SORT} -f -d -u > "$$i/.genfilelist.tmp"; \
(${FIND} "$$i" -mindepth 1 -maxdepth 1 -type f -name '*.md' | \
${SED} -e 's/\.md$$/.html/' -e 's/\/README\.html/\/index.html/'; \
${FIND} "$$i" -mindepth 1 -maxdepth 1 -type f ! -path "$$i/.genfilelist.tmp" \
! -name .DS_Store ! -name '*.swp') | \
LANG=C ${SORT} -f -d -u > "$$i/.genfilelist.tmp"; \
if ${CMP} -s "$$i/.genfilelist.tmp" "$$i/.filelist"; then \
${RM} -f "$$i/.genfilelist.tmp"; \
else \
+171 -27
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
#
# gen-year-index.sh - create year level index.html
# gen-year-index.sh - create year level index.html, rules.html, guidelines.html
#
# Create an index.html file for a given IOCCC year.
#
@@ -106,7 +106,7 @@ export LC_ALL="C"
# set variables referenced in the usage message
#
export VERSION="2.0.0 2025-03-13"
export VERSION="2.1.0 2025-07-05"
NAME=$(basename "$0")
export NAME
export V_FLAG=0
@@ -430,6 +430,30 @@ TOOL_OPTION+=("-t")
TOOL_OPTION+=("$TAGLINE")
# Determine if and what we need to update.
#
export UPDATE_INDEX=""
export UPDATE_RULES=""
export UPDATE_GUIDELINES=""
export NEEDS_UPDATE=""
if [[ -s $YYYY/rules.md ]]; then
if [[ ! -s $YYYY/rules.html || $YYYY/rules.md -nt $YYYY/rules.html ]]; then
NEEDS_UPDATE="true"
UPDATE_RULES="true"
fi
fi
if [[ -s $YYYY/guidelines.md ]]; then
if [[ ! -s $YYYY/guidelines.html || $YYYY/guidelines.md -nt $YYYY/guidelines.html ]]; then
NEEDS_UPDATE="true"
UPDATE_GUIDELINES="true"
fi
fi
if [[ ! -s $YYYY/index.html || $YYYY/README.md -nt $YYYY/index.html ]]; then
NEEDS_UPDATE="true"
UPDATE_INDEX="true"
fi
# parameter debugging
#
if [[ $V_FLAG -ge 3 ]]; then
@@ -471,6 +495,10 @@ if [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: MD2HTML_SH=$MD2HTML_SH" 1>&2
echo "$0: debug[3]: DOT_YEAR=$DOT_YEAR" 1>&2
echo "$0: debug[3]: README_FILE=$README_FILE" 1>&2
echo "$0: debug[3]: UPDATE_INDEX=$UPDATE_INDEX" 1>&2
echo "$0: debug[3]: UPDATE_RULES=$UPDATE_RULES" 1>&2
echo "$0: debug[3]: UPDATE_GUIDELINES=$UPDATE_GUIDELINES" 1>&2
echo "$0: debug[3]: NEEDS_UPDATE=$NEEDS_UPDATE" 1>&2
fi
@@ -486,49 +514,165 @@ fi
# case: -Q (quick mode)
#
# Do nothing if authors.html is newer than all author/author_handle.json files.
# Do nothing if we do not need to update anything.
#
if [[ -n $QUICK_MODE ]]; then
if [[ $YYYY/index.html -nt $YYYY/README.md ]]; then
if [[ -z $NEEDS_UPDATE ]]; then
exit 0
fi
fi
# form the YYYY index.html unless -n
# form the YYYY index.html from YYYY/README.md unless -n
#
if [[ -z $NOOP ]]; then
# possibly update YYYY index.html
#
if [[ $V_FLAG -ge 1 ]]; then
echo "$0: debug[1]: about to run: $MD2HTML_SH -U $SITE_URL/$YYYY/index.html ${TOOL_OPTION[*]}" \
"-m $YYYY/README.md -- $YYYY/README.md $YYYY/index.html" 1>&2
fi
"$MD2HTML_SH" -U "$SITE_URL/$YYYY/index.html" "${TOOL_OPTION[@]}" \
-m "$YYYY/README.md" -- "$YYYY/README.md" "$YYYY/index.html"
status="$?"
if [[ $status -ne 0 ]]; then
echo "$0: ERROR: tool: $MD2HTML_SH -U $SITE_URL/$YYYY/index.html ${TOOL_OPTION[*]}" \
"-m $YYYY/README.md -- $YYYY/README.md $YYYY/index.html failed, error: $status" 1>&2
exit 1
fi
if [[ -n $UPDATE_INDEX ]]; then
# case -Q: (quick mode)
# update YYYY index.html
#
if [[ $V_FLAG -ge 1 ]]; then
echo "$0: debug[1]: about to run: $MD2HTML_SH -U $SITE_URL/$YYYY/index.html ${TOOL_OPTION[*]}" \
"-m $YYYY/README.md -- $YYYY/README.md $YYYY/index.html" 1>&2
fi
"$MD2HTML_SH" -U "$SITE_URL/$YYYY/index.html" "${TOOL_OPTION[@]}" \
-m "$YYYY/README.md" -- "$YYYY/README.md" "$YYYY/index.html"
status="$?"
if [[ $status -ne 0 ]]; then
echo "$0: ERROR: tool: $MD2HTML_SH -U $SITE_URL/$YYYY/index.html ${TOOL_OPTION[*]}" \
"-m $YYYY/README.md -- $YYYY/README.md $YYYY/index.html failed, error: $status" 1>&2
exit 1
fi
# case -Q: (quick mode)
#
# If we are here, then the early quick mode test indicated that the prerequisite files are newer.
# We will force the authors.html file to be touched so that a later run with -Q will quickly exit.
# We do this because by default, the md2html.sh tool does not modify the target HTML unless it was modified.
#
if [[ -n $QUICK_MODE ]]; then
touch "$YYYY/index.html"
fi
# case: YYYY index.html does not need to be updated
#
# If we are here, then the early quick mode test indicated that the prerequisite files are newer.
# We will force the authors.html file to be touched so that a later run with -Q will quickly exit.
# We do this because by default, the md2html.sh tool does not modify the target HTML unless it was modified.
#
if [[ -n $QUICK_MODE ]]; then
touch "$YYYY/index.html"
elif [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: does not need to be updated: $YYYY/README.html" 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[*]} -m $YYYY/README.md --" \
"$YYYY/README.md $YYYY/index.html" 1>&2
elif [[ $V_FLAG -ge 3 ]]; then
if [[ -n $UPDATE_INDEX ]]; then
echo "$0: debug[3]: because of -n, did not run: $MD2HTML_SH ${TOOL_OPTION[*]} -m $YYYY/README.md --" \
"$YYYY/README.md $YYYY/index.html" 1>&2
else
echo "$0: debug[3]: no need to be update: $YYYY/README.html" 1>&2
fi
fi
# form the YYYY rules.html from YYYY/rules.md, if it exists, unless -n
#
if [[ -z $NOOP ]]; then
# possibly update YYYY rules.html
#
if [[ -n $UPDATE_RULES ]]; then
# update YYYY rules.html
#
if [[ $V_FLAG -ge 1 ]]; then
echo "$0: debug[1]: about to run: $MD2HTML_SH -U $SITE_URL/$YYYY/rules.html ${TOOL_OPTION[*]}" \
"-m $YYYY/rules.md -- $YYYY/rules.md $YYYY/rules.html" 1>&2
fi
"$MD2HTML_SH" -U "$SITE_URL/$YYYY/rules.html" "${TOOL_OPTION[@]}" \
-m "$YYYY/rules.md" -- "$YYYY/rules.md" "$YYYY/rules.html"
status="$?"
if [[ $status -ne 0 ]]; then
echo "$0: ERROR: tool: $MD2HTML_SH -U $SITE_URL/$YYYY/rules.html ${TOOL_OPTION[*]}" \
"-m $YYYY/rules.md -- $YYYY/rules.md $YYYY/rules.html failed, error: $status" 1>&2
exit 1
fi
# case -Q: (quick mode)
#
# If we are here, then the early quick mode test indicated that the prerequisite files are newer.
# We will force the authors.html file to be touched so that a later run with -Q will quickly exit.
# We do this because by default, the md2html.sh tool does not modify the target HTML unless it was modified.
#
if [[ -n $QUICK_MODE ]]; then
touch "$YYYY/rules.html"
fi
# case: YYYY index.html does not need to be updated
#
elif [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: no need to be update: $YYYY/rules.html" 1>&2
fi
# report disabled by -n
#
elif [[ $V_FLAG -ge 3 ]]; then
if [[ -n $UPDATE_RULES ]]; then
echo "$0: debug[3]: because of -n, did not run: $MD2HTML_SH ${TOOL_OPTION[*]} -m $YYYY/rules.md --" \
"$YYYY/rules.md $YYYY/rules.html" 1>&2
else
echo "$0: debug[3]: does not need to be updated: $YYYY/rules.html" 1>&2
fi
fi
# form the YYYY guidelines.html from YYYY/guidelines.md, if it exists, unless -n
#
if [[ -z $NOOP ]]; then
# possibly update YYYY guidelines.html
#
if [[ -n $UPDATE_GUIDELINES ]]; then
# update YYYY guidelines.html
#
if [[ $V_FLAG -ge 1 ]]; then
echo "$0: debug[1]: about to run: $MD2HTML_SH -U $SITE_URL/$YYYY/guidelines.html ${TOOL_OPTION[*]}" \
"-m $YYYY/guidelines.md -- $YYYY/guidelines.md $YYYY/guidelines.html" 1>&2
fi
"$MD2HTML_SH" -U "$SITE_URL/$YYYY/guidelines.html" "${TOOL_OPTION[@]}" \
-m "$YYYY/guidelines.md" -- "$YYYY/guidelines.md" "$YYYY/guidelines.html"
status="$?"
if [[ $status -ne 0 ]]; then
echo "$0: ERROR: tool: $MD2HTML_SH -U $SITE_URL/$YYYY/guidelines.html ${TOOL_OPTION[*]}" \
"-m $YYYY/guidelines.md -- $YYYY/guidelines.md $YYYY/guidelines.html failed, error: $status" 1>&2
exit 1
fi
# case -Q: (quick mode)
#
# If we are here, then the early quick mode test indicated that the prerequisite files are newer.
# We will force the authors.html file to be touched so that a later run with -Q will quickly exit.
# We do this because by default, the md2html.sh tool does not modify the target HTML unless it was modified.
#
if [[ -n $QUICK_MODE ]]; then
touch "$YYYY/guidelines.html"
fi
# case: YYYY index.html does not need to be updated
#
elif [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: does not need to be updated: $YYYY/guidelines.html" 1>&2
fi
# report disabled by -n
#
elif [[ $V_FLAG -ge 3 ]]; then
if [[ -n $UPDATE_GUIDELINES ]]; then
echo "$0: debug[3]: because of -n, did not run: $MD2HTML_SH ${TOOL_OPTION[*]} -m $YYYY/guidelines.md --" \
"$YYYY/guidelines.md $YYYY/guidelines.html" 1>&2
else
echo "$0: debug[3]: no need to be update: $YYYY/guidelines.html" 1>&2
fi
fi
+36
View File
@@ -565,6 +565,42 @@ years.md
-D
../
# Year level rules
[12][0-9][0-9][0-9]/rules.md
-H
navbar=empty
-o
bin/subst.default.sh
-s
TITLE=The International Obfuscated C Code Contest
-s
DESCRIPTION=Archive of IOCCC Rules
-s
KEYWORDS=IOCCC, rules, Rules
-s
HEADER_2=Archive of IOCCC Rules
-D
../
# Year level guidelines
[12][0-9][0-9][0-9]/guidelines.md
-H
navbar=empty
-o
bin/subst.default.sh
-s
TITLE=The International Obfuscated C Code Contest
-s
DESCRIPTION=Archive of IOCCC Guidelines
-s
KEYWORDS=IOCCC, guidelines, Guidelines
-s
HEADER_2=Archive of IOCCC Guidelines
-D
../
# Unless matched above, default process all entry README.md files
[12][0-9][0-9][0-9]/*/README.md
+4 -4
View File
@@ -588,9 +588,9 @@ FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the most re
and the
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
as that FAQ has important details on
<a href="register.html">how to register</a>
<a href="../next/register.html">how to register</a>
as well as
<a href="submit.html">how to upload your submission</a> to the IOCCC.
<a href="../next/submit.html">how to upload your submission</a> to the IOCCC.
</p>
<p class="leftbar">
See also the
@@ -2496,9 +2496,9 @@ FAQs on “<a href="../faq.html#mkiocccentry">obtaining, compiling, installing a
and the
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
as that FAQ has important details on
<a href="register.html">how to register</a>
<a href="../next/register.html">how to register</a>
as well as
<a href="submit.html">how to upload your submission</a> for the IOCCC.
<a href="../next/submit.html">how to upload your submission</a> for the IOCCC.
</p>
<hr style="width:10%;text-align:left;margin-left:0">
<p>Jump to: <a href="#">top</a>
+4 -4
View File
@@ -212,9 +212,9 @@ FAQ on "[obtaining and compiling the most recent mkiocccentry tools](../faq.html
and the
FAQ on "[how to enter the IOCCC](../quick-start.html#enter)"
as that FAQ has important details on
[how to register](register.html)
[how to register](../next/register.html)
as well as
[how to upload your submission](submit.html) to the IOCCC.
[how to upload your submission](../next/submit.html) to the IOCCC.
</p>
<p class="leftbar">
@@ -2577,9 +2577,9 @@ FAQs on "[obtaining, compiling, installing and using the mkiocccentry tools](../
and the
FAQ on "[how to enter the IOCCC](../quick-start.html#enter)"
as that FAQ has important details on
[how to register](register.html)
[how to register](../next/register.html)
as well as
[how to upload your submission](submit.html) for the IOCCC.
[how to upload your submission](../next/submit.html) for the IOCCC.
</p>
+9 -9
View File
@@ -517,9 +517,9 @@ FAQ on “<a href="../faq.html#mkiocccentry">obtaining and compiling the mkioccc
and the
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
as that FAQ has important details on
<a href="register.html">how to register</a>
<a href="../next/register.html">how to register</a>
as well as
<a href="submit.html">how to upload your submission</a> to the IOCCC.
<a href="../next/submit.html">how to upload your submission</a> to the IOCCC.
</p>
<p>Jump to: <a href="#">top</a></p>
<div id="rules">
@@ -647,8 +647,8 @@ See also <a href="#rule17">Rule 17</a>.
<h2 id="rule-3">Rule 3</h2>
</div>
<p class="leftbar">
You must <a href="register.html">register</a> in order to submit your entry to the IOCCC.
You may <a href="register.html">register</a> while the contest is either
You must <a href="../next/register.html">register</a> in order to submit your entry to the IOCCC.
You may <a href="../next/register.html">register</a> while the contest is either
<strong><a href="../faq.html#pending">pending</a></strong> or <strong><a href="../faq.html#open">open</a></strong>.
</p>
<p class="leftbar">
@@ -658,14 +658,14 @@ will email you your <a href="https://submit.ioccc.org">submit server</a>
perhaps as much as a few days, for your registration to be processed and for that email to be sent.
</p>
<p class="leftbar">
Those who <a href="register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
Those who <a href="../next/register.html">register</a> while the contest status is <strong><a href="../faq.html#pending">pending</a></strong>
will receive their email (containing their <a href="https://submit.ioccc.org">submit server</a> <strong>Username</strong>
and <strong>Initial password</strong>), later: usually a few days around the time when the contest status
becomes <strong><a href="../faq.html#open">open</a></strong>.
</p>
<p class="leftbar">
Once that email with your <strong>Username</strong> and <strong>Initial password</strong> is sent, you
will have fortnight (<strong>14 days</strong>) to <a href="pw-change.html">change your submit server initial password</a>.
will have fortnight (<strong>14 days</strong>) to <a href="../next/pw-change.html">change your submit server initial password</a>.
</p>
<p class="leftbar">
If you do not change your <strong>Initial password</strong> in time, you will have to
@@ -803,7 +803,7 @@ Submissions may only be uploaded to the <a href="https://submit.ioccc.org">IOCCC
while the contest is <strong><a href="../faq.html#open">open</a></strong>.
</p>
<p class="leftbar">
If you have <a href="register.html">registered</a> and received by email your <a href="https://submit.ioccc.org">submit
If you have <a href="../next/register.html">registered</a> and received by email your <a href="https://submit.ioccc.org">submit
server</a> <strong>Username</strong> and <strong>Initial password</strong> you may
upload your submission to the <a href="https://submit.ioccc.org">submit server</a> but
<strong>ONLY</strong> while the contest is <strong><a href="../faq.html#open">open</a></strong>.
@@ -1266,9 +1266,9 @@ FAQ on “<a href="../faq.html#mkiocccentry">obtaining, compiling, installing an
and the
FAQ on “<a href="../quick-start.html#enter">how to enter the IOCCC</a>”
as that FAQ has important details on
<a href="register.html">how to register</a>
<a href="../next/register.html">how to register</a>
as well as
<a href="submit.html">how to upload your submission</a> for the IOCCC.
<a href="../next/submit.html">how to upload your submission</a> for the IOCCC.
</p>
<p>Jump to: <a href="#">top</a></p>
<p><strong>Leonid A. Broukhis</strong><br>
+9 -9
View File
@@ -132,9 +132,9 @@ FAQ on "[obtaining and compiling the mkiocccentry tools](../faq.html#mkiocccentr
and the
FAQ on "[how to enter the IOCCC](../quick-start.html#enter)"
as that FAQ has important details on
[how to register](register.html)
[how to register](../next/register.html)
as well as
[how to upload your submission](submit.html) to the IOCCC.
[how to upload your submission](../next/submit.html) to the IOCCC.
</p>
@@ -312,8 +312,8 @@ Jump to: [top](#)
</div>
<p class="leftbar">
You must [register](register.html) in order to submit your entry to the IOCCC.
You may [register](register.html) while the contest is either
You must [register](../next/register.html) in order to submit your entry to the IOCCC.
You may [register](../next/register.html) while the contest is either
**[pending](../faq.html#pending)** or **[open](../faq.html#open)**.
</p>
@@ -325,7 +325,7 @@ perhaps as much as a few days, for your registration to be processed and for tha
</p>
<p class="leftbar">
Those who [register](register.html) while the contest status is **[pending](../faq.html#pending)**
Those who [register](../next/register.html) while the contest status is **[pending](../faq.html#pending)**
will receive their email (containing their [submit server](https://submit.ioccc.org) **Username**
and **Initial password**), later: usually a few days around the time when the contest status
becomes **[open](../faq.html#open)**.
@@ -333,7 +333,7 @@ becomes **[open](../faq.html#open)**.
<p class="leftbar">
Once that email with your **Username** and **Initial password** is sent, you
will have fortnight (**14 days**) to [change your submit server initial password](pw-change.html).
will have fortnight (**14 days**) to [change your submit server initial password](../next/pw-change.html).
</p>
<p class="leftbar">
@@ -514,7 +514,7 @@ while the contest is **[open](../faq.html#open)**.
</p>
<p class="leftbar">
If you have [registered](register.html) and received by email your [submit
If you have [registered](../next/register.html) and received by email your [submit
server](https://submit.ioccc.org) **Username** and **Initial password** you may
upload your submission to the [submit server](https://submit.ioccc.org) but
**ONLY** while the contest is **[open](../faq.html#open)**.
@@ -1141,9 +1141,9 @@ FAQ on "[obtaining, compiling, installing and using the mkiocccentry tools](../f
and the
FAQ on "[how to enter the IOCCC](../quick-start.html#enter)"
as that FAQ has important details on
[how to register](register.html)
[how to register](../next/register.html)
as well as
[how to upload your submission](submit.html) for the IOCCC.
[how to upload your submission](../next/submit.html) for the IOCCC.
</p>
+13 -13
View File
@@ -2346,7 +2346,7 @@
</url>
<url>
<loc>https://www.ioccc.org/1992/buzzard.2/index.html</loc>
<lastmod>2025-07-02T22:55:11+00:00</lastmod>
<lastmod>2025-07-06T04:09:17+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/1992/buzzard.2/Makefile</loc>
@@ -2966,7 +2966,7 @@
</url>
<url>
<loc>https://www.ioccc.org/1993/rince/index.html</loc>
<lastmod>2025-07-02T22:55:11+00:00</lastmod>
<lastmod>2025-07-06T04:10:06+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/1993/rince/Makefile</loc>
@@ -9142,7 +9142,7 @@
</url>
<url>
<loc>https://www.ioccc.org/2012/omoikane/index.html</loc>
<lastmod>2025-07-02T22:55:11+00:00</lastmod>
<lastmod>2025-07-06T04:17:26+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/2012/omoikane/Makefile</loc>
@@ -15086,7 +15086,7 @@
</url>
<url>
<loc>https://www.ioccc.org/authors.html</loc>
<lastmod>2025-05-18T11:28:49+00:00</lastmod>
<lastmod>2025-07-06T03:41:26+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/author/Sjoerd_Mullender.json</loc>
@@ -15278,7 +15278,7 @@
</url>
<url>
<loc>https://www.ioccc.org/bin/gen-year-index.sh</loc>
<lastmod>2025-04-16T20:59:19+00:00</lastmod>
<lastmod>2025-07-06T03:33:13+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/bin/gen-years.sh</loc>
@@ -15318,7 +15318,7 @@
</url>
<url>
<loc>https://www.ioccc.org/bin/md2html.cfg</loc>
<lastmod>2025-04-16T20:59:19+00:00</lastmod>
<lastmod>2025-07-06T03:32:49+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/bin/md2html.sh</loc>
@@ -15486,11 +15486,11 @@
</url>
<url>
<loc>https://www.ioccc.org/location.html</loc>
<lastmod>2025-05-18T11:30:03+00:00</lastmod>
<lastmod>2025-07-06T03:43:19+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/Makefile</loc>
<lastmod>2025-06-17T02:18:34+00:00</lastmod>
<lastmod>2025-07-06T04:08:33+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/markdown.html</loc>
@@ -15510,11 +15510,11 @@
</url>
<url>
<loc>https://www.ioccc.org/next/guidelines.html</loc>
<lastmod>2025-06-05T06:45:56+00:00</lastmod>
<lastmod>2025-07-06T03:49:51+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/next/guidelines.md</loc>
<lastmod>2025-06-05T06:45:55+00:00</lastmod>
<lastmod>2025-07-06T03:49:21+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/next/index.html</loc>
@@ -15550,11 +15550,11 @@
</url>
<url>
<loc>https://www.ioccc.org/next/rules.html</loc>
<lastmod>2025-06-05T06:45:57+00:00</lastmod>
<lastmod>2025-07-06T03:49:52+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/next/rules.md</loc>
<lastmod>2025-06-05T06:45:55+00:00</lastmod>
<lastmod>2025-07-06T03:48:50+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/next/submit.html</loc>
@@ -15602,7 +15602,7 @@
</url>
<url>
<loc>https://www.ioccc.org/status.html</loc>
<lastmod>2025-07-02T22:42:40+00:00</lastmod>
<lastmod>2025-07-06T04:21:57+00:00</lastmod>
</url>
<url>
<loc>https://www.ioccc.org/status.json</loc>
+49 -19
View File
@@ -1,20 +1,14 @@
# %%OUTPUT_ENGLISH_ORDINAL%% International Obfuscated C Code Contest
## Standard IOCCC stuff
## Where to start
XXX - put text here - XXX
See below for links to the [%%YEAR%% winning IOCCC entries](#inventory).
View the `index.html` web page for the given winning entry for information on how
on how to compile it and how to run the winning program.
Look at the winning source and try to figure how it does what it does!
You may then wish to look at the Author's remarks for even more details.
Some C compilers are not quite as good as they should be. If yours is
lacking, you may need to compile using clang or gcc instead of your local
compiler.
The primary website can be found at [www.ioccc.org](https://www.ioccc.org).
Check out the `index.html` web pages for each winning entry. They have
most of the information you need to compile and run the winning program.
Take a look at the winning source code and try to figure out how it works.
You might also want to check out the author’s remarks for even more details.
## Remarks on some of the winning entries
@@ -22,18 +16,54 @@ The primary website can be found at [www.ioccc.org](https://www.ioccc.org).
XXX - add text here - XXX
## XXX - other remarks if needed - XXX
## Rules and Guidelines
XXX - add text here if needed - XXX
Here are the final versions of the IOCCC rules and guidelines that were in effect for this contest:
* [%%YEAR%% rules](rules.html) version **XXX**
* [%%YEAR%% guidelines](guidelines.html) version **XXX**
## Final Comments
## Encouragement to those who did not win this year
XXX - add final text here - XXX
We know you all put in a lot of hard work into your submissions for
this year’s IOCCC. Unfortunately, we can’t just give out awards to
everyone. That would mean taking away from the submissions that we think
are the best and deserve to win.
Sometimes, a final round submission might be good enough to be a
winning IOCCC entry, only to be beaten by a similar, but slightly
better submission. If you think this happened with your submission,
consider submitting an enhanced version to the next IOCCC.
## On Compiling and running winning entries
Some C compilers aren’t as top-notch as they could be. If yours
isn’t cutting it, you might want to try compiling with an up to date
version of **clang** or **gcc** instead.
If you encounter problems in compiling and/or running the winning entries, see the FAQ on:
* [Compiling IOCCC entries](../faq.html#compiling)
* [IOCCC entry dependencies](../faq.html#dependencies)
* [Problems compiling entries](../faq.html#compile_problems)
* [Running IOCCC entries](../faq.html#running_entries)
For additional information on how to submit fixes, see the FAQ on:
* [How to submit a fix](../faq.html#fix_an_entry) - how to submit a fix to an entry
* [Update author information](../faq.html#fix_author) - how to correct or update an IOCCC author’s information
## For even more information
* [Reporting an IOCCC website problem](../faq.html#report_website_problem)
* [Submitting a fix to the IOCCC website](../faq.html#fix_website)
* [How to contact the IOCCC](../contact.html) - up to date contact details
* [IOCCC FAQ](../faq.html) - additional information on the IOCCC
* [www.ioccc.org](https://www.ioccc.org) - the primary IOCCC website
**IMPORTANT NOTE**: See [contact.html](../contact.html) for up to date contact details
as well as details on how to provide fixes to any of the entries.
See also the [IOCCC FAQ](../faq.html) for additional information on the IOCCC.
<!--