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') f.write(' </UL>\n')
def printcontents3(f, _): def printcontents3(f, _):
ihack = [1000]
def folder(name): def folder(name):
i = str(ihack[0]) f.write("<li>" + name + "\n<ul>\n")
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
def sheet(url, name): def sheet(url, name):
f.write("<li><img src='../images/bullet_sheet.png' alt='' />\n" + f.write("<li><emlink href='" + url[4:] + "'>" + name + "</emlink></li>\n")
"<emlink href='" + url[4:] + "'>" + name + "</emlink></li>\n")
def sheetE(url, name): def sheetE(url, name):
f.write("<li><img src='../images/bullet_sheet.png' alt='' />\n" + f.write("<li><emlink href='" + url[4:] + "'>" + name + "</emlink> (extended)</li>\n")
"<emlink href='" + url[4:] + "'>" + name + "</emlink> (erweitert)</li>\n") folder("Functions by Category")
folder("Funktionen nach Kategorie")
cats = parser.cats.keys() cats = parser.cats.keys()
cats.sort() cats.sort()
for cat in cats: for cat in cats:
@ -183,7 +176,7 @@ def printcontents3(f, _):
sheet(parser.cats[cat][title] + '#' + _(title), _(title)) sheet(parser.cats[cat][title] + '#' + _(title), _(title))
f.write('</ul></li>\n') f.write('</ul></li>\n')
f.write('</ul></li>\n') f.write('</ul></li>\n')
folder("Funktionen nach Version") folder("Functions by Version")
versions = parser.versions.keys() versions = parser.versions.keys()
versions.sort() versions.sort()
for version in versions: for version in versions:

View File

@ -15,7 +15,7 @@ class clonkXmlMode:
return ['code'] return ['code']
_stuff = ['funclink', 'version', 'extversion', 'rtype', 'author', 'date', _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): def _delete_stuff(self, node, msg):
#print "looking at " + str(node.name) #print "looking at " + str(node.name)
if node and node.children: if node and node.children:

View File

@ -233,6 +233,36 @@
<h4><xsl:apply-templates select="@id|node()" /></h4> <h4><xsl:apply-templates select="@id|node()" /></h4>
</xsl:template> </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 --> <!-- copy some HTML elements literally -->
<xsl:template match="img|a|em|strong|br|code/i|code/b|ul|li"> <xsl:template match="img|a|em|strong|br|code/i|code/b|ul|li">
<xsl:copy> <xsl:copy>

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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