Template:Excerpt/doc

From Asmbly Wiki

Page Module:Message box/ombox.css has no content.

This template is used for reusing parts of pages in other pages. This practice has the following advantages:

  • Reduces maintenance by avoiding duplicate content that must be updated multiple times
  • Improves content quality by encouraging editors to merge related content, rather than having multiple versions in various stages of development
  • Fosters collaboration by channeling contributors into one place, rather than working in parallel

It also has the following disadvantages:

  • Impediment to editing as you have to go to the sub article to make changes to the main article
  • Reduces accuracy as an excerpt of one article is not always a perfect fit into a new article (but see #Refinement using inclusion control)
  • Decreases visibility as changes to the sub article will not appear on the watchlist of editors of the main article

This template extends the capabilities of the built-in normal transclusion and labeled section transclusion.

Usage

Basic usage

  • {{Excerpt|Page title}} — Transclude the lead section (example)
  • {{Excerpt|Page title|Section title}} — Transclude a specific section, excluding any subsections (example)

Parameters

  • 1 or article or pageRequired. Name of the article or page to transclude. By default the lead section is transcluded (example). If the page contains an infobox, the image and caption of the infobox will be transcluded but not the infobox. Also, templates listed at Module:Excerpt/config will not be transcluded (unless requested explicitly with |templates=, see below).
  • 2 or section or fragment — Name of the section to transclude (example) or of the <section> tag to transclude (example). Must be marked with <section begin=Name of the fragment/> and <section end=Name of the fragment/> in the transcluded page. Notice that this template provides other ways of targeting specific fragments of a page without having to resort to section tags.
  • only — Elements to transclude. By default all elements are transcluded (except templates blacklisted at Module:Excerpt/config)
    • only=file — Transclude only the first file
    • only=files — Transclude only files (example)
    • only=list — Transclude only the first list
    • only=lists — Transclude only lists
    • only=table — Transclude only the first table
    • only=tables — Transclude only tables (example)
    • only=template — Transclude only the first template
    • only=templates — Transclude only templates
    • only=paragraph — Transclude only the first paragraph
    • only=paragraphs — Transclude only paragraphs
  • paragraphs — Paragraphs to transclude. By default all paragraphs are transcluded.
    • paragraphs=0 — Transclude no paragraphs
    • paragraphs=1 — Transclude the first paragraph
    • paragraphs=2 — Transclude the second paragraph
    • paragraphs=1,3 — Transclude the first and third paragraphs
    • paragraphs=1-3 — Transclude the first, second and third paragraphs
    • paragraphs=1-3,5 — Transclude the first, second, third and fifth paragraphs
    • paragraphs=-1 — Transclude all paragraphs except the first
    • paragraphs=-2 — Transclude all paragraphs except the second
    • paragraphs=-1,3 — Transclude all paragraphs except the first and third
    • paragraphs=-1-3 — Transclude all paragraphs except the first, second and third
    • paragraphs=-1-3,5 — Transclude all paragraphs except the first, second, third and fifth
  • lists — Lists to transclude. By default all lists are transcluded. Same syntax as when transcluding paragraphs.
  • files — Files to transclude. By default all files are transcluded. Same syntax as when transcluding paragraphs, but also:
    • files=A.jpg — Transclude the file named 'A.jpg'
    • files=A.jpg, B.png, C.gif — Transclude the files named 'A.jpg', 'B.png' and 'C.gif'
    • files=.+%.png — Transclude all PNG files
    • files=-A.jpg — Transclude all files except the one named 'A.jpg'
    • files=-A.jpg, B.png, C.gif — Transclude all files except the ones named 'A.jpg', 'B.png' and 'C.gif'
    • files=-.+%.png — Transclude all non-PNG files
  • tables — Tables to transclude. By default all tables are transcluded. Same syntax as when transcluding paragraphs, but also:
    • tables=Stats2020 — Transclude the table with id 'Stats2020'
    • tables=Stats2020, Stats2019, Stats2018 — Transclude the tables with ids 'Stats2020', 'Stats2019' and 'Stats2018'
    • tables=-Stats2020 — Transclude all tables except the one with id 'Stats2020'
    • tables=-Stats2020, Stats2019, Stats2018 — Transclude all tables except the ones with ids 'Stats2020', 'Stats2019' and 'Stats2018'
  • templates — Templates to transclude. By default all templates are transcluded except those blacklisted at Module:Excerpt/config. Using a hyphen before a comma-delimited list of templates adds those templates to the blacklist.
    • templates=-Ocean — Add the template 'Ocean' to the blacklist
    • templates=-Ocean, Nature — Add the templates 'Ocean' and 'Nature' to the blacklist
    • templates=Infobox person — Ignore the blacklist and transclude the template 'Infobox person'
    • templates=Infobox person, Ocean — Ignore the blacklist and transclude the templates 'Infobox person' and 'Ocean'
    • templates=.* — Ignore the blacklist and transclude all templates
  • this — Change the initial text of the hatnote. For example, if the transcluded content is a gallery, you can set this=This gallery is so that the hatnote reads "This gallery is an excerpt from..." (example).
  • hat=no — Hide the hatnote "This section is an excerpt from..."
  • bold=yes — Preserve bold text.
  • quote=yes — Wrap the excerpt with <blockquote> tags.
  • inline=yes — Remove the hatnote and wrap the excerpt with <span> tags to use it inside other text.
  • references=no — Remove all references.
  • subsections=yes — Include subsections of the transcluded section. Notice that if the transclusion is done from a section level 3, and the transcluded subsections are level 3 too, then the transcluded subsections will show with the same hierarchy as the transcluding section, which is probably not desirable, so use with caution.

Refinement using inclusion control

Sometimes, a passage will almost fit for a transclusion, but not quite. In these cases, you can edit the source page to add <noinclude>...</noinclude> tags around content you don't want in the excerpt and <includeonly>...</includeonly> tags around content you want only in the excerpt.

For instance, the page COVID-19 misinformation begins The COVID-19 pandemic has resulted in misinformation.... However, when excerpting this lead to the misinformation section of COVID-19 pandemic, we don't need to specify which pandemic we're referring to. Therefore, the code The <noinclude>[[COVID-19 pandemic]]</noinclude><includeonly>pandemic</includeonly> has resulted in [[misinformation]] can be used at the misinformation page, so that it will appear at the pandemic page as The pandemic has resulted in misinformation....

For pages with a high volume of edits, it may be a good idea to leave a hidden comment explaining why the tags are there, so that no one will be tempted to remove them.

Please note that when the </noinclude> tag is wrapped into a new line, a character next to it would be interpreted as a line beginning. This can lead to some formatting problems. For example, when a </noinclude> at line beginning is succeeded by a whitespace character, the page engine would translate this as a leading space that renders the subsequent paragraph in code block and monospaced font with preserved formatting. For this reason, no spaces should separate the </noinclude> tag from the text it precedes.

Compared to #section

For simple cases of transcluding sections of articles, the {{#section}}, {{#section-x}}, and {{#section-h}} (abbreviated {{#lst}}, {{#lstx}}, and {{#lsth}})) parser functions can be used instead of this template. {{#lsth:article|fragmentname}} will transclude the section of "article" with the header "fragmentname", and {{#lsth:article}} will transclude the lead section of "article". Excerpting only specific paragraphs can be done by marking up the source article with <section begin=fragmentname/>...<section end=fragmentname/> tags and using {{#lst:article|fragmentname}} to transclude those fragments, which is equivalent to using the |fragment=fragmentname parameter with this template. {{#lsth:article|fragmentname}} can also be used to transclude everything but those fragments.

The text will not be trimmed of excess whitespace, there will not be a header (equivalent to |nohat=yes, and all files, templates, tables, references, and subsections will be included unless the source article is marked up with <section begin=fragmentname/>...<section end=fragmentname/>, <noinclude>...</noinclude>, or <onlyinclude>...</onlyinclude> tags. Self links will appear in bold.

See also

Template data

This template is used for transcluding part of an article into another article.

Template parameters

ParameterDescriptionTypeStatus
Article1 article page

Name of the article or page to transclude

Example
Science
Pagerequired
Section2 section fragment

Name of the section or <section> tag to transclude

Example
History
Stringoptional
Onlyonly

Transclude only this kind of element

Example
table
Stringoptional
Paragraphsparagraphs paragraph

Paragraphs to transclude

Example
1-3,5
Stringoptional
Filesfiles file

Files to transclude

Default
1
Example
1-3,5
Stringoptional
Tablestables table

Tables to transclude

Example
Stats2020
Stringoptional
Listslists list

Lists to transclude

Example
1
Stringoptional
Templatestemplates template

Templates to transclude

Example
Infobox person
Stringoptional
Referencesreferences

Whether to transclude the references

Example
no
Booleanoptional
Subsectionssubsections

Whether to transclude the subsections of the requested section

Example
yes
Booleanoptional
Hatnotehat

Whether to include the hatnote

Example
no
Booleanoptional
Thisthis

Change the initial text of the hatnote

Example
This gallery is
Stringoptional
Inlineinline

Remove the hatnote and wrap the excerpt with <span> tags to use it inside other text

Example
yes
Booleanoptional
Classclass

Additional CSS class

Example
noprint
Stringoptional