Mercurial > libervia-web
view libervia/server/html_tools.py @ 1417:314bba1ae433
pages: breadcrumbs handling:
a new `breadcrumbs` list of dict is created in `template_data`. By default it is
automatically filled by pages run to reach the requested URI, but a page can customize it.
A breadcrumb data dict must have a `label`, should have an `url` and may have an `icon`
(which is the name of a SàT Media well-known icon).
Pages may now have a `label` attribute, which is used to automatically fill the crumb
(otherwise page name then URI is used).
A new `add_breadcrumb` method can be used to manually breadcrumb data, in which case auto-filling is disabled.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 29 Apr 2021 20:48:35 +0200 |
parents | 822bd0139769 |
children | 106bae41f5c8 |
line wrap: on
line source
#!/usr/bin/env python3 # Libervia: a Salut à Toi frontend # Copyright (C) 2011-2021 Jérôme Poisson <goffi@goffi.org> # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. def sanitizeHtml(text): """Sanitize HTML by escaping everything""" # this code comes from official python wiki: http://wiki.python.org/moin/EscapingHtml html_escape_table = { "&": "&", '"': """, "'": "'", ">": ">", "<": "<", } return "".join(html_escape_table.get(c, c) for c in text) def convertNewLinesToXHTML(text): return text.replace("\n", "<br/>")