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:
1 parent
def8e4d481
commit
3106998954
12 files changed
+319
-102
No files matched your search
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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.
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
Reference in new issue
Block a user