1. 10 May, 2021 1 commit
    • Kevin Morris's avatar
      port over base HTML layout from PHP to FastAPI+Jinja2 · 79cb7632
      Kevin Morris authored
      
      
      + Mounted static files (at web/html) to /static.
      + Added AURWEB_VERSION to aurweb.config (this is used around HTML
        to refer back to aurweb's release on git.archlinux.org), so we
        need it easily accessible in the Python codebase.
      + Implemented basic Jinja2 partials to put together whole aurweb
        pages. This may be missing some things currently and is a WIP
        until this set is ready to be merged.
      + Added config [options] aurwebdir = YOUR_AUR_ROOT; this configuration
        option should specify the root directory of the aurweb project.
        It is used by various parts of the FastAPI codebase to target
        project directories.
      
      Added routes via aurweb.routers.html:
          * POST /language: Set your session language.
          * GET /favicon.ico: Redirect to /static/images/favicon.ico.
              * Some browsers always look for $ROOT/favicon.ico to get an icon
                for the page being loaded, regardless of a specified "shortcut
                icon" given in a <link> directive.
          * GET /: Home page; WIP.
      
      * Updated aurweb.routers.html.language passes query parameters to
        its next redirection.
      
      When calling aurweb.templates.render_template, the context passed should
      be formed via the aurweb.templates.make_context. See
      aurweb.routers.html.index for an example of this.
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      79cb7632
  2. 02 May, 2021 1 commit
    • Kevin Morris's avatar
      aurweb: Globalize a Translator instance, add more utility · 93bac8ec
      Kevin Morris authored and Lukas Fleischer's avatar Lukas Fleischer committed
      
      
      + Added SUPPORTED_LANGUAGES, a global constant dictionary of
        language => display pairs for languages we support.
      + Add Translator.get_translator, a function used to retrieve a
        translator after initializing it (if needed). Use `fallback=True`
        while creating languages, in case we setup a language that we
        don't have a translation for, it will noop the translation.
        This is particularly useful for "en," since we do not translate
        it, but doing this will allow us to go through our normal translation
        flow in any case.
      + Added typing.
      + Added get_request_language, a function that grabs the language for
        a request session, defaulting to aurweb.config [options] default_lang.
      + Added get_raw_translator_for_request, a function that retrieves
        the concrete translation object for a given language.
      + Added tr, a jinja2 contextfilter that can be used to inline translate
        strings in jinja2 templates.
      + Added `python-jinja` dep to .gitlab-ci.yml. This needs to be
        included in documentation before this set is merged in.
      + Introduce pytest units (test_l10n.py) in `test` along with
        __init__.py, which marks `test` as a test package.
      + Additionally, fix up notify.py to use the global translator. Also
        reduce its source width to <= 80 by newlining some code.
      + Additionally, prepare locale in .gitlab-ci.yml and add
        aurweb.config [options] localedir to config.dev with YOUR_AUR_ROOT
        like others.
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      Signed-off-by: Lukas Fleischer's avatarLukas Fleischer <lfleischer@archlinux.org>
      93bac8ec
  3. 20 Feb, 2021 3 commits