docs: Generate the table-of-contents <img> in the xslt

Günther Brammer 2011-06-30 19:25:02 +02:00
parent 21b722475e
commit 540b14dec6
7 changed files with 559 additions and 486 deletions

View File

@ -150,20 +150,13 @@ def printcontents2(f, _):
f.write(' </UL>\n')
def printcontents3(f, _):
ihack = [1000]
def folder(name):
i = str(ihack[0])
f.write("<li><img id='tgl" + i + "' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(" + i + ")' ondblclick='ta(" + i + ")' />\n" +
name + "\n" +
"<ul id='brn" + i + "' class='invisi'>\n")
ihack[0] = ihack[0] + 1
f.write("<li>" + name + "\n<ul>\n")
def sheet(url, name):
f.write("<li><img src='../images/bullet_sheet.png' alt='' />\n" +
"<emlink href='" + url[4:] + "'>" + name + "</emlink></li>\n")
f.write("<li><emlink href='" + url[4:] + "'>" + name + "</emlink></li>\n")
def sheetE(url, name):
f.write("<li><img src='../images/bullet_sheet.png' alt='' />\n" +
"<emlink href='" + url[4:] + "'>" + name + "</emlink> (erweitert)</li>\n")
folder("Funktionen nach Kategorie")
f.write("<li><emlink href='" + url[4:] + "'>" + name + "</emlink> (extended)</li>\n")
folder("Functions by Category")
cats = parser.cats.keys()
cats.sort()
for cat in cats:
@ -183,7 +176,7 @@ def printcontents3(f, _):
sheet(parser.cats[cat][title] + '#' + _(title), _(title))
f.write('</ul></li>\n')
f.write('</ul></li>\n')
folder("Funktionen nach Version")
folder("Functions by Version")
versions = parser.versions.keys()
versions.sort()
for version in versions:

View File

@ -15,7 +15,7 @@ class clonkXmlMode:
return ['code']
_stuff = ['funclink', 'version', 'extversion', 'rtype', 'author', 'date',
'type', 'code', 'code/i', 'code/b', 'name', 'func/title', 'literal_col']
'type', 'code', 'code/i', 'code/b', 'name', 'func/title', 'const/title', 'literal_col']
def _delete_stuff(self, node, msg):
#print "looking at " + str(node.name)
if node and node.children:

View File

@ -233,6 +233,36 @@
<h4><xsl:apply-templates select="@id|node()" /></h4>
</xsl:template>
<!-- content.xml -->
<xsl:template match="toc//li">
<xsl:copy>
<xsl:choose><xsl:when test="ul">
<xsl:if test="ancestor::ul/ancestor::ul/ancestor::ul">
<xsl:attribute name="class">invisi</xsl:attribute>
</xsl:if>
<img class='collapseimg'>
<xsl:attribute name="src">../images/<xsl:choose>
<xsl:when test="ancestor::ul/ancestor::ul/ancestor::ul">bullet_folder.png</xsl:when>
<xsl:otherwise>bullet_folder_open.png</xsl:otherwise>
</xsl:choose></xsl:attribute>
<xsl:attribute name="alt"><xsl:choose>
<xsl:when test="ancestor::ul/ancestor::ul/ancestor::ul">+</xsl:when>
<xsl:otherwise>-</xsl:otherwise>
</xsl:choose></xsl:attribute>
<xsl:attribute name="id">tgl<xsl:number level="any" count="ul"/></xsl:attribute>
<xsl:attribute name="onclick">tb(<xsl:number level="any" count="ul"/>)</xsl:attribute>
<xsl:attribute name="ondblclick">ta(<xsl:number level="any" count="ul"/>)</xsl:attribute>
</img>
</xsl:when><xsl:otherwise>
<img src='../images/bullet_sheet.png' alt='' />
</xsl:otherwise></xsl:choose>
<xsl:for-each select="@*">
<xsl:copy />
</xsl:for-each>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<!-- copy some HTML elements literally -->
<xsl:template match="img|a|em|strong|br|code/i|code/b|ul|li">
<xsl:copy>

File diff suppressed because it is too large Load Diff

View File

@ -25,12 +25,10 @@ body {
}
#toc {
margin: 10px;
padding-left: 1em;
}
#toc h2 {
margin-top: 0px;
padding-top: 0px;
margin-bottom: 10px;
}
@ -43,6 +41,9 @@ div.fnsyntax {
margin-left: 1em;
}
#toc {
}
#content {
padding: 0 1em;
margin: 0 auto;
@ -181,6 +182,7 @@ ul.contents li a {
}
ul.contents img {
vertical-align: middle;
margin-right: 4px;
}
ul.contents a {
color: navy;
@ -210,7 +212,7 @@ ul.contents ul li:not(:last-child)::after {
.collapseimg {
cursor: pointer;
}
.toggleinvisi .invisi {
.toggleinvisi li.invisi > ul {
display: none;
}

View File

@ -3,4 +3,8 @@
<doc>
<!-- Zum markieren von veralteten Funktionen im Inhaltsverzeichnis -->
<text>extended</text>
<ul><li>Functions by Category
<ul></ul></li>
<li>Functions by Version
<ul></ul></li></ul>
</doc>

View File

@ -7,41 +7,41 @@
<![CDATA[
// Javascript aus mwForum, www.mwforum.org
function tb(listId) {
var branch = document.getElementById('brn' + listId);
var toggle = document.getElementById('tgl' + listId);
var branch = toggle.parentNode;
if (!branch || !toggle) return;
if (branch.style.display != 'none' && branch.className!='invisi') {
branch.style.display = 'none';
if (branch.className != 'invisi') {
branch.className = 'invisi';
toggle.src = '../images/bullet_folder.png';
toggle.title = 'Zweig expandieren';
toggle.alt = '+';
} else {
branch.style.display = '';
branch.className = '';
toggle.src = '../images/bullet_folder_open.png';
toggle.title = 'Zweig zusammenklappen';
toggle.alt = '-';
}
branch.className='';
return true;
}
function ta(listId) {
var branch = document.getElementById('brn' + listId);
var divs = document.getElementsByTagName('ul');
var display = '', img = 'bullet_folder_open.png';
if (branch.style.display != 'none' && branch.className!='invisi') {
display = 'none';
var branch = document.getElementById('tgl' + listId).parentNode;
var cls = '', img = 'bullet_folder_open.png', alt = '-';
if (branch.className != 'invisi') {
cls = 'invisi';
img = 'bullet_folder.png';
alt = '+';
}
var divs = document.getElementsByTagName('ul');
for (var i=0; i < divs.length; i++) {
if (divs[i].id.indexOf('brn') == 0) {
divs[i].style.display = display;
divs[i].className='';
}
divs[i].parentNode.className = cls;
}
var imgs = document.getElementsByTagName('img');
for (var i=0; i < imgs.length; i++) {
if (imgs[i].id.indexOf('tgl') == 0) imgs[i].src = '../images/' + img;
if (imgs[i].id.indexOf('tgl') == 0) {
imgs[i].src = '../images/' + img;
imgs[i].alt = alt;
}
}
return true;
}
@ -54,110 +54,66 @@
<h>Contents</h>
<part>
<ul class="contents">
<li>
<img id='tgl1' class='collapseimg' src='../images/bullet_folder_open.png' alt='-' onclick='tb(1)' ondblclick='ta(1)' />
Developer mode
<ul id='brn1'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="console.html">Engine</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="cmdline.html">Command Line Parameters</emlink></li>
<li>Developer Mode
<ul>
<li><emlink href="console.html">Engine</emlink></li>
<li><emlink href="cmdline.html">Command Line Parameters</emlink></li>
</ul>
</li>
<li>
<img id='tgl2' class='collapseimg' src='../images/bullet_folder_open.png' alt='-' onclick='tb(2)' ondblclick='ta(2)' />
<emlink href="files.html">Game content</emlink>
<ul id='brn2'>
<li>
<img id='tgl3' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(3)' ondblclick='ta(3)' />
<emlink href="definition/index.html">Object Definitions</emlink>
<ul id='brn3' class='invisi'>
<li>
<img id='tgl4' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(4)' ondblclick='ta(4)' />
<emlink href="definition/defcore.html">DefCore</emlink>
<ul id='brn4' class='invisi'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/category.html">Category</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/ocf.html">OCF</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/vertices.html">Vertices</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/cnat.html">CNAT - Contact Attachment</emlink></li>
<li><emlink href="files.html">Game content</emlink>
<ul>
<li><emlink href="definition/index.html">Object Definitions</emlink>
<ul>
<li><emlink href="definition/defcore.html">DefCore</emlink>
<ul>
<li><emlink href="definition/category.html">Category</emlink></li>
<li><emlink href="definition/ocf.html">OCF</emlink></li>
<li><emlink href="definition/vertices.html">Vertices</emlink></li>
<li><emlink href="definition/cnat.html">CNAT - Contact Attachment</emlink></li>
</ul>
</li>
<li>
<img id='tgl5' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(5)' ondblclick='ta(5)' />
<emlink href="definition/actmap.html">ActMap</emlink>
<ul id='brn5' class='invisi'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/procedures.html">Procedures</emlink></li>
<li><emlink href="definition/actmap.html">ActMap</emlink>
<ul>
<li><emlink href="definition/procedures.html">Procedures</emlink></li>
</ul>
</li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/script.html">Scripts</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="definition/properties.html">Properties</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="particle/index.html">Particles</emlink></li>
<li><emlink href="definition/script.html">Scripts</emlink></li>
<li><emlink href="definition/properties.html">Properties</emlink></li>
<li><emlink href="particle/index.html">Particles</emlink></li>
</ul>
</li>
<li>
<img id='tgl6' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(6)' ondblclick='ta(6)' />
<emlink href="scenario/index.html">Scenarios</emlink>
<ul id='brn6' class='invisi'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="scenario/scenario.html">Scenario</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="scenario/MapCreatorS2.html">Map Generator</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="scenario/script.html">Scripts</emlink></li>
<li><emlink href="scenario/index.html">Scenarios</emlink>
<ul>
<li><emlink href="scenario/scenario.html">Scenario</emlink></li>
<li><emlink href="scenario/MapCreatorS2.html">Map Generator</emlink></li>
<li><emlink href="scenario/script.html">Scripts</emlink></li>
</ul>
</li>
<li>
<img id='tgl7' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(7)' ondblclick='ta(7)' />
<emlink href="material/index.html">Materials</emlink>
<ul id='brn7' class='invisi'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="material/ocm.html">Definitions</emlink></li>
<li><emlink href="material/index.html">Materials</emlink>
<ul>
<li><emlink href="material/ocm.html">Definitions</emlink></li>
</ul>
</li>
<li>
<img id='tgl8' class='collapseimg' src='../images/bullet_folder.png' alt='-' onclick='tb(8)' ondblclick='ta(8)' />
Internationalization
<ul id='brn8' class='invisi'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="lang.html">Internationalization</emlink></li>
<li>Internationalization
<ul>
<li><emlink href="lang.html">Internationalization</emlink></li>
</ul>
</li>
</ul>
</li>
<li>
<img id='tgl9' class='collapseimg' src='../images/bullet_folder_open.png' alt='-' onclick='tb(9)' ondblclick='ta(9)' />
<emlink href="script/index.html">Script</emlink>
<ul id='brn9'>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/Funcs.html">Functions</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/FuncCall.html">Function Call</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/Typechecks.html">Data Types</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/NamedVar.html">Variables</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/operatoren.html">Operators</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/for.html">for</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/BreakContinue.html">Loop Control</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/AppendTo.html">#appendto</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/Effects.html">Effects</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/GetXXVal.html">Querying Game Data</emlink></li>
<li><img src='../images/bullet_sheet.png' alt='-' />
<emlink href="script/ScriptPlayers.html">Script Players</emlink></li>
<li><emlink href="script/index.html">Script</emlink>
<ul>
<li><emlink href="script/Funcs.html">Functions</emlink></li>
<li><emlink href="script/FuncCall.html">Function Call</emlink></li>
<li><emlink href="script/Typechecks.html">Data Types</emlink></li>
<li><emlink href="script/NamedVar.html">Variables</emlink></li>
<li><emlink href="script/operatoren.html">Operators</emlink></li>
<li><emlink href="script/for.html">for</emlink></li>
<li><emlink href="script/BreakContinue.html">Loop Control</emlink></li>
<li><emlink href="script/AppendTo.html">#appendto</emlink></li>
<li><emlink href="script/Effects.html">Effects</emlink></li>
<li><emlink href="script/GetXXVal.html">Querying Game Data</emlink></li>
<li><emlink href="script/ScriptPlayers.html">Script Players</emlink></li>
<!-- Insert Functions here -->
</ul>
</li>
@ -176,9 +132,12 @@
if (!firsta) {
firsta = a;
}
if (a.parentNode.tagName == "LI") {
if (a.parentNode.className == 'invisi') tb(a.parentNode.firstElementChild.id.slice(3));
}
var p = a.parentNode.parentNode;
while (p.tagName == "UL") {
if (p.style.display == 'none' || p.className == 'invisi') tb(p.id.slice(3));
if (p.parentNode.className == 'invisi') tb(p.parentNode.firstElementChild.id.slice(3));
p = p.parentNode.parentNode;
}
}