[library-web] mallard: add initial support for languages-in-sidebar



commit 72bfefd8a58cd7845d2783737030c7165f0706e1
Author: FrÃdÃric PÃters <fpeters 0d be>
Date:   Sat Sep 1 22:52:29 2012 +0200

    mallard: add initial support for languages-in-sidebar
    
    This will be useful if we decide to write the 3.6 release notes in
    Mallard.

 data/skin/mallard.css   |    7 +++++++
 data/xslt/mal2html.xsl  |   34 +++++++++++++++++++++++++++++++++-
 src/modtypes/mallard.py |    4 ++++
 3 files changed, 44 insertions(+), 1 deletions(-)
---
diff --git a/data/skin/mallard.css b/data/skin/mallard.css
index 1fc0111..0f3ef92 100644
--- a/data/skin/mallard.css
+++ b/data/skin/mallard.css
@@ -37,3 +37,10 @@ div.table table.table td {
 div.media div.inner img {
 	max-width: 900px;
 }
+
+div.sidenav {
+  padding: 0.5em 1em 0 1em;
+  background-color: #ffffff;
+  border: solid 1px #e0e0df;
+}
+
diff --git a/data/xslt/mal2html.xsl b/data/xslt/mal2html.xsl
index 8315cc5..0e0f07c 100644
--- a/data/xslt/mal2html.xsl
+++ b/data/xslt/mal2html.xsl
@@ -142,12 +142,44 @@ $(document).ready(function () {
         <xsl:with-param name="lang"><xsl:value-of select="$libgo.lang"/></xsl:with-param>
       </xsl:call-template>
       <div id="container">
+        <xsl:if test="$libgo.languages_in_sidebar">
+          <xsl:attribute name="class">two_columns</xsl:attribute>
+        </xsl:if>
+
       <div class="head">
         <xsl:apply-templates mode="html.header.mode" select="$node"/>
       </div>
-      <div class="body">
+
+      <div class="content">
+       <div>
         <xsl:apply-templates mode="html.body.mode" select="$node"/>
+       </div>
       </div>
+
+    <xsl:if test="$libgo.languages_in_sidebar">
+      <div class="sidebar">
+      <div class="sidenav">
+      <h4>
+        <xsl:call-template name="gettext"><xsl:with-param name="lang"
+        select="$libgo.lang"/><xsl:with-param name="msgid"
+        select="'langinfo'"/></xsl:call-template>
+      </h4>
+      <ul class="i18n">
+      <xsl:for-each select="str:split($libgo.languages_in_sidebar, ',')">
+        <li><a href="index.html.{node()}">
+          <xsl:call-template name="language-label">
+            <xsl:with-param name="lang" select="."/>
+          </xsl:call-template>
+          </a>
+          <xsl:text> </xsl:text>
+          <span class="lang-code">(<xsl:value-of select="."/>)</span>
+        </li>
+      </xsl:for-each>
+      </ul>
+     </div>
+     </div>
+    </xsl:if>
+
       <div id="footer_art" class="default">Â</div>
       </div>
       <xsl:call-template name="libgo.footer"/>
diff --git a/src/modtypes/mallard.py b/src/modtypes/mallard.py
index 5a3b953..99b64a7 100644
--- a/src/modtypes/mallard.py
+++ b/src/modtypes/mallard.py
@@ -257,6 +257,7 @@ class MallardModule(DocModule):
             doc.toc_id = app.toc_mapping.get(doc.category)
 
         web_output_dir = app.get_module_web_output_dir(self, versioned=True)
+        quirks = app.overlay.get_quirks(self)
 
         logging.info('generating doc in %s' % web_output_dir[len(app.config.output_dir):])
         if not os.path.exists(web_output_dir):
@@ -365,6 +366,9 @@ class MallardModule(DocModule):
                 if self.nightly:
                     cmd[2:2] = ['--param', 'libgo.nightly', 'true()']
 
+                if 'languages-in-sidebar' in quirks:
+                    cmd[2:2] = ['--stringparam', 'libgo.languages_in_sidebar',
+                                ','.join(sorted(doc_linguas))]
                 if app.config.symbols_dbm_filepath:
                     cmd.insert(-2, '--param')
                     cmd.insert(-2, 'libgo.dbm_support')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]