def loadTemplates(self, document): """Load templates as in PageTemplate but also look for packages that want to override some templates and handles extra css and javascript.""" try: import jinja2 except ImportError: log.error( 'Jinja2 is not available, hence the HTML5 renderer cannot be used.' ) _Renderer.loadTemplates(self, document) rendererdata = document.rendererdata["gerby"] = dict() config = document.config # split-level must always be -2 to not create any clutter files config["files"]["split-level"] = -2 rendererDir = os.path.dirname(__file__) srcDir = document.userdata['working-dir'] buildDir = os.getcwd() for resrc in document.packageResources: # Next line may load templates or change # document.rendererdata['html5'] or copy some files to buildDir resrc.alter(renderer=self, rendererName='gerby', document=document, target=buildDir)
def loadTemplates(self, document): """Load templates as in PageTemplate but also look for packages that want to override some templates and handles extra css and javascript.""" try: import jinja2 except ImportError: log.error('Jinja2 is not available, hence the HTML5 renderer cannot be used.') _Renderer.loadTemplates(self, document) rendererdata = document.rendererdata['html5'] = dict() config = document.config rendererDir = os.path.dirname(__file__) themeDir = os.path.join(rendererDir, 'Theme', self.loadedTheme) srcDir = document.userdata['working-dir'] buildDir = os.getcwd() # Theme css has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create styles directory is case it's false try: os.mkdir('styles') except OSError: # This should mean the directory already exists pass # Start building the css list for use by the layout template if config['html5']['use-theme-css'] and config['general']['copy-theme-extras']: rendererdata['css'] = ['theme-' + config['html5']['theme-css'] + '.css'] else: rendererdata['css'] = [] # Theme js has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create js directory is case it's false try: os.mkdir('js') except OSError: pass # Start building the js list for use by the layout template if (config['html5']['use-theme-js'] and config['general']['copy-theme-extras']): rendererdata['js'] = sorted( os.listdir(os.path.join(themeDir, 'js'))) else: rendererdata['js'] = [] for resrc in document.packageResources: # Next line may load templates or change # document.rendererdata['html5'] or copy some files to buildDir resrc.alter( renderer=self, rendererName='html5', document=document, target=buildDir) # Last loaded files (hence overriding everything else) come from user # configuration cssBuildDir = os.path.join(buildDir, 'styles') for css in config['html5']['extra-css']: rendererdata['css'].append(css) shutil.copy(os.path.join(srcDir, css), cssBuildDir) jsBuildDir = os.path.join(buildDir, 'js') for js in config['html5']['extra-js']: rendererdata['js'].append(js) shutil.copy(os.path.join(srcDir, js), jsBuildDir)
def loadTemplates(self, document): """Load templates as in PageTemplate but also look for packages that want to override some templates and handles extra css and javascript.""" try: import jinja2 except ImportError: log.error( 'Jinja2 is not available, hence the HTML5 renderer cannot be used.' ) _Renderer.loadTemplates(self, document) rendererdata = document.rendererdata['html5'] = dict() config = document.config rendererDir = os.path.dirname(__file__) srcDir = document.userdata['working-dir'] buildDir = os.getcwd() # Theme css has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create styles directory is case it's false try: os.mkdir('styles') except OSError: # This should mean the directory already exists pass # Start building the css list for use by the layout template if config['html5']['use-theme-css'] and config['general'][ 'copy-theme-extras']: rendererdata['css'] = [ 'theme-' + config['html5']['theme-css'] + '.css' ] else: rendererdata['css'] = [] # Theme js has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create js directory is case it's false try: os.mkdir('js') except OSError: pass # Start building the js list for use by the layout template if (config['html5']['use-theme-js'] and config['general']['copy-theme-extras']): rendererdata['js'] = sorted( os.listdir(os.path.join(self.loadedTheme, 'js'))) else: rendererdata['js'] = [] for resrc in document.packageResources: # Next line may load templates or change # document.rendererdata['html5'] or copy some files to buildDir resrc.alter(renderer=self, rendererName='html5', document=document, target=buildDir) # Last loaded files (hence overriding everything else) come from user # configuration cssBuildDir = os.path.join(buildDir, 'styles') for css in config['html5']['extra-css']: rendererdata['css'].append(css) shutil.copy(os.path.join(srcDir, css), cssBuildDir) jsBuildDir = os.path.join(buildDir, 'js') for js in config['html5']['extra-js']: rendererdata['js'].append(js) shutil.copy(os.path.join(srcDir, js), jsBuildDir)
def loadTemplates(self, document): """Load templates as in PageTemplate but also look for packages that want to override some templates and handles extra css and javascript.""" _Renderer.loadTemplates(self, document) rendererdata = document.rendererdata.setdefault('html5', dict()) config = document.config if 'html5' not in config: addConfig(config) srcDir = document.userdata.get('working-dir', '.') # type: str buildDir = os.getcwd() # Theme css has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create styles directory is case it's false try: os.mkdir('styles') except OSError: # This should mean the directory already exists pass # Start building the css list for use by the layout template if config['html5']['use-theme-css'] and config['general'][ 'copy-theme-extras']: rendererdata['css'] = [ 'theme-' + config['html5']['theme-css'] + '.css' ] else: rendererdata['css'] = [] # Theme js has already been copied by PageTemplate.loadTemplates, # provided config['general']['copy-theme-extras'] is true # Still try to create js directory is case it's false try: os.mkdir('js') except OSError: pass # Start building the js list for use by the layout template if self.loadedTheme: theme_js_path = Path(self.loadedTheme) / 'js' if (config['html5']['use-theme-js'] and config['general']['copy-theme-extras'] and theme_js_path.exists()): rendererdata['js'] = sorted( path.name for path in theme_js_path.glob('*.js')) else: rendererdata['js'] = [] for resrc in document.packageResources: # Next line may load templates or change # document.rendererdata['html5'] or copy some files to buildDir resrc.alter(renderer=self, rendererName='html5', document=document, target=Path(buildDir)) # Last loaded files (hence overriding everything else) come from user # configuration cssBuildDir = os.path.join(buildDir, 'styles') for css in config['html5']['extra-css']: rendererdata['css'].append(css) shutil.copy(os.path.join(srcDir, css), cssBuildDir) jsBuildDir = os.path.join(buildDir, 'js') for js in config['html5']['extra-js']: rendererdata['js'].append(js) shutil.copy(os.path.join(srcDir, js), jsBuildDir)