50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
| """ layout definition for generating api/source documents
 | |
| 
 | |
|     this is the place where customization can be done
 | |
| """
 | |
| 
 | |
| import py
 | |
| from py.__.doc import confrest
 | |
| from py.__.apigen import linker
 | |
| from py.__.doc.conftest import get_apigenpath, get_docpath
 | |
| 
 | |
| here = py.magic.autopath().dirpath()
 | |
| 
 | |
| class LayoutPage(confrest.PyPage):
 | |
|     """ this provides the layout and style information """
 | |
| 
 | |
|     stylesheets = [(here.join('../doc/style.css'), 'style.css'),
 | |
|                    (here.join('style.css'), 'apigen_style.css')]
 | |
|     scripts = [(here.join('api.js'), 'api.js')]
 | |
| 
 | |
|     def __init__(self, *args, **kwargs):
 | |
|         self.nav = kwargs.pop('nav')
 | |
|         super(LayoutPage, self).__init__(*args, **kwargs)
 | |
|         self.relpath = self.get_relpath()
 | |
|         self.project.logo.attr.id = 'logo'
 | |
| 
 | |
|     def get_relpath(self):
 | |
|         return linker.relpath(self.targetpath.strpath,
 | |
|                               get_apigenpath().strpath) + '/'
 | |
| 
 | |
|     def set_content(self, contentel):
 | |
|         self.contentspace.append(contentel)
 | |
| 
 | |
|     def fill(self):
 | |
|         super(LayoutPage, self).fill()
 | |
|         self.body.insert(0, self.nav)
 | |
| 
 | |
|     def setup_scripts_styles(self, copyto=None):
 | |
|         for path, name in self.stylesheets:
 | |
|             if copyto:
 | |
|                 copyto.join(name).write(path.read())
 | |
|             self.head.append(py.xml.html.link(type='text/css',
 | |
|                                               rel='stylesheet',
 | |
|                                               href=self.relpath + name))
 | |
|         for path, name in self.scripts:
 | |
|             if copyto:
 | |
|                 copyto.join(name).write(path.read())
 | |
|             self.head.append(py.xml.html.script(type="text/javascript",
 | |
|                                                 src=self.relpath + name))
 | |
| 
 |