From 13a3c1e29473aa9f563e8db4ad94cb3eee9bdfe6 Mon Sep 17 00:00:00 2001 From: Gareth Coles Date: Tue, 5 Jun 2018 16:07:35 +0100 Subject: Move from CSS to SCSS (#86) * Rewrite existing style.css with sass * Add "uses-rst" class for pages that use rendered RST This replaces the previous method of just listing every page in the sass * Remove old debug print * Mixins and error pages * Newly built CSS * Add SASS cache to .gitignore * New error SASS * Slight changes to error template * Add UIKit SCSS to repo This includes the LICENSE and our customizations, which makes life way easier for contributors * Reorganize sass folder; your watchers can avoid uikit now * Sass folder should be called scss * Change variable names * [SCSS] Linting * Fix scss_lint gem name [ci skip] * [SCSS] Now you can compile with just Python! * Temporary hack to make the wiki editor taller * [SCSS] @jchristgit * [SCSS.py] Require specification of include dir to simplify the SCSS imports * [SCSS] All inline styles have been removed * [SCSS] Update UIKit theme to import from our variables * [SCSS] Remove extra newlines in errors/_common.scss --- pysite/base_route.py | 4 ++++ pysite/decorators.py | 1 - pysite/route_manager.py | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'pysite') diff --git a/pysite/base_route.py b/pysite/base_route.py index bb50afd9..51e5fbe0 100644 --- a/pysite/base_route.py +++ b/pysite/base_route.py @@ -49,6 +49,7 @@ class BaseView(MethodView, OAuthMixin): :param context: Extra data to pass into the template :return: String representing the rendered templates """ + context["current_page"] = self.name context["view"] = self context["logged_in"] = self.logged_in @@ -56,6 +57,7 @@ class BaseView(MethodView, OAuthMixin): context["static_file"] = self._static_file context["debug"] = DEBUG_MODE context["format_datetime"] = lambda dt: dt.strftime("%b %d %Y, %H:%M") if isinstance(dt, datetime) else dt + context["blueprint"] = self.blueprint def is_staff(): if DEBUG_MODE: @@ -117,6 +119,7 @@ class RouteView(BaseView): blueprint.add_url_rule(cls.path, view_func=cls.as_view(cls.name)) + cls.blueprint = blueprint.name cls.name = f"{blueprint.name}.{cls.name}" # Add blueprint to page name def redirect_login(self, **kwargs): @@ -203,6 +206,7 @@ class ErrorView(BaseView): error_code = None # type: Union[int, Iterable] register_on_app = True + blueprint = "error" # Because it doesn't truly have its own @classmethod def setup(cls: "ErrorView", manager: "pysite.route_manager.RouteManager", blueprint: Blueprint): diff --git a/pysite/decorators.py b/pysite/decorators.py index 705c519e..0dc1b092 100644 --- a/pysite/decorators.py +++ b/pysite/decorators.py @@ -29,7 +29,6 @@ def require_roles(*roles: int): @wraps(f) def inner(self: RouteView, *args, **kwargs): data = self.user_data - print(kwargs) if DEBUG_MODE: return f(self, *args, **kwargs) diff --git a/pysite/route_manager.py b/pysite/route_manager.py index c899cf02..79fb67ac 100644 --- a/pysite/route_manager.py +++ b/pysite/route_manager.py @@ -36,6 +36,10 @@ class RouteManager: self.app.config["PREFERRED_URL_SCHEME"] = PREFERRED_URL_SCHEME self.app.config["WTF_CSRF_CHECK_DEFAULT"] = False # We only want to protect specific routes + # Trim blocks so that {% block %} statements in templates don't generate blank lines + self.app.jinja_env.trim_blocks = True + self.app.jinja_env.lstrip_blocks = True + # We make the token valid for the lifetime of the session because of the wiki - you might spend some # time editing an article, and it seems that session lifetime is a good analogue for how long you have # to edit -- cgit v1.2.3