Template:Excerpt/doc
Page Module:Message box/ombox.css has no content.
This template uses Lua: |
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
orarticle
orpage
— Required. 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
orsection
orfragment
— 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 fileonly=files
— Transclude only files (example)only=list
— Transclude only the first listonly=lists
— Transclude only listsonly=table
— Transclude only the first tableonly=tables
— Transclude only tables (example)only=template
— Transclude only the first templateonly=templates
— Transclude only templatesonly=paragraph
— Transclude only the first paragraphonly=paragraphs
— Transclude only paragraphs
paragraphs
— Paragraphs to transclude. By default all paragraphs are transcluded.paragraphs=0
— Transclude no paragraphsparagraphs=1
— Transclude the first paragraphparagraphs=2
— Transclude the second paragraphparagraphs=1,3
— Transclude the first and third paragraphsparagraphs=1-3
— Transclude the first, second and third paragraphsparagraphs=1-3,5
— Transclude the first, second, third and fifth paragraphsparagraphs=-1
— Transclude all paragraphs except the firstparagraphs=-2
— Transclude all paragraphs except the secondparagraphs=-1,3
— Transclude all paragraphs except the first and thirdparagraphs=-1-3
— Transclude all paragraphs except the first, second and thirdparagraphs=-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 filesfiles=-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 blacklisttemplates=-Ocean, Nature
— Add the templates 'Ocean' and 'Nature' to the blacklisttemplates=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 setthis=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
- Module:Excerpt
- Module:Excerpt/config
- Module:Transcluder
- Articles that link to "Template:Excerpt" (unsorted)
- mw:Help:Labeled section transclusion – A more efficient method for simple section transclusions
- Wikipedia:Transclusion#Selective transclusion – how to transclude one or more sections of an article or project page into another
- Wikipedia:Summary style#Synchronization
- Wikipedia:Manual of Style/Lead section
- Wikipedia:WikiProject Introductions
- {{Transcluded section}} – creates hatnote but does not transclude the section
- {{Transcluding article}} – transcludes one or more entire pages
- wikipedia:Single source of truth
Template data
This template is used for transcluding part of an article into another article.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Article | 1 article page | Name of the article or page to transclude
| Page | required |
Section | 2 section fragment | Name of the section or <section> tag to transclude
| String | optional |
Only | only | Transclude only this kind of element
| String | optional |
Paragraphs | paragraphs paragraph | Paragraphs to transclude
| String | optional |
Files | files file | Files to transclude
| String | optional |
Tables | tables table | Tables to transclude
| String | optional |
Lists | lists list | Lists to transclude
| String | optional |
Templates | templates template | Templates to transclude
| String | optional |
References | references | Whether to transclude the references
| Boolean | optional |
Subsections | subsections | Whether to transclude the subsections of the requested section
| Boolean | optional |
Hatnote | hat | Whether to include the hatnote
| Boolean | optional |
This | this | Change the initial text of the hatnote
| String | optional |
Inline | inline | Remove the hatnote and wrap the excerpt with <span> tags to use it inside other text
| Boolean | optional |
Class | class | Additional CSS class
| String | optional |