(* Printing list of programs *) maintainPrograms := ( Print["Running maintainPrograms ..."]; (* Main notebook *) dirprog = ToFileName[{dir0, "program"}]; checkdir1[dirprog]; (* Writing image of main notebook *) obj = EvaluationCell[]; img = NotebookRead[obj]; file = ToFileName[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 = ToFileName[{dirprog, "sub"}]; checkdir1[dirsubprogs]; SetDirectory[dirwork]; fileorig = "info.txt"; checkfile[fileorig]; filedest = ToFileName[dirprog, "info.txt"]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[fileorig, filedest]; fileaddnames = ToFileName[{dirwork}, "addnames.txt"]; checkfile[fileaddnames]; filedest = ToFileName[dirprog, "addnames.txt"]; If[FileType[filedest] === File, DeleteFile[filedest]]; CopyFile[fileaddnames, filedest]; fileaddnames = ToFileName[{dirwork}, "transru.txt"]; checkfile[fileaddnames]; filedest = ToFileName[dirprog, "transru.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/transru.txt", "Additional or preferable Russian translations"}, {"program/info.txt", "Description of variables"} }; subprogs1 = Join[subprogs, {"mainprogr.m", "functions.m"}]; Do[ filedest = ToFileName[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 = ToFileName[{dirprog, "data"}]; checkdir1[dirprogdata]; *) SetDirectory[ToFileName[dirwork, "templates"]]; files = FileNames["*.htm"]; templates = Table[ {"program/templates/" <> file <> ".txt", file <> " - template web page"}, {file, files}]; programs = Join[mainprogs, programs, templates, programdata]; filesample = ToFileName[{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 = ToFileName[{dir0}, "program.htm"]; Export[file, text, "Text", CharacterEncoding -> "UTF8"]; filesample = ToFileName[{dirwork, "templates"}, "program-ru.htm"]; checkfile[filesample]; text = Import[filesample, "Text"]; spanRead[text]; n = 0; epilogru0 = 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[epilogru0, {"SCRIPTNAME" -> "programs", RegularExpression["(?i)\\s*
  • .*?\"program-ru.htm\".*"] -> ""}]; spanNew["epilog"] = epilog; text = spanReplace[text]; file = ToFileName[{dir0}, "program-ru.htm"]; Export[file, text, "Text", CharacterEncoding -> "UTF8"]; );