From cf233f8af14c8b137ebe482b3130600605d2e315 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Fri, 21 Feb 2014 17:25:30 -0800 Subject: [PATCH] Add documentation rebuild script --- run.n | Bin 122225 -> 124754 bytes script/src/RunScript.hx | 154 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+) diff --git a/run.n b/run.n index f1fa7906ef304c21e37431e412eed937fd19e420..3e3ed35b75b926de9efb2d6386e8cb950ca2fc1e 100644 GIT binary patch delta 34801 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 PpYYf78a3>FX6OF{`38|G delta 32493 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 ZW7dx#Ivt}4kBBG!iwX@J^f+1a{{dmm0IUE2 diff --git a/script/src/RunScript.hx b/script/src/RunScript.hx index d1f950d7f..95a23e0c1 100644 --- a/script/src/RunScript.hx +++ b/script/src/RunScript.hx @@ -115,6 +115,31 @@ class RunScript { } + } else if (target == "documentation") { + + var wiki = null; + var output = null; + + for (define in defines) { + + if (StringTools.startsWith (define, "-Dwiki=")) { + + wiki = define.substr (define.indexOf ("=") + 1); + + } else if (StringTools.startsWith (define, "-Doutput=")) { + + output = define.substr (define.indexOf ("=") + 1); + + } + + } + + if (wiki != null && output != null) { + + copyDocumentation (wiki, output); + + } + } else if (target == "clean") { var directories = [ PathHelper.combine (path, "obj") ]; @@ -546,6 +571,135 @@ class RunScript { } + private static function copyDocumentation (source:String, output:String):Void { + + var sourcePaths = PathHelper.readDirectory (source, [ ".git" ]); + var targetPaths = []; + var names = []; + var titles = []; + + for (sourcePath in sourcePaths) { + + var path = sourcePath.substr (source.length); + var components = path.split ("/"); + var targetPath = ""; + var name = ""; + var title = ""; + + for (i in 0...components.length - 1) { + + var component = components[i]; + var index = component.lastIndexOf (".-"); + + if (index > -1) { + + targetPath += component.substr (index + 2).toLowerCase () + "/"; + + } else if (component != "") { + + targetPath += component + "/"; + + } + + } + + var lastComponent = components[components.length - 1]; + var index = lastComponent.lastIndexOf (".-"); + name = lastComponent.substr (0, lastComponent.length - 3); + + if (index > -1) { + + var trim = name.substr (index + 2); + title = StringTools.replace (trim, "-", " "); + targetPath += trim.toLowerCase () + "/index.md"; + + } else { + + title = StringTools.replace (lastComponent, "-", " "); + targetPath += lastComponent; + + } + + targetPaths.push (targetPath); + names.push (name); + titles.push (title); + + } + + var links = ~/\[\[(.+)\]\]/g; + + for (i in 0...sourcePaths.length) { + + var sourcePath = sourcePaths[i]; + var targetPath = targetPaths[i]; + var outputPath = PathHelper.combine (output, targetPath); + var title = titles[i]; + + Sys.println (outputPath); + PathHelper.mkdir (Path.directory (outputPath)); + + var content = File.getContent (sourcePath); + + while (links.match (content)) { + + var link = links.matched (0); + link = link.substr (2, link.length - 4); + var components = link.split ("|"); + + var title = ""; + var target = ""; + + if (components.length > 1) { + + title = components[0]; + target = components[1]; + + } else { + + title = target = components[0]; + + } + + if (StringTools.endsWith (target, ".md")) { + + target = target.substr (0, target.length - 3); + + } + + var replacement = "[" + title + "](/documentation/)"; + + for (i in 0...names.length) { + + if (target == names[i]) { + + var path = targetPaths[i]; + path = path.substr (0, path.lastIndexOf ("/")); + + replacement = "[" + title + "](/documentation/" + path + ")"; + break; + + } + + } + + content = links.matchedLeft () + replacement + links.matchedRight (); + + } + + var output = File.write (outputPath, false); + output.writeString ("---\n"); + output.writeString ("layout: default\n"); + output.writeString ("title: " + title + "\n"); + output.writeString ("---\n\n"); + output.writeString ("# " + title + "\n\n"); + output.writeString (content); + output.close (); + + } + + } + + private static function downloadFile (remotePath:String, localPath:String) { var out = File.write (localPath, true);