def parse_page(self, page=None, is_preview=False): """method used to render a page from the page directory args: stirng page """ title, lead_image, slug, date, template, content, meta = parse_page(page, is_preview=is_preview) content = self._template_string(content) content_template = get_template_page(template) content_rendered = self.render_string( content_template, content=content, page=os.path.join(options.page_dir, page) ) page_template = get_template_page("page/page") page_content = self.render_string( page_template, title=title, slug=slug, date=date, content=content_rendered, page=page, lead_image=lead_image, meta=meta, ) return title, slug, date, template, page_content
def render(self, directory=options.page_dir): """ args: string directory -- the directory """ if "page/toc" in directory: directory = options.page_dir toc = directory_listing(directory) toc_page = get_template_page("asset/toc") return self.render_string(toc_page, data=toc)
def get(self, path=None): """main page loader if the path doesnt exists, it is set index if path isnt toc, toc is loaded if path isnt index, index is loaded """ page_content = "" ajax = self.is_ajax() data = False preview = False theme = self.get_argument("theme", None) if theme is not None: options.define("theme", default=theme, mutable=True) if path is None: path = "index" if options.allow_data: data = self.is_data() if options.allow_preview: preview = self.is_preview() path = slug_to_name(path) if ajax is False or data is False: if path is None or str(path).lower() != "toc": title, slug, date, template, content = self.parse_page("toc") if path is None or str(path).lower() != "index": title, slug, date, template, content = self.parse_page("index") title, slug, date, template, content = self.parse_page(path, is_preview=preview) page_content += content if ajax is True or data is True: self.write({"title": title, "slug": slug, "date": date, "path": "/" + path, "content": page_content}) else: page_template = get_template_page("base") self.render(page_template, title=title, page_content=page_content)