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 ++++++++++++++++++++++++++----
build.xml | 3 +++
docs/00_index.mkd | 0
docs/00_setup.mkd | 0
4 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/build.xml b/build.xml
index bb8ed4b..f47e5e9 100644
--- a/build.xml
+++ b/build.xml
@@ -163,6 +163,9 @@
<arg value="--pageFooter" />
<arg value="${basedir}/docs/page_footer.html" />
+
+ <arg value="--alias" />
+ <arg value="index=overview" />
</java>
</target>
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 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