Merge pull request #208762 from ncfavier/link-manpages-options-doc

This commit is contained in:
Naïm Favier 2023-01-09 11:57:01 +01:00 committed by GitHub
commit bff4bb5540
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 82 additions and 50 deletions

View file

@ -1,5 +1,6 @@
import collections
import json
import os
import sys
from typing import Any, Dict, List
@ -46,6 +47,8 @@ def unpivot(options: Dict[Key, Option]) -> Dict[str, JSON]:
result[opt.name] = opt.value
return result
manpage_urls = json.load(open(os.getenv('MANPAGE_URLS')))
admonitions = {
'.warning': 'warning',
'.important': 'important',
@ -119,9 +122,14 @@ class Renderer(mistune.renderers.BaseRenderer):
def env(self, text):
return f"<envar>{escape(text)}</envar>"
def manpage(self, page, section):
man = f"{page}({section})"
title = f"<refentrytitle>{escape(page)}</refentrytitle>"
vol = f"<manvolnum>{escape(section)}</manvolnum>"
return f"<citerefentry>{title}{vol}</citerefentry>"
ref = f"<citerefentry>{title}{vol}</citerefentry>"
if man in manpage_urls:
return self.link(manpage_urls[man], text=ref)
else:
return ref
def finalize(self, data):
return "".join(data)