diff --git a/data/index.md b/data/index.md index 74338e5..ec1aa7c 100644 --- a/data/index.md +++ b/data/index.md @@ -1 +1 @@ -title: title +title: Stuff Sample diff --git a/simple_sample/__init__.py b/simple_sample/__init__.py index 61ee0d4..7ccbf75 100644 --- a/simple_sample/__init__.py +++ b/simple_sample/__init__.py @@ -5,15 +5,12 @@ By default the .md extension creates a html website import logging import sys from flask import Flask, Blueprint,render_template, send_from_directory,jsonify, url_for -#from flask_flatpages import FlatPages, pygments_style_defs + from flatpages_index import FlatPagesIndex +import flatpages_index from flask_frozen import Freezer from config import Config import os -import re -from flatpages_index.utils import path_depth, page_to_link, page_to_link, file_to_link -from functools import partial -#from .flatpages import FileLists # This is the directory, required for absolute file paths package_directory = os.path.dirname(os.path.abspath(__file__)) @@ -31,9 +28,14 @@ app = Flask(__name__) app.config.from_object(__name__) app.logger.setLevel(logging.DEBUG) -# Initialize FlatPages Index -#FlatPagesIndex.FLATPAGES_ROOT=FLATPAGES_ROOT + flatpages = FlatPagesIndex(app) +flatpages_index.Links.endpoint="stuff.post" +flatpages_index.Links.url=(lambda s,x: url_for(s.endpoint, name=x)) +#flatpages_index.Links.image_url=(lambda s,x: url_for('stuff.page', name=x)) +flatpages_index.Links.file_url=(lambda s,x: url_for('stuff.page', name=x)) +flatpages_index.Links.thumb_url=(lambda s,x: url_for('stuff.thumb', size=128,name=x)) + flatpages.get('index') app.logger.info('Initialize SimpleSample App') @@ -42,26 +44,24 @@ app.logger.info("Data directory is: %s" % flatpages.root) app.logger.info("Url prefix;: %s" % cfg.url_prefix) app.logger.info("Extensions: %s" % FLATPAGES_EXTENSION) - - - - - freezer = Freezer(app) +page_blueprint = Blueprint('stuff', __name__) -page_blueprint = Blueprint('intern', __name__) +@page_blueprint.route('/thumb//') +def thumb(size=64,name=''): + pass @page_blueprint.route('//') @page_blueprint.route('/') -def post(name='index'): +def page(name='index'): page = flatpages.get(name) if not page is None: - page.meta["has_img"]=page.meta.get('has_img',True) - page=page.load_linklists(partial(url_for,'intern.post')) - return render_template(page.meta["template"], post=page, - pth=page.meta["dirpath"]) + page["has_img"]=True + page.links.endpoint='stuff.page' + return render_template(page["template"], post=page, + pth=page["dirpath"]) if os.path.exists(os.path.join(FLATPAGES_ROOT,name)): return send_from_directory(FLATPAGES_ROOT,name) @@ -72,16 +72,13 @@ def post(name='index'): @page_blueprint.route('/.json',strict_slashes=False) -def postjson(name='index'): +def pagejson(name='index'): page = flatpages.get(name) if not page is None: - page.meta["has_img"]=page.meta.get('has_img',True) - - page=page.load_linklists(partial(url_for,'intern.post')) - p=page.meta - - p["html"]=page.html - return jsonify(page=p) + page["has_img"]=False + page.links.endpoint='stuff.pagejson' +# page.links.file_url=lambda n: url_for('intern.post', name=n) + return jsonify(page=dict(page)) if os.path.exists(u'{}/{}'.format(FLATPAGES_ROOT,path)): return send_from_directory(FLATPAGES_ROOT,path) @@ -91,4 +88,3 @@ def postjson(name='index'): app.register_blueprint(page_blueprint, url_prefix=cfg.url_prefix,static_folder='static') -app.add_url_rule('%s/' % cfg.url_prefix,'page', post) diff --git a/simple_sample/templates/layout.html b/simple_sample/templates/layout.html index 5ba2b07..e2ecacf 100644 --- a/simple_sample/templates/layout.html +++ b/simple_sample/templates/layout.html @@ -7,9 +7,9 @@
diff --git a/simple_sample/templates/page.html b/simple_sample/templates/page.html index 5a2f060..6f119a2 100644 --- a/simple_sample/templates/page.html +++ b/simple_sample/templates/page.html @@ -1,14 +1,15 @@ {# -*-jinja2-*- #} {% extends "layout.html" %} + {% block content %}

{{post.title}}

{{post.date}} -{% if post.sub_index_pages | length > 0 %} +{% if post.links["subindexpages"] | length > 0 %}
Unterseiten: {% endif %} -{{ post.helloworld() }} {{ post.html|safe }} -{% if post.sub_pages |length > 0 %} +{% if post.links["subpages"] |length > 0 %} {% endif %} -{% if post.list_files |length > 0 %} +{% if post.links["files"] |length > 0 %}
Files:
+{% endif %} + +{% if post.links["images"] |length > 0 %} + +
+ +Images: +
    + {% for d in post.links.images %} +
  • + {{d.title}}
  • {% endfor %}