Source code for app.extensions
"""
app.extensions
==============
"""
from flask import Flask
from flask_bootstrap import Bootstrap4
from flask_compress import Compress
from flask_debugtoolbar import DebugToolbarExtension
from flask_login import LoginManager
from flask_mail import Mail
from flask_migrate import Migrate
from flask_misaka import Misaka
from flask_moment import Moment
from flask_pagedown import PageDown
from flask_sitemap import Sitemap
from flask_sqlalchemy import SQLAlchemy
from flask_static_digest import FlaskStaticDigest
from flask_wtf.csrf import CSRFProtect
from app.extensions.babel import Babel
from app.extensions.talisman import Talisman
debug_toolbar = DebugToolbarExtension()
static_digest = FlaskStaticDigest()
db = SQLAlchemy()
migrate = Migrate()
mail = Mail()
login_manager = LoginManager()
csrf_protect = CSRFProtect()
markdown = Misaka(fenced_code=True)
page_down = PageDown()
bootstrap = Bootstrap4()
moment = Moment()
talisman = Talisman()
compress = Compress()
babel = Babel()
sitemap = Sitemap()
[docs]
def init_app(app: Flask) -> None:
"""Initialize extensions.
:param app: Application object.
"""
debug_toolbar.init_app(app)
static_digest.init_app(app)
db.init_app(app)
migrate.init_app(app, db)
mail.init_app(app)
login_manager.init_app(app)
csrf_protect.init_app(app)
markdown.init_app(app)
page_down.init_app(app)
bootstrap.init_app(app)
moment.init_app(app)
talisman.init_app(app)
compress.init_app(app)
babel.init_app(app)
sitemap.init_app(app)