From e0054b802b46ee82716aa946a70892ed6128d5a7 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 20 May 2011 17:49:55 -0400 Subject: [PATCH] Documentation filename-linkname aliases. --- src/com/gitblit/BuildSite.java | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/BuildSite.java b/src/com/gitblit/BuildSite.java index e122bc2..6ea8048 100644 --- a/src/com/gitblit/BuildSite.java +++ b/src/com/gitblit/BuildSite.java @@ -10,8 +10,12 @@ 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 @@ }); Arrays.sort(markdownFiles); + Map<String, String> aliasMap = new HashMap<String, String>(); + 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 = "<a href=''{0}''>{1}</a>"; 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 @@ 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 @@ @Parameter(names = { "--pageFooter" }, description = "Page Footer HTML Snippet", required = true) public String pageFooter; + @Parameter(names = { "--alias" }, description = "Filename=Linkname aliases", required = false) + public List<String> aliases = new ArrayList<String>(); + } } -- Gitblit v1.9.1