diff options
Diffstat (limited to 'source/04_meta')
-rw-r--r-- | source/04_meta/paginated_timeline.xsl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/04_meta/paginated_timeline.xsl b/source/04_meta/paginated_timeline.xsl new file mode 100644 index 0000000..cb25d3b --- /dev/null +++ b/source/04_meta/paginated_timeline.xsl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet + version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" +> + +<xsl:include href="[utility/datasource.xsl]"/> +<xsl:include href="[utility/reference_commit.xsl]"/> + +<xsl:variable name="meta"> + <datasource type="main" mode="full" source="03_merge/timeline.xml" target="timeline"/> + <target mode="plain" value="paginated_timeline.xml"/> +</xsl:variable> + +<xsl:variable name="commits_per_page">20</xsl:variable> +<xsl:variable name="total" select="ceiling(count(datasource/timeline/commit) div $commits_per_page)"/> + +<xsl:template match="timeline/commit[position() mod $commits_per_page = 1]"> + <entry index="{floor(position() div $commits_per_page)}" total="{$total}"> + <xsl:apply-templates select=". | following-sibling::commit[not(position() > ($commits_per_page - 1))]" mode="commit"/> + </entry> +</xsl:template> + +</xsl:stylesheet> |