ph_scripts -- набор скриптов для создания фотоальбомов: addphoto и всякие довески

Исходный код на github: https://github.com/slazav/ph_scripts

Что это такое и как это работает

Задача: упростить создание html-страниц с фотографиями. Хочется писать текст с простейшей html-разметкой и в нужном месте написать команду: "вставить сюда такую-то фотографию с такой-то подписью". Затем прогнать файл через некий фильтр, который выполнит эти команды. Скрипт addphoto как раз и является таким фильтром.

Возможности:

Я использую эту систему уже много лет (года с 2004), за это время с ее помощью было создано более 160 текстов с фотографиями, в основном отчеты о походах. Внешний вид страниц задан довольно жестко, но программы просты, и каждый сможет модифицировать их под свои задачи. Кроме того, менять внешний вид можно средствами html в исходном файле.

Примеры html-страниц, созданных с помощью этой программы (нестандартный заголовок в исходом файле не относится к addphoto -- он обрабатывается еще одним фильтром):

Для использования этих скриптов нужны следующие внешние программы: perl, exiv2, ImageMagick (convert, identify). Если планируется использовать пометки на фотографиях, нужны также программы xfig и transfig.


С чего начать


Структура фотоальбома и формат входного файла

В исходном файле, кроме произвольного html кода, который попадет в альбом без изменений, могут встречаться следующие команды, начинающиеся с новой строки:

Весь остальной текст копируется в фотоальбом без изменений.


Пример входного файла


\# Использую простейший заголовок html:
<html><body>
<h2>Отчет о походе в кабак, 10-12 июня 2012г</h2>

\# оглавление, в него попадут все заголовки, заданные командами \h...
\# справа от оглавления поместим карту:
\photor map.png карта
\toc

\h4 День первый, 10 июня

<p>День не предвещал ничего особенного... Утром я вышел из дома
и направился ...

\photo 2310.jpg начало пути
\photo 2311.jpg
\photo 2312.jpg

\photo 2314.jpg
\photo 2313.jpg еще какой-то комментарий

\# -- тут на выходе получатся три фотографии в ряд, а под ними еще две

\h4 День второй, 11 июня

\photo 2315.jpg
\photo 2316.jpg

\h4 День третий, 12 июня

\photo 2317.jpg
\photo 2318.jpg мы достигли цели!

\h4 Выводы

<p>Вряд ли из всего этого можно извлечь какие-то выводы.
Так что поскорее заканчиваю этот текст!

</body></html>

Программы

Тут приведены только наиболее обычные примеры вызова этих программ. Все эти программы при запуске без аргументов или с параметром -h показывают свое описание и полный список параметров.


Известные проблемы

Белые пометки на фотографиях исчезают, поскольку белый цвет используется в качестве фона и становится прозрачным.

addphoto_ini упорядочивает фотографии в альбоме по имени. Возможно, следует сделать возможность упорядочивать их по времени.

Если в двух местах фотоальбома используется одна и та же фотография, то навигация будет сломана (поскольку html-страница с фотографией тоже будет одна). Чтобы это исправить, можно сделать копию или симлинк фотографии (а fig-файлы, если они нужны, должны быть разными - с правильными названиями картинок).

Замечания шлите на slazav@altlinux.org