move dirpath to meta
This commit is contained in:
29
__init__.py
29
__init__.py
@@ -1,3 +1,8 @@
|
||||
"""
|
||||
This module is based on flask_flatpages and creates a website structure based on a file structure.
|
||||
By default the .md extension creates a html website
|
||||
"""
|
||||
|
||||
import sys
|
||||
from flask import Flask, Blueprint,render_template, send_from_directory,jsonify, url_for
|
||||
from flask_flatpages import FlatPages, pygments_style_defs
|
||||
@@ -33,26 +38,32 @@ freezer = Freezer(app)
|
||||
page_blueprint = Blueprint('intern', __name__)
|
||||
|
||||
# completes the meta hash if a configuration is not set
|
||||
def page_defaults(page, path):
|
||||
page.meta["title"]=page.meta.get("title", path.split('/')[-1])
|
||||
def page_defaults(page, dirpath, is_index=False):
|
||||
if is_index:
|
||||
page.meta["title"]=page.meta.get("title", dirpath.split('/')[-1])
|
||||
else:
|
||||
page.meta["title"]=page.meta.get("title", page.path.split('/')[-1])
|
||||
page.meta["template"]=page.meta.get("template", cfg.default_template)
|
||||
return page
|
||||
|
||||
@page_blueprint.route('/<path:name>/')
|
||||
@page_blueprint.route('/')
|
||||
def post(name='index'):
|
||||
is_index, path, page = flatpages.get_flatpage(name)
|
||||
page = flatpages.get(name)
|
||||
is_index=page.meta["is_index"]
|
||||
dirpath=page.meta["dirpath"]
|
||||
|
||||
if not page is None:
|
||||
page = page_defaults(page, path)
|
||||
fl = linklist_dict_lists(flatpages.load_linklists_for_templates(page.path,path, is_index, page.meta,partial(url_for,'intern.post')))
|
||||
# page = page_defaults(page, dirpath, is_index)
|
||||
fl = linklist_dict_lists(flatpages.load_linklists_for_templates(page.path, dirpath, is_index, page.meta,partial(url_for,'intern.post')))
|
||||
|
||||
return render_template(page.meta["template"], post=page,
|
||||
pth=path, filelists=fl)
|
||||
pth=dirpath, filelists=fl)
|
||||
|
||||
if os.path.exists(os.path.join(FLATPAGES_ROOT,path)):
|
||||
return send_from_directory(FLATPAGES_ROOT,path)
|
||||
if os.path.exists(os.path.join(FLATPAGES_ROOT,name)):
|
||||
return send_from_directory(FLATPAGES_ROOT,name)
|
||||
else:
|
||||
return send_from_directory('static',path)
|
||||
return send_from_directory('static',name)
|
||||
|
||||
|
||||
def json_url_for(paths):
|
||||
|
||||
Reference in New Issue
Block a user