Merge pull request #2749 from xexyl/entities

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-11-07 14:04:17 -08:00
commit 41ccb8c884
11 files changed
+142 -55

No files matched your search

+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1986/bright - Most useful obfuscation</h2> <h2>1986/bright - Most useful obfuscation</h2>
<h3>hex dump with cpp compressed that uses lots of << for constants</h3> <h3>hex dump with cpp compressed that uses lots of &lt;&lt; for constants</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1987/wall - Most useful obfuscation</h2> <h2>1987/wall - Most useful obfuscation</h2>
<h3>roman numeral -> decimal and vice versa conversion</h3> <h3>roman numeral -&gt; decimal and vice versa conversion</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1988/robison - Best abuse of C constructs</h2> <h2>1988/robison - Best abuse of C constructs</h2>
<h3>print e in any base using only -- >= and while()</h3> <h3>print e in any base using only -- &gt;&equals; and while()</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1990/theorem - Best of Show</h2> <h2>1990/theorem - Best of Show</h2>
<h3>numerically solves the equation y'=f(x y)</h3> <h3>numerically solves the equation y'&equals;f(x y)</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+1 -1
View File
@@ -406,7 +406,7 @@
</a> </a>
<h1>The International Obfuscated C Code Contest</h1> <h1>The International Obfuscated C Code Contest</h1>
<h2>1992/albert - Most useful program</h2> <h2>1992/albert - Most useful program</h2>
<h3>factors multi-precision numbers with factors < MAX_LONG</h3> <h3>factors multi-precision numbers with factors &lt; MAX_LONG</h3>
</div> </div>
<!-- END: this line ends content from: inc/header.default.html --> <!-- END: this line ends content from: inc/header.default.html -->
+2 -2
View File
@@ -817,8 +817,8 @@ are not recognised when written as <code>-rs</code> in prose).</p>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/c++98">c++98</a> - reserved words for C++98 standard</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/c++98">c++98</a> - reserved words for C++98 standard</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/c99">c99</a> - reserved words for C99 standard</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/c99">c99</a> - reserved words for C99 standard</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/java8">java8</a> - reserved words for Java v8</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/java8">java8</a> - reserved words for Java v8</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/kandr2">kandr2</a> - reserved words for K&amp;R2 C</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/kandr2">kandr2</a> - reserved words for K&amp;amp;R2 C</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/kandr">kandr</a> - reserved words for K&amp;R C</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/kandr">kandr</a> - reserved words for K&amp;amp;R C</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/patch">patch</a> - author supplied patch to fix iocccsize.c source</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/patch">patch</a> - author supplied patch to fix iocccsize.c source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/results">results</a> - results without -k</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/results">results</a> - results without -k</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/runtest.sh">runtest.sh</a> - test suite</li> <li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2018/burton2/runtest.sh">runtest.sh</a> - test suite</li>
+30 -6
View File
@@ -14,10 +14,12 @@ files and other content from the [IOCCC GitHub
repo](https://github.com/ioccc-src/temp-test-ioccc). repo](https://github.com/ioccc-src/temp-test-ioccc).
## [bin/](index.html) tools ## [bin/](index.html) tools options
With the exception of the `awk(1)` and `sed(1)` scripts, all the tools in this
directory support a number of options that can be used to get help, diagnose
problems, see progress etc. These options are described below.
All tools in this directory support a number of options that can be used to get
help, diagnose problems, see progress etc. These options are as follows:
### Get help / usage string of a tool ### Get help / usage string of a tool
@@ -35,9 +37,9 @@ from the root directory (of the repo/website), you would do:
### Set verbosity level of a tool ### Set verbosity level of a tool
If you want verbosity, say for debugging purposes or to see what is If you want verbosity, say for debugging purposes or to see what is going on
going on more, you should use the `-v level` option. For instance if you wish to more (than the default), you should use the `-v level` option. For instance if
see what is going on with the you wish to see what is going on with the
[quick-readme2index.sh](index.html#quick-readme2index) tool, you might do: [quick-readme2index.sh](index.html#quick-readme2index) tool, you might do:
@@ -412,6 +414,28 @@ Usage:
In this case the command will list all the files of the In this case the command will list all the files of the
[2020/ferguson1](../2020/ferguson1/index.html) winning entry. [2020/ferguson1](../2020/ferguson1/index.html) winning entry.
<div id="html-sed">
### [html.sed](%%REPO_URL%%/bin/html.sed)
</div>
Translates certain characters in their corresponding HTML entities. For example
`<` is converted to `&lt;` and `>` is converted to `&gt;`. This is important to
satisfy html lints.
This script is used in [md2html.sh](#md2html) via
[output-index-inventory.sh](#output-index-inventory) and
[subst.entry-index.sh](#subst-entry-index).
Usage:
``` <!---sh-->
cmd | sed -f bin/html.sed
sed -f bin/html.sed file > output
sed -i -f bin/html.sed file
```
<div id="find-missing-links"> <div id="find-missing-links">
### [find-missing-links.sh](%%REPO_URL%%/bin/find-missing-links.sh) ### [find-missing-links.sh](%%REPO_URL%%/bin/find-missing-links.sh)
+13 -6
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env sed #!/usr/bin/env sed
# #
# bin/html.sed - translate certain characters to HTML & entities # html.sed - translate certain characters to HTML & entities
# #
# This script was written in 2024 November by: # This script was written in 2024 November by:
# #
@@ -11,9 +11,13 @@
# "Because sometimes even the IOCCC Judges need some help." :-) # "Because sometimes even the IOCCC Judges need some help." :-)
# #
# This script will take certain characters, for instance '<', and convert them # This script will take certain characters, for instance '<', and convert them
# to their respective html entity, for instance '&lt;', so that html lints do # to their respective HTML entity, for instance '&lt;', so that HTML lints do
# not complain. # not complain.
# #
# For a list of the other HTML entities, should others be needed, see:
#
# https://www.w3schools.com/html/html_entities.asp
#
# usage: # usage:
# #
# cmd | sed -f bin/html.sed # cmd | sed -f bin/html.sed
@@ -22,11 +26,14 @@
# #
# sed -i -f bin/html.sed file # sed -i -f bin/html.sed file
# #
# VERSION="1.0 2024-11-04" # VERSION="1.1 2024-11-07"
# IMPORTANT NOTE: the '&amp;' substitution MUST come first! This is because the # IMPORTANT NOTE: the '&amp;' substitution MUST come first! This is because the
# other substitutions have '&'s in them and if the '&amp;' came after it would # other substitutions have '&'s in them and if the '&amp;' came after it would
# corrupt the '&'s in the string. # corrupt the '&'s in the string.
s/&/\&amp;/g s/&/\\\&amp;/g
s/</\&lt;/g s/</\\\&lt;/g
s/>/\&gt;/g s/>/\\\&gt;/g
s/|/\\\&verbar;/g
s/=/\\\&equals;/g
s/%/\\\&percnt;/g
+22 -6
View File
@@ -436,9 +436,10 @@ content, for the <a href="https://www.ioccc.org">official IOCCC website</a>.</p>
fragments from the <a href="../inc/index.html">inc directory</a> as well as various JSON fragments from the <a href="../inc/index.html">inc directory</a> as well as various JSON
files and other content from the <a href="https://github.com/ioccc-src/temp-test-ioccc">IOCCC GitHub files and other content from the <a href="https://github.com/ioccc-src/temp-test-ioccc">IOCCC GitHub
repo</a>.</p> repo</a>.</p>
<h2 id="bin-tools"><a href="index.html">bin/</a> tools</h2> <h2 id="bin-tools-options"><a href="index.html">bin/</a> tools options</h2>
<p>All tools in this directory support a number of options that can be used to get <p>With the exception of the <code>awk(1)</code> and <code>sed(1)</code> scripts, all the tools in this
help, diagnose problems, see progress etc. These options are as follows:</p> directory support a number of options that can be used to get help, diagnose
problems, see progress etc. These options are described below.</p>
<h3 id="get-help-usage-string-of-a-tool">Get help / usage string of a tool</h3> <h3 id="get-help-usage-string-of-a-tool">Get help / usage string of a tool</h3>
<p>If you need to remember the syntax of the tool or get certain notes about <p>If you need to remember the syntax of the tool or get certain notes about
different options, you can use the <code>-h</code> option.</p> different options, you can use the <code>-h</code> option.</p>
@@ -446,9 +447,9 @@ different options, you can use the <code>-h</code> option.</p>
from the root directory (of the repo/website), you would do:</p> from the root directory (of the repo/website), you would do:</p>
<pre><code> bin/all-run.sh -h</code></pre> <pre><code> bin/all-run.sh -h</code></pre>
<h3 id="set-verbosity-level-of-a-tool">Set verbosity level of a tool</h3> <h3 id="set-verbosity-level-of-a-tool">Set verbosity level of a tool</h3>
<p>If you want verbosity, say for debugging purposes or to see what is <p>If you want verbosity, say for debugging purposes or to see what is going on
going on more, you should use the <code>-v level</code> option. For instance if you wish to more (than the default), you should use the <code>-v level</code> option. For instance if
see what is going on with the you wish to see what is going on with the
<a href="index.html#quick-readme2index">quick-readme2index.sh</a> tool, you might do:</p> <a href="index.html#quick-readme2index">quick-readme2index.sh</a> tool, you might do:</p>
<pre><code> bin/quick-readme2index.sh -v 3</code></pre> <pre><code> bin/quick-readme2index.sh -v 3</code></pre>
<p>to set the verbosity level to <code>3</code>. The default for verbosity is <code>0</code>, no <p>to set the verbosity level to <code>3</code>. The default for verbosity is <code>0</code>, no
@@ -681,6 +682,21 @@ from the <code>TOPDIR</code>.</p>
<pre><code> awk -f bin/filelist.entry.json.awk 2020/ferguson1/.entry.json</code></pre> <pre><code> awk -f bin/filelist.entry.json.awk 2020/ferguson1/.entry.json</code></pre>
<p>In this case the command will list all the files of the <p>In this case the command will list all the files of the
<a href="../2020/ferguson1/index.html">2020/ferguson1</a> winning entry.</p> <a href="../2020/ferguson1/index.html">2020/ferguson1</a> winning entry.</p>
<div id="html-sed">
<h3 id="html.sed"><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/bin/html.sed">html.sed</a></h3>
</div>
<p>Translates certain characters in their corresponding HTML entities. For example
<code>&lt;</code> is converted to <code>&amp;lt;</code> and <code>&gt;</code> is converted to <code>&amp;gt;</code>. This is important to
satisfy html lints.</p>
<p>This script is used in <a href="#md2html">md2html.sh</a> via
<a href="#output-index-inventory">output-index-inventory.sh</a> and
<a href="#subst-entry-index">subst.entry-index.sh</a>.</p>
<p>Usage:</p>
<pre><code> cmd | sed -f bin/html.sed
sed -f bin/html.sed file &gt; output
sed -i -f bin/html.sed file</code></pre>
<div id="find-missing-links"> <div id="find-missing-links">
<h3 id="find-missing-links.sh"><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/bin/find-missing-links.sh">find-missing-links.sh</a></h3> <h3 id="find-missing-links.sh"><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/bin/find-missing-links.sh">find-missing-links.sh</a></h3>
</div> </div>
+31 -24
View File
@@ -3,6 +3,18 @@
# #
# md2html.sh - convert markdown into an IOCCC HTML file via config file # md2html.sh - convert markdown into an IOCCC HTML file via config file
# #
# This script was written in 2024 by:
#
# chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
#
# with useful improvements by:
#
# @xexyl
# https://xexyl.net Cody Boone Ferguson
# https://ioccc.xexyl.net
#
# "Because sometimes even the IOCCC Judges need some help." :-)
#
# Convert a markdown file into a HTML file for the IOCCC website, # Convert a markdown file into a HTML file for the IOCCC website,
# using the bin/md2html.cfg configuration file. Conversion from # using the bin/md2html.cfg configuration file. Conversion from
# markdown to HTML is performed via the 'pandoc wrapper tool'. # markdown to HTML is performed via the 'pandoc wrapper tool'.
@@ -146,7 +158,7 @@ shopt -s lastpipe # run last command of a pipeline not executed in the backgroun
# set variables referenced in the usage message # set variables referenced in the usage message
# #
export VERSION="1.7 2024-09-27" export VERSION="1.8 2024-11-07"
NAME=$(basename "$0") NAME=$(basename "$0")
export NAME export NAME
export V_FLAG=0 export V_FLAG=0
@@ -216,11 +228,12 @@ export USAGE="usage: $0 [-h] [-v level] [-V] [-d topdir] [-D docroot/] [-n] [-N]
-a tool run 'after tool' during HTML phase number 20 (def: do not output after pandoc wrapper tool) -a tool run 'after tool' during HTML phase number 20 (def: do not output after pandoc wrapper tool)
-a . skip HTML phase number 22 (def: do nothing during HTML phase number 22) -a . skip HTML phase number 22 (def: do nothing during HTML phase number 22)
-s token=value substitute %%token%% with value except in HTML phase numbers 20-29 (def: do not substitute any tokens) -s token=value substitute %%token%% with value except in HTML phase numbers 20-29 (def: do not substitute any tokens)
NOTE: The 'token' string may not contain a ; (semicolon), a = (equal), or a % (percent). NOTE: The 'token' string may not contain an = (equal), | (pipe) or a % (percent) symbol.
NOTE: The 'value' string may not contain a ; (semicolon), nor & (ampersand). NOTE: The 'value' string may not contain a | (pipe) symbol
NOTE: A later '-s token=value' will override an earlier '-s token=value' for the same 'token'. NOTE: A later '-s token=value' will override an earlier '-s token=value' for the same 'token'.
NOTE: Multiple '-s token=value' are cumulative for the unique set of 'token's. NOTE: Multiple '-s token=value' are cumulative for the unique set of 'token's.
-S Failure to replace a %%token%% is not an error (def: exit non-zero for non-substituted tokens) -S Failure to replace a %%token%% is not an error (def: exit non-zero for non-substituted tokens)
-o tool use 'output tool' to generate option lines (def: do not) -o tool use 'output tool' to generate option lines (def: do not)
@@ -554,7 +567,7 @@ function parse_command_line
fi fi
;; ;;
s) # parse: -s token=value s) # parse: -s token=value
case "$OPTARG" in case "$OPTARG" in
*=*) # parse name=value *=*) # parse name=value
NAME=${OPTARG%%=*} NAME=${OPTARG%%=*}
VALUE=${OPTARG#*=} VALUE=${OPTARG#*=}
@@ -567,14 +580,14 @@ function parse_command_line
esac esac
# #
case "$NAME" in case "$NAME" in
*\;*) *=*)
echo "$0: ERROR: in -s token=value, the token may not contain a ; (semicolon) character: $NAME" 1>&2 echo "$0: ERROR: in -s token=value, the token may not contain an = (equal) character: $NAME" 1>&2
echo 1>&2 echo 1>&2
echo "$USAGE" 1>&2 echo "$USAGE" 1>&2
exit 3 exit 3
;; ;;
*=*) *\|*)
echo "$0: ERROR: in -s token=value, the token may not contain an = (equal) character: $NAME" 1>&2 echo "$0: ERROR: in -s token=value, the token may not contain a | (pipe) character: $NAME" 1>&2
echo 1>&2 echo 1>&2
echo "$USAGE" 1>&2 echo "$USAGE" 1>&2
exit 3 exit 3
@@ -589,14 +602,8 @@ function parse_command_line
esac esac
# #
case "$VALUE" in case "$VALUE" in
*\;*) *\|*)
echo "$0: ERROR: in -s token=value, the value may not contain a ; (semicolon) character: $NAME" 1>&2 echo "$0: ERROR: in -s token=value, the value may not contain a | (pipe) character: $NAME" 1>&2
echo 1>&2
echo "$USAGE" 1>&2
exit 3
;;
*\&*)
echo "$0: ERROR: in -s token=value, the value may not contain an & (ampersand) character: $NAME" 1>&2
echo 1>&2 echo 1>&2
echo "$USAGE" 1>&2 echo "$USAGE" 1>&2
exit 3 exit 3
@@ -916,7 +923,7 @@ function append_html_phase
# parse args # parse args
# #
if [[ $# -ne 6 ]]; then if [[ $# -ne 6 ]]; then
echo "$0: ERROR: append_html_phase requires 2 args, found: $#" 1>&2 echo "$0: ERROR: append_html_phase requires 6 args, found: $#" 1>&2
# We have to return non-zero but we don't have the args to know STARTING_EXIT_CODE. # We have to return non-zero but we don't have the args to know STARTING_EXIT_CODE.
# We might as well use 7 since that is an HTML phase exit code # We might as well use 7 since that is an HTML phase exit code
return 7 return 7
@@ -1600,7 +1607,7 @@ fi
# #
if [[ $V_FLAG -ge 7 ]]; then if [[ $V_FLAG -ge 7 ]]; then
for n in "${!TOKEN[@]}"; do for n in "${!TOKEN[@]}"; do
echo "$0: debug[7]: -s token replacement: sed -e s;%%$n%%;${TOKEN[$n]};g" 1>&2 echo "$0: debug[7]: -s token replacement: sed -e s|%%$n%%|${TOKEN[$n]}|g" 1>&2
done done
fi fi
@@ -1644,7 +1651,7 @@ if [[ -z $NOOP ]]; then
# load the sed script with sed commands from any "-s token=value" # load the sed script with sed commands from any "-s token=value"
# #
for n in "${!TOKEN[@]}"; do for n in "${!TOKEN[@]}"; do
echo "s;%%$n%%;${TOKEN[$n]};g" >> "$TMP_SED_SCRIPT" echo "s|%%$n%%|${TOKEN[$n]}|g" >> "$TMP_SED_SCRIPT"
done done
if [[ $V_FLAG -ge 5 ]]; then if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: temporary sed script starts below: $TMP_SED_SCRIPT" 1>&2 echo "$0: debug[5]: temporary sed script starts below: $TMP_SED_SCRIPT" 1>&2
@@ -1655,7 +1662,7 @@ elif [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: because of -n, temporary sed script is not formed: $TMP_SED_SCRIPT" 1>&2 echo "$0: debug[3]: because of -n, temporary sed script is not formed: $TMP_SED_SCRIPT" 1>&2
echo "$0: debug[3]: the temporary sed script that would have been written starts below: $TMP_SED_SCRIPT" 1>&2 echo "$0: debug[3]: the temporary sed script that would have been written starts below: $TMP_SED_SCRIPT" 1>&2
for n in "${!TOKEN[@]}"; do for n in "${!TOKEN[@]}"; do
echo "s;%%$n%%;${TOKEN[$n]};g" 1>&2 echo "s|%%$n%%|${TOKEN[$n]}|g" 1>&2
done done
echo "$0: debug[3]: the temporary sed script that would have been written ends above: $TMP_SED_SCRIPT" 1>&2 echo "$0: debug[3]: the temporary sed script that would have been written ends above: $TMP_SED_SCRIPT" 1>&2
fi fi
@@ -1799,7 +1806,7 @@ if [[ -z $NOOP ]]; then
sed -E -e 's/^```[[:space:]]<!---[^-][^-]*-->/```/' -f "$TMP_SED_SCRIPT" "$INPUT_MD" >> "$TMP_STRIPPED_MD" sed -E -e 's/^```[[:space:]]<!---[^-][^-]*-->/```/' -f "$TMP_SED_SCRIPT" "$INPUT_MD" >> "$TMP_STRIPPED_MD"
status="$?" status="$?"
if [[ $status -ne 0 ]]; then if [[ $status -ne 0 ]]; then
echo "$0: ERROR: token substation and strip code block command language from $INPUT_MD into file:" \ echo "$0: ERROR: token substitution and strip code block command language from $INPUT_MD into file:" \
"$TMP_INPUT_MD failed, error code: $status" 1>&2 "$TMP_INPUT_MD failed, error code: $status" 1>&2
exit 25 exit 25
fi fi
+39 -6
View File
@@ -2,6 +2,18 @@
# #
# subst.entry-index.sh - print substitutions for a entry's index.html # subst.entry-index.sh - print substitutions for a entry's index.html
# #
# This script was written in 2024 by:
#
# chongo (Landon Curt Noll, http://www.isthe.com/chongo/index.html) /\oo/\
#
# with useful improvements by:
#
# @xexyl
# https://xexyl.net Cody Boone Ferguson
# https://ioccc.xexyl.net
#
# "Because sometimes even the IOCCC Judges need some help." :-)
#
# This tool is intended to be used as a "output tool" during getopt phases 1 and 3. # This tool is intended to be used as a "output tool" during getopt phases 1 and 3.
# In particular, lines in the bin/md2html.cfg configuration file of the form: # In particular, lines in the bin/md2html.cfg configuration file of the form:
# #
@@ -200,6 +212,9 @@ Exit codes:
$NAME version: $VERSION" $NAME version: $VERSION"
# We need this here as the functions refer to it. We will check that it exists
# before using it, however.
export HTML_SED="$BIN_DIR/html.sed"
# Write the award name to standard output (stdout) # Write the award name to standard output (stdout)
# #
@@ -239,12 +254,12 @@ function output_award
# #
PATTERN='$..award' PATTERN='$..award'
if [[ $V_FLAG -ge 5 ]]; then if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: about to run: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N -" 1>&2 echo "$0: debug[5]: about to run: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N - | sed -f $HTML_SED" 1>&2
fi fi
"$JVAL_WRAPPER" -b -q "$ENTRY_JSON_PATH" "$PATTERN" | "$JSTRENCODE" -N - "$JVAL_WRAPPER" -b -q "$ENTRY_JSON_PATH" "$PATTERN" | "$JSTRENCODE" -N - | sed -f "$HTML_SED"
status_codes=("${PIPESTATUS[@]}") status_codes=("${PIPESTATUS[@]}")
if [[ ${status_codes[*]} =~ [1-9] ]]; then if [[ ${status_codes[*]} =~ [1-9] ]]; then
echo "$0: ERROR: in output_award: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N - failed," \ echo "$0: ERROR: in output_award: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N - | sed -f $HTML_SED failed," \
"error codes: ${status_codes[*]}" 1>&2 "error codes: ${status_codes[*]}" 1>&2
return 5 return 5
fi fi
@@ -290,12 +305,12 @@ function output_abstract
# #
PATTERN='$..abstract' PATTERN='$..abstract'
if [[ $V_FLAG -ge 5 ]]; then if [[ $V_FLAG -ge 5 ]]; then
echo "$0: debug[5]: about to run: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N -" 1>&2 echo "$0: debug[5]: about to run: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN' | $JSTRENCODE -N - | sed -f $HTML_SED" 1>&2
fi fi
"$JVAL_WRAPPER" -b -q "$ENTRY_JSON_PATH" "$PATTERN" | "$JSTRENCODE" -N - "$JVAL_WRAPPER" -b -q "$ENTRY_JSON_PATH" "$PATTERN" | "$JSTRENCODE" -N - | sed -f "$HTML_SED"
status_codes=("${PIPESTATUS[@]}") status_codes=("${PIPESTATUS[@]}")
if [[ ${status_codes[*]} =~ [1-9] ]]; then if [[ ${status_codes[*]} =~ [1-9] ]]; then
echo "$0: ERROR: in output_abstract: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN | $JSTRENCODE -N - failed," \ echo "$0: ERROR: in output_abstract: $JVAL_WRAPPER -b -q -- $ENTRY_JSON_PATH '$PATTERN | $JSTRENCODE -N - | sed -f $HTML_SED failed," \
"error codes: ${status_codes[*]}" 1>&2 "error codes: ${status_codes[*]}" 1>&2
return 5 return 5
fi fi
@@ -492,6 +507,23 @@ if [[ ! -r $ENTRY_NAVBAR_AWK ]]; then
exit 5 exit 5
fi fi
# verify we have our sed script
#
if [[ ! -e $HTML_SED ]]; then
echo "$0: ERROR: bin/html.sed does not exist: $HTML_SED" 1>&2
exit 5
fi
if [[ ! -f $HTML_SED ]]; then
echo "$0: ERROR: bin/html.sed is not a file: $HTML_SED" 1>&2
exit 5
fi
if [[ ! -r $HTML_SED ]]; then
echo "$0: ERROR: bin/html.sed is not a readable file: $HTML_SED" 1>&2
exit 5
fi
# verify that ENTRY_PATH is a entry directory # verify that ENTRY_PATH is a entry directory
# #
@@ -614,6 +646,7 @@ if [[ $V_FLAG -ge 3 ]]; then
echo "$0: debug[3]: INC_DIR=$INC_DIR" 1>&2 echo "$0: debug[3]: INC_DIR=$INC_DIR" 1>&2
echo "$0: debug[3]: BIN_PATH=$BIN_PATH" 1>&2 echo "$0: debug[3]: BIN_PATH=$BIN_PATH" 1>&2
echo "$0: debug[3]: BIN_DIR=$BIN_DIR" 1>&2 echo "$0: debug[3]: BIN_DIR=$BIN_DIR" 1>&2
echo "$0: debug[3]: HTML_SED=$HTML_SED" 1>&2
echo "$0: debug[3]: JVAL_WRAPPER=$JVAL_WRAPPER" 1>&2 echo "$0: debug[3]: JVAL_WRAPPER=$JVAL_WRAPPER" 1>&2
echo "$0: debug[3]: ENTRY_JSON=$ENTRY_JSON" 1>&2 echo "$0: debug[3]: ENTRY_JSON=$ENTRY_JSON" 1>&2
echo "$0: debug[3]: YEAR_DIR=$YEAR_DIR" 1>&2 echo "$0: debug[3]: YEAR_DIR=$YEAR_DIR" 1>&2