Exemple #1
0
    def render(self, package, for_print=0):
        """
        Returns an XHTML string rendering this page.
        """

        # Get the DocType
        docType = common.getExportDocType()

        # Get section and header tags
        sectionTag = u'div'
        headerTag = u'div'
        if docType == u'HTML5':
            sectionTag = u'section'
            headerTag = u'header'

        # Get package title
        if package.title != '':
            title = escape(package.title)
        else:
            title = escape(package.root.titleLong)

        # Render HTML header
        html = self.renderHeader(title, docType, for_print)

        if for_print:
            # Include extra onload bit:
            html += u'<body class="exe-single-page" onload="print_page()">'
        else:
            html += u'<body class="exe-single-page">'

        # Script to check if JS is enabled
        html += u'<script type="text/javascript">document.body.className+=" js"</script>' + lineBreak

        # Main content block
        html += u'<div id="content">' + lineBreak

        # Header
        html += u'<%s id="header">%s' % (headerTag, lineBreak)
        # Header content block
        html += u'<div id="headerContent">' + lineBreak
        # Package title
        html += u'<h1>%s</h1>%s' % (escape(title), lineBreak)
        # Close header content block
        html += u'</div>' + lineBreak
        # Close header
        html += u'</%s>%s' % (headerTag, lineBreak)

        # Main section
        html += u'<%s id="main">%s' % (sectionTag, lineBreak)

        # Render node contents
        html += self.renderNode(package.root, docType, 1)

        # Close main section
        html += u'</%s>%s' % (sectionTag, lineBreak)

        # Render the license
        html += self.renderLicense() + lineBreak

        # Render the footer
        html += self.renderFooter() + lineBreak

        # Close main content block
        html += u'</div>' + lineBreak

        # Some styles might have their own JavaScript files (see their config.xml file)
        style = G.application.config.styleStore.getStyle(
            self.node.package.style)
        if style.hasValidConfig:
            html += style.get_extra_body()

        # Close body and HTML tags
        html += u'</body>' + lineBreak
        html += u'</html>'

        # Remove ecuation attributes
        html = helper.removeEcuationAttr(html)
        # Change glosary path
        html = helper.changeGlossaryPath(html)
        # Escape &
        html = helper.escapeAmp(html)
        # Remove "resources/" from data="resources/ and the url param
        html = helper.removeResources(html)

        return html
Exemple #2
0
    def render(self, package, for_print = 0):
        """
        Returns an XHTML string rendering this page.
        """
        
        # Get the DocType
        docType = common.getExportDocType()
        
        # Get section and header tags
        sectionTag = u'div'
        headerTag = u'div'
        if docType == u'HTML5':
            sectionTag = u'section'
            headerTag = u'header'
            
        # Get package title
        if package.title != '':
            title = escape(package.title)
        else:
            title = escape(package.root.titleLong)
            
        # Render HTML header
        html  = self.renderHeader(title, docType, for_print)
        
        if for_print:
            # Include extra onload bit:
            html += u'<body class="exe-single-page" onload="print_page()">'
        else:
            html += u'<body class="exe-single-page">'
            
        # Script to check if JS is enabled
        html += u'<script type="text/javascript">document.body.className+=" js"</script>' + lineBreak
        
        # Main content block
        html += u'<div id="content">' + lineBreak
        
        # Header
        html += u'<%s id="header">%s' % (headerTag, lineBreak)
        # Header content block
        html += u'<div id="headerContent">' + lineBreak
        # Package title
        html += u'<h1>%s</h1>%s' % (escape(title), lineBreak)
        # Close header content block
        html += u'</div>' + lineBreak
        # Close header
        html += u'</%s>%s' % (headerTag, lineBreak)
        
        # Main section
        html += u'<%s id="main">%s' % (sectionTag, lineBreak)
        
        # Render node contents
        html += self.renderNode(package.root, docType, 1)
        
        # Close main section
        html += u'</%s>%s' % (sectionTag, lineBreak)
        
        # Render the license
        html += self.renderLicense() + lineBreak
        
        # Render the footer
        html += self.renderFooter() + lineBreak
        
        # Close main content block
        html += u'</div>' + lineBreak
        
        # Some styles might have their own JavaScript files (see their config.xml file)
        style = G.application.config.styleStore.getStyle(self.node.package.style)
        if style.hasValidConfig:
            html += style.get_extra_body()
            
        # Close body and HTML tags
        html += u'</body>' + lineBreak 
        html += u'</html>'
        
        # Remove ecuation attributes
        html = helper.removeEcuationAttr(html)
        # Change glosary path
        html = helper.changeGlossaryPath(html)
        # Escape &
        html = helper.escapeAmp(html)
        # Remove "resources/" from data="resources/ and the url param
        html = helper.removeResources(html)

        return html