(* Printing list of programs *) maintainPrograms := ( Print["----- Running maintainPrograms ..."]; (* Main notebook *) dirprog = FileNameJoin[{dir0, "program"}]; checkdir1[dirprog]; (* Writing image of main notebook *) obj = EvaluationCell[]; img = NotebookRead[obj]; file = FileNameJoin[{dirprog, "main.gif"}]; Export[file, img]; (* main programs *) mainprogs = { {"program/main.gif", "Main Mathematica notebook"}, {"program/sub/mainprogr.m.txt", "Workflow program"}, {"program/sub/functions.m.txt", "Definitions of functions"} }; (* sub-programs *) dirsubprogs = FileNameJoin[{dirprog, "sub"}]; checkdir1[dirsubprogs]; SetDirectory[dirwork]; fileorig = "info.txt"; checkfile[fileorig]; filedest = FileNameJoin[{dirprog, "info.txt"}]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[fileorig, filedest]; fileaddnames = FileNameJoin[{dirwork, "addnames.txt"}]; checkfile[fileaddnames]; filedest = FileNameJoin[{dirprog, "addnames.txt"}]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[fileaddnames, filedest]; fileaddnames = FileNameJoin[{dirwork, "cnames", "namesen.dat"}]; checkfile[fileaddnames]; filedest = FileNameJoin[{dirprog, "transen.txt"}]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[fileaddnames, filedest]; programdata = { {"program/addnames.txt", "Additional names that are missing in lists taken from Internet"}, {"program/transen.txt", "Additional or preferable English common names"}, {"program/info.txt", "Description of variables"} }; subprogs1 = Join[subprogs, {"mainprogr.m", "functions.m"}]; Do[ filedest = FileNameJoin[{dirsubprogs, subprog <> ".txt"}]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[subprog, filedest], {subprog, subprogs1}]; programs = {("program/sub/" <> # <> ".txt")&/@subprogs, subnames} // Transpose; (* data files *) (* currently not used dirprogdata = FileNameJoin[{dirprog, "data"}]; checkdir1[dirprogdata]; *) SetDirectory[FileNameJoin[{dirwork, "templates"}]]; files = FileNames["*.htm"]; templates = Table[ {"program/templates/" <> file <> ".txt", file <> " - template web page"}, {file, files}]; programs = Join[mainprogs, programs, templates, programdata]; filesample = FileNameJoin[{dirwork, "templates", "program.htm"}]; checkfile[filesample]; text = Import[filesample, "Text"]; spanRead[text]; n = 0; epilog0 = spanOld["epilog"]; (* Standard epilog *) spanNew["topline"] = toplinefix[spanOld["topline"]]; spanNew["item"] = Table[n++; {link, descr} = program; name = StringReplace[link, { ___~~"/" -> "", "."~~___ -> ""}]; color = If[OddQ[n], "#FFFFFF", "#E0E0E0"]; StringReplace[spanOld["item"], {"LINK" -> link, "NAME" -> name, "DESCRIPTION" -> descr, "#FFFFFF" -> color}], {program, programs}] // StringJoin; epilog = StringReplace[epilog0, {"SCRIPTNAME" -> "programs", RegularExpression["(?i)\\s*
  • .*?\"program.htm\".*"] -> ""}]; spanNew["epilog"] = epilog; text = spanReplace[text]; file = FileNameJoin[{dir0, "program.htm"}]; Export[file, text, "Text", CharacterEncoding -> "UTF8"]; );