HTMLImageWithThumb

Название HTMLImageWithThumb
Имя файла (*.txt) HTMLImageWithThumb.txt
Описание Заносит в буфер список картинок с соответствующими thumbnails (не знаю, как это по-русски), подготовленный для вставки в файл формата html.
Автор Вахмурка
Параметры ("%L", "%T")
Вызываемые плагины file, vec, ini, clip
Иконка
Версия 1.0
Дата обновления 16.09.2005

local fh = file.open(arg(1), "r")
local Str, Counter, Temp, ThumbSuffix,	AddBefore, AddAfter, ThumbSubDir
local INIfile = "путь\HTMLImageWithThumb.ini"
local BigImage, i
SetString Quote "

if(fh > 0) do
	for(not(file.eof(fh))) 
		Str = file.readstring(fh)
	if(Str != 0)
		Counter = Counter + 1
	endfor
else
	messagebox("ok error", "File not opened", "FILE plugin error")
	quit
endif

v = vec.create(Counter)
if(v == 0) do
	messagebox("ok error", "Vector not created", "VEC plugin error")
	quit
endif

if(ini.check_exists(INIfile, "Configuration", "ImagePath") != 3) do
	ImagePath = ""
else
	ImagePath = ini.get(INIfile, "Configuration", "ImagePath")
endif

if(ini.check_exists(INIfile, "Configuration", "ThumbSuffix") != 3) do
	ThumbSuffix = "_t"
else
	ThumbSuffix = ini.get(INIfile, "Configuration", "ThumbSuffix")
endif

if(ini.check_exists(INIfile, "Configuration", "AddBefore") != 3) do
	AddBefore = ""
else
	AddBefore = ini.get(INIfile, "Configuration", "AddBefore")
endif

if(ini.check_exists(INIfile, "Configuration", "AddAfter") != 3) do
	AddAfter = ""
else
	AddAfter = ini.get(INIfile, "Configuration", "AddAfter")
endif

if(ini.check_exists(INIfile, "Configuration", "ThumbSubDir") != 3) do
	ThumbSubDir = ""
else
	ThumbSubDir = ini.get(INIfile, "Configuration", "ThumbSubDir")
endif

if(ImagePath == "%T") do
	ImagePath = arg(2)
	local Len = length(ImagePath)
	local Char
	local Slash = -1
	if(ini.check_exists(INIfile, "Configuration", "PathDepth") != 3) do
		Temp = "Key 'PathDepth' does not exist in section 'Configuration' of file '"
		Temp = Temp ++ INIfile ++ "'"
		messagebox ("ok error", Temp, "INI plugin error #1")
		quit all
	endif
	local Depth = ini.get(INIfile, "Configuration", "PathDepth")
	for(local i = Len; i > 0; i = i - 1)
		Char = select(ImagePath, i, i)
		if(Char == "\") do
			Slash = Slash + 1
			if(Slash == Depth) do
				ImagePath = select(ImagePath, i + 1, Len)
				break
			endif
		endif
	endfor
	ImagePath = replacechars(ImagePath, "\/")
endif

local SmallImage

file.restart(fh)

for(i = 0; i < Counter; i = i + 1)
	BigImage = file.name(file.readstring(fh))
	SmallImage = BigImage ++ ThumbSuffix ++ ".jpg"
	if(ImagePath != "") do
		BigImage = ImagePath ++ BigImage
	endif
	v[i] = "<a href=" ++ Quote ++ BigImage ++ ".jpg" ++ Quote ++ "><img SRC="
	if(ThumbSubDir != "") do
		v[i] = v[i] ++ Quote ++ ImagePath ++ ThumbSubDir ++ "/"
	endif
	v[i] = AddBefore ++ v[i] ++ SmallImage ++ Quote ++ "></a>" ++ AddAfter
endfor

file.close(fh)

Str = vec.makelines(v)
clip.set(Str)
vec.destroy(v)
vec.unload

Комментарии:

При подготовке веб-страничек, содержащих ссылки на картинки (файлы с расширением jpg), удобно пользоваться так называемыми thumbnails, то есть уменьшенными копиями картинок (обычно не больше 60 пикселей по длинной стороне). Вес thumbnails чаще всего составляет порядка 1 килобайта, поэтому страничка грузится очень быстро. Тhumbnails позволяют приблизительно представить себе содержание основной картинки и по щелчку просмотреть ее.

Чаще всего thumbnails выкладывают в отдельную директорию. То есть имеем:

Скрипт позволяет одним щелчком крысы заносить в буфер информацию, которая после вставки в текст веб-странички создает ссылки на thumbnails и сами картинки. Знание языка html необходимо на примитивном (как у меня) уровне.

Для настройки скрипта используется ini-файл со следующими ключами:

[Configuration]
ThumbSubDir=Thumbs
;имя дочерней директории с thumbnails.
;Если thumbnails лежат в директории с картинками, задать ""
;или поставить ; перед ключом

ImagePath=%T
;если равно %Т, то путь к директории с картинками
;берется из противоположной панели.
;В противном случае задать равным ""
;или поставить ; перед ключом

PathDepth=2
;используется только при ImagePath=%T.
;Показывает глубину пути к thumbnails
;относительно текущей директории

ThumbSuffix=_t
;символы, добавляемые к имени thumbnails

AddBefore=""
;символы, добавляемые перед ссылкой

AddAfter=<p>
;символы, добавляемые после ссылки

Рассмотрим пример. Настройки файла HTMLImageWithThumb.ini соответствуют приведенным выше. В текущей директории, где лежит сама веб-страничка, находится поддиректория Galleries. В ней - несколько галерей, типа Vasia, Masha, и пр.

Прежде всего переходим в противоположную панель и делаем текущей директорию Galleries\Vasia - ведь мы задали ключ ImagePath=%T. Значит, сами картинки будут браться из Galleries\Vasia. Ключ PathDepth=2 указывает, что количество директорий, начиная от Galleries\Vasia, до текущей, считая в направлении корня, равно двум.

Возвращаемся в прежнюю панель и заходим в Galleries\Vasia. Там лежат интересующие нас картинки, thumbnails которых находятся в Galleries\Vasia\Thumbs.

Выделим несколько картинок (напомню, мы находимся в Galleries\Vasia), и нажимаем кнопку на панели, которой соответствует данный скрипт. Пусть выделенные картинки имеют имена

vasia_v_more.jpg
vasia_v_restorane.jpg
pjany_v_hlam_vasia.jpg
Thumbnails находятся в Galleries\Vasia\Thumbs и имеют имена
vasia_v_more_t.jpg
vasia_v_restorane_t.jpg
pjany_v_hlam_vasia_t.jpg

Нажали кнопку? Остается только перейти в редактор, где мы ваяем нашу страничку, и выполнить команду Paste. Появится вот что:

<a href="Galleries/Vasia/vasia_v_more.jpg"><img SRC="Galleries/Vasia/Thumbs/vasia_v_more_t.jpg"></a><p>
<a href="Galleries/Vasia/vasia_v_restorane.jpg"><img SRC="Galleries/Vasia/Thumbs/vasia_v_restorane_t.jpg"></a><p>
<a href="Galleries/Vasia/pjany_v_hlam_vasia.jpg"><img SRC="Galleries/Vasia/Thumbs/pjany_v_hlam_vasia_t.jpg"></a><p>
Осталось лишь сохранить страничку, загрузить в браузер и наслаждаться.
На главную Все о Total Commander PowerPro PowerPro & Total Commander