from flask import render_template from flask_login import current_user def render(*args, styles=[], scripts=[], **kwargs): # Pour jouer sur les feuilles de style ou les scripts : # render('page.html', styles=['-css/form.css', '+css/admin/forms.css']) styles_ = [ 'css/global.css', 'css/navbar.css', 'css/header.css', 'css/container.css', 'css/widgets.css', 'css/form.css', 'css/footer.css', 'css/flash.css', 'css/table.css', 'css/pagination.css', 'css/responsive.css', 'css/simplemde.min.css', 'css/pygments.css', ] scripts_ = [ 'scripts/trigger_menu.js', 'scripts/pc-utils.js', 'scripts/smartphone_patch.js', 'scripts/simplemde.min.js', 'scripts/filter.js' ] # Apply theme from user settings theme = current_user.theme if current_user.is_authenticated else '' theme = theme if theme else 'default_theme' styles_ = [f'css/themes/{theme}.css'] + styles_ for s in styles: if s[0] == '-': styles_.remove(s[1:]) if s[0] == '+': styles_.append(s[1:]) for s in scripts: if s[0] == '-': scripts_.remove(s[1:]) if s[0] == '+': scripts_.append(s[1:]) return render_template(*args, **kwargs, styles=styles_, scripts=scripts_)