More documentation for Foundry.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2993 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
7a4114e741
commit
249abca27f
|
|
@ -7,9 +7,10 @@
|
||||||
<css-file origin="internal">admin.css</css-file>
|
<css-file origin="internal">admin.css</css-file>
|
||||||
</application>
|
</application>
|
||||||
<application name="navigation">
|
<application name="navigation">
|
||||||
|
<css-file>bootstrap/css/bootstrap.min.css</css-file>
|
||||||
<css-file>public.css</css-file>
|
<css-file>public.css</css-file>
|
||||||
</application>
|
</application>
|
||||||
<default>
|
<default>
|
||||||
<css-file>public.css</css-file>
|
<css-file>public.css</css-file>
|
||||||
</default>
|
</default>
|
||||||
</css-files>
|
</css-files>
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
section-title="Coding style"
|
section-title="Coding style"
|
||||||
static="devel/coding-style.html"/>
|
static="devel/coding-style.html"/>
|
||||||
<foundry:doc-section section-id="tutorial-content-types"
|
<foundry:doc-section section-id="tutorial-content-types"
|
||||||
section-title="Tutorial: Adding support for content-types"
|
section-title="Adding support for content types"
|
||||||
static="devel/tutorial-content-types.html"/>
|
static="devel/tutorial-content-types.html"/>
|
||||||
<foundry:doc-section section-id="doc-system"
|
<foundry:doc-section section-id="doc-system"
|
||||||
section-title="The documentation system of Foundry"
|
section-title="The documentation system of Foundry"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html [<!ENTITY nbsp ' '>
|
||||||
|
<!ENTITY shy '­'>
|
||||||
|
<!ENTITY ndash '–'>]>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>The documentation system of Foundry</title>
|
<title>The documentation system of Foundry</title>
|
||||||
|
|
@ -7,7 +10,109 @@
|
||||||
<body>
|
<body>
|
||||||
<h1>The documentation system of Foundry</h1>
|
<h1>The documentation system of Foundry</h1>
|
||||||
<main>
|
<main>
|
||||||
Placeholder
|
<h2>Overview</h2>
|
||||||
|
<p>
|
||||||
|
Foundry comes with a documentation system which creates the reference documentations
|
||||||
|
for template tags and helper functions on the fly. The documentation system –
|
||||||
|
which you using at the moment by the way – consists of three parts:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
An <code>index.jsp</code> file in the <code>doc</code> directory which invokes the
|
||||||
|
XSL transformer. Using an JSP here has the advantage that the behaviour is similar
|
||||||
|
to an <code>index.html</code>.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Some XSL templates.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
And the documentation itself which consists of some XML files, some static texts
|
||||||
|
and the documentation in the other templates.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
The general structure of the documentation is defined by the
|
||||||
|
<code>doc/foundry-documentation.xml</code> file. This file is the entry point for the
|
||||||
|
XSL processor. The chapters of the documentation are defined by the
|
||||||
|
<code>foundry:doc-chapter</code> elements. The sections of the chapters are defined using
|
||||||
|
<code>foundry:doc-section</code> elements. The section which use static texts have
|
||||||
|
a <code>static</code>. The value of the <code>static</code> attribute is the name of the
|
||||||
|
file to include from the <code>doc/static-texts</code> directory. These files are normal
|
||||||
|
HTML files in XML syntax. They must have a <code>main</code> element. Only the content
|
||||||
|
of the <code>main</code> element is included into the documentation.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Sections which are generated on the fly from the XSL files of Foundry have a
|
||||||
|
<code>generate</code> attribute. The <code>generate</code> attribute controls which
|
||||||
|
documentations appear in the section.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Documentation inside XSL templates</h2>
|
||||||
|
<p>
|
||||||
|
Templates, functions and global variables are documented using the
|
||||||
|
<code>foundry:doc</code> element which is placed in the XSL directly before the element
|
||||||
|
to document. The <code>foundry:doc</code> element has two mandatory attributes. The
|
||||||
|
<code>section</code> elements is used to control in which section the documentation
|
||||||
|
appears. The second attribute is the <code>type</code> attribute. This attribute is
|
||||||
|
used to format the documentation. The possible values are:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><code>template-tag</code></dt>
|
||||||
|
<dd>
|
||||||
|
The following XSL template is a tag which can be used in the layout templates.
|
||||||
|
</dd>
|
||||||
|
<dt><code>env-var</code></dt>
|
||||||
|
<dd>
|
||||||
|
The following <code>xsl:variable</code> or <code>xsl:param</code> defines
|
||||||
|
a global variable.
|
||||||
|
</dd>
|
||||||
|
<dt><code>function</code></dt>
|
||||||
|
<dd>
|
||||||
|
The following <code>xsl:function</code> is a helper function which can be used
|
||||||
|
in the implementation of template tags.
|
||||||
|
</dd>
|
||||||
|
<dt><code>function-template</code></dt>
|
||||||
|
<dd>
|
||||||
|
The following <code>xsl:template</code> is a helper template.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<p>
|
||||||
|
A <code>foundry:doc</code> element can have to following child elements:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><code>foundry:doc-desc</code></dt>
|
||||||
|
<dd>
|
||||||
|
A text describing the template, function or variable. The must be structured
|
||||||
|
using HTML elements like <code>p</code>, even it is only a single paragraph.
|
||||||
|
Otherwise the text is not copied into the documentation. Look at one of the
|
||||||
|
XSL files of Foundry for an example.
|
||||||
|
</dd>
|
||||||
|
<dt><code>foundry:doc-attributes</code></dt>
|
||||||
|
<dd>
|
||||||
|
Surrounds the documentation for attributes which can be used on a template tag.
|
||||||
|
The individual attributes are documented by <code>foundry:doc-attribute</code>
|
||||||
|
elements. The <code>foundry:doc-attribute</code> has a mandatory attribute
|
||||||
|
<code>name</code> which contains the name of the attribute. The documentation of
|
||||||
|
the attribute must be enclosed in HTML elements. Look at one of the
|
||||||
|
XSL files of Foundry for an example.
|
||||||
|
</dd>
|
||||||
|
<dt><code>foundry:doc-parameters</code></dt>
|
||||||
|
<dd>
|
||||||
|
Surrounds the documentation for parameters which can be used on a function.
|
||||||
|
The individual parameters are documented by <code>foundry:doc-parameter</code>
|
||||||
|
elements. The <code>foundry:doc-parameter</code> has a mandatory parameter
|
||||||
|
<code>name</code> which contains the name of the parameter. The documentation of
|
||||||
|
the parameter must be enclosed in HTML elements. Look at one of the
|
||||||
|
XSL files of Foundry for an example.
|
||||||
|
</dd>
|
||||||
|
<dt><code>foundry:doc-see-also</code></dt>
|
||||||
|
<dd>
|
||||||
|
Contains links to other parts of the documentation or the external resources.
|
||||||
|
The links are defined using <code>foundry:doc-link</code> attributes. Each
|
||||||
|
<code>foundry:doc-link</code> has a <code>href</code> attribute which the link.
|
||||||
|
The description of the link is the content of the element.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -7,7 +7,179 @@
|
||||||
<body>
|
<body>
|
||||||
<h1>The overall structure of foundry</h1>
|
<h1>The overall structure of foundry</h1>
|
||||||
<main>
|
<main>
|
||||||
Placeholder
|
<h2>Top level structure</h2>
|
||||||
|
<p>
|
||||||
|
Foundry supports two kinds of themes: Parent themes and child themes. Parent themes
|
||||||
|
are also called master themes.
|
||||||
|
Normally there
|
||||||
|
should be only one parent theme in a CCM installation at <code>/themes/foundry</code>.
|
||||||
|
All other themes should be child themes. An example for a child theme should also be
|
||||||
|
installed at <code>/themes/foundry-base</code>.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A complete Foundry theme (a parent theme) contains of the following directories:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><code>conf</code></dt>
|
||||||
|
<dd>
|
||||||
|
Configuration files for the theme.
|
||||||
|
</dd>
|
||||||
|
<dt><code>doc</code></dt>
|
||||||
|
<dd>
|
||||||
|
The documentation of Foundry. The document you reading at the moment is
|
||||||
|
generated using these files.
|
||||||
|
</dd>
|
||||||
|
<dt><code>fonts</code></dt>
|
||||||
|
<dd>
|
||||||
|
Webfonts used in the theme.
|
||||||
|
</dd>
|
||||||
|
<dt><code>foundry</code></dt>
|
||||||
|
<dd>
|
||||||
|
The directory contains the XSL files which contain the logic part of Foundry.
|
||||||
|
</dd>
|
||||||
|
<dt><code>images</code></dt>
|
||||||
|
<dd>
|
||||||
|
Static images for the theme.
|
||||||
|
</dd>
|
||||||
|
<dt><code>libs</code></dt>
|
||||||
|
<dd>
|
||||||
|
Additional JavaScript libraries, for example jQuery plugins.
|
||||||
|
</dd>
|
||||||
|
<dt><code>scripts</code></dt>
|
||||||
|
<dd>
|
||||||
|
Custom JavaScripts
|
||||||
|
</dd>
|
||||||
|
<dt><code>styles</code></dt>
|
||||||
|
<dd>
|
||||||
|
CSS files
|
||||||
|
</dd>
|
||||||
|
<dt><code>templates</code></dt>
|
||||||
|
<dd>
|
||||||
|
The layout templates
|
||||||
|
</dd>
|
||||||
|
<dt><code>texts</code></dt>
|
||||||
|
<dd>
|
||||||
|
Static texts for the theme
|
||||||
|
</dd>
|
||||||
|
<dt><code>user</code></dt>
|
||||||
|
<dd>
|
||||||
|
Custom extensions. Not supported yet.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<p>
|
||||||
|
A child theme has only the directories which contain files which the designer needs
|
||||||
|
to change. These are:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>conf</code></li>
|
||||||
|
<li><code>fonts</code></li>
|
||||||
|
<li><code>images</code></li>
|
||||||
|
<li><code>libs</code></li>
|
||||||
|
<li><code>scripts</code></li>
|
||||||
|
<li><code>styles</code></li>
|
||||||
|
<li><code>templates</code></li>
|
||||||
|
<li><code>texts</code></li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
The <code>foundry</code> directory contains the following files and directories:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><code>fonts</code></dt>
|
||||||
|
<dd>Webfonts used internally, for example for the Content Center.</dd>
|
||||||
|
<dt><code>images</code></dt>
|
||||||
|
<dd>Images used internally.</dd>
|
||||||
|
<dt><code>lib</code></dt>
|
||||||
|
<dd>The XSL files from Foundry.</dd>
|
||||||
|
<dt><code>scripts</code></dt>
|
||||||
|
<dd>Java Scripts used internally.</dd>
|
||||||
|
<dt><code>styles</code></dt>
|
||||||
|
<dd>CSS files for internal templates like the Content Center</dd>
|
||||||
|
<dt><code>templates</code></dt>
|
||||||
|
<dd>Internal templates for example for the Content Center.</dd>
|
||||||
|
<dt><code>texts</code></dt>
|
||||||
|
<dd>Internal texts</dd>
|
||||||
|
<dt><code>main.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
Entry point. The <code>start.xsl</code> in the base directory acts only as
|
||||||
|
entry point for the XSL processor and delegates all work to the
|
||||||
|
<code>main.xsl</code>.
|
||||||
|
</dd>
|
||||||
|
<dt><code>lib.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
A simple import file which imports the XSL files from the lib directory.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<p>
|
||||||
|
The <code>main.xsl</code> file contains the <code>xsl:output</code> element
|
||||||
|
which tells the XSL processor that we want to create HTML. There is only two
|
||||||
|
XSL templates in the <code>main.xsl</code> file along with some helper functions.
|
||||||
|
This first template is the entry point for CCM and
|
||||||
|
matches the <code>bebop:page</code> element which is the root element of the
|
||||||
|
data tree XML created by CCM. The template processes the
|
||||||
|
<code>conf/templates.xsl</code> file calls the XSL templates for parsing the
|
||||||
|
layout templates.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The second templates is the entry point for the documentation system Foundry.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>The lib directory</h2>
|
||||||
|
<p>
|
||||||
|
The <code>lib</code> is the core part of Foundry and contains the following
|
||||||
|
sub directories and files:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><code>bebop</code></dt>
|
||||||
|
<dd>
|
||||||
|
XSL files for creating the backend UI. The XSL files were taken from Mandalay
|
||||||
|
and have only been adapted to work inside Foundry.
|
||||||
|
</dd>
|
||||||
|
<dt><code>search</code></dt>
|
||||||
|
<dd>XSL files for the various search applications.</dd>
|
||||||
|
<dt><code>template-tags</code></dt>
|
||||||
|
<dd>
|
||||||
|
XSL files implementing the tags which can be used in the templates.
|
||||||
|
</dd>
|
||||||
|
<dt><code>template-tags</code></dt>
|
||||||
|
<dd>
|
||||||
|
This directory contains the XSL files which implement the tags which can be used
|
||||||
|
in the layout templates.
|
||||||
|
</dd>
|
||||||
|
<dt><code>bebop.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
Imports the files from the <code>bebop</code> directory.
|
||||||
|
</dd>
|
||||||
|
<dt><code>global-vars.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
These file is very important. It defines various global variables like the
|
||||||
|
<code>theme-prefix</code> or the <code>context-prefix</code> variables. A
|
||||||
|
complete list can be found in the
|
||||||
|
<a href="#devel-lib-global-vars.xsl">reference part</a>.
|
||||||
|
</dd>
|
||||||
|
<dt><code>search.xsl</code></dt>
|
||||||
|
<dd>Import file for the XSL files in the <code>search</code> directory.</dd>
|
||||||
|
<dt><code>template-parser.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
This file contains the XSL templates for parsing the layout templates.
|
||||||
|
</dd>
|
||||||
|
<dt><code>template-tags.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
Import file for the XSL files in the <code>template-tags</code> directory.
|
||||||
|
</dd>
|
||||||
|
<dt><code>utils.xsl</code></dt>
|
||||||
|
<dd>
|
||||||
|
Helper functions. A complete list is available in the
|
||||||
|
<a href="#devel-lib-utils.xsl">reference part</a>.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h2>Template tags</h2>
|
||||||
|
<p>
|
||||||
|
The <code>template-tags</code> directory contains the XSL file which are
|
||||||
|
implementing the tags which can be used in the layout templates. For a complete
|
||||||
|
list please refer to the
|
||||||
|
<a href="#template-tags-reference">Template Tags Reference</a> in the user manual.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -5,9 +5,45 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Tutorial: Adding support for Content types</h1>
|
<h1>Adding support for Content types</h1>
|
||||||
<main>
|
<main>
|
||||||
Placeholder
|
<p>
|
||||||
|
To enable Foundry to output a Content Item of specific content type two things must be
|
||||||
|
available: One or more layout template associated with the content type and appropriate
|
||||||
|
template tags to display to informations of the content item from the data tree.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Foundry provides a general tag <a href="#show-property"><code>show-property</code></a>
|
||||||
|
which can be used to output properties of a content type. For simple types this maybe
|
||||||
|
sufficent. The name of the property can
|
||||||
|
be found out from the XML output which can be viewed by adding the parameter
|
||||||
|
<code>output=xml</code> to an URL.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
For more complex types or if the value of the property should be formatted in a special
|
||||||
|
way it is maybe necessary to implement some new template tags. Tags which part of the
|
||||||
|
official distribution of Foundry are found in the
|
||||||
|
<code>foundry/lib/template-tags/content-items</code> directory. Custom extensions can
|
||||||
|
be put into the <code>user</code> directory (not supported yet).
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
For each content type there should be a separate file named after the content type.
|
||||||
|
A relatively simple example is the <em>NewsItem</em> type. In this case the
|
||||||
|
date of the news needs some formatting. The <code>news.xsl</code> file provides the tag
|
||||||
|
<code>news-date</code> which allows the template author to choose the format of the
|
||||||
|
date.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
A more complex example is the <em>MultiPartArticle</em> type. The type needs some
|
||||||
|
templates for creating the menu with the sections etc. The tags for are evaluating the
|
||||||
|
data tree and creating the menu.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
One important rule is that the template tags should not create any HTML. They should
|
||||||
|
only provided the necessary informations and output the values of properties. HTML is
|
||||||
|
only generated by the HTML tags provided by Foundry. A template tag for a content type
|
||||||
|
may enclose several HTML elements which are used to define the HTML output.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -17,6 +17,10 @@
|
||||||
by CCM. The templates for defining the HTML are almost plain HTML (in XML syntax) with
|
by CCM. The templates for defining the HTML are almost plain HTML (in XML syntax) with
|
||||||
some additional elements which provide the data to display.
|
some additional elements which provide the data to display.
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
Please note that Foundry requires an XSL 2 processor. The only one available in CCM
|
||||||
|
is Saxon HE. To use Foundry you must configure CCM to use Saxon HE as XSL processor.
|
||||||
|
</p>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -7,7 +7,61 @@
|
||||||
<body>
|
<body>
|
||||||
<h1>CSS files</h1>
|
<h1>CSS files</h1>
|
||||||
<main>
|
<main>
|
||||||
Placeholder
|
<p>
|
||||||
|
The system for loading CSS files is similar to the system for finding layout
|
||||||
|
templates. Which CSS files are loaded for a page is determined by the
|
||||||
|
<code>conf/css-files.xml</code>. The root element of this file is an
|
||||||
|
<code>css-files</code> element. This element has multiple <code>application</code>
|
||||||
|
child elements. Each <code>application</code> has an mandatory attribute
|
||||||
|
<code>name</code> which contains the name of the application for which the CSS files
|
||||||
|
named in the element are loaded. There should be also an <code>default</code>
|
||||||
|
element which determines the CSS files to load when no matching
|
||||||
|
<code>application</code> element is found.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The name of an application is generated as follows:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
If the data tree contains an <code>application</code> attribute the value of
|
||||||
|
this attribute is used as name of the current application.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
If there is no <code>application</code> but an <code>class</code> attribute the
|
||||||
|
value of the <code>class</code> attribute is used as name of the current
|
||||||
|
application.
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
If there is no <code>application</code> and no <code>class</code> attribute
|
||||||
|
the name of the current application is set to <code>none</code>.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
Each <code>application</code> element and the <code>default</code> element
|
||||||
|
in <code>css-files.xml</code> can contain multiple <code>css-file</code> element.
|
||||||
|
Each of the <code>css-file</code> elements defines a single XML to load.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The <code>css-file</code> element has two optional attributes:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt>media</dt>
|
||||||
|
<dd>
|
||||||
|
The media type, for example <code>screen</code> or <code>print</code> for
|
||||||
|
which the CSS file is used. The value of this attribute will appear in the
|
||||||
|
media attribute of the <code>link</code> element which is generated in the HTML
|
||||||
|
to load the CSS file.
|
||||||
|
</dd>
|
||||||
|
<dt>origin</dt>
|
||||||
|
<dd>
|
||||||
|
The origin of the CSS file. If not set the file is loaded from the current
|
||||||
|
theme. If set to <code>master</code> the file is loaded from the master theme
|
||||||
|
if the current theme is a child theme. If set to <code>internal</code> the
|
||||||
|
file is loaded from the internal directory for CSS files, either from the
|
||||||
|
current theme (if the current theme is a master theme) or from the Foundry
|
||||||
|
master theme installed at <code>/themes/foundry</code>.
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -142,7 +142,6 @@
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: liberation_sans;
|
font-family: liberation_sans;
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 40em;
|
width: 40em;
|
||||||
margin-top: 3em;
|
margin-top: 3em;
|
||||||
|
|
@ -158,8 +157,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
/*margin-top: 3em;
|
|
||||||
margin-bottom: 3em;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header, footer {
|
header, footer {
|
||||||
|
|
@ -206,6 +204,15 @@ footer .border-wrapper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
article:before,
|
||||||
|
section:before {
|
||||||
|
content: ".";
|
||||||
|
display: block;
|
||||||
|
margin-top: -3em;
|
||||||
|
height: 3em;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
pre, code {
|
pre, code {
|
||||||
font-family: liberation_mono;
|
font-family: liberation_mono;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,9 @@
|
||||||
<foundry:doc-file>
|
<foundry:doc-file>
|
||||||
<foundry:doc-file-title>Root template tags</foundry:doc-file-title>
|
<foundry:doc-file-title>Root template tags</foundry:doc-file-title>
|
||||||
<foundry:doc-file-desc>
|
<foundry:doc-file-desc>
|
||||||
|
<p>
|
||||||
These tags are the root elements of a layout template.
|
These tags are the root elements of a layout template.
|
||||||
|
</p>
|
||||||
</foundry:doc-file-desc>
|
</foundry:doc-file-desc>
|
||||||
</foundry:doc-file>
|
</foundry:doc-file>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,14 @@
|
||||||
<!--<xsl:message>
|
<!--<xsl:message>
|
||||||
<xsl:value-of select="concat('parsing ', ./@href)"/>
|
<xsl:value-of select="concat('parsing ', ./@href)"/>
|
||||||
</xsl:message>-->
|
</xsl:message>-->
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="count(document(./@href)//foundry:doc[@section=$section-generate]) > 0">
|
||||||
|
<!-- Only generate a section for the file if there is document. -->
|
||||||
<section>
|
<section>
|
||||||
|
<xsl:attribute name="id"
|
||||||
|
select="concat($section-generate, '-', replace(./@href, '/', '-'))"/>
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
<xsl:value-of select="document(./@href)/xsl:stylesheet/foundry:doc-file/foundry:doc-file-title"/>
|
<xsl:value-of select="document(./@href)/xsl:stylesheet/foundry:doc-file/foundry:doc-file-title"/>
|
||||||
</h1>
|
</h1>
|
||||||
|
|
@ -203,6 +210,14 @@
|
||||||
<xsl:sort select="./following::xsl:template[1]/@match"/>
|
<xsl:sort select="./following::xsl:template[1]/@match"/>
|
||||||
</xsl:apply-templates>
|
</xsl:apply-templates>
|
||||||
</section>
|
</section>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<!-- Process imports in the file -->
|
||||||
|
<xsl:apply-templates select="document(./@href)//xsl:import" mode="doc">
|
||||||
|
<xsl:sort select="./@href"/>
|
||||||
|
</xsl:apply-templates>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="foundry:doc-file">
|
<xsl:template match="foundry:doc-file">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE stylesheet [<!ENTITY nbsp ' '>
|
<!DOCTYPE stylesheet [<!ENTITY nbsp ' '>
|
||||||
<!ENTITY shy '­'>]>
|
<!ENTITY shy '­'>
|
||||||
|
<!ENTITY quot '"'>]>
|
||||||
<!--
|
<!--
|
||||||
Copyright 2014 Jens Pelzetter for the LibreCCM Foundation
|
Copyright 2014 Jens Pelzetter for the LibreCCM Foundation
|
||||||
|
|
||||||
|
|
@ -45,7 +46,7 @@
|
||||||
Invokes the foundry CSS loader. The CSS loader will parse the file
|
Invokes the foundry CSS loader. The CSS loader will parse the file
|
||||||
<code>conf/css-files.xml</code> to determine for which CSS an
|
<code>conf/css-files.xml</code> to determine for which CSS an
|
||||||
<code><link></code> element should be added to the HTML output. For a full
|
<code><link></code> element should be added to the HTML output. For a full
|
||||||
explanation please refer to the <a href="#user_css-files">CSS files section</a>.
|
explanation please refer to the <a href="#css-files">CSS files section</a>.
|
||||||
</foundry:doc-desc>
|
</foundry:doc-desc>
|
||||||
</foundry:doc>
|
</foundry:doc>
|
||||||
<xsl:template match="load-css-files">
|
<xsl:template match="load-css-files">
|
||||||
|
|
@ -121,7 +122,9 @@
|
||||||
</foundry:doc-desc>
|
</foundry:doc-desc>
|
||||||
<foundry:doc-param name="filename" mandatory="yes">
|
<foundry:doc-param name="filename" mandatory="yes">
|
||||||
<p>
|
<p>
|
||||||
The name of the CSS file to load
|
The name of the CSS file to load. If the filename contains slashes the filename
|
||||||
|
is used as it is provided. If there are not slashes in the filename the filename
|
||||||
|
is prefixed with <code>styles/</code>.
|
||||||
</p>
|
</p>
|
||||||
</foundry:doc-param>
|
</foundry:doc-param>
|
||||||
<foundry:doc-param name="media" mandatory="no">
|
<foundry:doc-param name="media" mandatory="no">
|
||||||
|
|
@ -133,30 +136,53 @@
|
||||||
<foundry:doc-param name="origin" mandatory="no">
|
<foundry:doc-param name="origin" mandatory="no">
|
||||||
<p>
|
<p>
|
||||||
The origin of the CSS file. If not set or the parameter is empty, the CSS file
|
The origin of the CSS file. If not set or the parameter is empty, the CSS file
|
||||||
is loading from the <code>styles</code> directory. There also some values with
|
is loaded from current theme. There also some values with
|
||||||
a special meaning:
|
a special meaning:
|
||||||
</p>
|
</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>
|
||||||
<code>parent</code>
|
<code>master</code>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
File is loaded from the <code>styles</code> directory of the parent theme.
|
File is loaded from the master/parent theme.
|
||||||
Please read the section about parent and child themes for more details.
|
Please read the section about parent and child themes for more details.
|
||||||
</dd>
|
</dd>
|
||||||
<dt>
|
<dt>
|
||||||
<code>internal</code>
|
<code>internal</code>
|
||||||
</dt>
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
The file is loaded from the internal styles directory
|
The file is loaded from the internal directories
|
||||||
<code>foundry/styles</code>. If the theme is a child theme, the file is loaded
|
If the current theme is a child theme, the file is loaded
|
||||||
from the internal styles directory of the parent theme.
|
from the internal directories of the parent theme.
|
||||||
</dd>
|
</dd>
|
||||||
<dt>all other values</dt>
|
</dl>
|
||||||
|
<p>
|
||||||
|
Some examples:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt>
|
||||||
|
<code><css-file>public.css</css-file></code>
|
||||||
|
</dt>
|
||||||
<dd>
|
<dd>
|
||||||
The file is loaded a directory with the name provided by the parameter in the
|
The CSS file <code>public.css</code> is loaded from <code>styles</code>
|
||||||
theme. For if the value is <code>bootstrap</code>, the result path would be
|
directory in the current theme.
|
||||||
<code>bootstrap/filename</code>.
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<code><css-file>bootstrap/css/bootstrap.min.css</css-file></code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
The CSS file <code>bootstrap.min.css</code> is loaded from the directory
|
||||||
|
<code>bootstrap/css</code> in the current theme.
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
<code><css-file origin="internal">admin.css</code></code>
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
If the current theme is a master theme, the CSS file <code>admin.css</code> is
|
||||||
|
loaded from the directory <code>foundry/styles</code> in the current theme. If
|
||||||
|
the current theme is child theme the CSS file <code>admin.css</code> is loaded
|
||||||
|
from the directory <code>foundry/styles</code> of the Foundry theme installed
|
||||||
|
at <code>/themes/foundry</code>.
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</foundry:doc-param>
|
</foundry:doc-param>
|
||||||
|
|
@ -166,6 +192,23 @@
|
||||||
<xsl:param name="media" select="''"/>
|
<xsl:param name="media" select="''"/>
|
||||||
<xsl:param name="origin" select="''"/>
|
<xsl:param name="origin" select="''"/>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($filename, '/')">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="string-length($media) > 0">
|
||||||
|
<link rel="stylesheet"
|
||||||
|
type="text/css"
|
||||||
|
href="{foundry:gen-path($filename, $origin)}"
|
||||||
|
media="{$media}"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<link rel="stylesheet"
|
||||||
|
type="text/css"
|
||||||
|
href="{foundry:gen-path($filename, $origin)}"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="string-length($media) > 0">
|
<xsl:when test="string-length($media) > 0">
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
|
|
@ -179,6 +222,8 @@
|
||||||
href="{foundry:gen-path(concat('styles/', $filename), $origin)}" />
|
href="{foundry:gen-path(concat('styles/', $filename), $origin)}" />
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="load-fancybox">
|
<xsl:template match="load-fancybox">
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,15 @@
|
||||||
version="2.0">
|
version="2.0">
|
||||||
|
|
||||||
|
|
||||||
|
<foundry:doc-file>
|
||||||
|
<foundry:doc-file-title>Utility functions</foundry:doc-file-title>
|
||||||
|
<foundry:doc-file-desc>
|
||||||
|
<p>
|
||||||
|
Utility functions.
|
||||||
|
</p>
|
||||||
|
</foundry:doc-file-desc>
|
||||||
|
</foundry:doc-file>
|
||||||
|
|
||||||
<foundry:doc section="devel" type="function">
|
<foundry:doc section="devel" type="function">
|
||||||
<foundry:doc-params>
|
<foundry:doc-params>
|
||||||
<foundry:doc-param name="value" mandatory="yes" type="string">
|
<foundry:doc-param name="value" mandatory="yes" type="string">
|
||||||
|
|
@ -240,17 +249,10 @@
|
||||||
'/themes/foundry/foundry/',
|
'/themes/foundry/foundry/',
|
||||||
$path)"/>
|
$path)"/>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
</xsl:choose>
|
|
||||||
|
|
||||||
<!--<xsl:choose>
|
|
||||||
<xsl:when test="$internal = true()">
|
|
||||||
<xsl:sequence select="concat($theme-prefix, '/foundry/', $path)"/>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:sequence select="concat($theme-prefix, '/', $path)"/>
|
<xsl:sequence select="concat($theme-prefix, '/', $path)"/>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>-->
|
</xsl:choose>
|
||||||
|
|
||||||
</xsl:function>
|
</xsl:function>
|
||||||
|
|
||||||
<foundry:doc section="devel" type="function">
|
<foundry:doc section="devel" type="function">
|
||||||
|
|
|
||||||
|
|
@ -65,50 +65,6 @@
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
|
|
||||||
<!--<xsl:choose>
|
|
||||||
<xsl:when test="document(foundry:gen-path('conf/templates.xml'))/templates/applications/application[@name=$application and @class=$class]">
|
|
||||||
<xsl:message>
|
|
||||||
<xsl:value-of select="foundry:message-info('Using application template')"/>
|
|
||||||
</xsl:message>
|
|
||||||
<xsl:call-template name="foundry:process-template">
|
|
||||||
<xsl:with-param name="template-file"
|
|
||||||
select="document(foundry:gen-path('conf/templates.xml'))/templates/applications/application[@name=$application and @class=$class]"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:when test="document(foundry:gen-path('conf/templates.xml'))/templates/applications/application[@name=$application and not(@class)]">
|
|
||||||
<xsl:message>
|
|
||||||
<xsl:value-of select="foundry:message-info('Using application template')"/>
|
|
||||||
</xsl:message>
|
|
||||||
<xsl:call-template name="foundry:process-template">
|
|
||||||
<xsl:with-param name="template-file"
|
|
||||||
select="document(foundry:gen-path('conf/templates.xml'))/templates/applications/application[@name=$application and not(@class)]"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:message>
|
|
||||||
<xsl:value-of select="foundry:message-info('Using default layout')"/>
|
|
||||||
</xsl:message>
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="document(foundry:gen-path('conf/templates.xml'))/templates/applications/default">
|
|
||||||
<xsl:call-template name="foundry:process-template">
|
|
||||||
<xsl:with-param name="template-file"
|
|
||||||
select="document(foundry:gen-path('conf/templates.xml'))/templates/applications/default"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:message>
|
|
||||||
<xsl:value-of select="foundry:message-info('No default application layout configured, using internal default.')"/>
|
|
||||||
</xsl:message>
|
|
||||||
<xsl:call-template name="foundry:process-template">
|
|
||||||
<xsl:with-param name="template-file"
|
|
||||||
select="'default-layout.xml'"/>
|
|
||||||
<xsl:with-param name="internal" select="true()"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>-->
|
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:function name="foundry:get-current-application">
|
<xsl:function name="foundry:get-current-application">
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
<div id="title-page">
|
<div id="title-page">
|
||||||
<h1>The Foundry Theming Engine for LibreCCM</h1>
|
<h1>The Foundry Theme Engine for LibreCCM</h1>
|
||||||
<!--<p class="authors">Jens Pelzetter</p>-->
|
<!--<p class="authors">Jens Pelzetter</p>-->
|
||||||
</div>
|
</div>
|
||||||
<nav>
|
<nav>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue