diff options
author | Shaun McCance <shaunm@gnome.org> | 2018-10-20 11:02:11 -0400 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2018-10-20 11:02:11 -0400 |
commit | 8a8cef72836e37f36d5bb5d1dabad392c2ee4e0c (patch) | |
tree | dadd85bc01390088f89757d314979d3bf0763e7e | |
parent | 54a1bd6142d367b18a36d1ba96705840042747be (diff) | |
download | yelp-tools-8a8cef72836e37f36d5bb5d1dabad392c2ee4e0c.tar.gz |
yelp-build: Support Mallard stacks
-rwxr-xr-x | tools/yelp-build.in | 17 |
1 files 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 \ |