6 ###########################################################################
13 ix = len(env.Dir('#').abspath)+1
14 for module in env.Alias('all_docs')[0].sources:
15 if module.name != 'html.stamp' : continue
16 if not [ x for x in EXTRA_MODULES if env.Dir(x[1]).abspath == module.dir.abspath]:
17 rv.append(('lib%s' % module.dir.dir.dir.name, module.dir.abspath[ix:]))
19 return [ (name, env.Dir(path).abspath[ix:]) for name,path in EXTRA_MODULES ] + rv
22 ix = len(env.Dir('#').abspath)+1
23 return [ doc.dir.abspath[ix:]
24 for doc in env.Alias('all_docs')[0].sources
25 if doc.name == "search.idx" ]
27 def writeTemplate(target = None, source = None, env = None):
28 file(target[0].abspath,"w").write(yaptu.process(env['TEMPLATE'], globals(), env.Dictionary()))
30 writeTemplate = env.Action(writeTemplate, varlist = [ 'TEMPLATE' ])
32 ###########################################################################
34 # Extra documentation modules which are handled (named) different from
37 ('Overview', '#/doc/html'),
38 ('Examples', '#/Examples/doc/html'),
39 ('SENFScons', '#/senfscons/doc/html') ]
41 HEADER = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
45 <link href="@TOPDIR@/doc/html/doxygen.css" rel="stylesheet" type="text/css">
46 <link href="@TOPDIR@/doclib/senf.css" rel="stylesheet" type="text/css">
47 <style type="text/css">
48 div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr}
55 <form action="@TOPDIR@/doclib/search.php" method="get">
56 Search: <input type="text" name="query" size="20" accesskey="s"/>
59 <h1>SENF Extensible Network Framework</h1>
65 <div class="tabs menu">
67 {{ for name, path in modules():
68 <li class="{name}"><a href="@TOPDIR@/{path}/index.html">{name}</a></li>
73 OVERVIEW_EXTRA_HEADER="""
76 <li><a href="@TOPDIR@/doc/html/xref.html">Open Issues</a></li>
77 <li><a class="ext" href="http://svn.berlios.de/wsvn/senf/?op=log&rev=0&sc=0&isdir=1">SVN ChangeLog</a></li>
78 <li><a class="ext" href="http://developer.berlios.de/projects/senf">SENF @ BerliOS</a></li>
79 <li><a class="ext" href="http://openfacts.berlios.de/index-en.phtml?title=SENF+Network+Framework">Wiki</a></li>
83 FOOTER = """<hr style="width:0px;border:none;clear:both;margin:0;padding:0" />
88 <a href="mailto:senf-dev@lists.berlios.de">Contact: senf-dev@lists.berlios.de</a> |
89 Copyright © 2006 Fraunhofer Gesellschaft, SatCom, Stefan Bund
95 <?php include 'search_functions.php'; ?>
98 SEARCH_PATHS_PHP="""<?php
101 {{ for index in indices():
108 env.Command('doxy-header.html', None, writeTemplate,
110 TITLE = "Documentation and API reference")
111 env.Command('doxy-header-overview.html', None, writeTemplate,
112 TEMPLATE = HEADER+OVERVIEW_EXTRA_HEADER,
113 TITLE = "Introduction and Overview")
114 env.Command('doxy-footer.html', None, writeTemplate,
116 env.Alias('all_docs',
117 env.Command('search.php', 'html-munge.xsl',
119 'xsltproc --nonet --html --stringparam topdir .. -o - $SOURCE $TARGET 2>/dev/null'
120 + r'| sed -e "s/\[\[/<?/g" -e "s/\]\]/?>/g" > ${TARGET}.tmp',
121 'mv ${TARGET}.tmp ${TARGET}' ],
123 + OVERVIEW_EXTRA_HEADER
124 + SEARCH_PHP.replace('<?','[[').replace('?>',']]')
126 TITLE = "Search results"))
127 env.Alias('all_docs',
128 env.Command('search_paths.php', None, writeTemplate,
129 TEMPLATE = SEARCH_PATHS_PHP))