refactor babycode lib to have different code paths for html and rss-friendly generation

This commit is contained in:
2025-12-13 07:36:49 +03:00
parent dc0aa0dba7
commit fc6c5d46e1
2 changed files with 440 additions and 182 deletions

View File

@@ -167,20 +167,6 @@ def create_app():
allowed_themes.sort(key=(lambda x: (x != 'style', x)))
app.config['allowed_themes'] = allowed_themes
with app.app_context():
from .schema import create as create_tables
from .migrations import run_migrations
create_tables()
run_migrations()
create_default_avatar()
create_admin()
create_deleted_user()
reparse_babycode()
bind_default_badges(app.config['BADGES_PATH'])
from app.routes.app import bp as app_bp
from app.routes.topics import bp as topics_bp
from app.routes.threads import bp as threads_bp
@@ -200,6 +186,20 @@ def create_app():
app.register_blueprint(hyperapi_bp)
app.register_blueprint(guides_bp)
with app.app_context():
from .schema import create as create_tables
from .migrations import run_migrations
create_tables()
run_migrations()
create_default_avatar()
create_admin()
create_deleted_user()
reparse_babycode()
bind_default_badges(app.config['BADGES_PATH'])
app.config['SESSION_COOKIE_SECURE'] = True
@app.before_request
@@ -251,12 +251,12 @@ def create_app():
return permission_level_string(term)
@app.template_filter('babycode')
def babycode_filter(markup):
return babycode_to_html(markup).result
def babycode_filter(markup, nofrag=False):
return babycode_to_html(markup, fragment=not nofrag).result
@app.template_filter('babycode_strict')
def babycode_strict_filter(markup):
return babycode_to_html(markup, STRICT_BANNED_TAGS).result
def babycode_strict_filter(markup, nofrag=False):
return babycode_to_html(markup, banned_tags=STRICT_BANNED_TAGS, fragment=not nofrag).result
@app.template_filter('extract_h2')
def extract_h2(content):