def context_tutorialpage(): site_yaml = load_yaml('site', base_dir=sample) site = Site(**site_yaml) navbar_yaml = load_yaml('navbar', base_dir=sample) navbar = Navbar(**navbar_yaml) footer_yaml = load_yaml('footer', base_dir=sample) footer = Footer(**footer_yaml) pages = load_yaml('pages', base_dir=sample) page = pages[7] tutorialpage = TutorialPage(**pages[7]) sidebar_yaml = load_yaml('tutorial_sidebar', base_dir=sample) sidebar = TutorialSidebar(**sidebar_yaml) return dict(site=site, navbar=navbar, page=tutorialpage, sidebar=sidebar, footer=footer)
def context_page(): site_yaml = load_yaml('site', base_dir=sample) site = Site(**site_yaml) navbar_yaml = load_yaml('navbar', base_dir=sample) navbar = Navbar(**navbar_yaml) footer_yaml = load_yaml('footer', base_dir=sample) footer = Footer(**footer_yaml) pages = load_yaml('pages', base_dir=sample) page = Page(**pages[8]) sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) sidebar = PageSidebar(**sidebar_yaml) return dict(site=site, navbar=navbar, footer=footer, sidebar=sidebar, page=page)
def context_section(): site_yaml = load_yaml('site', base_dir=sample) site = Site(**site_yaml) navbar_yaml = load_yaml('navbar', base_dir=sample) navbar = Navbar(**navbar_yaml) footer_yaml = load_yaml('footer', base_dir=sample) footer = Footer(**footer_yaml) pages = load_yaml('pages', base_dir=sample) section = Section(**pages[1]) section_sidebar = load_yaml('section_sidebar', base_dir=sample) sidebar = SectionSidebar(**section_sidebar) return dict(site=site, navbar=navbar, page=section, sidebar=sidebar, footer=footer)
def load_pages(self): pages = load_yaml('pages', base_dir=cwd) for page_data in pages: klass = klasses[page_data['template']] try: page = klass(**page_data) except ValidationError: raise TypeError(page_data['docname'], klass) self.add(page) # Now add the .html content as page.body fn = join(cwd, page.docname) with open(fn, 'r') as f: page.body = f.read()
def page_view(pagename, foldername=None): # If we are in a folder, join its name with the pagename if foldername: pagename = foldername + '/' + pagename # Make a Site with a Footer site = Site(**load_yaml('site', base_dir=cwd)) site.static_dirname = 'static/' # Don't use Sphinx name # Get some globals. Jam them in here so that livereload will get them, # slows down requests for development, but that's ok. pages = Pages() pages.load_pages() # Get this page page = pages.get(pagename) # Make a navbar with site-specific and page-specific data navbar = Navbar(**load_yaml('navbar', base_dir=cwd)) navbar.update(site, page) # Make a footer footer = Footer(**load_yaml('footer', base_dir=cwd)) # Make a sidebar...it's either a section_sidebar or per-resource sidebar = None if page.template in ['section.html', 'reference.html']: section_sidebar = load_yaml('section_sidebar', base_dir=cwd) sidebar = SectionSidebar(**section_sidebar) elif page.template == 'page.html': page_sidebar = load_yaml('page_sidebar', base_dir=cwd) sidebar = PageSidebar(**page_sidebar) elif page.template in ['tutorial.html', 'tutorialpage.html']: tutorial_sidebar = load_yaml('tutorial_sidebar', base_dir=cwd) sidebar = TutorialSidebar(**tutorial_sidebar) try: active_category = [ category for category in sidebar.entries if category.href[1:-6] in page.docname ] if active_category: active_category[0].is_active = True except AttributeError: pass # Make a context context = dict( site=site, page=page, navbar=navbar, sidebar=sidebar, footer=footer ) return render_template(page.template, **context)
def context_sidebar_references(): sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) published = sidebar_yaml['published'] references = sidebar_yaml['references'] sidebar_references = SidebarReferences(**references) return dict(sidebar_references=sidebar_references)
def context_heading(): pages = load_yaml('pages', base_dir=sample) page3 = pages[3] heading = page3['heading'] page_heading = PageHeading(**heading) return dict(page_heading=page_heading)
def context_start(): yaml = load_yaml('navbar', base_dir=sample) navbar_start = NavbarStart(**yaml['start']) return dict(navbar_start=navbar_start)
def context_sidebar(): sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) page_sidebar = PageSidebar(**sidebar_yaml) return dict(page_sidebar=page_sidebar)
def context_references(): pages = load_yaml('pages', base_dir=sample) page = pages[4] reference = Reference(**page) return dict(reference=reference)
def context_breadcrumbs(): pages = load_yaml('pages', base_dir=sample) page3 = pages[3] breadcrumbs = page3['breadcrumbs'] page_breadcrumbs = PageBreadcrumbs(**breadcrumbs) return dict(page_breadcrumbs=page_breadcrumbs)
def context_tabs(): pages = load_yaml('pages', base_dir=sample) page3 = pages[3] entries = page3['tabs']['entries'] page_tabs = PageTabs(entries=entries) return dict(page_tabs=page_tabs)
def context_sidebar_section(): section_sidebar = load_yaml('section_sidebar', base_dir=sample) entries = section_sidebar['entries'] sidebar_section = SectionSidebar(entries=entries) return dict(sidebar=sidebar_section)
def context_links(): yaml = load_yaml('footer', base_dir=sample) footer_links = FooterLinks(**yaml['links']) return dict(footer_links=footer_links)
def context_header(): yaml = load_yaml('navbar', base_dir=sample) navbar = Navbar(**yaml) return dict(navbar=navbar)
import inspect from pathlib import Path from bulmaio_jinja2.footer.models import Footer from bulmaio_jinja2.navbar.models import Navbar from bulmaio_jinja2.sidebar.page.models import PageSidebar from bulmaio_jinja2.site.models import Site from bulmaio_jinja2.utils import load_yaml extensions = ['bulmaio_jinja2'] html_theme = 'bulmaio_jinja2' master_doc = 'index' exclude_patterns = ['_build'] # For test purposes, use the "sample" data for site, navbar, etc. sample = Path(inspect.getfile(Site)).parents[2] / 'bulmaio_jinja2' / 'sample' site_yaml = load_yaml('site', base_dir=sample) site = Site(**site_yaml) navbar_yaml = load_yaml('navbar', base_dir=sample) navbar = Navbar(**navbar_yaml) footer_yaml = load_yaml('footer', base_dir=sample) footer = Footer(**footer_yaml) sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) sidebar = PageSidebar(**sidebar_yaml) bulmaio_jinja2_site = site bulmaio_jinja2_navbar = navbar bulmaio_jinja2_footer = footer bulmaio_jinja2_sidebar = sidebar
def context_resource_card(): pages = load_yaml('pages', base_dir=sample) page = pages[6] step = page['steps']['entries'][0] resource_card = ResourceCard(**step) return dict(resource_card=resource_card)
def context_sidebar_draft(): sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) published = sidebar_yaml['published'] del published['published_date'] sidebar_published = SidebarPublished(**published) return dict(sidebar_published=sidebar_published)
def context_sidebar_published_no_headshot(): sidebar_yaml = load_yaml('page_sidebar', base_dir=sample) published = sidebar_yaml['published'] del published['author'] sidebar_published = SidebarPublished(**published) return dict(sidebar_published=sidebar_published)
def context_social(): yaml = load_yaml('footer', base_dir=sample) footer_social = FooterSocial(**yaml['social']) return dict(footer_social=footer_social)
def context_subsections(): pages = load_yaml('pages', base_dir=sample) page1 = pages[1] entries = page1['subsections']['entries'] page_subsections = PageSubsections(entries=entries) return dict(page_subsections=page_subsections)
def context_brand(): yaml = load_yaml('navbar', base_dir=sample) navbar_brand = NavbarBrand(**yaml['brand']) return dict(navbar_brand=navbar_brand)
def context_steps_listing(): pages = load_yaml('pages', base_dir=sample) page = pages[6] steps = page['steps'] steps_listing = StepsListing(**steps) return dict(steps_listing=steps_listing)