externalizing footer links
diff --git a/src/main/org/freemarker/docgen/Transform.java b/src/main/org/freemarker/docgen/Transform.java
index 0f359c3..7327e28 100644
--- a/src/main/org/freemarker/docgen/Transform.java
+++ b/src/main/org/freemarker/docgen/Transform.java
@@ -83,12 +83,17 @@
  *       <a href="#cjsonLanguage">later</a>. The supported settings are
  *       (all optional):
  *       <ul>
- *         <li><p><tt>tabs</tt> (map): Defines the tabs on the top of the page.
+ *         <li>
+ *             <p><tt>tabs</tt> (map): Defines the tabs on the top of the page.
  *             It associates labels with URL-s to which the tab will lead to.
  *             The URL of one of the tabs should be <tt>""</tt>, which means that
  *             it's the tab that belongs to the documentation generated by this
  *             configuration. The order of the map entries specifies the order in
  *             which the tabs will appear.
+ *         <li><p><tt>searchKey</tt> (string): A Google custom search key. If not
+ *             present, the search box will not show.
+ *         <li><p><tt>footerSiteMap</tt> (map): Defines the list of links to
+ *             display in the footer as columns
  *
  *         <li><p><tt>internalBookmarks</tt> (map): Specifies the first part
  *             of the book-mark link list that appears in the navigation bar.
@@ -349,6 +354,7 @@
     static final String SETTING_LOGO_ALT = "alt";
     static final String SETTING_LOGO_HREF = "href";
     static final String SETTING_TABS = "tabs";
+    static final String SETTING_FOOTER_SITEMAP = "footerSiteMap";
     static final String SETTING_OLINKS = "olinks";
     static final String SETTING_ECLIPSE = "eclipse";
     static final String SETTING_SHOW_EDITORAL_NOTES = "showEditoralNotes";
@@ -399,6 +405,7 @@
             = SETTING_EXTERNAL_BOOKMARKS;
     private static final String VAR_LOGO = SETTING_LOGO;
     private static final String VAR_TABS = SETTING_TABS;
+    private static final String VAR_FOOTER_SITEMAP = SETTING_FOOTER_SITEMAP;
     private static final String VAR_OLINKS
             = SETTING_OLINKS;
     private static final String VAR_TOC_DISPLAY_DEPTH
@@ -554,6 +561,8 @@
 
     private String searchKey;
 
+    private Object footerSiteMap = new Object();
+
     private boolean disableJavaScript;
 
     private boolean validate = true;
@@ -730,7 +739,10 @@
                                 cfgFile, settingName, ent.getValue());
                         tabs.put(name, target);
                     }
-                } else if (settingName.equals(SETTING_VALIDATION)) {
+                } else if (settingName.equals(SETTING_FOOTER_SITEMAP)) {
+                    // @todo How can I check this?
+                    footerSiteMap = settingValue;
+                }else if (settingName.equals(SETTING_VALIDATION)) {
                     Map<String, Object> m = itIsAMapSetting(
                             cfgFile, SETTING_VALIDATION, settingValue);
                     for (Entry<String, Object> ent : m.entrySet()) {
@@ -1017,6 +1029,8 @@
             fmConfig.setSharedVariable(
                     VAR_TABS, tabs);
             fmConfig.setSharedVariable(
+                    VAR_FOOTER_SITEMAP, footerSiteMap);
+            fmConfig.setSharedVariable(
                     VAR_EXTERNAL_BOOKMARDS, externalBookmarks);
             fmConfig.setSharedVariable(
                     VAR_INTERNAL_BOOKMARDS, internalBookmarks);
diff --git a/src/main/org/freemarker/docgen/templates/footer.ftl b/src/main/org/freemarker/docgen/templates/footer.ftl
index 844b538..6f32867 100644
--- a/src/main/org/freemarker/docgen/templates/footer.ftl
+++ b/src/main/org/freemarker/docgen/templates/footer.ftl
@@ -14,7 +14,9 @@
     <div class="site-width">
       <div class="footer-top">
         <div class="col-left sitemap">
-          <@siteMap  />
+          <#if footerSiteMap??>
+            <@siteMap links=footerSiteMap />
+          </#if>
         </div>
         <div class="col-right">
           <@ui.social />
@@ -54,60 +56,7 @@
 </#macro>
 
 
-<#macro siteMap>
-  <#-- @todo: make this dynamic instead of hardcoded -->
-  <#local links = {
-      "Overview": [{
-        "text": "What is FreeMarker?",
-        "href": "http://freemarker.org/features.html"
-      },{
-        "text": "Download",
-        "href": "http://freemarker.org/freemarkerdownload.html"
-      },{
-        "text": "Version history",
-        "href": "app_versions.html"
-      },{
-        "text": "About us",
-        "href": "http://freemarker.org/whoWeAre.html"
-      },{
-        "text": "License",
-        "href": "app_license.html"
-      }],
-      "Community": [{
-        "text": "FreeMarker on Github",
-        "href": "https://github.com/freemarker"
-      },{
-        "text": "Follow us on Twitter",
-        "href": "https://twitter.com/freemarker"
-      },{
-        <#-- @todo: enable issues on Github, and update link -->
-        "text": "Report a bug",
-        "href": "https://sourceforge.net/p/freemarker/bugs/new/"
-      },{
-        "text": "Ask a question",
-        "href": "http://stackoverflow.com/questions/tagged/freemarker"
-      },{
-        "text": "Mailing lists",
-        "href": "http://freemarker.org/mailing-lists.html"
-      }],
-      "Shortcuts": [{
-        "text": "Expressions cheatsheet",
-        "href": "dgui_template_exp.html#exp_cheatsheet"
-      }, {
-        "text": ".special_vars",
-        "href": "ref_specvar.html"
-      }, {
-        "text": "#directives",
-        "href": "ref_directive_alphaidx.html"
-      }, {
-        "text": "?built_ins",
-        "href": "ref_builtins_alphaidx.html"
-      }, {
-        "text": "FAQ",
-        "href": "app_faq.html"
-      }]
-  } />
-
+<#macro siteMap links>
   <#list links?keys as column>
     <div class="column">
       <h3 class="column-header">${column}</h3>