[yelp-tools] yelp-build: Support Mallard stacks



commit 8a8cef72836e37f36d5bb5d1dabad392c2ee4e0c
Author: Shaun McCance <shaunm gnome org>
Date:   Sat Oct 20 11:02:11 2018 -0400

    yelp-build: Support Mallard stacks

 tools/yelp-build.in | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/tools/yelp-build.in b/tools/yelp-build.in
index 898325b..447eda9 100755
--- a/tools/yelp-build.in
+++ b/tools/yelp-build.in
@@ -154,13 +154,18 @@ yelp_paths_normalize () {
 
 yelp_cache_in_page () {
     fbase=$(basename "$1")
+    ext=$(echo "$fbase" | sed -e 's/.*\.//')
     fdir=$( (cd $(dirname "$1") && pwd) )
     sdir=${fdir##${cache_site_root}}/
     url=file://$(echo "$fdir/$fbase" | urlencode)
     if [ "x$cache_site" = "x1" ]; then
         siteattr=' site:dir="'"$sdir"'"'
     fi
-    echo '<page cache:href="'"$url"'"'"$siteattr"'/>'
+    if [ "x$ext" = "xstack" ]; then
+        echo '<stack cache:href="'"$url"'"'"$siteattr"'/>'
+    else
+        echo '<page cache:href="'"$url"'"'"$siteattr"'/>'
+    fi
 }
 
 yelp_cache_in_site () {
@@ -171,7 +176,7 @@ yelp_cache_in_site () {
             fi
         fi
     done
-    for page in "$1"/*.page; do
+    for page in "$1"/*.page "$1"/*.stack; do
         if [ -e "$page" ]; then
             yelp_cache_in_page "$page"
         fi
@@ -189,7 +194,7 @@ yelp_cache_in () {
             if [ "x$cache_site" = "x1" ]; then
                 yelp_cache_in_site "$page"
             else
-                for sub in "$page"/*.page; do
+                for sub in "$page"/*.page "$page"/*.stack; do
                     yelp_cache_in_page "$sub"
                 done
             fi
@@ -376,15 +381,17 @@ yelp_html_mal2html () {
         html_cache_url='file://'`echo "$html_cache_file" | urlencode`
         echo '<xsl:param name="mal.cache.file" select="'"'$html_cache_url'"'"/>'
         echo '<xsl:template match="/">'
-        echo '<xsl:for-each select="cache:cache/mal:page">'
+        echo '<xsl:for-each select="cache:cache/mal:page | cache:cache/mal:stack">'
         echo '<xsl:variable name="href" select="@cache:href"/>'
-        echo '<xsl:for-each select="document(@cache:href)/mal:page">'
+        echo '<xsl:for-each select="document(@cache:href)">'
+        echo '<xsl:for-each select="mal:page | mal:stack/mal:page">'
         echo '<xsl:call-template name="html.output"/>'
         echo '<xsl:call-template name="mal.files.copy">'
         echo ' <xsl:with-param name="href" select="substring-after($href, '\''file://'\'')"/>'
         echo '</xsl:call-template>'
         echo '</xsl:for-each>'
         echo '</xsl:for-each>'
+        echo '</xsl:for-each>'
         echo '</xsl:template>'
         echo '</xsl:stylesheet>'
     ) | (cd "$html_out" && xsltproc $html_profile \


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