Python sphinx.util.nodes.split_explicit_title() Examples
The following are 14
code examples of sphinx.util.nodes.split_explicit_title().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
sphinx.util.nodes
, or try the search function
.
Example #1
Source File: wikipedia.py From doc-kurento with Apache License 2.0 | 6 votes |
def gen_role(func, use_explicit=False): @wraps(func) def role(typ, rawtext, text, lineno, inliner, options={}, content=[]): has_explicit, title, other = split_explicit_title(utils.unescape(text)) args = [other] if use_explicit: args.append(has_explicit) result = func(*args) if isinstance(result, (list, tuple)): url, title = result else: url = result node = nodes.raw("", u"<a href='{url}'>{title}</a>".format(title=title, url=html_escape(url)), format="html") return [node], [] return role
Example #2
Source File: sphinx_issues.py From scikit-multiflow with BSD 3-Clause "New" or "Revised" License | 5 votes |
def user_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a user profile. Defaults to linking to Github profiles, but the profile URIS can be configured via the ``issues_user_uri`` config value. Example: :: :user:`sloria` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() config = inliner.document.settings.env.app.config if config.issues_user_uri: ref = config.issues_user_uri.format(user=target) else: ref = 'https://github.com/{0}'.format(target) if has_explicit_title: text = title else: text = '@{0}'.format(target) link = nodes.reference(text=text, refuri=ref, **options) return [link], []
Example #3
Source File: ext_releaseref.py From streamlink with BSD 2-Clause "Simplified" License | 5 votes |
def releaseref_role(name, rawtext, text, lineno, inliner, options={}, content=[]): config = inliner.document.settings.env.config text = text.replace("|version|", config.version) text = text.replace("|release|", config.release) has_explicit_title, title, target = split_explicit_title(text) if not has_explicit_title: title = os.path.basename(target) node = nodes.reference(rawtext, title, refuri=target, **options) return [node], []
Example #4
Source File: numdoc.py From typescript-guide with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def numdoc_role(name, rawtext, text, lineno, inliner, options={}, content=[]): """Role for making latex ref to the doc head.""" env = inliner.document.settings.env text = utils.unescape(text) has_explicit, title, target = split_explicit_title(text) pnode = nodes.inline(rawtext, title, classes=['xref','doc']) pnode['reftarget'] = target return [pnode], []
Example #5
Source File: rawlatex.py From typescript-guide with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def tex_role(name, rawtext, text, lineno, inliner, options={}, content=[]): """Role for inserting latex code as is.""" text = utils.unescape(text, restore_backslashes=True) has_explicit, texsnipet, target = split_explicit_title(text) pnode = nodes.raw(rawtext, texsnipet, format='latex') return [pnode], []
Example #6
Source File: numdoc_py3.py From typescript-guide with Creative Commons Attribution Share Alike 4.0 International | 5 votes |
def numdoc_role(name, rawtext, text, lineno, inliner, options={}, content=[]): """Role for making latex ref to the doc head.""" env = inliner.document.settings.env text = utils.unescape(text) has_explicit, title, target = split_explicit_title(text) pnode = nodes.inline(rawtext, title, classes=['xref','doc']) pnode['reftarget'] = target return [pnode], []
Example #7
Source File: sphinx_issues.py From scikit-optimize with BSD 3-Clause "New" or "Revised" License | 5 votes |
def user_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a user profile. Defaults to linking to Github profiles, but the profile URIS can be configured via the ``issues_user_uri`` config value. Examples: :: :user:`sloria` Anchor text also works: :: :user:`Steven Loria <sloria>` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() config = inliner.document.settings.env.app.config if config.issues_user_uri: ref = config.issues_user_uri.format(user=target) else: ref = "https://github.com/{0}".format(target) if has_explicit_title: text = title else: text = "@{0}".format(target) link = nodes.reference(text=text, refuri=ref, **options) return [link], []
Example #8
Source File: sphinx_issues.py From scikit-optimize with BSD 3-Clause "New" or "Revised" License | 5 votes |
def cve_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a CVE on https://cve.mitre.org. Examples: :: :cve:`CVE-2018-17175` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() ref = "https://cve.mitre.org/cgi-bin/cvename.cgi?name={0}".format(target) text = title if has_explicit_title else target link = nodes.reference(text=text, refuri=ref, **options) return [link], []
Example #9
Source File: sphinx_issues.py From ramp-workflow with BSD 3-Clause "New" or "Revised" License | 5 votes |
def user_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a user profile. Defaults to linking to Github profiles, but the profile URIS can be configured via the ``issues_user_uri`` config value. Example: :: :user:`sloria` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() config = inliner.document.settings.env.app.config if config.issues_user_uri: ref = config.issues_user_uri.format(user=target) else: ref = 'https://github.com/{}'.format(target) if has_explicit_title: text = title else: text = '@{}'.format(target) link = nodes.reference(text=text, refuri=ref, **options) return [link], []
Example #10
Source File: conf.py From detectron2 with Apache License 2.0 | 5 votes |
def paper_ref_role( typ: str, rawtext: str, text: str, lineno: int, inliner, options: Dict = {}, content: List[str] = [], ): """ Parse :paper:`xxx`. Similar to the "extlinks" sphinx extension. """ from docutils import nodes, utils from sphinx.util.nodes import split_explicit_title text = utils.unescape(text) has_explicit_title, title, link = split_explicit_title(text) link = link.lower() if link not in _PAPER_DATA: inliner.reporter.warning("Cannot find paper " + link) paper_url, paper_title = "#", link else: paper_url, paper_title = _PAPER_DATA[link] if "/" not in paper_url: paper_url = "https://arxiv.org/abs/" + paper_url if not has_explicit_title: title = paper_title pnode = nodes.reference(title, title, internal=False, refuri=paper_url) return [pnode], []
Example #11
Source File: doi_role.py From satpy with GNU General Public License v3.0 | 5 votes |
def doi_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) has_explicit_title, title, part = split_explicit_title(text) full_url = 'https://doi.org/' + part if not has_explicit_title: title = 'DOI:' + part pnode = nodes.reference(title, title, internal=False, refuri=full_url) return [pnode], []
Example #12
Source File: doi_role.py From satpy with GNU General Public License v3.0 | 5 votes |
def arxiv_role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) has_explicit_title, title, part = split_explicit_title(text) full_url = 'https://arxiv.org/abs/' + part if not has_explicit_title: title = 'arXiv:' + part pnode = nodes.reference(title, title, internal=False, refuri=full_url) return [pnode], []
Example #13
Source File: sphinx_issues.py From chainladder-python with Mozilla Public License 2.0 | 5 votes |
def user_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a user profile. Defaults to linking to GitHub profiles, but the profile URIS can be configured via the ``issues_user_uri`` config value. Example: :: :user:`sloria` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() config = inliner.document.settings.env.app.config if config.issues_user_uri: ref = config.issues_user_uri.format(user=target) else: ref = 'https://github.com/{0}'.format(target) if has_explicit_title: text = title else: text = '@{0}'.format(target) link = nodes.reference(text=text, refuri=ref, **options) return [link], []
Example #14
Source File: sphinx_issues.py From scikit-sports with MIT License | 5 votes |
def user_role(name, rawtext, text, lineno, inliner, options=None, content=None): """Sphinx role for linking to a user profile. Defaults to linking to Github profiles, but the profile URIS can be configured via the ``issues_user_uri`` config value. Example: :: :user:`sloria` """ options = options or {} content = content or [] has_explicit_title, title, target = split_explicit_title(text) target = utils.unescape(target).strip() title = utils.unescape(title).strip() config = inliner.document.settings.env.app.config if config.issues_user_uri: ref = config.issues_user_uri.format(user=target) else: ref = 'https://github.com/{0}'.format(target) if has_explicit_title: text = title else: text = '@{0}'.format(target) link = nodes.reference(text=text, refuri=ref, **options) return [link], []