Esempio n. 1
0
def template():
    nav = Folder.get_as_tree('nav', request.path)
    is_home = False

    if request.url == g.options['url']:
        is_home = True

    def breadcrumb(item=False):
        if request.path == '/articles/':
            folder = Folder()
            folder.name = 'Articles'
            folder.guid = 'articles'
            return [folder]
        elif item:
            if isinstance(item, Folder):
                return item.get_path(item)
            elif isinstance(item, Post):
                return item.folder.get_path(item.folder)
        return []

    def title(item=False):
        if request.path == '/articles/':
            return 'Articles • ' + g.options['name']
        elif isinstance(item, Folder):
            return item.name + ' • ' + g.options['name']
        elif isinstance(item, Post):
            if item.folder_id == 1:
                return item.title + ' • ' + g.options['name']
            return item.title + ' • ' + item.folder.name + ' • ' + g.options[
                'name']
        return g.options['name']

    def description(item=False):
        if request.path == '/articles/':
            return False
        elif isinstance(item, Folder):
            index = Post.query.filter(folder_id=item.id,
                                      slug='index',
                                      status='published',
                                      type='page').one()
            if index:
                return index.get_excerpt(155)
            return item.seo_content
        elif isinstance(item, Post):
            return item.get_excerpt(155)
        else:
            return g.options['slogan']

    def image(item=False):
        if request.path == '/articles/':
            return False
        elif isinstance(item, Folder):
            index = Post.query.filter(folder_id=item.id,
                                      slug='index',
                                      status='published',
                                      type='page').one()
            if index and index.image_id != 0:
                return index.image
            return False
        elif isinstance(item, Post):
            if item.image_id != 0:
                return item.image

            index = Post.query.filter(folder_id=item.folder_id,
                                      slug='index',
                                      status='published',
                                      type='page').one()
            if index and index.image_id != 0:
                return index.image

        return False

    def seo(item=False):
        pass

    return dict(nav=nav,
                get_posts=get_posts,
                show_sidebar=True,
                show_breadcrumb=True,
                show_footer=True,
                breadcrumb=breadcrumb,
                is_home=is_home,
                title=title,
                description=description,
                image=image)
Esempio n. 2
0
 def _ctx_nav():
     nav = Folder.get_as_tree('nav', request.path)
     return nav
Esempio n. 3
0
def template():
    nav = Folder.get_as_tree('nav', request.path)
    is_home = False

    if request.url == g.options['url']:
        is_home = True

    def theme(v):
        return 'themes/' + g.options['theme'] + '/' + v

    def breadcrumb(item=False):
        if request.path == '/articles/':
            folder = Folder()
            folder.name = 'Articles'
            folder.guid = 'articles'
            return [folder]
        elif item:
            if isinstance(item, Folder):
                return item.get_path(item)
            elif isinstance(item, Post):
                return item.folder.get_path(item.folder)
        return []

    def title(item=False):
        if request.path == '/articles/':
            return 'Articles • '+g.options['name']
        elif isinstance(item, Folder):
            return item.name+' • '+g.options['name']
        elif isinstance(item, Post):
            if item.folder_id == 1:
                return item.title+' • '+g.options['name']
            return item.title+' • '+item.folder.name+' • '+g.options['name']
        return g.options['name']

    def description(item=False):
        if request.path == '/articles/':
            return False
        elif isinstance(item, Folder):
            index = Post.query.filter(folder_id=item.id, slug='index', status='published', type='page').one()
            if index:
                return index.get_excerpt(155)
            return item.seo_content
        elif isinstance(item, Post):
            return item.get_excerpt(155)
        else:
            return g.options['slogan']

    def image(item=False):
        if request.path == '/articles/':
            return False
        elif isinstance(item, Folder):
            index = Post.query.filter(folder_id=item.id, slug='index', status='published', type='page').one()
            if index and index.image_id != 0:
                return index.image
            return False
        elif isinstance(item, Post):
            if item.image_id != 0:
                return item.image

            index = Post.query.filter(folder_id=item.folder_id, slug='index', status='published', type='page').one()
            if index and index.image_id != 0:
                return index.image
        
        return False    

    return dict(
        nav=nav, 
        theme=theme,
        get_posts=get_posts, 
        show_sidebar=True,
        show_breadcrumb=True, 
        show_footer=True,
        breadcrumb=breadcrumb,
        is_home=is_home,
        title=title,
        description=description,
        image=image
    )
Esempio n. 4
0
 def _ctx_nav():
     nav = Folder.get_as_tree('nav', request.path)
     return nav