diff --git a/docs/src/Submakefile b/docs/src/Submakefile index 7611b346612..2787b84f446 100644 --- a/docs/src/Submakefile +++ b/docs/src/Submakefile @@ -944,13 +944,17 @@ $(foreach L,$(LANGUAGES),$(eval $(call HTML_COPY_RULE,$(L)))) # $(DOC_OUT_HTML)///X.html. The source images are in # $(DOC_SRCDIR)// regardless of language (translations are # image-symlinked to English originals via the sed below). +# +# src="..." covers displayed images; href="...png" covers click-to-enlarge +# targets from image:thumb[link=...] (which would otherwise 404). The +# extension filter keeps page/anchor hrefs out. .html-images-stamp: $(DOC_TARGETS_HTML) set -e; for HTML_FILE in $^; do \ HTML_REL=$$(echo $$HTML_FILE | sed 's%^$(DOC_OUT_HTML)/%%'); \ LANG=$$(echo $$HTML_REL | cut -d/ -f1); \ REST=$$(echo $$HTML_REL | cut -d/ -f2-); \ HTML_DIR=$$(dirname $$REST | cut -d/ -f1); \ - for IMAGE_FILE in $$(grep -oE 'src="[^"]+"' $$HTML_FILE | sed 's/src="//;s/"$$//' | grep -vE '^https?:|^data:|^/'); do \ + for IMAGE_FILE in $$(grep -oE '(src|href)="[^"]+"' $$HTML_FILE | sed -E 's/^(src|href)="//;s/"$$//' | grep -vE '^https?:|^data:|^/' | grep -iE '\.(png|jpe?g|gif|svg|webp)$$'); do \ IMAGE_DIR=$$(dirname $$IMAGE_FILE); \ IMAGE_PATH=$(DOC_SRCDIR)/$$HTML_DIR/$$IMAGE_FILE; \ mkdir -p $(DOC_OUT_HTML)/$$LANG/$$HTML_DIR/$$IMAGE_DIR; \