Skip to content

Confusion around code/literal/monospace markup and elements. #2113

@gmilde

Description

@gmilde

The markup languages used in Moin support up to four "inline literal" elements (typically rendered in a monospace font) with different semantics:

DocBook           HTML/      Markdown  rST           MoinWiki¹   Creole³
                  Mediawiki
----------------  ---------  --------  ------------  ----------  ----------
<code>            <code>     `text`    :code:`text`  {{{text}}}  
<userinput>       <kbd>      <kbd>     :kbd:`text`
<computeroutput>  <samp>     <samp>    :samp:`text`
<literal>         <tt>²      <tt>²     ``text``      `text`      {{{text}}}

¹according to the documentation

²The "generic monospace" tag <tt> is deprecated since HTML 4.1 and obsolete in HTML 5. Moin's common.css allows representation as <span class=monospace>.

³Creole's {{{Monospace}}} may be generic or source code. Documentation differs and the original specification seems lost.


However, the implementation is inconsistent:

Since commit [5ad07c4] (2017-03-29), the Moinpage tree uses the elements, moinpage.code and moinpage.samp.
html_out.py maps them to the respective HTML elements.

html_in.py and markdown_in.py map <code>, <samp>, and <tt> to moinpage.code.

docbook_in.py maps <code> and <computeroutput> to moinpage.codeandto moinpage.span(element="userinput")`.

moin_in.py and moin_out.py map {{{text}}} to moinpage.samp and the backticks to moinpage.code.
This differs from the documentation.

markdown_in.py maps backticks to moinpage.code.

markdown_out.py maps moinpage.samp and moinpage.code to the backticks.


Questions

  • Should there be separate support for

    • moinpage.code,
    • moinpage.kbd,
    • moinpage.literal (or moinpage.tt or moinpage.monospace),
    • moinpage.samp?
  • Should the backticks in MoinWiki markup represent "code", "computer output"
    (samp) or "literal" (generic monospace)?

  • Should {{{ ... }}} in MoinWiki markup represent "code" or "computer output" (samp)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions