Help:ProofWiki Extension

From ProofWiki
Jump to: navigation, search

The $\mathsf{Pr} \infty \mathsf{fWiki}$ extension

Through the efforts of Joe and Lord_Farin, an extension of the MediaWiki software tailored to the needs of $\mathsf{Pr} \infty \mathsf{fWiki}$ has been developed.

Its prime features are:

  • A method to transclude pages section-wise and adjust the header sizes as appropriate;
  • A method to fold/unfold sections whose content is not of paramount relevance, but deserves to be included.

Both of these features are accomplished through two custom constructs, documented below. It is helpful (but not necessary) to be up to speed with MediaWiki's transclusion mechanism before reading this documentation.


The <section> tag

The <section> tag is a semantic anchor, designed to structure pages in a way suitable for both transclusion and folding.

The basic syntax is:

<section title="Section title">
Content
</section>

which renders the same as:

== Section title ==
Content

It further supports the following options, which should be entered as option="value" parameters to the <section> tag;

  1. title - Sets the title of the section. Defaults to "Section".
  2. notitle - If this option occurs, a title for the section will be suppressed; useful for leaving out that annoying initial sentence when transcluding. Incompatible with foldable.
  3. foldable - If this has the value true, the section will be "folded" initially; a link in the section title will allow readers to expand the content. Folding delays rendering of MathJax. Incompatible with notitle.
  4. header - Sets the header level of the section (corresponding to the number of =s in regular wiki syntax).
  5. name - The name of a section can be used to provide section-wise transclusion, via the {{transclude}} template.


Known issues/limitations

One cannot use the character > in the parameters to <section>. In particular, HTML is not supported; another common instigator of this issue will be inequalities like $2 > 3$.

Erratic behaviour may occur when including <section> and </section> commands in <nowiki> markers.


The {{transclude}} template

The {{transclude}} template is a more versatile implementation of the basic transclusion mechanism.

The basic syntax is:

{{transclude:Page Title
  |section = section_name
}}

which roughly has the same effect as:

{{:Page Title}}

if the section section_name is enclosed in onlyinclude markers.


Note that the title of the to-be-transcluded page is to be separated from transclude by a colon, :, instead of a pipe, |.

It further supports the following options, which should be entered as template parameters, |option = value, to the {{transclude}} template:

  1. title - Sets the title of the section. Defaults to no title.
  2. section - Transcludes only the section whose name is value.
  3. link - The title of the transcluded section is a link to value. The special option true provides a link to the transclusion target page.
  4. increase - Increases the header level of all transcluded sections by value, which must be positive.
  5. header - The header level of the transcluded section. Defaults to two =s.
  6. foldable - If set to true, the transcluded section will be foldable.


Known issues/limitations

Transclusion fails if the opening and closing <section> tags do not match in the transclusion target page.

Transclusion is executed by means of <section> tags, so the issues and limitations of those apply to {{transclude}} as well.