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))
 | 
						|
 |