Files
ioccc/2012/deckmyn/try.sh
T
Cody Boone Ferguson 205fa25ced Change references of many terms to new names
This is a HUGE commit and this task is not done. There are still some
changes that might need to be discussed and since so much is done here I
think it's better to let this go through and then make sure everything
is okay. When the remaining references are discussed they can also be
changed.

I did NOT include changes in the tmp/OLD_manifest directory.

Some of the changes in this commit (it might be exhaustive but it might
not be - not sure):

- In the Makefiles the WINNERS was renamed AUTHORS.
- References to winners.html were changed to authors.html.
- The FAQ named anchor 'fix_a_winner' was renamed 'fix_an_entry'.
- The JSON fields (or whatever they're called) 'winner_id' and
'winner_JSON_format_version' were changed so that 'winner' is 'entry'.
- In scripts for entries 'IOCCC winner' was changed to 'IOCCC entry'.
- 'winners_text' is now 'entries_text'. It might be better to be
'entry_text' as it's per entry but this was not noticed at first. Since
this is easy to fix I am holding off on this for the meantime.
- The script tmp/update-manifest.sh now has the commit log messages
changed to the correct terms as well.

The index.html files were updated as well with any of the above
changes.

There are some references that should NOT be updated. Two examples
caught (and maybe more have slipped through that will have to be changed
back): in 1984/anonymous/README.md the author wrote back to Landon after
being told about the famous tattoo and they used the words:

    .. my entry will be the first IOCCC winner ..

but since this comes from the author it should remain so.

The other one is that winners.html should still refer to winners.html as
it informs people that it's been moved to authors.html (it does redirect
too but even so if it was changed it would defeat the purpose of the
message).

With paths like authors.html I tried to copy paste so that hopefully
there are no typos. It is possible that I did not end up doing this with
all but these can be fixed when discovered.
2024-02-13 07:31:36 -08:00

82 lines
2.9 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 2012/deckmyn
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
read -r -n 1 -p "Press any key to show deckmyn.c (space = next page, q = quit): "
echo 1>&2
less -rEXF deckmyn.c
echo 1>&2
echo "$ ./deckmyn "\$\(cat deckmyn.c\)" "\$\(cat example_greensleeves\)" 2>/dev/null > greensleeves.pbm" 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
./deckmyn "$(cat deckmyn.c)" "$(cat example_greensleeves)" 2>/dev/null > greensleeves.pbm
echo 1>&2
echo "$ ./deckmyn "\$\(cat deckmyn.c\)" "\$\(cat example_beethoven\)" 2>/dev/null > beethoven.pbm" 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
./deckmyn "$(cat deckmyn.c)" "$(cat example_beethoven)" 2>/dev/null > beethoven.pbm
echo 1>&2
echo "$ ./deckmyn "\$\(cat deckmyn.c\)" \"sz sa x s1 x s1 x s1 x s1 x s1 \" 2>/dev/null > blank.pbm" 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
./deckmyn "$(cat deckmyn.c)" "sz sa x s1 x s1 x s1 x s1 x s1 " 2>/dev/null > blank.pbm
echo 1>&2
# Convert pbm files to png files if convert(1) is found in case the user does
# not have a viewer of pbm files. At the end we will check for png files to ake
# sure that there was at least one conversion. If that does not happen as long
# as there are pbm files those will be listed instead. Otherwise something went
# wrong and we warn the user about it.
CONVERT="$(type -P convert)"
if [[ -n "$CONVERT" && -f "$CONVERT" && -x "$CONVERT" ]]; then
if [[ -f "greensleeves.pbm" ]]; then
if "$CONVERT" greensleeves.pbm greensleeves.png; then
echo "Converted greensleeves.pbm to greensleeves.png." 1>&2
fi
fi
if [[ -f "beethoven.pbm" ]]; then
if "$CONVERT" beethoven.pbm beethoven.png; then
echo "Converted beethoven.pbm to beethoven.png." 1>&2
fi
fi
if [[ -f "blank.pbm" ]]; then
if "$CONVERT" blank.pbm blank.png; then
echo "Converted blank.pbm to blank.png." 1>&2
fi
fi
fi
# Now tell the user to look at png files if any exist and otherwise any pbm
# files if any exist. If no files exist then something went wrong so show a
# warning message.
if [[ ! "$(find . -name '*.png')" ]]; then
echo "Now open the following files with your image viewer of choice:" 1>&2
echo 1>&2
find . -name '*.png' -printf " %p\n"
elif [[ ! "$(find . -name '*.pbm')" ]]; then
echo "Now open the following files with your image viewer of choice:" 1>&2
echo 1>&2
find . -name '*.pbm' -printf " %p\n"
else
echo "-=-=-" 1>&2
echo "Notice: failed to write any image files. Free free to fix and open a" 1>&2
echo "pull request against the GitHub repo." 1>&2
echo "-=-=-" 1>&2
fi