2 # Copyright (C) 2018 rubenwardy
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 from flask_user import *
20 import flask_menu as menu
21 from flask_mail import Mail
22 from flask.ext import markdown
23 from flask_github import GitHub
24 from flask_wtf.csrf import CsrfProtect
25 from flask_flatpages import FlatPages
28 app = Flask(__name__, static_folder="public/static")
29 app.config["FLATPAGES_ROOT"] = "flatpages"
30 app.config["FLATPAGES_EXTENSION"] = ".md"
31 app.config.from_pyfile(os.environ["FLASK_CONFIG"])
34 markdown.Markdown(app, extensions=["fenced_code"], safe_mode=True, output_format="html5")
36 csrf = CsrfProtect(app)
38 pages = FlatPages(app)
41 from .maillogger import register_mail_error_handler
42 register_mail_error_handler(app, mail)
44 from . import models, tasks