]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/markdown/html/GenerateAllHtmlDocumentation.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / markdown / html / GenerateAllHtmlDocumentation.java
index 350c655edbbaca85de3687c54070a92594615ad7..fe038b1e34312500dc43f4077cf45c5aa1fa97cb 100644 (file)
@@ -1,87 +1,87 @@
-package org.simantics.scl.compiler.markdown.html;\r
-\r
-import java.io.IOException;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.util.List;\r
-\r
-import org.simantics.scl.compiler.module.repository.ModuleRepository;\r
-\r
-public class GenerateAllHtmlDocumentation {\r
-    public static void generate(ModuleRepository moduleRepository, Path directory) throws IOException {\r
-        HierarchicalDocumentationRef root = HierarchicalDocumentationRef.generateTree(moduleRepository.getSourceRepository());\r
-        generate(moduleRepository, directory, root.getChildren(), 0, root);\r
-        generateIndex(directory, 0, "StandardLibrary/Prelude.html");\r
-    }\r
-\r
-    private static void generateIndex(Path directory, int level, String url) throws IOException {\r
-        Path documentationFile = directory.resolve("index.html");\r
-        for(int i=0;i<level;++i)\r
-            url = "../" + url;\r
-        String content = "<html><head><meta http-equiv=\"refresh\" content=\"1;url="+url+"\">" +\r
-                         "<script type=\"text/javascript\">window.location.href = \""+url+"\"</script>" +\r
-                         "</head><body>If you are not redirected automatically, <a href=\""+url+"\">follow the link</a>.</body></html>";\r
-        Files.write(documentationFile, content.getBytes());\r
-    }\r
-\r
-    private static void generate(ModuleRepository moduleRepository, Path directory, List<HierarchicalDocumentationRef> refs, int level, HierarchicalDocumentationRef root) throws IOException {\r
-        String navigation = generateNavigation(level, root);\r
-        for(HierarchicalDocumentationRef ref : refs) {\r
-            String name = ref.getName();\r
-            \r
-            // Documentation for this ref\r
-            String documentationName = ref.getDocumentationName();\r
-            if(documentationName != null) {\r
-                String documentation = HtmlDocumentationGeneration.generate(moduleRepository, documentationName, navigation);\r
-                Path documentationFile = directory.resolve(name + ".html"); \r
-                Files.write(documentationFile, documentation.getBytes());\r
-            }\r
-            \r
-            // Children of the ref\r
-            List<HierarchicalDocumentationRef> children = ref.getChildren();\r
-            if(!children.isEmpty()) {\r
-                Path childDirectory = directory.resolve(name);\r
-                if(!Files.exists(childDirectory))\r
-                    Files.createDirectory(childDirectory);\r
-                generate(moduleRepository, childDirectory, children, level+1, root);\r
-                if(documentationName != null)\r
-                    generateIndex(childDirectory, 1, ref.getName() + ".html");\r
-                else\r
-                    generateIndex(childDirectory, level+1, "StandardLibrary/Prelude.html");\r
-            }\r
-        }\r
-    }\r
-\r
-    private static String generateNavigation(int level,\r
-            HierarchicalDocumentationRef root) {\r
-        StringBuilder b = new StringBuilder();\r
-        generateNavigation(b, level, root.getChildren());\r
-        return b.toString();\r
-    }\r
-\r
-    private static void generateNavigation(StringBuilder b, int level,\r
-            List<HierarchicalDocumentationRef> refs) {\r
-        b.append("<ul>");\r
-        for(HierarchicalDocumentationRef ref : refs) {\r
-            b.append("<li>");\r
-            String documentationName = ref.getDocumentationName();\r
-            if(documentationName != null) {\r
-                if(!documentationName.contains("/"))\r
-                    documentationName = "StandardLibrary/" + documentationName;\r
-                b.append("<a href=\"");\r
-                for(int i=0;i<level;++i)\r
-                    b.append("../");\r
-                b.append(documentationName);\r
-                b.append(".html\">");\r
-            }\r
-            b.append(ref.getName());\r
-            if(documentationName != null)\r
-                b.append("</a>");\r
-            List<HierarchicalDocumentationRef> children = ref.getChildren();\r
-            if(children != null)\r
-                generateNavigation(b, level, children);\r
-            b.append("</li>");\r
-        }\r
-        b.append("</ul>");\r
-    }\r
-}\r
+package org.simantics.scl.compiler.markdown.html;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+
+import org.simantics.scl.compiler.module.repository.ModuleRepository;
+
+public class GenerateAllHtmlDocumentation {
+    public static void generate(ModuleRepository moduleRepository, Path directory) throws IOException {
+        HierarchicalDocumentationRef root = HierarchicalDocumentationRef.generateTree(moduleRepository.getSourceRepository());
+        generate(moduleRepository, directory, root.getChildren(), 0, root);
+        generateIndex(directory, 0, "StandardLibrary/Prelude.html");
+    }
+
+    private static void generateIndex(Path directory, int level, String url) throws IOException {
+        Path documentationFile = directory.resolve("index.html");
+        for(int i=0;i<level;++i)
+            url = "../" + url;
+        String content = "<html><head><meta http-equiv=\"refresh\" content=\"1;url="+url+"\">" +
+                         "<script type=\"text/javascript\">window.location.href = \""+url+"\"</script>" +
+                         "</head><body>If you are not redirected automatically, <a href=\""+url+"\">follow the link</a>.</body></html>";
+        Files.write(documentationFile, content.getBytes());
+    }
+
+    private static void generate(ModuleRepository moduleRepository, Path directory, List<HierarchicalDocumentationRef> refs, int level, HierarchicalDocumentationRef root) throws IOException {
+        String navigation = generateNavigation(level, root);
+        for(HierarchicalDocumentationRef ref : refs) {
+            String name = ref.getName();
+            
+            // Documentation for this ref
+            String documentationName = ref.getDocumentationName();
+            if(documentationName != null) {
+                String documentation = HtmlDocumentationGeneration.generate(moduleRepository, documentationName, navigation);
+                Path documentationFile = directory.resolve(name + ".html"); 
+                Files.write(documentationFile, documentation.getBytes());
+            }
+            
+            // Children of the ref
+            List<HierarchicalDocumentationRef> children = ref.getChildren();
+            if(!children.isEmpty()) {
+                Path childDirectory = directory.resolve(name);
+                if(!Files.exists(childDirectory))
+                    Files.createDirectory(childDirectory);
+                generate(moduleRepository, childDirectory, children, level+1, root);
+                if(documentationName != null)
+                    generateIndex(childDirectory, 1, ref.getName() + ".html");
+                else
+                    generateIndex(childDirectory, level+1, "StandardLibrary/Prelude.html");
+            }
+        }
+    }
+
+    private static String generateNavigation(int level,
+            HierarchicalDocumentationRef root) {
+        StringBuilder b = new StringBuilder();
+        generateNavigation(b, level, root.getChildren());
+        return b.toString();
+    }
+
+    private static void generateNavigation(StringBuilder b, int level,
+            List<HierarchicalDocumentationRef> refs) {
+        b.append("<ul>");
+        for(HierarchicalDocumentationRef ref : refs) {
+            b.append("<li>");
+            String documentationName = ref.getDocumentationName();
+            if(documentationName != null) {
+                if(!documentationName.contains("/"))
+                    documentationName = "StandardLibrary/" + documentationName;
+                b.append("<a href=\"");
+                for(int i=0;i<level;++i)
+                    b.append("../");
+                b.append(documentationName);
+                b.append(".html\">");
+            }
+            b.append(ref.getName());
+            if(documentationName != null)
+                b.append("</a>");
+            List<HierarchicalDocumentationRef> children = ref.getChildren();
+            if(children != null)
+                generateNavigation(b, level, children);
+            b.append("</li>");
+        }
+        b.append("</ul>");
+    }
+}