Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
    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()
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
def context_start():
    yaml = load_yaml('navbar', base_dir=sample)
    navbar_start = NavbarStart(**yaml['start'])

    return dict(navbar_start=navbar_start)
Пример #9
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
def context_links():
    yaml = load_yaml('footer', base_dir=sample)
    footer_links = FooterLinks(**yaml['links'])

    return dict(footer_links=footer_links)
Пример #15
0
def context_header():
    yaml = load_yaml('navbar', base_dir=sample)
    navbar = Navbar(**yaml)

    return dict(navbar=navbar)
Пример #16
0
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
Пример #17
0
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)
Пример #18
0
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)
Пример #19
0
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)
Пример #20
0
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)
Пример #22
0
def context_brand():
    yaml = load_yaml('navbar', base_dir=sample)
    navbar_brand = NavbarBrand(**yaml['brand'])

    return dict(navbar_brand=navbar_brand)
Пример #23
0
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)