view xsls/body.xsls @ 2770:f93461437c87

The "97 Things Every SRE Should Know" book promo.
author Maxim Konovalov <maxim@nginx.com>
date Tue, 05 Oct 2021 12:09:32 +0300
parents 5fcef752e096
children 9b1b68fa1808
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

X:stylesheet {

X:template body (lang) {

    X:variable MENU_ALIGN = {
        X:if "$lang = 'he'" { X:text {left} } else { X:text {right} }
    }

    X:variable INDEX_ALIGN = {
        X:if "$lang = 'he'" { X:text {right} } else { X:text {left} }
    }

    <body>

    <div id="banner">
        X:if "@lang = 'he'" { X:attribute "class" { X:text{ltr} } }
        Learn 97 site reliability tips and best practices in this new O'Reilly ebook.<br/>
        <a href="https://www.nginx.com/resources/library/97-things-every-sre-should-know?utm_medium=homepagehero&amp;utm_source=nginxorg&amp;utm_campaign=ww-nx_ssap&amp;utm_content=eb">Download for free at nginx.com</a>
    </div>

    <div id="main">
    <div id="menu">
        <h1>
            X:if "@lang = 'he'" { X:attribute "align" { X:text{left} } }
            <a href="/">
                <img src="/nginx.png" alt="nginx" />
            </a>
        </h1>
        <div>
        !! "document(concat($XML, '/menu.xml'))
                        /menus/menu[@lang = $lang]/item";
        </div>
    </div>

    <div id="content">
        <h2>
        !{@name} X:if "$YEAR" { X:text{: } !{$YEAR} }
        </h2>

        X:if "$ORIGIN and document(concat($XML, '/', $ORIGIN))/*/@rev and
              (not(@rev) or
              @rev != document(concat($XML, '/', $ORIGIN))/*/@rev)"
        {
            <span>

            X:if "@lang = 'he'" { X:attribute "class" { X:text{ltr} } }

            <blockquote class="note">

            X:if "document(concat($XML, '/i18n.xml'))
                           /i18n/text[@lang = $lang]/item[@id='outdated']" {
                !! "document(concat($XML, '/i18n.xml'))
                             /i18n/text[@lang = $lang]/item[@id='outdated']";
            } else {
                !! "document(concat($XML, '/i18n.xml'))
                             /i18n/text[@lang = 'en']/item[@id='outdated']";
            }

            </blockquote>
            </span>
        }

        X:if "@toc = 'yes' and section[@id and @name]" {
            <table width="100%"><tr><td align="{$INDEX_ALIGN}">
            X:for-each "section[@id and @name]" {
                <a href="#{@id}"> !{@name} </a><br/>
                X:for-each "section[@id and @name]" {
                    X:text{&#160;&#160;&#160;&#160;&#160;}
                    <a href="#{@id}"> !{@name} </a><br/>
                }
                X:if "@id = 'directives'" {
                    X:for-each "directive[@name]" {
                        X:text{&#160;&#160;&#160;&#160;&#160;}
                        <a href="#{@name}"> !{@name} </a><br/>
                    }
                }
                X:if "@id = 'endpoints'" {
                    X:for-each "para/list/tag-name[@name]" {
                        X:text{&#160;&#160;&#160;&#160;&#160;}
                        <a href="#{@id}"> !{@name} </a><br/>
                    }
                }

            }
            </td></tr></table>
        }

        !!;

        X:if "@author or @editor or @translator" {
            <table width="100%"><tr><td align="right">

            X:if "@author" {
                !{document(concat($XML, '/i18n.xml'))
                           /i18n/text[@lang = $lang]/item[@id='author']}
                X:text { } !{@author} <br/>
            }

            X:if "@editor" {
                !{document(concat($XML, '/i18n.xml'))
                           /i18n/text[@lang = $lang]/item[@id='editor']}
                X:text { } !{@editor} <br/>
            }

            X:if "@translator" {
                !{document(concat($XML, '/i18n.xml'))
                           /i18n/text[@lang = $lang]/item[@id='translator']}
                X:text { } !{@translator} <br/>
            }

            </td></tr></table>
        }
    </div>
    </div>
    </body>

}

}