diff --git a/doc/scripts/wikiparser.py b/doc/scripts/wikiparser.py
index 67de4475b..bed2bf698 100644
--- a/doc/scripts/wikiparser.py
+++ b/doc/scripts/wikiparser.py
@@ -558,6 +558,10 @@ def resolve_url(url, context):
url = url[3:]
page_title = page_title.rpartition('/')[0]
+ url = f'{BASE_URL}{page_title}/{url}'
+ elif url.startswith('/'):
+ page_title = context.get('title', '') if context else ''
+ url = url.lstrip('/')
url = f'{BASE_URL}{page_title}/{url}'
else:
url = f'{BASE_URL}{url}'
@@ -1606,6 +1610,11 @@ Features introduction'
'\
Contribute'
+ >>> generate_inner_docbook([Link('/Code', \
+[PlainText('Code')])], context={'title': 'FreedomBox/Contribute'})
+ '\
+Code'
+
>>> generate_inner_docbook([Link('DebianBug:1234', [PlainText('Bug')])])
'Bug'