aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
authorGravatar Hedy Li <[email protected]>2021-11-19 10:11:18 +0800
committerGravatar Johannes Christ <[email protected]>2023-05-06 11:04:36 +0200
commitb4e843ebc1fa35c457e59bfff252b252ef2ef77f (patch)
tree935b7e3a265e59e569710a473009d7552bfd4962 /pydis_site
parentMerge pull request #961 from python-discord/dependabot/pip/django-4.2.1 (diff)
feat: Edit on GitHub button for content articles
- Using `if pages` to check whether the page is an article or category doesn't work for /pages/guides - I still need to modify the styling and position of the button a bit - Should probably just use a static method and put src_url as context instead of having a template tag
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/content/templatetags/__init__.py0
-rw-r--r--pydis_site/apps/content/templatetags/page_src.py22
-rw-r--r--pydis_site/templates/content/base.html1
3 files changed, 23 insertions, 0 deletions
diff --git a/pydis_site/apps/content/templatetags/__init__.py b/pydis_site/apps/content/templatetags/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/pydis_site/apps/content/templatetags/__init__.py
diff --git a/pydis_site/apps/content/templatetags/page_src.py b/pydis_site/apps/content/templatetags/page_src.py
new file mode 100644
index 00000000..33f24b82
--- /dev/null
+++ b/pydis_site/apps/content/templatetags/page_src.py
@@ -0,0 +1,22 @@
+from django import template
+
+
+register = template.Library()
+
+
+def page_src_url(request_path: str) -> str:
+ """
+ Return the corresponding GitHub source URL for the current content article.
+
+ request_path is the relative path of an article, as returned by `request.path` in templates.
+
+ For example: /pages/rules/ would return:
+ https://github.com/python-discord/site/tree/main/pydis_site/apps/content/resources/rules.md
+ """
+ src_url = request_path.replace(
+ "/pages/",
+ "https://github.com/python-discord/site/tree/main/pydis_site/apps/content/resources/",
+ )
+ src_url = src_url[:-1] + ".md"
+ return src_url
diff --git a/pydis_site/templates/content/base.html b/pydis_site/templates/content/base.html
index 2fd721a3..8f6fd1d8 100644
--- a/pydis_site/templates/content/base.html
+++ b/pydis_site/templates/content/base.html
@@ -1,5 +1,6 @@
{% extends 'base/base.html' %}
{% load static %}
+{% load page_src %}
{% block title %}{{ page_title }}{% endblock %}
{% block head %}