def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) config[config_name].init_app(app) # blueprints from app.main import main as main_blueprint from app.blog import blog as blog_blueprint from app.admin import admin as admin_blueprint from app.projects import projects as projects_blueprint app.register_blueprint(main_blueprint) app.register_blueprint(blog_blueprint, url_prefix='/blog') app.register_blueprint(admin_blueprint) app.register_blueprint(projects_blueprint, url_prefix='/projects') # initializations csrf.init_app(app) db.init_app(app) login_manager.init_app(app) migrate.init_app(app, db) mail.init_app(app) md = Markdown(app) md.register_extension(CodeHiliteExtension) app.jinja_env.filters['timesince'] = timesince_filter return app
def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) config[config_name].init_app(app) # blueprints from app.main import main as main_blueprint from app.blog import blog as blog_blueprint from app.admin import admin as admin_blueprint from app.projects import projects as projects_blueprint app.register_blueprint(main_blueprint) app.register_blueprint(blog_blueprint, url_prefix='/blog') app.register_blueprint(admin_blueprint) app.register_blueprint(projects_blueprint, url_prefix='/projects') # initializations csrf.init_app(app) db.init_app(app) login_manager.init_app(app) migrate.init_app(app, db) mail.init_app(app) md = Markdown(app) md.register_extension(CodeHiliteExtension) app.jinja_env.filters['timesince'] = timesince_filter return app
def md_apply(app): md = Markdown(app, extensions=["tables"]) @md.extend() class ExtensionPostRegisterer(Extension): def extendMarkdown(self, md, md_globals): md.postprocessors.add('pipostproc', MDExtPostProcessor(md), '_end') md.registerExtension(self) md.register_extension(ExtensionPostRegisterer)
def configure(app): """Configure Markdown for Bert-E's Flask server.""" md = Markdown(app) md.register_extension(CodeHiliteExtension) md.register_extension(FencedCodeExtension) md.register_extension(SmartEmphasisExtension) md.register_extension(SmartyExtension) md.register_extension(TableExtension)
def new_app(app, serialize=False): logging.basicConfig(level=logging.DEBUG) md = Markdown(app, extensions=['tables']) md.register_extension(ProverExtension) register_modules(app, [admin, classes, frontend, lessons, prover]) app.secret_key = os.urandom(24) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db' app.config['COQD_HOST'] = 'localhost' app.config['COQD_PORT'] = 8003 if serialize: app.config['serialize'] = serialize # XXX:dc: kind of a hack but I want to keep the db and the app seperate db.init_app(app) db.app = app return app
def init_app(self, app): """Flask application initialization.""" # Follow the Flask guidelines on usage of app.extensions if not hasattr(app, 'extensions'): app.extensions = {} if 'cod-markdown' in app.extensions: raise RuntimeError("Flask application already initialized") app.extensions['cod-markdown'] = self # Initialize Flask-Markdown extension md = Markdown(app) # Register Flask-Markdown extensions # TODO: Define and add config entries to app.config. # TODO: Init according options in app.config. # https://github.com/Zopieux/py-gfm # md.register_extension(GithubFlavoredMarkdownExtension) # Alternative GFM extension: # http://facelessuser.github.io/pymdown-extensions/extensions/github/ md.register_extension(GithubExtension)
from flask import Flask, render_template, abort, url_for, request, flash, session, redirect from flaskext.markdown import Markdown from mdx_github_gists import GitHubGistExtension from mdx_strike import StrikeExtension from mdx_quote import QuoteExtension from werkzeug.contrib.atom import AtomFeed import post import user import pagination import settings from helper_functions import * app = Flask(__name__) md = Markdown(app) md.register_extension(GitHubGistExtension) md.register_extension(StrikeExtension) md.register_extension(QuoteExtension) app.config.from_object('config') @app.route('/', defaults={'page': 1}) @app.route('/page-<int:page>') def index(page): skip = (page - 1) * int(app.config['PER_PAGE']) posts = postClass.get_posts(int(app.config['PER_PAGE']), skip) count = postClass.get_total_count() pag = pagination.Pagination(page, app.config['PER_PAGE'], count) return render_template('index.html', posts=posts['data'], pagination=pag, meta_title=app.config['BLOG_TITLE'])
from flask import Flask, render_template, abort, url_for, request, flash, session, redirect from flaskext.markdown import Markdown from mdx_github_gists import GitHubGistExtension from mdx_strike import StrikeExtension from mdx_quote import QuoteExtension from mdx_code_multiline import MultilineCodeExtension from werkzeug.contrib.atom import AtomFeed import post import user import pagination import settings from helper_functions import * app = Flask('FlaskBlog') md = Markdown(app) md.register_extension(GitHubGistExtension) md.register_extension(StrikeExtension) md.register_extension(QuoteExtension) md.register_extension(MultilineCodeExtension) app.config.from_object('config') @app.route('/', defaults={'page': 1}) @app.route('/page-<int:page>') def index(page): skip = (page - 1) * int(app.config['PER_PAGE']) posts = postClass.get_posts(int(app.config['PER_PAGE']), skip) count = postClass.get_total_count() pag = pagination.Pagination(page, app.config['PER_PAGE'], count) return render_template('index.html', posts=posts['data'],
import os from flask import Flask # Init Flask app = Flask(__name__) app.config.from_object(__name__) app.debug = True # Init Markdown from flaskext.markdown import Markdown md = Markdown(app) # Extensions from extensions.abk import Abbrevation md.register_extension(Abbrevation) from extensions.comment import Comment md.register_extension(Comment) from extensions.linebreak import LineBreak md.register_extension(LineBreak) with app.app_context(): # noinspection PyUnresolvedReferences from processors import * # noinspection PyUnresolvedReferences from handlers import * app.md = md # Get extra files
from flaskext.markdown import Markdown from mdx_github_gists import GitHubGistExtension from mdx_strike import StrikeExtension from mdx_quote import QuoteExtension from mdx_code_multiline import MultilineCodeExtension from werkzeug.contrib.atom import AtomFeed import post import user import pagination import settings from helper_functions import * app = Flask('FlaskBlog') md = Markdown(app) md.register_extension(GitHubGistExtension) md.register_extension(StrikeExtension) md.register_extension(QuoteExtension) md.register_extension(MultilineCodeExtension) app.config.from_object('config') @app.route('/', defaults={'page': 1}) @app.route('/page-<int:page>') def index(page): skip = (page - 1) * int(app.config['PER_PAGE']) posts = postClass.get_posts(int(app.config['PER_PAGE']), skip) count = postClass.get_total_count() pag = pagination.Pagination(page, app.config['PER_PAGE'], count) return render_template('index.html', posts=posts['data'], pagination=pag, meta_title=app.config['BLOG_TITLE'])
__tablename__ = "ladder_result_requests" winner_token = db.Column(db.String(64), primary_key=True, nullable=False) loser_token = db.Column(db.String(64), primary_key=True, nullable=False) winner_id = db.Column(db.Integer, db.ForeignKey(LadderParticipant.id), nullable=False) loser_id = db.Column(db.Integer, db.ForeignKey(LadderParticipant.id), nullable=False) winner_confirmed = db.Column(db.Boolean, nullable=False, default=False) loser_confirmed = db.Column(db.Boolean, nullable=False, default=False) def __init__(self, winner_id, loser_id): self.winner_id = winner_id self.loser_id = loser_id self.winner_token = token_urlsafe(32) self.loser_token = token_urlsafe(32) md = Markdown(app) md.register_extension(tables.TableExtension) md.register_extension(fenced_code.FencedCodeExtension) basic_auth = BasicAuth(app) class AuthException(HTTPException): def __init__(self, message): super().__init__(message, Response( "You could not be authenticated. Please refresh the page.", 401, {'WWW-Authenticate': 'Basic realm="Login Required"'} )) class ModelView(sqla.ModelView): def is_accessible(self): if not basic_auth.authenticate(): raise AuthException('Not authenticated.')
from md.mdx_github_gists import GitHubGistExtension from md.mdx_strike import StrikeExtension from md.mdx_quote import QuoteExtension from werkzeug.contrib.atom import AtomFeed from werkzeug.utils import secure_filename import post import user import pagination import settings from helper_functions import * from flask_app import app md = Markdown(app) md.register_extension(GitHubGistExtension) md.register_extension(StrikeExtension) md.register_extension(QuoteExtension) settingsClass = settings.Settings(app.config) postClass = post.Post(app.config) userClass = user.User(app.config) app.jinja_env.globals['url_for_other_page'] = url_for_other_page app.jinja_env.globals['csrf_token'] = generate_csrf_token app.jinja_env.globals['meta_description'] = app.config['BLOG_DESCRIPTION'] app.jinja_env.globals['upload_folder'] = app.config['UPLOAD_FOLDER'] app.jinja_env.globals['recent_posts'] = postClass.get_posts(10, 0)['data'] app.jinja_env.globals['tags'] = postClass.get_tags()['data']