main: update footer, add webring/lieu icons; thumbnailer: skip zips too, update printed messages

This commit is contained in:
Iris Lightshard 2021-05-21 13:14:27 -06:00
parent 2b5d9a3416
commit 0c61181734
Signed by: Iris Lightshard
GPG key ID: 3B7FBC22144E6398
2 changed files with 39 additions and 20 deletions

46
main.c
View file

@ -79,9 +79,7 @@ int findf(Lexicon* l, char* f) {
void fpedited(FILE* f, char* path) { void fpedited(FILE* f, char* path) {
struct stat attr; struct stat attr;
stat(path, &attr); stat(path, &attr);
fputs("<span style='float:right'>", f); fprintf(f, "Edited on %s<br/>", ctime(&attr.st_mtime));
fprintf(f, "Edited on %s ", ctime(&attr.st_mtime));
fputs("</span>", f);
} }
int fpportal(FILE* f, Lexicon* l, char* s, int head) { int fpportal(FILE* f, Lexicon* l, char* s, int head) {
@ -283,6 +281,34 @@ int fpinject(FILE* f, Lexicon* l, char* filepath) {
return 1; return 1;
} }
int fpfooter(FILE* f, char* name, char* path) {
if (!f || !name || !path)
return 0;
fputs("<footer>", f);
if (!ismetanav(name)) {
fpedited(f, path);
fputs(
"contact: <a href='mailto://drkste@zoho.com'>drkste@zoho.com</a> ",
f);
fputs("(<a href='keys.html'>keys</a>)<br/>", f);
}
fputs(
"<a href='https://webring.xxiivv.com'><img width='24' height='24' "
"src='/img/webring.svg' alt='visit the webring'/></a>&nbsp;",
f);
fputs(
"<a href='https://lieu.cblgh.org'><img width='24' height='24' "
"src='/img/lieu.svg' alt='search the webring'/></a><br/>",
f);
fputs(
"<a rel='license' "
"href='https://creativecommons.org/licenses/by-nc/4.0/"
"legalcode.txt'>CC-BY-NC 4</a>",
f);
fputs("</footer>", f);
return 1;
}
FILE* build(FILE* f, Lexicon* l, char* name, char* srcpath) { FILE* build(FILE* f, Lexicon* l, char* name, char* srcpath) {
if (!f) if (!f)
return f; return f;
@ -333,16 +359,12 @@ FILE* build(FILE* f, Lexicon* l, char* name, char* srcpath) {
if (!fpinject(f, l, srcpath)) if (!fpinject(f, l, srcpath))
printf(">>> Building failed: %s\n", name); printf(">>> Building failed: %s\n", name);
fputs("\n\n</main>", f); fputs("\n\n</main>", f);
/* footer */
fputs("<footer>", f);
fpedited(f, srcpath);
fputs(
"contact: <a href='mailto://drkste@zoho.com'>drkste@zoho.com</a> ",
f);
fputs("(<a href='keys.html'>keys</a>)", f);
/* fputs("<a href='" LICENSE "' target='_blank'>BY-NC-SA 4.0</a>", f) */;
fputs("</footer>", f);
} }
/* footer */
if (!fpfooter(f, name, srcpath)) {
printf(">>> Building failed: footer(%s)\n", name);
}
/* end */ /* end */
fputs("</body></html>", f); fputs("</body></html>", f);
return f; return f;

View file

@ -1,6 +1,5 @@
#!/bin/sh #!/bin/sh
ROOT=../www
SRC=../www/img SRC=../www/img
SIZE=500 SIZE=500
@ -19,27 +18,25 @@ pathtrans() {
# generate thumbnails in /img/*/.thumb/ # generate thumbnails in /img/*/.thumb/
resize() { resize() {
output=$(pathtrans $1) output=$(pathtrans $1)
if echo $1 | grep .gif > /dev/null; then if echo $1 | grep -e .gif -e .zip > /dev/null; then
return return
fi fi
if [ ! -f ${output} ]; then if [ ! -f ${output} ]; then
echo "generating thumbnail for $1" echo "Generating thumbnail for $1"
convert $1 -strip -auto-orient -resize ${SIZE} -dither FloydSteinberg -colors 16 ${output} convert $1 -strip -auto-orient -resize ${SIZE} -dither FloydSteinberg -colors 16 ${output}
fi fi
} }
if [ -z $1 ]; then if [ -z $1 ]; then
echo "usage: $0 [build|clean]" echo "usage: $0 [build|clean]"
else else
case $1 in case $1 in
"build") "build")
echo "creating new thumbnails" echo "Updating thumbnails cache"
for x in $(find ${SRC}/*/*); do resize $x; done;; for x in $(find ${SRC}/*/*); do resize $x; done;;
"clean") "clean")
echo "cleaning thumbnails cache" echo "Cleaning thumbnails cache"
rm -rf ${SRC}/*/.thumb rm -rf ${SRC}/*/.thumb
echo "cleaned";; echo "Cleaned";;
esac esac
fi fi