Html easy reading

Hi,
everything you need to know is written in the comments in the script below. Did a revision, now everything works fine.

#Html easy reading
#System Events
#0,85
#Developed by Joy, 13.07.14, ->14.07.14
#=====================================
#HELP: 
# 
#Ages passed, since i started the first time to save regularly html pages on my Mac, for a later reading.
#Struggling.all the time.with the clutter that html pages generated (document + resource folder), i used different web browsers and these all saved in the same manner. Except Safari, with its webarchive format. 
#probably you noted that i write in past-time. In fact, now i've the solution at hand, to read effortless htm, html files without all the clutter that comes with it.
#
#HOW MY SCRIPT WORKS: (in SHORT)
#-it moves html documents and resource folders to an unique folder, stored inside: Home/Library/HTM_Lib/
#-it creates soft links of all the moved htm, html documents back to your original folder. 
# You can move, duplicate your soft links as you wish, because original html files and resources are stored in a save place
#
#HOW MY SCRIPT WORKS: (in LONG)
#- open a folder, containing html files, without to select any file inside your container (icon view) or select a folder containing html files (column view, should work also in list/slide view)
#- activate my script
#- files and folders become filtered as htm, html documents and their respective ressources folders (with suffix '_files'), excluding alias files (soft Links)
#- now this filtered files and folders are been moved into a particular library: Home/Library/HTM_Lib/  and there, in a subfolder who inherits the name from the original folder from which your html files came, plus a date string to create a unique name 
#- now the script will start to create alias links (soft links) from all the previous moved html, htm documents continuing to restore readable html files in your original folder.
#- finally, the script creates a hard link of the subfolder in Home/Library/HTM_Lib/ containing your originals in your original folder, just to have the originals by hand. Delete that folder if you like.
#- And.voila! Enjoy ! reading html was never easier.
#
#
#BONUS:
#A last thing to pay attention: if you select an alias file/s, you'll be prompted if you wish to copy the original files to a directory of your choice
#
#My script isnt that spectacular, but very effective, and developed for everyday use. Try it out to believe ! 
#
#=====================================
#This script is: -free Software- use at your own risk
#Original Code from joy - Visit me on: http://gothicage.deviantart.com/
#=====================================

on run
	#get frontmost folder
	tell application "Finder"
		close every information window #interferes
		set proj_fl to target of window 1 as text
		
		#select alias files to  save original files to another location
		set sel to the selection
		if class of item 1 of sel is alias file then
			my get_original(sel)
		end if
		
		#return proj_fl
		set nm_wind to name of alias proj_fl
	end tell
	
	#get and correct finds (no links, find only in current dir)
	set {html_d1, html_d2, html_fl} to my find_files(proj_fl)
	
	set htm_doc_cc to (number of items in html_d1) + (number of items in html_d2)
	set cc_fl to number of items in html_fl
	
	if cc_fl = htm_doc_cc then
		set trace_ky to false
		#transform found paths into HFS paths
		set ls1 to {}
		repeat with a in html_d1
			copy POSIX file a as alias to end of ls1
		end repeat
		set ls2 to {}
		repeat with a in html_d2
			copy POSIX file a as alias to end of ls2
		end repeat
		
	else if cc_fl < htm_doc_cc or cc_fl > htm_doc_cc then
		set trace_ky to true
		#not alias file
		#transform into HFS paths and strip away invalid files
		set ls1 to {}
		set trace_1 to {}
		if html_d1 is not {} then
			repeat with a in html_d1
				set hfs_f to POSIX file a as text
				tell application "Finder" to if class of alias hfs_f is document file then
					copy name of alias hfs_f to end of trace_1
					copy alias hfs_f to end of ls1
				end if
			end repeat
		end if
		set ls2 to {}
		set trace_2 to {}
		if html_d2 is not {} then
			repeat with a in html_d2
				set hfs_f to POSIX file a as text
				tell application "Finder" to if class of alias hfs_f is document file then
					copy name of alias hfs_f to end of trace_2
					copy alias hfs_f to end of ls2
				end if
			end repeat
		end if
	end if
	#sum lists
	set all_html to ls1 & ls2
	
	set ls3 to {}
	repeat with a in html_fl
		copy POSIX file a as alias to end of ls3
	end repeat
	
	#sort htm+ressources in date-folders year, month, day -better folder hierarchy
	set sh_dt to short date string of (current date)
	set {dd, mm, yy} to words of find_rep(sh_dt, ".", " ")
	set dt_fl to (yy & "-" & mm & "-" & dd as text)
	
	#prepare store folder
	set db_pt to ((path to library folder from user domain as text) & "HTM DB:" & dt_fl & " " & nm_wind & ":" as text)
	do shell script "mkdir -p '" & POSIX path of db_pt & "'"
	
	
	#move ressources-finder is comfortable, but a bit lame
	tell application "Finder"
		#move clutter into its db
		move items in ls3 to alias db_pt
		do shell script "sleep 0.5" # & cc
		move items in all_html to alias db_pt
		do shell script "sleep  0.5" # & cc
		
		#finally, create readable alias links
		set htm_files to document files of alias db_pt
		if trace_ky is false then
			repeat with orig_file in htm_files
				make new alias file of proj_fl to orig_file
			end repeat
		else
			repeat with orig_file in htm_files
				set nm to name of orig_file
				if nm is in trace_1 or nm is in trace_2 then
					make new alias file of proj_fl to orig_file
				end if
			end repeat
		end if
	end tell
	
	#create a symbolic link to originals
	set cmd to "ln -s '" & POSIX path of db_pt & "' '" & POSIX path of (proj_fl & dt_fl & " " & nm_wind as text) & "'"
	#log cmd
	try
		do shell script cmd
	end try
	
end run

on get_original(s)
	tell application "Finder"
		#set s to the selection as list
		#if s is {} then return
		activate
		display dialog "Copy Originals from Selection ?" with icon 1 buttons { "Copy", "Cancel"} default button 1
		set the_b to the button returned of the result
		if the_b is "Copy" then
			#activate
			set targ_pt to choose folder default location alias (path to home folder as text) with prompt "Copy to."
			#copies overwrite automatically alias files
			
			try
				set pkg_dir to (targ_pt & "HTM Export:" as text)
				#set pkg_dir to (targ_pt & short_nm as text)
				do shell script "mkdir -p '" & POSIX path of pkg_dir & "'"
			on error err
				display dialog err giving up after 5
				#exit repeat
			end try
			repeat with a in s
				if class of a is alias file then
					set {orig_sx, orig_nm, get_prt} to {name extension, name, parent} of original item of a
					set short_nm to text 1 thru -((length of orig_sx) + 2) of orig_nm
					set orig_ress to ((get_prt as text) & short_nm & "_files" as text)
					#try
					duplicate alias (original item of a as text) to alias pkg_dir
					duplicate alias orig_ress to alias pkg_dir
					#end try
				end if
			end repeat
			
		else if the_b is "Cancel" then
			return
		end if
	end tell
	
end get_original


on find_files(proj_fl)
	#get and correct finds (no links, find only in current dir)
	set {fn, rep} to {"//", "/"}
	set html_d1 to (do shell script "find '" & POSIX path of proj_fl & "' -d 1 -name \"*.html\" ! -type l")
	set html_d1 to paragraphs of my find_rep(html_d1, fn, rep)
	
	set html_d2 to (do shell script "find '" & POSIX path of proj_fl & "' -d 1 -name \"*.htm\" ! -type l")
	set html_d2 to paragraphs of my find_rep(html_d2, fn, rep)
	
	set html_fl to (do shell script "find '" & POSIX path of proj_fl & "' -d 1 -name \"*_files\"")
	set html_fl to paragraphs of my find_rep(html_fl, fn, rep)
	return {html_d1, html_d2, html_fl}
end find_files

on find_rep(T, fn, rep)
	set tid to text item delimiters
	set text item delimiters to fn
	set T to text items of T
	set text item delimiters to rep
	set T to T as string
	set text item delimiters to tid
	return T
end find_rep