Syncing Foundry files

git-svn-id: https://svn.libreccm.org/ccm/trunk@2897 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2014-10-02 17:08:29 +00:00
parent f0cf96a290
commit 2d423c0dff
11 changed files with 2482 additions and 79 deletions

View File

@ -1,43 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<foundry:documentation xmlns:foundry="http://foundry.libreccm.org">
<foundry:doc-chapter id="overview"
title="Overview">
<foundry:doc-section id="overview"
title="Overview"
<foundry:doc-chapter chapter-id="overview"
chapter-title="Overview">
<foundry:doc-section section-id="overview"
section-title="Overview"
static="overview-foundry.html"/>
<foundry:doc-section id="this-manual"
title="This manual"
<foundry:doc-section section-id="this-manual"
section-title="This manual"
static="this-manual.html"/>
</foundry:doc-chapter>
<foundry:doc-chapter id="user-manual"
title="User Manual">
<foundry:doc-section id="about-foundry"
title="About Foundry"
<foundry:doc-chapter chapter-id="user-manual"
chapter-title="User Manual">
<foundry:doc-section section-id="about-foundry"
section-title="About Foundry"
static="user/about-foundry.html"/>
<foundry:doc-section id="layout-templates"
title="Layout templates"
<foundry:doc-section section-id="layout-templates"
section-title="Layout templates"
static="user/layout-templates.html"/>
<foundry:doc-section id="css-files"
title="CSS files"
<foundry:doc-section section-id="css-files"
section-title="CSS files"
static="user/css-files.html"/>
<foundry:doc-section id="template-tags-reference"
title="Templates Tags Reference"
<foundry:doc-section section-id="template-tags-reference"
section-title="Templates Tags Reference"
generate="user"/>
</foundry:doc-chapter>
<foundry:doc-chapter id="developer-manual"
title="Developer Manual">
<foundry:doc-section id="foundry-structure"
title="The structure of Foundry"
<foundry:doc-chapter chapter-id="developer-manual"
chapter-title="Developer Manual">
<foundry:doc-section section-id="foundry-structure"
section-title="The structure of Foundry"
static="devel/foundry-structure.html"/>
<foundry:doc-section id="coding-style"
title="Coding style"
<foundry:doc-section section-id="coding-style"
section-title="Coding style"
static="devel/coding-style.html"/>
<foundry:doc-section id="doc-system"
title="The documentation system of Foundry"
<foundry:doc-section section-id="doc-system"
section-title="The documentation system of Foundry"
static="devel/foundry-doc-system.html"/>
<foundry:doc-section id="function-reference"
title="XSL Templates and Function references"
<foundry:doc-section section-id="function-reference"
section-title="XSL Templates and Function references"
generate="devel"/>
</foundry:doc-chapter>
</foundry:documentation>

View File

@ -31,7 +31,7 @@
exclude-result-prefixes="xsl xs bebop cms foundry nav ui"
version="2.0">
<foundry:doc section="user">
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
Root element of a template. Generates the
<code>&lt;html&gt;</code> root element.
@ -58,7 +58,7 @@
</html>
</xsl:template>
<foundry:doc section="user">
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
Root element for generating a HTML fragment instead of a complete HTML document.
</foundry:doc-desc>
@ -192,6 +192,7 @@
</foundry:doc-desc>
</foundry:doc>
<xsl:template name="foundry:set-id-and-class">
<xsl:param name="id" select="''"/>
<xsl:param name="current-layout-node" select="."/>
<xsl:variable name="cond-class">
@ -220,6 +221,11 @@
</xsl:if>
</xsl:variable>
<xsl:if test="$id != ''">
<xsl:attribute name="id">
<xsl:value-of select="$id"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="$current-layout-node/@id">
<xsl:attribute name="id">
<xsl:value-of select="@id"/>

View File

@ -36,8 +36,8 @@
<xsl:for-each select="$foundry-doc-tree/foundry:doc-chapter">
<xsl:apply-templates select="$doc-chapter-entry-tree">
<xsl:with-param name="href" tunnel="yes" select="concat('#', ./@id)"/>
<xsl:with-param name="chapter-title" tunnel="yes" select="./@title"/>
<xsl:with-param name="href" tunnel="yes" select="concat('#', ./@chapter-id)"/>
<xsl:with-param name="chapter-title" tunnel="yes" select="./@chapter-title"/>
<xsl:with-param name="doc-sections"
tunnel="yes"
select="./foundry:doc-section"/>
@ -62,24 +62,24 @@
<xsl:for-each select="$doc-sections">
<xsl:apply-templates select="$doc-section-entry-tree">
<xsl:with-param name="href" tunnel="yes" select="concat('#', ./@id)"/>
<xsl:with-param name="title" tunnel="yes" select="./@title"/>
<xsl:with-param name="href" tunnel="yes" select="concat('#', ./@section-id)"/>
<xsl:with-param name="section-title" tunnel="yes" select="./@section-title"/>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="doc-section-title">
<xsl:param name="title" tunnel="yes" select="''"/>
<xsl:param name="section-title" tunnel="yes" select="''"/>
<xsl:value-of select="$title"/>
<xsl:value-of select="$section-title"/>
</xsl:template>
<xsl:template match="doc-chapters">
<xsl:for-each select="$foundry-doc-tree/foundry:doc-chapter">
<xsl:apply-templates select="document('../../templates/doc/foundry-doc-chapter.xml')/*">
<xsl:with-param name="chapter-id" tunnel="yes" select="./@id"/>
<xsl:with-param name="chapter-title" tunnel="yes" select="./@title"/>
<xsl:with-param name="chapter-id" tunnel="yes" select="./@chapter-id"/>
<xsl:with-param name="chapter-title" tunnel="yes" select="./@chapter-title"/>
<xsl:with-param name="doc-chapter-tree" tunnel="yes" select="./*"/>
</xsl:apply-templates>
</xsl:for-each>
@ -97,4 +97,167 @@
</xsl:attribute>
</xsl:template>
<xsl:template match="doc-sections">
<xsl:param name="doc-chapter-tree" tunnel="yes"/>
<xsl:for-each select="$doc-chapter-tree[name()='foundry:doc-section']">
<xsl:apply-templates select="document('../../templates/doc/foundry-doc-section.xml')/*">
<xsl:with-param name="section-id" tunnel="yes" select="./@section-id"/>
<xsl:with-param name="section-title" tunnel="yes" select="./@section-title"/>
<xsl:with-param name="section-static" tunnel="yes" select="./@static"/>
<xsl:with-param name="section-generate" tunnel="yes" select="./@generate"/>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="doc-section-layout">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="doc-section-id">
<xsl:param name="section-id" tunnel="yes"/>
<xsl:attribute name="id">
<xsl:value-of select="$section-id"/>
</xsl:attribute>
</xsl:template>
<xsl:template match="doc-section-content">
<xsl:param name="section-static" tunnel="yes" select="''"/>
<xsl:param name="section-generate" tunnel="yes" select="''"/>
<xsl:choose>
<xsl:when test="$section-static != ''">
<xsl:choose>
<xsl:when test="document(concat('../../../doc/static-texts/', $section-static))">
<xsl:copy-of select="document(concat('../../../doc/static-texts/', $section-static))//main"/>
</xsl:when>
<xsl:otherwise>
<div class="doc-error">
<xsl:value-of select="concat('Missing static text doc/static-texts/', $section-static)"/>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="$section-generate != ''">
<xsl:apply-templates select="document(concat($theme-prefix, '/foundry/main.xsl'))"
mode="doc">
<xsl:with-param name="section-generate"
tunnel="yes"
select="$section-generate"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<div class="doc-error">
None of the attributes <code>static</code> or <code>generate</code> has been
set at the definition of this section.
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="xsl:import" mode="doc">
<xsl:param name="section-generate" tunnel="yes"/>
<xsl:message>
<xsl:value-of select="concat('parsing ', ./@href)"/>
</xsl:message>
<xsl:apply-templates select="document(./@href)//xsl:import" mode="doc"/>
<xsl:apply-templates select="document(./@href)//foundry:doc[@section=$section-generate]"
mode="doc">
<xsl:sort select="./following::xsl:template[1]/@match"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="foundry:doc[@type='template-tag']" mode="doc">
<xsl:apply-templates select="document(concat($theme-prefix, '/foundry/templates/doc/template-tag-layout.xml'))">
<xsl:with-param name="matches"
tunnel="yes"
select="./following::xsl:template[1]/@match"/>
<xsl:with-param name="doc-desc" tunnel="yes" select="./foundry:doc-desc"/>
<xsl:with-param name="doc-attributes" tunnel="yes" select="./foundry:doc-attributes"/>
<xsl:with-param name="doc-see-also" tunnel="yes" select="./foundry:doc-see-also"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="doc-template-tag-layout">
<xsl:param name="matches" tunnel="yes"/>
<xsl:apply-templates>
<xsl:with-param name="section-id" select="$matches"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="doc-template-tag-name">
<xsl:param name="matches" tunnel="yes"/>
<xsl:value-of select="$matches"/>
</xsl:template>
<xsl:template match="doc-template-tag-desc">
<xsl:param name="doc-desc" tunnel="yes"/>
<xsl:copy-of select="$doc-desc"/>
</xsl:template>
<xsl:template match="doc-template-tag-attributes">
<xsl:param name="doc-attributes" tunnel="yes"/>
<xsl:if test="$doc-attributes">
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
<xsl:template match="doc-template-tag-attribute">
<xsl:param name="doc-attributes" tunnel="yes"/>
<xsl:variable name="doc-template-tag-attribute-layout" select="current()"/>
<xsl:for-each select="$doc-attributes/foundry:doc-attribute">
<xsl:apply-templates select="$doc-template-tag-attribute-layout/*">
<xsl:with-param name="attribute-name" tunnel="yes" select="./@name"/>
<xsl:with-param name="attribute-desc" tunnel="yes" select="./*"/>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="doc-template-tag-attribute-name">
<xsl:param name="attribute-name" tunnel="yes"/>
<xsl:value-of select="$attribute-name"/>
</xsl:template>
<xsl:template match="doc-template-tag-attribute-desc">
<xsl:param name="attribute-desc" tunnel="yes"/>
<xsl:copy-of select="$attribute-desc"/>
</xsl:template>
<xsl:template match="doc-template-tag-see-also">
<xsl:param name="doc-see-also" tunnel="yes"/>
<xsl:if test="$doc-see-also">
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
<xsl:template match="doc-template-tag-see-also-link">
<xsl:param name="doc-see-also" tunnel="yes"/>
<xsl:variable name="doc-template-tag-see-also-layout" select="current()"/>
<xsl:for-each select="$doc-see-also/foundry:doc-link">
<xsl:apply-templates select="$doc-template-tag-see-also-layout/*">
<xsl:with-param name="href" tunnel="yes" select="./@href"/>
<xsl:with-param name="title" tunnel="yes" select="./@href"/>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<xsl:template match="doc-template-tag-see-also-link-title">
<xsl:param name="title" tunnel="yes"/>
<xsl:value-of select="$title"/>
</xsl:template>
</xsl:stylesheet>

View File

@ -28,7 +28,7 @@
exclude-result-prefixes="xsl bebop foundry ui"
version="2.0">
<foundry:doc>
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
<p>
Generates a HTML <code>a</code> element. There are some differences to the
@ -56,6 +56,49 @@
parameter in the XSL.
</p>
</foundry:doc-desc>
<foundry:doc-attributes>
<foundry:doc-attribute name="download">
<p>
Value for the HTML5 <code>download</code> attribute.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="href-property">
<p>
The name of a property (aka the name of an XML element in the data-tree)
containing the URL of the link.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="href">
<p>
A static URL for the link.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="href-lang">
<p>
The language of the target of the link.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="rel">
<p>
The relationship of the linking document with the target document.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="title-static">
<p>
A key which identifies the translated title in <code>lang/global.xml</code>.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="title">
<p>
Static, not translated title of the link.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="type">
<p>
Value for the <code>title</code> attribute of the link.
</p>
</foundry:doc-attribute>
</foundry:doc-attributes>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element"/>
</foundry:doc-see-also>
@ -126,8 +169,12 @@
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="article">
<xsl:param name="article-id" select="''"/>
<article>
<xsl:call-template name="foundry:set-id-and-class"/>
<xsl:call-template name="foundry:set-id-and-class">
<xsl:with-param name="id" select="article-id"/>
</xsl:call-template>
<xsl:apply-templates/>
</article>
</xsl:template>
@ -206,6 +253,57 @@
</xsl:if>
</xsl:template>
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
<p>
Generates a definition list.
</p>
</foundry:doc-desc>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/grouping-content.html#the-dl-element"/>
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="dl">
<dl>
<xsl:call-template name="foundry:set-id-and-class"/>
<xsl:apply-templates/>
</dl>
</xsl:template>
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
<p>
A term in a definition list.
</p>
</foundry:doc-desc>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/grouping-content.html#the-dt-element"/>
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="dt">
<dt>
<xsl:call-template name="foundry:set-id-and-class"/>
<xsl:apply-templates/>
</dt>
</xsl:template>
<foundry:doc section="user" type="template-tag">
<foundry:doc-desc>
<p>
A definition of term in a definition list.
</p>
</foundry:doc-desc>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/grouping-content.html#the-dd-element"/>
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="dd">
<dd>
<xsl:call-template name="foundry:set-id-and-class"/>
<xsl:apply-templates/>
</dd>
</xsl:template>
<xsl:template match="h1">
<xsl:call-template name="foundry:set-id-and-class"/>
<h1>
@ -451,34 +549,44 @@
<foundry:doc section="user" type="template-tag">
<foundry:doc-attributes>
<foundry:doc-attribute name="absolute">
If set to <code>true</code> the path in the <code>src</code> is used as it is.
<p>
If set to <code>true</code> the path in the <code>src</code> is used as it is.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="src">
The path of the script to include. If the <code>absolute></code> attribute is not
set (or not set to <code>true</code> the path is interpreted relative to the
theme directory. For example the path of a script included using
<p>
The path of the script to include. If the <code>absolute></code> attribute is not
set (or not set to <code>true</code> the path is interpreted relative to the
theme directory. For example the path of a script included using
</p>
<pre>
&lt;script type="text/javascript" src="scripts/example.js"/>
</pre>
in the a theme named <code>my-theme</code> at the server
<code>http://www.example.org</code> is altered to the absolute path
<code>http://www.example.org/themes/published-themedir/itb/scripts/example.js</code>.
If the <code>absolute</code> attribute is set to <code>true</code> the path is not
altered. One usecase for an absolute path is to load an script from a content delivery
network.
<p>
in the a theme named <code>my-theme</code> at the server
<code>http://www.example.org</code> is altered to the absolute path
<code>http://www.example.org/themes/published-themedir/itb/scripts/example.js</code>.
If the <code>absolute</code> attribute is set to <code>true</code> the path is not
altered. One usecase for an absolute path is to load an script from a content delivery
network.
</p>
</foundry:doc-attribute>
<foundry:doc-attribute name="type">
The type of the script. Usally this is <code>text/javascript</code>. If the attribute
is not set in the layout template, it is automatically set to
<code>text/javascript</code>.
<p>
The type of the script. Usally this is <code>text/javascript</code>. If the attribute
is not set in the layout template, it is automatically set to
<code>text/javascript</code>.
</p>
</foundry:doc-attribute>
</foundry:doc-attributes>
<foundry:doc-desc>
Used to include a script (usally a JavaScript). The script is either provided
a content of the element or as an external file. Embedded scripts should only be used
for small parts of code, like the code for activating jQuery plugins for some elements.
Everything which is longer than five or six lines should be put into a external file
in the scripts directory of the theme.
<p>
Used to include a script (usally a JavaScript). The script is either provided
a content of the element or as an external file. Embedded scripts should only be used
for small parts of code, like the code for activating jQuery plugins for some elements.
Everything which is longer than five or six lines should be put into a external file
in the scripts directory of the theme.
</p>
</foundry:doc-desc>
<foundry:doc-see-also>
<foundry:doc-link href="http://www.w3.org/TR/html5/scripting-1.html#the-script-element"/>
@ -524,8 +632,12 @@
</foundry:doc-see-also>
</foundry:doc>
<xsl:template match="section">
<xsl:param name="section-id" select="''"/>
<section>
<xsl:call-template name="foundry:set-id-and-class"/>
<xsl:call-template name="foundry:set-id-and-class">
<xsl:with-param name="id" select="$section-id"/>
</xsl:call-template>
<xsl:apply-templates/>
</section>
</xsl:template>

View File

@ -28,7 +28,6 @@
version="2.0">
<xsl:import href="lib.xsl"/>
<xsl:import href="../doc/xsl/foundry-documentation.xsl"/>
<xsl:output method="html"
doctype-system="about:legacy-compat"

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<doc-chapter-layout>
<article>
<doc-chapter-id/>
<!--<doc-chapter-id/>-->
<h1>
<doc-chapter-title/>
</h1>

View File

@ -2,6 +2,7 @@
<doc-section-layout>
<section>
<!--<doc-section-id/>-->
<h1>
<doc-section-title/>
</h1>

View File

@ -7,6 +7,13 @@
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<header>
The Foundry Theming Engine for LibreCCM
</header>
<div>
<h1>The Foundry Theming Enine for LibreCCM</h1>
<p>Jens Pelzetter</p>
</div>
<nav>
<doc-chapter-list>
<ul class="chapter-list">
@ -37,5 +44,10 @@
</h1>
<doc-chapters/>
</main>
<footer>
<p>
(c) 2014 Jens Pelzetter.
</p>
</footer>
</body>
</page-layout>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<doc-template-tag-layout>
<section class="template-tag">
<h1>
<doc-template-tag-name/>
</h1>
<div>
<doc-template-tag-desc/>
</div>
<doc-template-tag-attributes>
<h2>Attributes</h2>
<dl>
<doc-template-tag-attribute>
<dt>
<doc-template-tag-attribute-name/>
</dt>
<dd>
<doc-template-tag-attribute-desc/>
</dd>
</doc-template-tag-attribute>
</dl>
</doc-template-tag-attributes>
<doc-template-tag-see-also-link-list>
<h2>See also</h2>
<ul>
<doc-template-tag-see-also-link>
<li>
<a>
<doc-template-tag-see-also-link-title/>
</a>
</li>
</doc-template-tag-see-also-link>
</ul>
</doc-template-tag-see-also-link-list>
</section>
</doc-template-tag-layout>

View File

@ -0,0 +1,3 @@
#!/bin/bash
saxon9-transform -s:doc/foundry-documentation.xml -xsl:start.xsl -o:doc/foundry-documentation.html theme-prefix=`pwd`