File: 0004-Convert-markdown-links-to-html-hyperlinks.patch

package info (click to toggle)
confy 0.6.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,400 kB
  • sloc: python: 4,103; xml: 29; sh: 6; makefile: 4
file content (46 lines) | stat: -rw-r--r-- 1,870 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
From: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Date: Thu, 21 Jul 2022 23:02:22 +0200
Subject: Convert markdown links to html hyperlinks

The following is an example of the regex:

>>> orig
'some text about [debian](https://debian.org "woohoo") yay!'
>>> re.sub("\[([^]]+?)\]\(([^)\s]+?)(?:\s.*?)?\)", r'<a href="\2">\1</a>', orig)
'some text about <a href="https://debian.org">debian</a> yay!'

Closes #19
---
 src/pages.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/pages.py b/src/pages.py
index be772f5..caa4932 100644
--- a/src/pages.py
+++ b/src/pages.py
@@ -37,6 +37,10 @@ from .config import APP_NAME, APP_ID, APP_VERSION, FMT_DAY_LIST
 from . import models
 
 
+def _convert_markdown_links(text):
+    """converts markdown links to html hyperlinks"""
+    return re.sub("\[([^]]+?)\]\(([^)\s]+?)(?:\s.*?)?\)", r'<a href="\2">\1</a>', text)
+
 def _clean_markup(text):
     """remove unsupported markup from text to use in label"""
     text = text.replace("<p>", "").replace("</p>", "\n\n")
@@ -481,12 +485,12 @@ class EventDetailPage(BasePage):
         # By now just filter out, but a more in-depth look should be taken
         if obj.abstract is not None and obj.abstract != "" and obj.abstract != "None":
             label = Gtk.Label(**LBL_PROPS)
-            label.set_markup(_clean_markup(obj.abstract))
+            label.set_markup(_clean_markup(_convert_markdown_links(obj.abstract)))
             box.pack_start(label, False, False, 16)
 
         if obj.description is not None and obj.description != "" and obj.description != "None":
             label = Gtk.Label(**LBL_PROPS)
-            label.set_markup(_clean_markup(obj.description))
+            label.set_markup(_clean_markup(_convert_markdown_links(obj.description)))
             box.pack_start(label, False, False, 16)
 
         ## links