diff options
Diffstat (limited to 'html/wb')
-rw-r--r-- | html/wb/.cvsignore | 2 | ||||
-rw-r--r-- | html/wb/make_hh.lua | 274 | ||||
-rw-r--r-- | html/wb/template_index.html | 28 | ||||
-rw-r--r-- | html/wb/template_ssSearch.html | 22 | ||||
-rw-r--r-- | html/wb/template_wb_bar.html | 26 | ||||
-rw-r--r-- | html/wb/template_wb_title.html | 64 | ||||
-rw-r--r-- | html/wb/template_wb_tree.html | 220 | ||||
-rw-r--r-- | html/wb/wb2hh.bat | 29 | ||||
-rw-r--r-- | html/wb/wb_build.bat | 1 | ||||
-rw-r--r-- | html/wb/wb_build.lua | 364 | ||||
-rw-r--r-- | html/wb/wb_usr.lua | 378 |
11 files changed, 1408 insertions, 0 deletions
diff --git a/html/wb/.cvsignore b/html/wb/.cvsignore new file mode 100644 index 0000000..c02eff6 --- /dev/null +++ b/html/wb/.cvsignore @@ -0,0 +1,2 @@ +wb_en.hhp +wb_tree_en.hhc diff --git a/html/wb/make_hh.lua b/html/wb/make_hh.lua new file mode 100644 index 0000000..c7a5b6c --- /dev/null +++ b/html/wb/make_hh.lua @@ -0,0 +1,274 @@ +--------------------------------------------------------------------- +-- This program converts from Tecgraf's WebBook to HTML Help Project Files. +-- by Mark Stroetzel Glasberg and Antonio Scuri +-- 09 Dec, 2004 +--------------------------------------------------------------------- + +languages_description = { + en = "0x0409 English - United States", + es = "0x040A Spanish - Standard", + fr = "0x040C French - Standard", + de = "0x0407 German - Standard", +-- pt = "0x0816 Portuguese - Standard", + pt = "0x0416 Portuguese - Brazil", + it = "0x0410 Italian - Standard" +} + +-- INITIALIZATION --------------------------------------------------- + +function isinlist(lng, list) + local i = 1 + local n = #list + while i <= n do + if list[i] == lng then + return 1 + end + i = i + 1; + end + return nil +end + +-- BASIC FUNCTIONS -------------------------------------------------- + +function out(string) + file:write(string) +end + +function outln(string) + local i = ident + 1 + while i>0 do + file:write(" ") + i = i - 1 + end + file:write(string.."\n") +end + +-- HHP FILE FUNCTIONS ------------------------------------------------ + +files = {} + +function add2files(v) + if v then + -- only up to "#" + local j = string.find(v, "#") + if j then + f = string.sub(v, 0, j-1) + else + f = v + end + + files[f] = f + end +end + +function writehhpheader() + out("[OPTIONS]\n") + outln("Binary Index=No") + outln("Compatibility=1.0") + outln("Compiled file=" .. wb_usr.file_title .. "_" .. lng .. ".chm") + outln("Contents file=wb_tree" .. "_" .. lng .. ".hhc") + outln("Default topic=" .. lng .. "/" .. wb_usr.tree.link) + outln("Display compile notes=Yes") + outln("Display compile progress=Yes") + outln("Full-text search=Yes") + outln("Language="..languages_description[lng]) + outln("Title="..wb_usr.messages[lng].title) + out("\n") + out("[FILES]\n") + outln(lng .. "/" .. wb_usr.tree.link) +end + +function writehhpfooter() + local tmp = [[ +[INFOTYPES] + ]] + out(tmp) +end + +function writehhpcenter() + if (not files) then return end + + local v = next(files, nil) + while v ~= nil do + outln(dir..v) + v = next(files, v) + end +end + +function writehhp() + writehhpheader() + writehhpcenter() + writehhpfooter() +end + + +-- HHC FILE FUNCTIONS ------------------------------------------------ + +function writeheader() + out("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n") + out("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n") + out("<HTML>\n") + out("<HEAD>\n") + out("<meta name=\"GENERATOR\" content=\"Microsoft® HTML Help Workshop 4.1\">\n") + out("<!-- Sitemap 1.0 -->\n") + out("<!-- Generated by WebBook -->\n") + out("</HEAD><BODY>\n") + out(" <UL>\n") + out(" <LI> <OBJECT type=\"text/sitemap\">\n") + out(" <param name=\"Name\" value=\""..wb_usr.messages[lng].title.."\">\n") + out(" <param name=\"Local\" value=\""..lng .. "/" .. wb_usr.tree.link .. "\">\n") + out(" </OBJECT>\n") +end + +function type_string (o) + return type(o) == "string" +end + +function writeend() + out(" </UL>\n") + out("</BODY>\n") + out("</HTML>\n") +end + +function writesubitems(tree, mainlink) + if (not tree) then + return + end + local i = 1 + local n = #tree + while i <= n do + writetopic(tree[i], mainlink) + i = i + 1 + end + ident = ident - 1 +end + +-- mainlink is the link of the father -> if no link is specified +-- this is the one that is used. +function writetopic(t, mainlink) + local link + local topic_name + + add2files(mainlink) + + if t.name == nil then + print("ERROR: Title is nil.") + return + end + + if (t.name[lng]) then + topic_name = t.name[lng] + else + topic_name = t.name["nl"] + end + + if topic_name == nil then + print("ERROR: Title is nil in language [" .. lng .. "].") + return + end + + if t.link and t.link ~= "" then + link = t.link + else + link = nil + end + + add2files(link) + + if t.bookmark then + if link == nil and mainlink == nil then + print("Error saving bookmark!!!") + return + end + + if link then + linkB = link .. "#" .. t.bookmark + else + linkB = mainlink .. "#" .. t.bookmark + end + else + linkB = nil + end + + outln("<LI> <OBJECT type=\"text/sitemap\">") + outln("<param name=\"Name\" value=\""..topic_name.."\">") + if linkB then + outln("<param name=\"Local\" value=\""..dir..linkB.."\">") + else + if link then + outln("<param name=\"Local\" value=\""..dir..link.."\">") + end + end + if useimage == 1 then + if t.folder then + if ident == 0 then + outln("<param name=\"ImageNumber\" value=\"1\">") + else + outln("<param name=\"ImageNumber\" value=\"6\">") + end + else + outln("<param name=\"ImageNumber\" value=\"11\">") + end + end + outln("</OBJECT>") + + -- Write folder -- + if t.folder then + ident = ident + 1 + outln("<UL>") + if link == nil then + writesubitems(t.folder, mainlink) + else + writesubitems(t.folder, link) + end + outln("</UL>") + end + +end + +function writetopics(tree) + if (not tree) then return end + local i = 1; + local n = #tree + while i <= n do + outln("<UL>") + writetopic(tree[i], nil) + outln("</UL>") + i = i + 1 + end +end + +-- MAIN ------------------------------------------------------------- + +-- lng -> from the command line + +dofile("wb_usr.lua") + +if (not arg[1]) then + error("Missing language parameter.") +end + +lng = arg[1] +dir = lng.."/" +ident = 0 +useimage = 1 -- Use images based on given information +file = nil + +print("Writing \"wb_tree" .. "_" .. lng .. ".hhc\" file.") +file = io.open("wb_tree" .. "_" .. lng .. ".hhc", "w") +writeheader() +writetopics(wb_usr.tree.folder) +writeend() +file:close() + +if ident ~= 0 then + print("Ident not correct!") +end + +print("Writing \"wb" .. "_" .. lng .. ".hhp\" file.") +file = io.open("wb" .. "_" .. lng .. ".hhp", "w") +writehhp() +file:close() + +print("done.") + diff --git a/html/wb/template_index.html b/html/wb/template_index.html new file mode 100644 index 0000000..75c72e0 --- /dev/null +++ b/html/wb/template_index.html @@ -0,0 +1,28 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"> +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<title>WB_TITLE</title> +</head> + +<frameset rows="51,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE"> + <frame name="wb_title" scrolling="no" noresize="noresize" src="wb_titleWB_LNG.html" + frameborder="0" marginheight="0" marginwidth="0" target="wb_cont"> + <frameset cols="WB_START_SIZE,*" frameborder="1" framespacing="4" bordercolor="#0B6DCE" border="4"> + <frameset rows="27,*" frameborder="0" framespacing="0" bordercolor="#0B6DCE"> + <frame name="wb_bar" scrolling="no" src="wb_barWB_LNG.html" frameborder="0" target="wb_cont"> + <frame name="wb_tree" src="wb_treeWB_LNG.html" frameborder="1" target="wb_cont"> + </frameset> + <frame name="wb_cont" src="WB_START_PAGE" frameborder="0"> + </frameset> + <noframes> + <body> + + <p>This page uses frames, but your browser doesn't support them.</p> + + </body> + </noframes> +</frameset> + +</html> diff --git a/html/wb/template_ssSearch.html b/html/wb/template_ssSearch.html new file mode 100644 index 0000000..23d93ea --- /dev/null +++ b/html/wb/template_ssSearch.html @@ -0,0 +1,22 @@ +<html> +<head> +<title>ssSearch</title> +<link rel="stylesheet" type="text/css" href="style.css"> +</head> +<body> +<h3>WB_SEARCH</h3> +<blockquote> +<center> + <applet code="ssSearch.class" width="640" height="480"> + <param name="BGCOLOR" value="0B6DCE"> + <param name="LISTAREACOLOR" value="ffffff"> + <!-- Use "_self", "_blank", "_parent", "_top" or any other user-defined name --> + <param name="TARGETFRAME" value="_self"> + <param name="DATAFILE" value="wb_searchWB_LNG.txt"> + <!-- The APPLETHOME param is just an acknowledgement --> + <!-- Do not edit the value of APPLETHOME param --> + <param name="APPLETHOME" value="http://www.geocities.com/SiliconValley/Lakes/5365/index.html"> + </applet> +</center> +</blockquote> +</body></html> diff --git a/html/wb/template_wb_bar.html b/html/wb/template_wb_bar.html new file mode 100644 index 0000000..46b98d8 --- /dev/null +++ b/html/wb/template_wb_bar.html @@ -0,0 +1,26 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"> +<html> +<head> + <meta http-equiv="Content-Language" content="en-us" > + <title>Bar</title> + <base target="wb_cont"> + <style type="text/css"> + .navigation{ + padding: 0; + margin: 0; + white-space: nowrap; + border: 1px solid #7F93C7; + background-color: #FFFFFF; + line-height: 19px; + } + .navigation p { margin: 1px; white-space: nowrap; } + .navigation img { vertical-align: middle; } + </style> +</head> + +<body style="margin: 2px; background-color: #F1F1F1"> + <div class="navigation"> + <p><a target="_blank" href="http://www.tecgraf.puc-rio.br/webbook"><img src="wb_img/webbook.png" onmouseover="this.src='wb_img/webbook_over.png'" onmouseout="this.src='wb_img/webbook.png'" style="border-width: 0px"></a><img src="wb_img/barlineleft.png"><img alt="WB_EXPALL_ALT" src="wb_img/showall.png" onclick="parent.wb_tree.showAllFolders()" onmouseover="this.src='wb_img/showall_over.png'" onmouseout="this.src='wb_img/showall.png'"><img alt="WB_CONTALL_ALT" src="wb_img/hideall.png" onclick="parent.wb_tree.hideAllFolders()" onmouseover="this.src='wb_img/hideall_over.png'" onmouseout="this.src='wb_img/hideall.png'"><img alt="WB_SYNC_ALT" src="wb_img/sync.png" onclick="parent.wb_tree.syncContents()" onmouseover="this.src='wb_img/sync_over.png'" onmouseout="this.src='wb_img/sync.png'"><img alt="WB_NEXT_ALT" src="wb_img/next.png" onclick="parent.wb_tree.nextContents()" onmouseover="this.src='wb_img/next_over.png'" onmouseout="this.src='wb_img/next.png'"><img alt="WB_PREV_ALT" src="wb_img/previous.png" onclick="parent.wb_tree.prevContents()" onmouseover="this.src='wb_img/previous_over.png'" onmouseout="this.src='wb_img/previous.png'">WB_LNG_BUTTON</p> + </div> +</body> +</html> diff --git a/html/wb/template_wb_title.html b/html/wb/template_wb_title.html new file mode 100644 index 0000000..e35662c --- /dev/null +++ b/html/wb/template_wb_title.html @@ -0,0 +1,64 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"> +<head> +<meta http-equiv="Content-Language" content="en-us"> +<title>Title</title> +<base target="wb_cont"> +<style type="text/css"> +td.title { + font-family: Arial, Helvetica, sans-serif; + font-size: 16pt; + font-weight: bold; + color: #FFFFFF; + text-align: left; + vertical-align: middle; +} +td.contact { + text-align: center; + vertical-align: middle; + width: 11em; +} +a.contact { + font-family: Arial, Helvetica, sans-serif; + color: #0962BB; + font-size: 9pt; + text-decoration: none; + font-weight: bold; +} +a.contact:hover { + text-decoration: underline; +} +</style> +</head> + +<body style="background-color: WB_TITLE_BGCOLOR; margin-left: 3px; margin-right: 3px; margin-top: 2px; margin-bottom: 0; background-image: url('wb_img/title_background.png');"> + +<table style="width: 100%" cellspacing="0" cellpadding="0"> + <tr> + <td style="width: 50px;"><img src="logo.gif"></td> + <td class="title">WB_BAR_TITLE</td> + <td style="width: 3.5em"> + <a class="contact" href="ssSearchWB_LNG.html">SimpleSearch</a> + </td> + <td style="width: 11em"> + <FORM method=GET action="http://www.google.com/search" style="margin-bottom: 0; margin: 0; text-align: center; "> + <input type=hidden name=ie value=UTF-8> + <input type=hidden name=oe value=UTF-8> + <INPUT TYPE=text name=q size=21 maxlength=255 value=""><br> + <A HREF="http://www.google.com/"><IMG SRC="wb_img/google.gif" border="0" ALT="Google"></A> + <INPUT type=submit name=btnG VALUE="Search" style="height: 21px; vertical-align: top; font-size: x-small;"> + <input type=hidden name=domains value="WB_SEARCH_LINK"> + <input type=hidden name=sitesearch value="WB_SEARCH_LINK" checked> + <input type=hidden name=sitesearch value=""> + </FORM> + </td> + <td class="contact"> + <a class="contact" target="_blank" href="WB_COPYRIGHT_LINK">© WB_COPYRIGHT_NAME</a> + <br> + <a class="contact" href="mailto:WB_CONTACT">(WB_CONTACT)</a> + </td> + </tr> +</table> + +</body> + +</html> diff --git a/html/wb/template_wb_tree.html b/html/wb/template_wb_tree.html new file mode 100644 index 0000000..4e45163 --- /dev/null +++ b/html/wb/template_wb_tree.html @@ -0,0 +1,220 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"> +<html> +<head> + <meta http-equiv="Content-Language" content="en-us" > + <title>Tree</title> + <base target="wb_cont"> + <style type="text/css"> + .tree { font-family: helvetica, sans-serif; font-size: 10pt; } + .tree h3 { + margin: 5px 0px 0px 0px; + font-size: 12pt; + } + .tree p { margin: 0px; white-space: nowrap; } + .tree p.sep { margin: 0px; white-space: nowrap; line-height: 8px; font-size: 5px; } + .tree div { display: none; margin: 0px; } + .tree img { vertical-align: middle; } + .tree a.el { text-decoration: none; margin-left: 4px; color: #003366; } + .tree a:hover { text-decoration: none; background-color: #e0e0ff } + </style> + <script type="text/javascript"> + lastLink = null; + + function hideFolder(folder, id) + { + var imageNode = document.images["img" + id]; + if (imageNode != null) + { + var len = imageNode.src.length; + if (imageNode.src.substring(len-8,len-4) == "last") + imageNode.src = "wb_img/plusnodelast.png"; + else if (imageNode.src.substring(len-8,len-4) == "node") + imageNode.src = "wb_img/plusnode.png"; + } + folder.style.display = "none"; + } + + function showFolder(folder, id) + { + var imageNode = document.images["img" + id]; + if (imageNode != null) + { + var len = imageNode.src.length; + if (imageNode.src.substring(len-8,len-4) == "last") + imageNode.src = "wb_img/minusnodelast.png"; + else if (imageNode.src.substring(len-8,len-4) == "node") + imageNode.src = "wb_img/minusnode.png"; + } + folder.style.display = "block"; + } + + function toggleFolder(id) + { + var folder = document.getElementById(id); + if (folder.style.display == "block") + hideFolder(folder, id); + else + showFolder(folder, id); + } + + function setFoldersAtLevel(level, show) + { + var i = 1; + do + { + var folder_id = level + "." + i; + var id = "folder" + folder_id; + var folder = document.getElementById(id); + if (folder != null) + { + setFoldersAtLevel(folder_id, show); + + if (show) + showFolder(folder, id); + else + hideFolder(folder, id); + } + i++; + } while(folder != null); + } + + function showAllFolders() + { + setFoldersAtLevel("", true); + } + + function hideAllFolders() + { + setFoldersAtLevel("", false); + } + + function getFolderId(name) + { + return name.substring(name.indexOf("folder"), name.length); + } + + function showFolderRec(id) + { + var folder = document.getElementById(id); + if (folder != null) + { + showFolder(folder, id); + + var parent_id = id.substring(0, id.lastIndexOf(".")) + if (parent_id != null && parent_id != "folder") + { + showFolderRec(parent_id) + } + } + } + + function clearLastLink() + { + if (lastLink != null) + { + lastLink.style.color = "" + lastLink = null; + } + } + + function goToLink(link) + { + var id = getFolderId(link.name); + showFolderRec(id); + location.hash = "#" + link.name; + link.style.color = "#ff0000"; + + clearLastLink(); + lastLink = link; + } + + function syncContents() + { + var cur_topic = parent.wb_cont.location.href + + for (var i = 0; i < document.links.length; i++) + { + var link = document.links[i]; + if (cur_topic == link.href) + { + goToLink(link) + return + } + } + } + + function nextContents() + { + var cur_topic = parent.wb_cont.location.href + + for (var i = 0; i < document.links.length; i++) + { + var link = document.links[i]; + if (cur_topic == link.href) + { + if (i == document.links.length-1) + link = document.links[0]; + else + link = document.links[i+1]; + + goToLink(link) + parent.wb_cont.location.href = link.href; + return + } + } + } + + function prevContents() + { + var cur_topic = parent.wb_cont.location.href + var prev_link = document.links[document.links.length-1] + + for (var i = 0; i < document.links.length; i++) + { + var link = document.links[i]; + if (cur_topic == link.href) + { + if (i == 0) + link = document.links[document.links.length-1]; + else + link = document.links[i-1]; + + goToLink(link) + parent.wb_cont.location.href = link.href; + return + } + } + } + + function showStartPage() + { + var full_url = parent.document.URL; + if (full_url == null) + return; + + var param = full_url.substring(full_url.indexOf("?") + 1, full_url.length); + if (param == null) + return; + + var param_url = param.substring(param.indexOf("url=") + 4, param.length); + if (param_url == null) + return; + + var param_len = param_url.length; + for (var i = 0; i < document.links.length; i++) + { + var link = document.links[i]; + var link_url = link.href.substring(link.href.length-param_len, link.href.length) + if (link_url == param_url) + { + goToLink(link) + parent.wb_cont.location.href = link.href; + return + } + } + } + </script> +</head> + +<body style="margin: 2px; background-color: #F1F1F1" onload="showStartPage()"> + <div class="tree" onmouseout="clearLastLink()"> diff --git a/html/wb/wb2hh.bat b/html/wb/wb2hh.bat new file mode 100644 index 0000000..94c4459 --- /dev/null +++ b/html/wb/wb2hh.bat @@ -0,0 +1,29 @@ +@echo off + +Echo Building... +lua5.1 make_hh.lua %1 +Echo . +pause + +Echo Preparing... +move wb_%1.hhp .. +move wb_tree_%1.hhc .. +cd .. +move download download.old +Echo . +pause + +Echo Compiling... +hhc wb_%1.hhp +Echo . +pause + +Echo Finishing... +move wb_%1.hhp wb +move wb_tree_%1.hhc wb +move download.old download +move /y *.chm download +cd wb +Echo . + +Echo Done. diff --git a/html/wb/wb_build.bat b/html/wb/wb_build.bat new file mode 100644 index 0000000..9cf43fc --- /dev/null +++ b/html/wb/wb_build.bat @@ -0,0 +1 @@ +@lua5.1 wb_build.lua diff --git a/html/wb/wb_build.lua b/html/wb/wb_build.lua new file mode 100644 index 0000000..1963158 --- /dev/null +++ b/html/wb/wb_build.lua @@ -0,0 +1,364 @@ + +dofile("wb_usr.lua") + +lngCount = nil +lngSuffix = nil +lngIndex = nil +lngNext = nil +linkCount = 1 + +function readFile(filename) + local file = io.open(filename) + local text = file:read("*a") + file:close() + return text +end + +function writeFile(filename, text) + local file = io.open(filename, "w") + file:write(text) + file:close() +end + +-- ##################################################################### + +htmlFiles = {} + +function addHtmlFile(v) + if v then + -- only up to "#" + local j = string.find(v, "#") + if j then + f = string.sub(v, 0, j-1) + else + f = v + end + + htmlFiles[f] = f + end +end + +-- ##################################################################### + +function writeIndexFile() + print("Writing \"../index"..lngSuffix..".html\".") + + local wb_index = readFile("template_index.html") + + wb_index = string.gsub(wb_index, "WB_TITLE", wb_usr.messages[lngIndex].title) + wb_index = string.gsub(wb_index, "WB_START_SIZE", wb_usr.start_size) + wb_index = string.gsub(wb_index, "WB_START_PAGE", lngIndex.."/"..wb_usr.tree.link) + if (lngCount > 1) then + wb_index = string.gsub(wb_index, "WB_LNG", lngSuffix) + else + wb_index = string.gsub(wb_index, "WB_LNG", "") + end + + writeFile("../index"..lngSuffix..".html", wb_index) +end + +-- ##################################################################### + +function writeTitleFile() + print("Writing \"../wb_title"..lngSuffix..".html\".") + + local wb_title = readFile("template_wb_title.html") + + wb_title = string.gsub(wb_title, "WB_BAR_TITLE", wb_usr.messages[lngIndex].bar_title) + wb_title = string.gsub(wb_title, "WB_TITLE_BGCOLOR", wb_usr.title_bgcolor) + wb_title = string.gsub(wb_title, "WB_SEARCH_LINK", wb_usr.search_link) + wb_title = string.gsub(wb_title, "WB_COPYRIGHT_LINK", wb_usr.copyright_link) + wb_title = string.gsub(wb_title, "WB_COPYRIGHT_NAME", wb_usr.copyright_name) + wb_title = string.gsub(wb_title, "WB_CONTACT", wb_usr.contact) + + if (lngCount > 1) then + wb_title = string.gsub(wb_title, "WB_LNG", lngSuffix) + else + wb_title = string.gsub(wb_title, "WB_LNG", "") + end + + writeFile("../wb_title"..lngSuffix..".html", wb_title) +end + +-- ##################################################################### + +function writeIndent(file, level) + -- base identation + file:write(" ") + + for i = 1, level*2, 1 do + file:write(" ") + end +end + +function getNodeName(node) + local name = nil + if (node.name[lngIndex]) then + name = node.name[lngIndex] + else + name = node.name["nl"] + end + + if not name then + error("Name not found.") + end + + return name +end + +function writeNode(file, node, opened, level, folder_index, folder_suffix, node_suffix, child_prefix) + if (node.folder) then -- folder + -- box image + writeIndent(file, level) + file:write("<p>") + + folder_suffix = folder_suffix .. "." .. folder_index + + file:write(child_prefix.."<img name=\"imgfolder"..folder_suffix.."\" ") + + if (opened) then + file:write("src=\"wb_img/minusnode"..node_suffix..".png\" ") + else + file:write("src=\"wb_img/plusnode"..node_suffix..".png\" ") + end + + file:write("onclick=\"toggleFolder('folder"..folder_suffix.."')\">") + + if (node.link) then + file:write("<a name=\"link"..linkCount.."folder"..folder_suffix.."\" class=\"el\" href=\""..lngIndex.."/"..node.link.."\">"..getNodeName(node).."</a>") + addHtmlFile(node.link) + linkCount = linkCount + 1 + else + file:write(" "..getNodeName(node)) + end + + file:write("</p>\n") + + -- folder div + writeIndent(file, level) + if (opened) then + file:write("<div id=\"folder"..folder_suffix.."\" style=\"display:block\">\n") + else + file:write("<div id=\"folder"..folder_suffix.."\">\n") + end + + local n = #(node.folder) + local next_folder_index = 0 + local next_node_suffix = "" + local next_child_prefix = "<img src=\"wb_img/vertline.png\">" + if (node_suffix == "last") then + next_child_prefix = "<img src=\"wb_img/blank.png\">" + end + for i = 1, n, 1 do + if (i == n) then + next_node_suffix = "last" + end + if (node.folder[i].folder) then + next_folder_index = next_folder_index + 1 + end + writeNode(file, node.folder[i], false, level+1, next_folder_index, folder_suffix, next_node_suffix, child_prefix..next_child_prefix) + end + + writeIndent(file, level) + file:write("</div>\n") + else -- leaf + if (node.link and node.link ~= "") then -- normal leaf + writeIndent(file, level) + file:write("<p>"..child_prefix.."<img src=\"wb_img/node"..node_suffix..".png\"><a class=\"el\" name=\"link"..linkCount.."folder"..folder_suffix.."\" href=\""..lngIndex.."/"..node.link.."\">"..getNodeName(node).."</a></p>\n") + addHtmlFile(node.link) + linkCount = linkCount + 1 + else -- separator leaf + writeIndent(file, level) + file:write("<p class=\"sep\">") + + local sep_child_prefix = string.gsub(child_prefix, "/vertline", "/sepvertline") + sep_child_prefix = string.gsub(sep_child_prefix, "/blank", "/sepblank") + + file:write(sep_child_prefix.."<img src=\"wb_img/sepnode.png\"></p>\n") + end + end +end + +function writeTree(file) + -- root node + file:write(" <h3><a name=\"link0folder.0\" class=\"el\" href=\""..lngIndex.."/"..wb_usr.tree.link.."\">"..getNodeName(wb_usr.tree).."</a></h3>\n") + addHtmlFile(wb_usr.tree.link) + + local folder = wb_usr.tree.folder + local n = #folder + local node_suffix = "" + local folder_index = 0 + for i = 1, n, 1 do + if (i == n) then + node_suffix = "last" + end + if (folder[i].folder) then + folder_index = folder_index + 1 + end + if (i == 1 and wb_usr.start_open) then + writeNode(file, folder[i], true, 1, folder_index, "", node_suffix, "") + else + writeNode(file, folder[i], false, 1, folder_index, "", node_suffix, "") + end + end +end + +function writeTreeFile() + print("Writing \"../wb_tree"..lngSuffix..".html\".") + + local file = io.open("../wb_tree"..lngSuffix..".html", "w") + + -- Write Header + local wb_tree = readFile("template_wb_tree.html") + file:write(wb_tree) + + -- Write Tree Nodes and Leafs + writeTree(file) + + -- Write Footer + file:write(" </div>\n") + file:write("</body>\n") + file:write("</html>\n") + + file:close() +end + +-- ##################################################################### + +lngMessages = +{ + search= { + en= "Simple Search", + pt= "Busca Simples", + es= "Busca Simples", + }, + exp_all= { + en= "Expand All Nodes", + pt= "Expande Todos os Nós", + es= "Ensanchar Todos Nodos", + }, + cont_all= { + en= "Contract All Nodes", + pt= "Contrai Todos os Nós", + es= "Contrato Todos Nodos", + }, + sync= { + en= "Sync Tree with Contents", + pt= "Sincroniza Árvore com Conteúdo", + es= "Sincroniza Árbol con el Contenido", + }, + lang= { + en= "Switch Language", + pt= "Troca Idioma", + es= "Cambie Idioma", + }, + next= { + en= "Next Link", + pt= "Próximo Link", + es= "Próximo Link", + }, + prev= { + en= "Previous Link", + pt= "Link Anterior", + es= "Link Anterior", + }, +} + +function writeBarFile() + print("Writing \"../wb_bar"..lngSuffix..".html\".") + + local file = io.open("../wb_bar"..lngSuffix..".html", "w") + + local wb_bar = readFile("template_wb_bar.html") + + wb_bar = string.gsub(wb_bar, "WB_EXPALL_ALT", lngMessages.exp_all[lngIndex]) + wb_bar = string.gsub(wb_bar, "WB_CONTALL_ALT", lngMessages.cont_all[lngIndex]) + wb_bar = string.gsub(wb_bar, "WB_SYNC_ALT", lngMessages.sync[lngIndex]) + wb_bar = string.gsub(wb_bar, "WB_NEXT_ALT", lngMessages.next[lngIndex]) + wb_bar = string.gsub(wb_bar, "WB_PREV_ALT", lngMessages.prev[lngIndex]) + + if (lngCount > 1) then + local lng_button = "<img src=\"wb_img/barlineright.png\">" + lng_button = lng_button .. "<a target=\"_top\" href=\"index_"..lngNext..".html\"><img alt=\""..lngMessages.lang[lngIndex].."\" src=\"wb_img/lng"..lngSuffix..".png\" onmouseover=\"this.src='wb_img/lng"..lngSuffix.."_over.png'\" onmouseout=\"this.src='wb_img/lng"..lngSuffix..".png'\" style=\"border-width: 0px\"></a>" + wb_bar = string.gsub(wb_bar, "WB_LNG_BUTTON", lng_button) + else + wb_bar = string.gsub(wb_bar, "WB_LNG_BUTTON", "") + end + + file:write(wb_bar) + file:close() +end + +-- ##################################################################### + +function writeSearchFile() + print("Writing \"../ssSearch"..lngSuffix..".html\".") + + local file = io.open("../ssSearch"..lngSuffix..".html", "w") + + local wb_search = readFile("template_ssSearch.html") + + wb_search = string.gsub(wb_search, "WB_SEARCH", lngMessages.search[lngIndex]) + + if (lngCount > 1) then + wb_search = string.gsub(wb_search, "WB_LNG", lngSuffix) + else + wb_search = string.gsub(wb_search, "WB_LNG", "") + end + + file:write(wb_search) + file:close() +end + +function writeSearchIndexFile() + print("Writing \"../wb_search"..lngSuffix..".txt\".") + + local file = io.open("../wb_search"..lngSuffix..".txt", "w") + + local v = next(htmlFiles, nil) + while v ~= nil do + file:write(lngIndex.."/"..v.."\n") + v = next(htmlFiles, v) + end + + file:close() +end + +-- ##################################################################### + +lngCount = 0 +local first_name = nil +local prev_elem = nil +for name, elem in pairs(wb_usr.messages) do + if (lngCount == 0) then + first_name = name + end + lngCount = lngCount + 1 + if (prev_elem) then + prev_elem.next = name + end + prev_elem = elem +end +prev_elem.next = first_name + +print("Building...") + +for name, elem in pairs(wb_usr.messages) do + lngIndex = name + lngNext = elem.next + + if (lngCount > 1) then + lngSuffix = "_"..lngIndex + else + lngSuffix = "" + end + + writeIndexFile() + writeTitleFile() + writeBarFile() + writeTreeFile() + writeSearchFile() + writeSearchIndexFile() +end + +print("Done.") diff --git a/html/wb/wb_usr.lua b/html/wb/wb_usr.lua new file mode 100644 index 0000000..05cb254 --- /dev/null +++ b/html/wb/wb_usr.lua @@ -0,0 +1,378 @@ +wb_usr = { + contact = "im@tecgraf.puc-rio.br", + title_bgcolor = "#3366CC", + copyright_link = "http://www.tecgraf.puc-rio.br", + search_link = "http://www.tecgraf.puc-rio.br/im", + start_size = "180", + langs = {"en"}, + copyright_name = "Tecgraf/PUC-Rio", + file_title = "im", + start_open = "1" +} + +wb_usr.messages = { + en = { + bar_title = "IM - Version 3.4", + title = "IM - An Imaging Tool", + } +} + +wb_usr.tree = +{ + name= {en= "IM"}, + link= "home.html", + folder= + { + { + name= {en= "Product"}, + link= "prod.html", + folder= + { + { name= {en= "Overview"}, link= "prod.html#overview" }, + { name= {en= "Availability"}, link= "prod.html#available" }, + { name= {en= "Support"}, link= "prod.html#support" }, + { name= {en= "Credits"}, link= "prod.html#thanks" }, + { name= {en= "Documentation"}, link= "prod.html#docs" }, + { link= "", name= {en= "" } }, + { name= {en= "Copyright/License"}, link= "copyright.html" }, + { name= {en= "Download"}, link= "download.html", + folder= + { + { + name= {en= "Library Download Tips"}, + link= "download_tips.html" + } + } + }, + { name= {nl= "CVS"}, link= "cvs.html" }, + { name= {en= "History"}, link= "history.html" }, + { name= {en= "To Do"}, link= "to_do.html" }, + { name= {en= "Comparing"}, link= "toolkits.html" } + } + }, + { + name= {en= "Guide"}, + link= "guide.html", + folder= + { + { name= {en= "Getting Started"}, link= "guide.html#startup" }, + { name= {en= "Building Applications"}, link= "guide.html#buildapp" }, + { name= {en= "Building the Library"}, link= "guide.html#buildlib" }, + { name= {en= "CD Compatibility"}, link= "guide.html#CD" }, + { name= {en= "OpenGL Compatibility"}, link= "guide.html#opengl" }, + { name= {en= "IM 2.x Compatibility"}, link= "guide.html#compat" }, + { name= {en= "Migrating OLD Code" }, link= "guide.html#migra" }, + { name= {en= "Names Convention"}, link= "guide.html#names" }, + { name= {en= "C x C++ Usage"}, link= "guide.html#cpp" }, + { link= "", name= {en= "" } }, + { name= {en= "Samples"}, link= "samples.html" }, + { name= {en= "Lua Binding"}, link= "imlua.html" } + } + }, + { link= "", name= {en= "" } }, + { + link= "representation.html", + name= {en= "Representation" }, + folder= + { + { + name= {en= "Guide" }, + link= "rep_guide.html", + folder= + { + { link= "rep_guide.html#raw", name= {en= "Raw Data Buffer" } }, + { link= "rep_guide.html#imImage", name= {en= "imImage" } } + } + }, + { + name= {en= "Samples" }, + link= "rep_samples.html", + folder= + { + { link= "rep_samples.html#im_info", name= {en= "Information" } }, + { link= "rep_samples.html#im_view", name= {en= "View" } } + } + }, + { + link= "doxygen/group__imagerep.html", + name= {en= "Reference" }, + folder= + { + { + link= "doxygen/group__imgclass.html", name= {en= "imImage" }, + showdoc= "yes", + folder= + { + { link= "doxygen/group__convert.html", name= {en= "Conversion" } } + } + }, + { link= "doxygen/group__imageutil.html", name= {en= "Raw Data Utilities" } }, + { link= "doxygen/group__cnvutil.html", name= {en= "Raw Data Conversion" } }, + { link= "doxygen/group__colormodeutl.html", name= {en= "Color Mode Utilities" } } + } + } + } + }, + { + link= "storage.html", + name= {en= "Storage" }, + folder= + { + { + name= {en= "Guide" }, + link= "storage_guide.html", + folder= + { + { name= {en= "Reading" }, link= "storage_guide.html#read" }, + { name= {en= "Writing" }, link= "storage_guide.html#write" }, + { name= {en= "About File Formats"}, link= "storage_guide.html#formats" }, + { name= {en= "New File Formats"}, link= "storage_guide.html#filesdk" }, + { name= {en= "Memory I/O and Others"}, link= "storage_guide.html#binfilemem" } + } + }, + { + name= {en= "Samples" }, + link= "storage_samples.html", + folder= + { + { link= "storage_samples.html#im_info", name= {en= "Information" } }, + { link= "storage_samples.html#im_copy", name= {en= "Copy" } } + } + }, + { + link= "doxygen/group__format.html", + name= {en= "File Formats" }, + folder= + { + { link= "doxygen/group__raw.html", name= {en= "RAW - RAW File" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__bmp.html", name= {en= "BMP - Windows Device Independent Bitmap" } }, + { link= "doxygen/group__gif.html", name= {en= "GIF - Graphics Interchange Format" } }, + { link= "doxygen/group__ico.html", name= {en= "ICO - Windows Icon" } }, + { link= "doxygen/group__jpeg.html", name= {en= "JPEG - JPEG File Interchange Format" } }, + { link= "doxygen/group__krn.html", name= {en= "KRN - IM Kernel File Format" } }, + { link= "doxygen/group__led.html", name= {en= "LED - IUP image in LED" } }, + { link= "doxygen/group__pcx.html", name= {en= "PCX - ZSoft Picture" } }, + { link= "doxygen/group__png.html", name= {en= "PNG - Portable Network Graphic Format" } }, + { link= "doxygen/group__pnm.html", name= {en= "PNM - Netpbm Portable Image Map" } }, + { link= "doxygen/group__ras.html", name= {en= "RAS - Sun Raster File" } }, + { link= "doxygen/group__sgi.html", name= {en= "SGI - Silicon Graphics Image File Format" } }, + { link= "doxygen/group__tga.html", name= {en= "TGA - Truevision Graphics Adapter File" } }, + { link= "doxygen/group__tiff.html", name= {en= "TIFF - Tagged Image File Format" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__avi.html", name= {en= "AVI - Windows Audio-Video Interleaved RIFF" } }, + { link= "doxygen/group__jp2.html", name= {en= "JP2 - JPEG-2000 JP2 File Format" } }, + { link= "doxygen/group__wmv.html", name= {en= "WMV - Windows Media Video Format" } }, + { link= "doxygen/group__ecw.html", name= {en= "ECW - ERMapper ECW File Format" } }, + } + }, + { + link= "doxygen/group__file.html", + name= {en= "Reference" }, + folder= + { + { link= "doxygen/group__imgfile.html", name= {en= "imImage Storage" } }, + { link= "doxygen/group__filesdk.html", name= {en= "File Format SDK" } } + } + } + } + }, + { + link= "capture.html", + name= {en= "Capture" }, + folder= + { + { + name= {en= "Guide" }, + link= "capture_guide.html", + folder= + { + { link= "capture_guide.html#Using", name= {en= "Using" } }, + { link= "capture_guide.html#Building", name= {en= "Building" } } + } + }, + { + name= {en= "Samples" }, + link= "capture_samples.html", + folder= + { + { link= "capture_samples.html#glut_capture", name= {en= "GLUT Capture" } }, + { link= "capture_samples.html#iupglcap", name= {en= "IUP OpenGL Capture" } } + } + }, + { + link= "doxygen/group__capture.html", + name= {en= "Reference" }, + folder= + { + { link= "doxygen/group__winattrib.html", name= {en= "Windows Attributes" } } + } + } + } + }, + { + link= "processing.html", + name= {en= "Processing" }, + folder= + { + { + name= {en= "Guide" }, + link= "proc_guide.html", + folder= + { + { link= "proc_guide.html#using", name= {en= "Using" } }, + { link= "proc_guide.html#new", name= {en= "New Operations" } }, + { link= "proc_guide.html#count", name= {en= "Counters" } } + } + }, + { + name= {en= "Samples" }, + link= "proc_samples.html", + folder= + { + { link= "proc_samples.html#proc_fourier", name= {en= "Fourier Transform" } }, + { link= "proc_samples.html#houghlines", name= {en= "Hough Lines" } }, + { link= "proc_samples.html#analysis", name= {en= "Image Analysis" } } + } + }, + { + link= "doxygen/group__process.html", + name= {en= "Reference" }, + folder= + { + { link= "doxygen/group__render.html", name= {en= "Synthetic Image Render" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__resize.html", name= {en= "Image Resize" } }, + { link= "doxygen/group__geom.html", name= {en= "Geometric Operations" } }, + { link= "doxygen/group__quantize.html", name= {en= "Additional Image Quantization Operations" } }, + { link= "doxygen/group__colorproc.html", name= {en= "Color Processing Operations" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__histo.html", name= {en= "Histogram Based Operations" } }, + { link= "doxygen/group__threshold.html", name= {en= "Threshold Operations" } }, + { link= "doxygen/group__arithm.html", name= {en= "Arithmetic Operations" } }, + { link= "doxygen/group__logic.html", name= {en= "Logical Arithmetic Operations" } }, + { link= "doxygen/group__tonegamut.html", name= {en= "Tone Gamut Operations" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__convolve.html", name= {en= "Convolution Operations" } }, + { link= "doxygen/group__kernel.html", name= {en= "Predefined Kernels" } }, + { link= "doxygen/group__rank.html", name= {en= "Rank Convolution Operations" } }, + { link= "doxygen/group__morphbin.html", name= {en= "Morphology Operations for Binary Images" } }, + { link= "doxygen/group__morphgray.html", name= {en= "Morphology Operations for Gray Images" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__fourier.html", name= {en= "Fourier Transform Operations" } }, + { link= "doxygen/group__transform.html", name= {en= "Other Domain Transform Operations" } }, + { link= "doxygen/group__effects.html", name= {en= "Special Effects" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__stats.html", name= {en= "Statistics Calculations" } }, + { link= "doxygen/group__analyze.html", name= {en= "Image Analysis" } } + } + } + } + }, + { link= "", name= {en= "" } }, + { + link= "doxygen/modules.html", + name= {en= "Additional Reference" }, + folder= + { + { + link= "doxygen/group__util.html", + name= {en= "Utilities" }, + folder= + { + { link= "doxygen/group__lib.html", name= {en= "Library Management" } }, + { link= "doxygen/group__imlua.html", name= {en= "Lua Binding" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__colorutl.html", name= {en= "Color Utilities" } }, + { + link= "doxygen/group__color.html", + name= {en= "Color Manipulation" }, + showdoc= "yes", + folder= + { + { link= "doxygen/group__hsi.html", name= {en= "HSI Color Coordinate System Conversions" } } + } + }, + { link= "doxygen/group__palette.html", name= {en= "Palette Generators" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__bin.html", name= {en= "Binary Data Utilities" } }, + { link= "doxygen/group__cpx.html", name= {en= "Complex Numbers" } }, + { link= "doxygen/group__datatypeutl.html", name= {en= "Data Type Utilities" } }, + { link= "doxygen/group__math.html", name= {en= "Math Utilities" } }, + { link= "doxygen/group__str.html", name= {en= "String Utilities" } }, + { link= "", name= {en= "" } }, + { link= "doxygen/group__binfile.html", name= {en= "Binary File Access" } }, + { link= "doxygen/group__compress.html", name= {en= "Data Compression Utilities" } }, + { link= "doxygen/group__counter.html", name= {en= "Counter" } }, + { link= "doxygen/group__dib.html", name= {en= "Windows DIB" } } + } + }, + { link= "", name= {en= "" } }, + { + link= "doxygen/annotated.html", + name= {en= "Structures" }, + folder= + { + { link= "doxygen/classimAttribTable.html", name= {en= "imAttribTable" } }, + { link= "doxygen/struct__imBinMemoryFileName.html", name= {en= "imBinMemoryFileName" } }, + { link= "doxygen/struct__imDib.html", name= {en= "imDib" } }, + { link= "doxygen/struct__imFile.html", name= {en= "imFile" } }, + { link= "doxygen/classimFormat.html", name= {en= "imFormat" } }, + { link= "doxygen/classimcfloat.html", name= {en= "imcfloat" } }, + { link= "doxygen/struct__imImage.html", name= {en= "imImage" } }, + { link= "doxygen/classimImageFile.html", name= {en= "imImageFile" } } + } + }, + { + link= "doxygen/files.html", + name= {en= "Includes" }, + folder= + { + { link= "doxygen/im_8h.html", name= {en= "im.h" } }, + { link= "doxygen/im__attrib_8h.html", name= {en= "im_attrib.h" } }, + { link= "doxygen/im__attrib__flat_8h.html", name= {en= "im_attrib_flat.h" } }, + { link= "doxygen/im__binfile_8h.html", name= {en= "im_binfile.h" } }, + { link= "doxygen/im__capture_8h.html", name= {en= "im_capture.h" } }, + { link= "doxygen/im__color_8h.html", name= {en= "im_color.h" } }, + { link= "doxygen/im__colorhsi_8h.html", name= {en= "im_colorhsi.h" } }, + { link= "doxygen/im__complex_8h.html", name= {en= "im_complex.h" } }, + { link= "doxygen/im__convert_8h.html", name= {en= "im_convert.h" } }, + { link= "doxygen/im__counter_8h.html", name= {en= "im_counter.h" } }, + { link= "doxygen/im__dib_8h.html", name= {en= "im_dib.h" } }, + { link= "doxygen/im__file_8h.html", name= {en= "im_file.h" } }, + { link= "doxygen/im__format_8h.html", name= {en= "im_format.h" } }, + { link= "doxygen/im__format__all_8h.html", name= {en= "im_format_all.h" } }, + { link= "doxygen/im__format__avi_8h.html", name= {en= "im_format_avi.h" } }, + { link= "doxygen/im__format__jp2_8h.html", name= {en= "im_format_jp2.h" } }, + { link= "doxygen/im__format__raw_8h.html", name= {en= "im_format_raw.h" } }, + { link= "doxygen/im__format__wmv_8h.html", name= {en= "im_format_wmv.h" } }, + { link= "doxygen/im__image_8h.html", name= {en= "im_image.h" } }, + { link= "doxygen/im__lib_8h.html", name= {en= "im_lib.h" } }, + { link= "doxygen/im__math_8h.html", name= {en= "im_math.h" } }, + { link= "doxygen/im__math__op_8h.html", name= {en= "im_math_op.h" } }, + { link= "doxygen/im__palette_8h.html", name= {en= "im_palette.h" } }, + { link= "doxygen/im__plus_8h.html", name= {en= "im_plus.h" } }, + { link= "doxygen/im__process__ana_8h.html", name= {en= "im_process_ana.h" } }, + { link= "doxygen/im__process__glo_8h.html", name= {en= "im_process_glo.h" } }, + { link= "doxygen/im__process__loc_8h.html", name= {en= "im_process_loc.h" } }, + { link= "doxygen/im__process__pon_8h.html", name= {en= "im_process_pon.h" } }, + { link= "doxygen/im__raw_8h.html", name= {en= "im_raw.h" } }, + { link= "doxygen/im__util_8h.html", name= {en= "im_util.h" } }, + { link= "doxygen/imlua_8h.html", name= {en= "imlua.h" } }, + { link= "doxygen/old__im_8h.html", name= {en= "old_im.h" } } + } + }, + { + link= "doxygen/globals.html", + name= {en= "Globals" }, + folder= + { + { link= "doxygen/globals_func.html", name= {en= "Functions" } }, + { link= "doxygen/globals_type.html", name= {en= "Typedefs" } }, + { link= "doxygen/globals_eval.html", name= {en= "Enumeration Values" } }, + } + } + } + } + } +} |