From e0054b802b46ee82716aa946a70892ed6128d5a7 Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 20 May 2011 17:49:55 -0400 Subject: [PATCH] Documentation filename-linkname aliases. --- build.xml | 3 +++ docs/{00_overview.mkd => 00_index.mkd} | 0 docs/{01_configuration.mkd => 00_setup.mkd} | 0 src/com/gitblit/BuildSite.java | 30 ++++++++++++++++++--- 4 files changed, 29 insertions(+), 4 deletions(-) rename docs/{00_overview.mkd => 00_index.mkd} (100%) rename docs/{01_configuration.mkd => 00_setup.mkd} (100%) diff --git a/build.xml b/build.xml index bb8ed4b3..f47e5e9b 100644 --- a/build.xml +++ b/build.xml @@ -163,6 +163,9 @@ + + + diff --git a/docs/00_overview.mkd b/docs/00_index.mkd similarity index 100% rename from docs/00_overview.mkd rename to docs/00_index.mkd diff --git a/docs/01_configuration.mkd b/docs/00_setup.mkd similarity index 100% rename from docs/01_configuration.mkd rename to docs/00_setup.mkd diff --git a/src/com/gitblit/BuildSite.java b/src/com/gitblit/BuildSite.java index e122bc22..6ea8048c 100644 --- a/src/com/gitblit/BuildSite.java +++ b/src/com/gitblit/BuildSite.java @@ -10,8 +10,12 @@ import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.text.MessageFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import com.beust.jcommander.JCommander; import com.beust.jcommander.Parameter; @@ -41,17 +45,28 @@ public class BuildSite { }); Arrays.sort(markdownFiles); + Map aliasMap = new HashMap(); + for (String alias:params.aliases) { + String [] values = alias.split("="); + aliasMap.put(values[0], values[1]); + } + System.out.println(MessageFormat.format("Generating site from {0} Markdown Docs in {1} ", markdownFiles.length, sourceFolder.getAbsolutePath())); String linkPattern = "{1}"; StringBuilder sb = new StringBuilder(); for (File file : markdownFiles) { - String displayName = getDocumentName(file); - String fileName = displayName + ".html"; + String documentName = getDocumentName(file); + String displayName = documentName; + if (aliasMap.containsKey(documentName)) { + displayName = aliasMap.get(documentName); + } + String fileName = documentName + ".html"; sb.append(MessageFormat.format(linkPattern, fileName, displayName)); sb.append(" | "); } sb.setLength(sb.length() - 3); sb.trimToSize(); + String html_header = readContent(new File(params.pageHeader)); String html_footer = readContent(new File(params.pageFooter)); final String links = sb.toString(); @@ -60,8 +75,12 @@ public class BuildSite { final String footer = MessageFormat.format(html_footer, "generated " + date); for (File file : markdownFiles) { try { - String displayName = getDocumentName(file); - String fileName = displayName + ".html"; + String documentName = getDocumentName(file); + String displayName = documentName; + if (aliasMap.containsKey(documentName)) { + displayName = aliasMap.get(documentName); + } + String fileName = documentName + ".html"; System.out.println(MessageFormat.format(" {0} => {1}", file.getName(), fileName)); InputStreamReader reader = new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8")); String content = MarkdownUtils.transformMarkdown(reader); @@ -132,5 +151,8 @@ public class BuildSite { @Parameter(names = { "--pageFooter" }, description = "Page Footer HTML Snippet", required = true) public String pageFooter; + @Parameter(names = { "--alias" }, description = "Filename=Linkname aliases", required = false) + public List aliases = new ArrayList(); + } } -- 2.39.5