60202129ec
* add process manager * process manager updating * control connectivity from inside manager * missing method on execute_process function signature * adds tinydb depenedency for requirements-provider * adds some processes tests * process manager under server config, not a process * additional html rendering for jobs and processes * fixes typo in docstring * complete html templating for jobs and processes * considers timezone when formatting processing start/end datetimes * expanded locales; locale and tz environment variables * makes environment TZ a global from pygeoapi/__init__.py * don't redefine built-in format * adds placeholder values in process form if given as examples * placeholder in form handles null example * changes to process progress update * updates and changes to processing web UI * adds python3-distutils dep, and env changes for TZs and locales * adds tinydb dependency for processes * Adds libpq-dev and related deps for processing - should eventually be reconciled * minor margin change * fix bug in postJob.js that prevented results from displaying * move process elements around to economise on space * adds second, complex process * post data may be bytes * make external process example * adds redis process manager (may be moved to third-party plugin eventually) * reintroduce default async processing; refactoring managers; improving sync/async processing ui * throw pygeoapi ManagerExecuteError, not redis exception * adds test for async-execute * restores original test host * separates async execute handler function * adds support for file uploads as processing inputs * adds endpoint for file download as process output * naming consistency * Fix job submission form in case server url is relative (#549) `new URL()` fails if the first argument isn't a complete url * Implement job deletion in UI, api and tinydb * Also allow deletion from job list The UI could be fancier by reloading the page or just removing the deleted job right away, but I don't want to start building that now. * Delete output file when deleting a job * typo in test case * move delete button in job view * remove Dockerfile changes (cf #470) * removes some docs/source*.rst absent in master * fixes whitespace * fixes pip installs * removes more locale-specific content, cf 70 * fixes duplicate app following merge * removes redis as default plugin * removes ENV_TZ, cf #407 * fix typo * fixes syntax error * process execution test cleanup * Fix format detection in execute_process (#589) Before, html was always selected. * remove db files in code directories, fix flake8, specific functionality * remove interactive capabilities in lieu of Swagger * Add basic openapi documentation for job detail endpoint (#590) It's somewhat superficial still, e.g. jobId is missing as proper parameter in the UI. * Show elapsed time for currently running jobs (#591) * flake8, jobs workflow * update docs, DB path in test config * more code cleanup * manager workflow cleanup * add default dummy manager * update docs * fix routes * fixed per comments * fix per comments * fix per comments * fix travis * simply describe process logic * simplify describe process logic Co-authored-by: Tom Kralidis <tomkralidis@gmail.com> Co-authored-by: Jorge de Jesus <jorge.jesus@gmail.com> Co-authored-by: totycro <bernhard.mallinger@eox.at> Co-authored-by: Richard Law <richard.law@cartoncloud.com.au>
37 lines
1.8 KiB
ReStructuredText
37 lines
1.8 KiB
ReStructuredText
.. _html-templating:
|
|
|
|
HTML Templating
|
|
===============
|
|
|
|
pygeoapi uses `Jinja`_ as its templating engine to render HTML and `Flask`_ to provide route paths of the API that returns HTTP responses. For complete details on how to use these modules, refer to the `Jinja documentation`_ and the `Flask documentation`_.
|
|
|
|
The default pygeoapi configuration has ``server.templates`` commented out and defaults to the pygeoapi ``pygeoapi/templates`` and ``pygeoapi/static`` folder. To point to a different set of template configuration, you can edit your configuration:
|
|
|
|
.. code-block:: yaml
|
|
|
|
server:
|
|
templates:
|
|
path: /path/to/jinja2/templates/folder # jinja2 template HTML files
|
|
static: /path/to/static/folder # css, js, images and other static files referenced by the template
|
|
|
|
**Note:** the URL path to your static folder will always be ``/static`` in your deployed web instance of pygeoapi.
|
|
|
|
Your templates folder should mimic the same file names and structure of the default pygeoapi templates. Otherwise, you will need to modify ``api.py`` accordingly.
|
|
|
|
Linking to a static file in your HTML templates can be done using Jinja syntax and the exposed ``config['server']['url']``:
|
|
|
|
.. code-block:: html
|
|
|
|
<!-- CSS example -->
|
|
<link rel="stylesheet" href="{{ config['server']['url'] }}/static/css/default.css">
|
|
<!-- JS example -->
|
|
<script src="{{ config['server']['url'] }}/static/js/main.js"></script>
|
|
<!-- Image example with metadata -->
|
|
<img src="{{ config['server']['url'] }}/static/img/logo.png" title="{{ config['metadata']['identification']['title'] }}" />
|
|
|
|
|
|
.. _`Jinja`: https://palletsprojects.com/p/jinja/
|
|
.. _`Jinja documentation`: https://jinja.palletsprojects.com
|
|
.. _`Flask`: https://palletsprojects.com/p/flask/
|
|
.. _`Flask documentation`: https://flask.palletsprojects.com
|