diff --git a/config.json b/config.json index d5449808d3ffc2d1758f8ebf512c3837a64d6ea4..f0573abd6ef5d7e5a60b890680d459219bb1c1c1 100644 --- a/config.json +++ b/config.json @@ -12,6 +12,14 @@ "external": "_blank" }, "default_status": "published", + "gitlab": { + "edit_url": { + "suffix": "" + }, + "view_url": { + "suffix": "?plain=1" + } + }, "pandoc": { "mimetypes": { "text/markdown": { diff --git a/docs/config.json b/docs/config.json index 63476134ba992caf75fafd2b9814938706119600..ba459a8a4e1368f506b757fa037f47b65aa8418c 100644 --- a/docs/config.json +++ b/docs/config.json @@ -4,6 +4,14 @@ { "link": "tag:admin" }, { "link": "tag:internal" } ], + "gitlab": { + "edit_url": { + "prefix": "https://gitlab.gwdg.de/-/ide/project/GAUMI-fginfo/fg-website/edit/master/-/docs/" + }, + "view_url": { + "prefix": "https://gitlab.gwdg.de/GAUMI-fginfo/fg-website/-/blob/master/docs/" + } + }, "lang": { "de": { "sitename": "Dokumentation Fachgruppenwebseite", diff --git a/fgs/datatypes.py b/fgs/datatypes.py index de7c6637d71889147a895d378caa0d785aa781cf..feb7b149f2e1aef8a730dc4cb406bf2d7acab9dd 100644 --- a/fgs/datatypes.py +++ b/fgs/datatypes.py @@ -127,6 +127,25 @@ class Page: #self.url = self.lang + '/' + self.category.name + '/' + self.slug + ".html" self.link = self._factories['link'].get_by_type("slug", self.slug, self.lang) + gitlabsettings = self._config["gitlab"] + + raw_edit_url = gitlabsettings["edit_url"]["prefix"] + raw_edit_url += '/'.join(self.subpath) + if len(self.subpath): + raw_edit_url += '/' + raw_edit_url += self.filename + raw_edit_url += gitlabsettings["edit_url"]["suffix"] + self.edit_url = self._factories['link'].get_by_raw(raw_edit_url, self.lang) + + raw_view_url = gitlabsettings["view_url"]["prefix"] + raw_view_url += '/'.join(self.subpath) + if len(self.subpath): + raw_view_url += '/' + raw_view_url += self.filename + raw_view_url += gitlabsettings["view_url"]["suffix"] + self.view_url = self._factories['link'].get_by_raw(raw_view_url, self.lang) + + def get_config(self): if not self._config: self._config = self._factories['config'].get(self.lang)