Help us understand the problem. What is going on with this article?

写真アルバム用HTMLファイルを生成する AppleScript

More than 3 years have passed since last update.

はじめに

 イベント等でたくさんの写真を参加者に配布するような際、Webでサムネイル一覧から欲しい画像をクリックして元画像(サイズが大きい)を表示させる HTML を生成する AppleScript です。

利用方法

 オリジナル画像のフォルダと、同名でサムネイル化した画像のフォルダを用意しておいて、スクリプトを起動し、どちらかのフォルダを指定します。サムネイル画像を一括で作成するスクリプトも公開していますので、それを利用すれば簡単にできます。(画像リサイズクリプトへのリンク

 処理の最後に「テキストエディット」が起動され、画面に生成されたHTMLテキストが表示されて実行が終了します。

 内容を確認し、タイトル部分など必要な本文を追記して、保存します。

スクリプトのソース

 ソースは以下のとおりですが、実行前にオリジナル画像のフォルダ名、サムネイル画像のフォルダ名、横に表示する列数をお好みで修正してご利用ください。

MakealbumHTML.scpt
-- アルバムを表示するHTMLファイルを生成するスクリプト
-- サムネイルを指定した列数で表示し、サムネイルをクリックするとオリジナル画像を別ウインドウに
-- 表示するHTMLファイルを生成する(画像データの名前が一致している必要があります)
-- 対象のフォルダは、サムネイル・オリジナルどちらかのフォルダを指定してください。
-- 「テキストエディット」を起動して、そこに結果をセットして終了しますので、
-- 内容を確認し、タイトルなどを追加してから、名前を付けて保存して利用してください。
-- Written by ynomura

set thumbDir to "thumbs/" -- サムネイル画像が入っているフォルダ名を指定
set orgDir to "org/" -- オリジナル画像が入っているフォルダ名を指定
set col to 5 -- 横に表示する列数を指定

set docType to "<!DOCTYPE HTML PUBLIC " & quote & "-//W3C//DTD HTML 4.01 Transitional//EN" & quote & ">"
set head to "<html>" & return & "<head>" & return
set meta to "<meta HTTP-EQUIV=" & quote & "Content-Type" & quote & " CONTENT=" & quote
set meta to meta & "text/html;CHARSET=UTF-8" & quote & ">" & return
set title to return & "<title><!-- Insert the title, here --></title>" & return & return
set body to "</head>" & return & "<body>" & return
set aText to docType & head & meta & title & body
set aText to aText & "<table>" & return & "<tr>" & return

set targetFolder to POSIX path of (choose folder with prompt "対象のフォルダー")
set aList to list folder of targetFolder

set cnt to 0
repeat with aData in aList
    if (text of aData) = ".DS_Store" then
    else
        set aText to aText & "<td><a href=" & quote & orgDir & aData & quote & " target=" & quote & "_blank" & quote
        set aText to (aText & "><img src=" & quote & thumbDir & aData as text) & quote
        set aText to aText & "></a></td>" & return
        set cnt to cnt + 1
        if cnt  col then
            set aText to aText & "</tr>" & return & "<tr>" & return
            set cnt to 0
        end if
    end if
end repeat
set aText to aText & "</tr>" & return & "</table>" & return & "</body>" & return & "</html>" & return

tell application "TextEdit"
    activate
    set text of document 1 to aText
end tell
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした