diff --git a/config.json b/config.json index cc5bb13db05d4853823c338d64d4605834f91194..21cc72c852dc2c908a04a98af4f530c9122e1bec 100644 --- a/config.json +++ b/config.json @@ -17,10 +17,16 @@ "default_status": "published", "gitlab": { "edit_url": { + "prefix": "<Insert GitLab link prefix here>", "suffix": "" }, "view_url": { + "prefix": "<Insert GitLab link prefix here>", "suffix": "?plain=1" + }, + "history_url": { + "prefix": "<Insert GitLab link prefix here>", + "suffix": "" } }, "pandoc": { diff --git a/docs/config.json b/docs/config.json index ba459a8a4e1368f506b757fa037f47b65aa8418c..32a27f235e57dda53b64c3bdb0ab79a111438902 100644 --- a/docs/config.json +++ b/docs/config.json @@ -10,6 +10,9 @@ }, "view_url": { "prefix": "https://gitlab.gwdg.de/GAUMI-fginfo/fg-website/-/blob/master/docs/" + }, + "history_url": { + "prefix": "https://gitlab.gwdg.de/GAUMI-fginfo/fg-website/-/commits/master/docs/" } }, "lang": { diff --git a/fgs/datatypes.py b/fgs/datatypes.py index a235b1a67e0b6497bac3b33f4717f00396eab08e..dbfd960845eec2c43c180ea7b46e2ce0cd02d2ac 100644 --- a/fgs/datatypes.py +++ b/fgs/datatypes.py @@ -153,6 +153,14 @@ class Page: raw_view_url += gitlabsettings["view_url"]["suffix"] self.view_url = self._factories['link'].get_by_raw(raw_view_url, self.lang) + raw_history_url = gitlabsettings["history_url"]["prefix"] + raw_history_url += '/'.join(self.subpath) + if len(self.subpath): + raw_history_url += '/' + raw_history_url += self.filename + raw_history_url += gitlabsettings["history_url"]["suffix"] + self.history_url = self._factories['link'].get_by_raw(raw_history_url, self.lang) + def get_config(self): if not self._config: diff --git a/lang.json b/lang.json index c6757a72afa788e69a3dab96e936ad6c0a3f031a..d752806167480f0fe04723d70d0133e20ad914b9 100644 --- a/lang.json +++ b/lang.json @@ -18,25 +18,27 @@ "date_format": "%d.%m.%Y %H:%M Uhr", "page": { "published_prefix": "Erstellt: ", - "published_suffix": "", - "modified_prefix": "Letzte Änderung: ", + "published_suffix": " | ", + "modified_prefix": "Letzte Änderung: ", "modified_suffix": "", "authors_prefix": "Author(en): ", "authors_suffix": "", "languages_prefix": "Sprachen: ", "languages_suffix": "", "category_prefix": "Kategorie: ", - "category_suffix": "", + "category_suffix": " | ", "tags_prefix": "Tags: ", "tags_suffix": "", "slug_prefix": "Slug: ", "slug_suffix": "", - "edit_url_text": "[Seite bearbeiten]", - "view_url_text": "[Quelltext]" + "edit_url_text": "[Seite bearbeiten]", + "view_url_text": "[Quelltext]", + "history_url_text": "[Historie]" }, "tag": { - "edit_url_text": "[Seite bearbeiten]", - "view_url_text": "[Quelltext]" + "edit_url_text": "[Text bearbeiten]", + "view_url_text": "[Quelltext]", + "history_url_text": "[Historie]" }, "atom": { "title": "<Dein Seitenname> Atom Feed" diff --git a/theme/templates/index.html b/theme/templates/index.html index 480e7d569e1704b904691d39f9b928b5761ada7c..e4e533e284c59803961b96bd9c91c33fcdca6299 100644 --- a/theme/templates/index.html +++ b/theme/templates/index.html @@ -14,7 +14,8 @@ <footer class="page-footer content"> <div> {{ common.render_link(page.edit_url, t[l].page.edit_url_text, l) }} | - {{ common.render_link(page.view_url, t[l].page.view_url_text, l) }} + {{ common.render_link(page.view_url, t[l].page.view_url_text, l) }} | + {{ common.render_link(page.history_url, t[l].page.history_url_text, l) }} </div> </footer> diff --git a/theme/templates/macros/common.html b/theme/templates/macros/common.html index 39f02cc922e49ceffbafc34740bbefede2934d45..63d9c7e73dd8e55c6be0df9ebfbfc34cb53269d6 100644 --- a/theme/templates/macros/common.html +++ b/theme/templates/macros/common.html @@ -2,14 +2,24 @@ {#- ############################# SPAN #################################### -#} -{%- macro softbreak_span(content) -%} - {%- set contentsplit = content.split('­')-%} +{%- macro encoded_span(content) -%} <span> - {%- for s in contentsplit -%} + {%- set shysplit = content.split('­')-%} + {%- for curshy in shysplit -%} {%- if not loop.first -%} ­ {%- endif -%} - {{ s|e }} + + {%- set nbspsplit = curshy.split(' ')-%} + {%- for curnbsp in nbspsplit -%} + {%- if not loop.first -%} + + {%- endif -%} + + {{ curnbsp|e }} + {%- endfor -%} + + {%- endfor -%} </span> {%- endmacro -%} @@ -64,7 +74,7 @@ {%- macro render_header(content, level, attr, lang, visuallyhidden=false, in_footer=false) -%} {%- call render_header_raw(content, level, attr, lang, visuallyhidden=visuallyhidden, in_footer=in_footer) -%} - {{ softbreak_span(content) }} + {{ encoded_span(content) }} {%- endcall -%} {%- endmacro -%} @@ -126,9 +136,9 @@ {%- call(objtype, obj) render_link_raw(link, content, lang, attr, title) -%} {%- if content is string or content is none -%} {%- if content is string and content|length -%} - {{ softbreak_span(content) }} + {{ encoded_span(content) }} {%- else -%} - {{ softbreak_span(obj.title) }} + {{ encoded_span(obj.title) }} {%- endif -%} {%- else -%} <strong>ERROR: Cannot render link with formatted content here.</strong> diff --git a/theme/templates/macros/content_renderer.html b/theme/templates/macros/content_renderer.html index 8ea6bf2ac00613e038295ee234f184e474f0f8eb..c7953a1c926fb1e7d18eda4d6e949de87dd1f6e5 100644 --- a/theme/templates/macros/content_renderer.html +++ b/theme/templates/macros/content_renderer.html @@ -10,9 +10,9 @@ {%- call(objtype, obj) common.render_link_raw(link, content, lang, attr, title) -%} {%- if content is string or content is none -%} {%- if content is string and content|length -%} - {{ common.softbreak_span(content) }} + {{ common.encoded_span(content) }} {%- else -%} - {{ common.softbreak_span(obj.title) }} + {{ common.encoded_span(obj.title) }} {%- endif -%} {%- else -%} {{ render_inlines(content, lang) }} diff --git a/theme/templates/page.html b/theme/templates/page.html index 05e5017e16404998b55e326d7b12aaf5cf63b07e..adca84700330683f8318efbd94301adfd888f582 100644 --- a/theme/templates/page.html +++ b/theme/templates/page.html @@ -1,6 +1,6 @@ {% extends "base.html" %} -{% block title %}{{ t[l].title_prefix }}{{ common.softbreak_span(page.title)|striptags }}{{ t[l].title_seperator }}{{ common.softbreak_span(page.category.title)|striptags }}{{ t[l].title_seperator }}{{ t[l].sitename }}{{ t[l].title_suffix }}{% endblock %} +{% block title %}{{ t[l].title_prefix }}{{ common.encoded_span(page.title)|striptags }}{{ t[l].title_seperator }}{{ common.encoded_span(page.category.title)|striptags }}{{ t[l].title_seperator }}{{ t[l].sitename }}{{ t[l].title_suffix }}{% endblock %} {% block extra_head %} {% endblock %} @@ -42,9 +42,7 @@ {{ page.date_created.strftime(t[l].date_format) }} </time> {{ t[l].page.published_suffix }} - </div> - - <div>{{ t[l].page.modified_prefix }} + {{ t[l].page.modified_prefix }} <time datetime="{{ page.date_modified.isoformat() }}"> {{ page.date_modified.strftime(t[l].date_format) }} </time> @@ -52,12 +50,9 @@ </div> <div> - {{ t[l].page.category_prefix }} + {#-{{ t[l].page.category_prefix }} {{ common.render_link_tag(page.category,l) }} - {{ t[l].page.category_suffix }} - </div> - - <div> + {{ t[l].page.category_suffix }}-#} {{ t[l].page.tags_prefix }} {% for tag in page.tags %} {{ common.render_link_tag(tag,l) }} @@ -100,7 +95,8 @@ <div> {{ common.render_link(page.edit_url, t[l].page.edit_url_text, l) }} | - {{ common.render_link(page.view_url, t[l].page.view_url_text, l) }} + {{ common.render_link(page.view_url, t[l].page.view_url_text, l) }} | + {{ common.render_link(page.history_url, t[l].page.history_url_text, l) }} </div> </footer> diff --git a/theme/templates/tag.html b/theme/templates/tag.html index de38594d44e51308784f36470d07a72067bcc991..4c5873b069da40a334a9447f8660e417688e67a4 100644 --- a/theme/templates/tag.html +++ b/theme/templates/tag.html @@ -1,6 +1,6 @@ {% extends "base.html" %} -{% block title %}{{ t[l].title_prefix }}{{ common.softbreak_span(tag.title)|striptags }}{{ t[l].title_seperator }}{{ t[l].sitename }}{{ t[l].title_suffix }}{% endblock %} +{% block title %}{{ t[l].title_prefix }}{{ common.encoded_span(tag.title)|striptags }}{{ t[l].title_seperator }}{{ t[l].sitename }}{{ t[l].title_suffix }}{% endblock %} {% block breadcrumb %} {{ nav.render_breadcrumb_menu(tag, l) }} @@ -17,7 +17,8 @@ <footer class="page-footer content"> <div> {{ common.render_link(tag.page.edit_url, t[l].tag.edit_url_text, l) }} | - {{ common.render_link(tag.page.view_url, t[l].tag.view_url_text, l) }} + {{ common.render_link(tag.page.view_url, t[l].tag.view_url_text, l) }} | + {{ common.render_link(tag.page.history_url, t[l].tag.history_url_text, l) }} </div> </footer> {%- endif -%}