improve code-style: test, return error code in pageread and use it - static-site-scripts - static site generator shellscripts
(HTM) git clone git://git.codemadness.org/static-site-scripts
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit d6b165007856597822d71ceaffa3d1f2e20e670a
(DIR) parent 86117ef5bceb1de3cb6b394de263a422bc48fbd3
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 9 Mar 2016 22:01:41 +0100
improve code-style: test, return error code in pageread and use it
Diffstat:
M generate.sh | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
---
(DIR) diff --git a/generate.sh b/generate.sh
@@ -74,38 +74,38 @@ pageread() {
dateupdated=$(printf '%s' "${timeupdated}" | cut -b 1-10)
# if ${id} is empty and title is set: create id based on title.
- if [ x"${id}" = x"" ] && [ ! x"${title}" = x"" ]; then
+ if test -z "${id}" && test -n "${title}"; then
id=$(makeid "${title}")
fi
- if [ x"${id}" = x"" ]; then
+ if test -z "${id}"; then
printf 'Warning: $id or $title not set in "%s", skipping...\n' "${meta}" >&2
- return
+ return 1
fi
- if [ x"${url}" = x"" ]; then
+ if test -z "${url}"; then
url="${id}.html"
fi
outfile="${id}.html"
urlfull="${siteurlfull}/${outfile}"
filename=""
# ${content} not set; try data from filetypes.
- if [ x"${content}" = x"" ]; then
- if [ -f "${pagesdir}/${basename}.html" ]; then
+ if test -z "${content}"; then
+ if test -f "${pagesdir}/${basename}.html"; then
filename="${pagesdir}/${basename}.html"
content=$(cat "${filename}")
- elif [ -f "${pagesdir}/${basename}.md" ]; then
+ elif test -f "${pagesdir}/${basename}.md"; then
filename="${pagesdir}/${basename}.md"
content=$("${markdown}" "${filename}")
fi
fi
created="<strong>Created on:</strong> ${datecreated}<br/>"
- if [ ! x"${datecreated}" = x"${dateupdated}" ]; then
+ if test "${datecreated}" != "${dateupdated}"; then
created="${created}<strong>Last update on:</strong> ${dateupdated}<br/>"
fi
}
pageheader() {
# prefix page title with site title, make sure its neatly formatted.
- if [ x"${title}" = x"" ]; then
+ if test -z "${title}"; then
pagetitle="${sitetitle}"
else
pagetitle="${title} - ${sitetitle}"
@@ -168,15 +168,15 @@ pagefooter() {
!__EOF__
}
-if [ ! -d "${pagesdir}" ]; then
+if ! test -d "${pagesdir}"; then
printf 'Error: pages directory "%s" not found.\n' "${pagesdir}" >&2
exit 1
fi
# process single page as argument (handy for testing a single page).
-if [ ! x"$1" = x"" ]; then
+if test -n "$1"; then
pagereset
- pageread "$1"
+ pageread "$1" || exit 1
pagecontent
exit 0
fi
@@ -193,7 +193,7 @@ contentatom=""
contentsitemap=""
while read -r meta; do
pagereset
- pageread "${meta}"
+ pageread "${meta}" || continue
pagecontent > "${outputdir}/${outfile}"
# index / posts item: append.