<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://youjo.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chizu</id>
	<title>youjo.love wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://youjo.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chizu"/>
	<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Special:Contributions/Chizu"/>
	<updated>2026-10-17T11:30:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://youjo.wiki/index.php?title=youjo:Pleroma_FAQ&amp;diff=2059</id>
		<title>youjo:Pleroma FAQ</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=youjo:Pleroma_FAQ&amp;diff=2059"/>
		<updated>2026-08-20T00:19:52Z</updated>

		<summary type="html">&lt;p&gt;Chizu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FAQ ==&lt;br /&gt;
=== I want to register for this site! ===&lt;br /&gt;
Please visit the full wiki page for this question, [[youjo:Pleroma_Registration|here.]]&lt;br /&gt;
=== What are the rules? ===&lt;br /&gt;
[[youjo:Pleroma_Rules|View them here.]]&lt;br /&gt;
=== The upload limit is not high enough! ===&lt;br /&gt;
The upload limit cannot be increased unless you are willing to pay for the costs associated with it.&lt;br /&gt;
=== Will youjo be around forever? ===&lt;br /&gt;
This service is run for free, but there is no guarantee that it will be permanently available and could disappear at any time without warning. We are suceptable to lack of funds and losing our domains and hosting.&lt;br /&gt;
=== What mobile app can I use? ===&lt;br /&gt;
Recommended android mobile client: [https://github.com/tateisu/SubwayTooter Subway Tooter]&lt;br /&gt;
This client is compatible with most features on this instance, except polls and image posts which contain more than four entries.&lt;br /&gt;
=== I&#039;m using Tor and it doesn&#039;t work properly ===&lt;br /&gt;
Users connecting through the Tor Browser Bundle (TBB) will not be able to upload profile pictures, this is due to it blocking HTML5 Canvas Images. You can temporarily disable it if you wish to upload one.&lt;br /&gt;
=== I want to report someone ===&lt;br /&gt;
If you have a problem with a user who isn&#039;t breaking the rules, that is for you to solve with the block or mute options, do not drag me (The Admin) into it.&lt;br /&gt;
=== I need a password reset ===&lt;br /&gt;
Please contact youjodotlove (at) ko-net.ws, proof of account ownership will be required.&lt;br /&gt;
=== I am a group of people or an activism organisation that wishes to join ===&lt;br /&gt;
Organisations that would be interested in joining, please email us at youjodotlove (at) ko-net.ws or direct message the administrator through another fediverse instance, we are more than happy to consider an application. Please allow time for us to respond.&lt;br /&gt;
=== I want to run a bot ===&lt;br /&gt;
Bots may be allowed, please contact the admin to talk about it. Unlisted posting is a requirement.&lt;br /&gt;
=== I want to use the emojis from youjo on my own instance ===&lt;br /&gt;
Most emojis are not made by us or for us, and these you can take as we can claim no ownership over them. &lt;br /&gt;
&lt;br /&gt;
However, some of them are made by us and by users on our instance. We cannot give permission for you to take these by default, but if you ask nicely, we can ask the artists who made them if they are OK with you using them.&lt;br /&gt;
These include:&lt;br /&gt;
* The paci pack;&lt;br /&gt;
* Most of the MAP pack (mapsob, mapbased, noantis, mapheart, maphearteyes, mapcrossedflags, mapegg, mappilled, map_ak47, mapcommunism, mapsus and possibly more);&lt;br /&gt;
* &amp;quot;YesUnder18&amp;quot; from the various pack;&lt;br /&gt;
* &amp;quot;nepisob&amp;quot; from the twemoji pack;&lt;br /&gt;
* The Youko Pack&lt;br /&gt;
* And, The youjo logo from the icons pack.&lt;br /&gt;
* This list may be out of date, if in doubt, ask.&lt;br /&gt;
&lt;br /&gt;
Emoji Credits:&lt;br /&gt;
* Pixel-* emojis from [https://ko-fi.com/bentu404/shop 乱涂乱画BEN (KoFi)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Non exhaustive list, contact the admin for other questions.&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=youjo:Pleroma_Keybinds&amp;diff=2034</id>
		<title>youjo:Pleroma Keybinds</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=youjo:Pleroma_Keybinds&amp;diff=2034"/>
		<updated>2023-08-07T01:18:29Z</updated>

		<summary type="html">&lt;p&gt;Chizu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keybinds for the Custom youjo.love keybind script:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post Navigation&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| J || Select Next Post&lt;br /&gt;
|-&lt;br /&gt;
| K || Select Previous Post&lt;br /&gt;
|-&lt;br /&gt;
| G || Toggle CW Posts&lt;br /&gt;
|-&lt;br /&gt;
| Alt + N || Focus Notification Panel (J and K to Navigate)&lt;br /&gt;
|-&lt;br /&gt;
| Alt + H || Focus Main Timeline&lt;br /&gt;
|-&lt;br /&gt;
| Alt + D || Deselect Post (Requires a Selected Post)&lt;br /&gt;
|-&lt;br /&gt;
| W || Show New Posts in Timeline&lt;br /&gt;
|-&lt;br /&gt;
| M || Mark Notifications Read&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post Interactions&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action (Requires a Selected Post)&lt;br /&gt;
|-&lt;br /&gt;
| R || Reply&lt;br /&gt;
|-&lt;br /&gt;
| Q || Quote&lt;br /&gt;
|-&lt;br /&gt;
| T || Boost&lt;br /&gt;
|-&lt;br /&gt;
| L || Like&lt;br /&gt;
|-&lt;br /&gt;
| S || Show NSFW Image&lt;br /&gt;
|-&lt;br /&gt;
| I || Show Images in Post.&lt;br /&gt;
|-&lt;br /&gt;
| E || Open Reaction GUI&lt;br /&gt;
|-&lt;br /&gt;
| D || Open the Details Pane for the Post Author&lt;br /&gt;
|-&lt;br /&gt;
| F || Follow the Post Author - Requires Details Pane Open (Feature not a bug, prevents accidental follows)&lt;br /&gt;
|-&lt;br /&gt;
| V || Visit the Post Author&#039;s Profile&lt;br /&gt;
|-&lt;br /&gt;
| O || Open full thread page (/notice/*)&lt;br /&gt;
|-&lt;br /&gt;
| Hold A || Show &amp;quot;Reply to&amp;quot; Hover Window&lt;br /&gt;
|-&lt;br /&gt;
| Enter || Expand Post&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Shrink Post / Exit Text Box (Quotes, New Post or Replies)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post and Reply Options&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| N || New Post&lt;br /&gt;
|-&lt;br /&gt;
! !! All below Commands Require The Text Box to be Highlighted.&lt;br /&gt;
|-&lt;br /&gt;
| Alt + T || Toggle Post Scope&lt;br /&gt;
|-&lt;br /&gt;
| Alt + U || Upload Image&lt;br /&gt;
|-&lt;br /&gt;
| Alt + E || Emoji Picker&lt;br /&gt;
|-&lt;br /&gt;
| Alt + P || Poll Menu&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl + Enter || Send Post&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Timeline Navigation&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| P || View Your Profile&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Home Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Bubble Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Local Instance Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Whole Known Network Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bookmarks&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Direct Messages&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Lists&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Interactions&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Pleroma Chats&lt;br /&gt;
|-&lt;br /&gt;
| 0 || About&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=youjo:Pleroma_Keybinds&amp;diff=2006</id>
		<title>youjo:Pleroma Keybinds</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=youjo:Pleroma_Keybinds&amp;diff=2006"/>
		<updated>2023-03-09T11:28:11Z</updated>

		<summary type="html">&lt;p&gt;Chizu: Latest update includes pleroma chats tab, hence it takes over the keybind from announcements.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keybinds for the Custom youjo.love keybind script:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post Navigation&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| J || Select Next Post&lt;br /&gt;
|-&lt;br /&gt;
| K || Select Previous Post&lt;br /&gt;
|-&lt;br /&gt;
| G || Toggle CW Posts&lt;br /&gt;
|-&lt;br /&gt;
| Alt + N || Focus Notification Panel (J and K to Navigate)&lt;br /&gt;
|-&lt;br /&gt;
| Alt + H || Focus Main Timeline&lt;br /&gt;
|-&lt;br /&gt;
| Alt + D || Deselect Post (Requires a Selected Post)&lt;br /&gt;
|-&lt;br /&gt;
| W || Show New Posts in Timeline&lt;br /&gt;
|-&lt;br /&gt;
| M || Mark Notifications Read&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post Interactions&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action (Requires a Selected Post)&lt;br /&gt;
|-&lt;br /&gt;
| R || Reply&lt;br /&gt;
|-&lt;br /&gt;
| Q || Quote&lt;br /&gt;
|-&lt;br /&gt;
| T || Boost&lt;br /&gt;
|-&lt;br /&gt;
| L || Like&lt;br /&gt;
|-&lt;br /&gt;
| S || Show NSFW Image&lt;br /&gt;
|-&lt;br /&gt;
| I || Show Images in Post.&lt;br /&gt;
|-&lt;br /&gt;
| E || Open Reaction GUI&lt;br /&gt;
|-&lt;br /&gt;
| D || Open the Details Pane for the Post Author&lt;br /&gt;
|-&lt;br /&gt;
| F || Follow the Post Author - Requires Details Pane Open (Feature not a bug, prevents accidental follows)&lt;br /&gt;
|-&lt;br /&gt;
| V || Visit the Post Author&#039;s Profile&lt;br /&gt;
|-&lt;br /&gt;
| O || Open full thread page (/notice/*)&lt;br /&gt;
|-&lt;br /&gt;
| Hold A || Show &amp;quot;Reply to&amp;quot; Hover Window&lt;br /&gt;
|-&lt;br /&gt;
| Enter || Expand Post&lt;br /&gt;
|-&lt;br /&gt;
| Escape || Shrink Post / Exit Text Box (Quotes, New Post or Replies)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Post and Reply Options&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| N || New Post&lt;br /&gt;
|-&lt;br /&gt;
! !! All below Commands Require The Text Box to be Highlighted.&lt;br /&gt;
|-&lt;br /&gt;
| Alt + T || Toggle Post Scope&lt;br /&gt;
|-&lt;br /&gt;
| Alt + U || Upload Image&lt;br /&gt;
|-&lt;br /&gt;
| Alt + E || Emoji Picker&lt;br /&gt;
|-&lt;br /&gt;
| Alt + P || Poll Menu&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl + Enter || Send Post&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Timeline Navigation&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Action&lt;br /&gt;
|-&lt;br /&gt;
| P || View Your Profile&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Home Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Bubble Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Local Instance Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Whole Known Network Timeline&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Bookmarks&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Direct Messages&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Lists&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Interactions&lt;br /&gt;
|-&lt;br /&gt;
| 9 || About&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Pleroma Chats&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Fucking_Pedos&amp;diff=1994</id>
		<title>Fucking Pedos</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Fucking_Pedos&amp;diff=1994"/>
		<updated>2023-02-03T16:12:52Z</updated>

		<summary type="html">&lt;p&gt;Chizu: voiceover&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Fucking Pedos&amp;quot; copypasta:&lt;br /&gt;
&lt;br /&gt;
I should write something properly about this.&lt;br /&gt;
[[File:Fucking pedos voice.ogg|thumb|right|Voiceover by Unknown]]&lt;br /&gt;
{{Quote|text=Fucking pedos. How could anyone get off to the idea of removing a little girl&#039;s clothes and licking her tiny body all over, nibbling her neck and kissing her adorable little nipples? Only a heartless monster would think about her cute girlish mouth and tongue wrapped around a thick cock slick with her saliva, pumping in and out of her mouth until it erupts, then cum more than her little throat can swallow. The idea of thick viscous semen overflowing, dribbling down her chin over her flat chest, her tiny hands scooping it all up and watching her suck it off her fingertips is just horrible. You&#039;re all a bunch of sick perverts, thinking of spreading her smooth slender thighs, cock poised at the entrance to her pure, tight, virginal pussy. I am disgusted at how you&#039;d get even more excited as you lean over her, listening to her quickening breath, her girlish moans and gasps while you hasten your strokes, her sweet pants warm and moist on your face and her flat chest, shiny with a sheen of fresh sweat, rising and falling rapidly to meet yours. It is truly nasty how you&#039;d run your hands all over her tiny body while you violate her, feeling her nipples hardening against your tongue as you lick her chest, her neck and her armpits, savouring the scent of her skin and sweat while she trembles from the stimulation and as she reaches her climax. hearing her cry out softly as she has her first orgasm while that cock is buried impossibly deep inside her, pulsing violently as an intense amount of hot cum spurts forth and floods through her freshly deflowered pussy for the first time, filling her womb only to spill out of her with a sickening squelch.}}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=File:Fucking_pedos_voice.ogg&amp;diff=1993</id>
		<title>File:Fucking pedos voice.ogg</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=File:Fucking_pedos_voice.ogg&amp;diff=1993"/>
		<updated>2023-02-03T16:10:38Z</updated>

		<summary type="html">&lt;p&gt;Chizu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=OPsec_guide&amp;diff=1992</id>
		<title>OPsec guide</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=OPsec_guide&amp;diff=1992"/>
		<updated>2023-02-03T08:04:15Z</updated>

		<summary type="html">&lt;p&gt;Chizu: initial commit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial points to get across ==&lt;br /&gt;
* It should not be possible to link your identities.&lt;br /&gt;
* You should never show the same things on two different profiles if you don&#039;t want them to be linked.&lt;br /&gt;
*** Ideally do not show any real world pictures that can be linked to you.&lt;br /&gt;
** Don&#039;t say the same things between profiles. &lt;br /&gt;
** Don&#039;t talk much about the same interests, or if you do, you should limit yourself to talking about interests that are common.&lt;br /&gt;
** Remember, that even if you are found out, the less information that can be linked between your profiles, the more likely you will be able to deny your relation.&lt;br /&gt;
* Be careful with posting files.&lt;br /&gt;
** Photos, music, videos, PDFs and more can contain [[wikipedia:Exif|EXIF]] data or similar, this can be used to link to you.&lt;br /&gt;
*** In the worst case, photos can contain geolocation data which is usually a highly accurate geographic location of where the photo was taken. Some high end digital cameras also allow you to embed your real name into the photos.&lt;br /&gt;
* Ideally you should not have more than one internet presence.&lt;br /&gt;
** Or if you do, your secondary internet presence should not be linkable to you as a person and should use psuedonames.&lt;br /&gt;
* Do not host sites if you don&#039;t know what you are doing.&lt;br /&gt;
** Hosting a MAP site and your personal site using the same server (IP), for example, is a fast track way to being caught.&lt;br /&gt;
** Don&#039;t pay for site hosting using tracable methods.&lt;br /&gt;
&lt;br /&gt;
=== What to do if you are caught ===&lt;br /&gt;
* Never admit to anything.&lt;br /&gt;
* Over defensiveness and overexplaination is percieved as guilt.&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Fucking_Pedos&amp;diff=1981</id>
		<title>Fucking Pedos</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Fucking_Pedos&amp;diff=1981"/>
		<updated>2023-01-01T22:12:26Z</updated>

		<summary type="html">&lt;p&gt;Chizu: Created page with &amp;quot;&amp;quot;Fucking Pedos&amp;quot; copypasta:  I should write something properly about this, also find that voiceover someone did of it.   {{Quote|text=Fucking pedos. How could anyone get off to the idea of removing a little girl&amp;#039;s clothes and licking her tiny body all over, nibbling her neck and kissing her adorable little nipples? Only a heartless monster would think about her cute girlish mouth and tongue wrapped around a thick cock slick with her saliva, pumping in and out of her mouth...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Fucking Pedos&amp;quot; copypasta:&lt;br /&gt;
&lt;br /&gt;
I should write something properly about this, also find that voiceover someone did of it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Quote|text=Fucking pedos. How could anyone get off to the idea of removing a little girl&#039;s clothes and licking her tiny body all over, nibbling her neck and kissing her adorable little nipples? Only a heartless monster would think about her cute girlish mouth and tongue wrapped around a thick cock slick with her saliva, pumping in and out of her mouth until it erupts, then cum more than her little throat can swallow. The idea of thick viscous semen overflowing, dribbling down her chin over her flat chest, her tiny hands scooping it all up and watching her suck it off her fingertips is just horrible. You&#039;re all a bunch of sick perverts, thinking of spreading her smooth slender thighs, cock poised at the entrance to her pure, tight, virginal pussy. I am disgusted at how you&#039;d get even more excited as you lean over her, listening to her quickening breath, her girlish moans and gasps while you hasten your strokes, her sweet pants warm and moist on your face and her flat chest, shiny with a sheen of fresh sweat, rising and falling rapidly to meet yours. It is truly nasty how you&#039;d run your hands all over her tiny body while you violate her, feeling her nipples hardening against your tongue as you lick her chest, her neck and her armpits, savouring the scent of her skin and sweat while she trembles from the stimulation and as she reaches her climax. hearing her cry out softly as she has her first orgasm while that cock is buried impossibly deep inside her, pulsing violently as an intense amount of hot cum spurts forth and floods through her freshly deflowered pussy for the first time, filling her womb only to spill out of her with a sickening squelch.}}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Bbgooner&amp;diff=1974</id>
		<title>Bbgooner</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Bbgooner&amp;diff=1974"/>
		<updated>2022-12-31T20:04:13Z</updated>

		<summary type="html">&lt;p&gt;Chizu: initial commit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox person	&lt;br /&gt;
|name        = BBGooner&lt;br /&gt;
|image       = File:Bbgooner profile photo.png&lt;br /&gt;
|nationality = ?&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
BBGooner is a fediverse user, and an ex [[anime.website]] user, best known for one of their quotes, and the stir they caused in the community from their actions.&lt;br /&gt;
&lt;br /&gt;
== Backstory ==&lt;br /&gt;
xx&lt;br /&gt;
&lt;br /&gt;
== Notable quotes ==&lt;br /&gt;
{{Quote|text=One of my favorite child porn sites got shut down recently, and you&#039;d think i&#039;d be upset, but no, i&#039;m not. Child porn is gorgeous and hot, but the less of it that exists in the world, the better. it makes me happy that all that CP is gone, fallen into obscurity, it isn&#039;t history we need to preserve, we should instead preserve the pedo fantasy art, videos, and stories that help fetishists like us squirt.|sign=BBGooner}}&lt;br /&gt;
&lt;br /&gt;
== Trivia ==&lt;br /&gt;
* They claim that their therapist recommended they find an online community of people like themselves, which prompted them to join the fediverse.&lt;br /&gt;
* They have previously attempted to &#039;&#039;prove&#039;&#039; that they are a pedophile, by sending the then admin of anime.website, [[Opal]] a picture of themselves with Child Pornography on a monitor in the background.&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Shortcut/styles.css&amp;diff=1973</id>
		<title>Module:Shortcut/styles.css</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Shortcut/styles.css&amp;diff=1973"/>
		<updated>2022-12-31T20:02:24Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template}} */&lt;br /&gt;
.module-shortcutboxplain {&lt;br /&gt;
	float: right;&lt;br /&gt;
	margin: 0 0 0 1em;&lt;br /&gt;
	border: 1px solid #aaa;&lt;br /&gt;
	background: #fff;&lt;br /&gt;
	padding: 0.3em 0.6em 0.2em 0.6em;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	font-size: 85%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.module-shortcutboxleft {&lt;br /&gt;
	float: left;&lt;br /&gt;
	margin: 0 1em 0 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.module-shortcutlist {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	border-bottom: 1px solid #aaa;&lt;br /&gt;
	margin-bottom: 0.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.module-shortcutboxplain ul {&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.module-shortcutanchordiv {&lt;br /&gt;
	position: relative;&lt;br /&gt;
	top: -3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
li .module-shortcutanchordiv {&lt;br /&gt;
	float: right; /* IE/Edge in list items */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mbox-imageright .module-shortcutboxplain {&lt;br /&gt;
	padding: 0.4em 1em 0.4em 1em;&lt;br /&gt;
	line-height: 1.3;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Plainlist/styles.css&amp;diff=1971</id>
		<title>Template:Plainlist/styles.css</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Plainlist/styles.css&amp;diff=1971"/>
		<updated>2022-12-31T20:02:24Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template|small=yes}} */&lt;br /&gt;
.plainlist ol,&lt;br /&gt;
.plainlist ul {&lt;br /&gt;
	line-height: inherit;&lt;br /&gt;
	list-style: none;&lt;br /&gt;
	margin: 0;&lt;br /&gt;
	padding: 0; /* Reset Minerva default */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.plainlist ol li,&lt;br /&gt;
.plainlist ul li {&lt;br /&gt;
	margin-bottom: 0;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Quotation_templates&amp;diff=1969</id>
		<title>Template:Quotation templates</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Quotation_templates&amp;diff=1969"/>
		<updated>2022-12-31T20:02:24Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Navbox&lt;br /&gt;
| name = Quotation templates&lt;br /&gt;
| state = {{{state|{{{1|}}}}}}&lt;br /&gt;
| title = {{c|Quotation templates}}&lt;br /&gt;
| liststyle = font-size:110%;&lt;br /&gt;
| tracking = no &amp;lt;!-- keep the documented templates out of the hlist tracking category --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| list1 =&lt;br /&gt;
  {{Aligned table&lt;br /&gt;
   |class=sortable |style=margin:0 auto 0.4em;line-height:1.35em;text-align:left;&lt;br /&gt;
   |colstyle=&amp;lt;!--vertical-align:middle;--&amp;gt;padding-right:1.0em;&lt;br /&gt;
   |row1style=line-height:1.6em;font-weight:bold;border-bottom:1px solid #aaa;&lt;br /&gt;
   | Template&amp;amp;nbsp; | Use{{\}}description&amp;amp;nbsp;&lt;br /&gt;
   | ↓ &#039;&#039;Block quotations&#039;&#039; | &#039;&#039;General purpose&#039;&#039;&lt;br /&gt;
   | {{tlb|Blockquote}} | Our standard block quotation template: unbordered page-wide quotation with optional smaller-sized attribution&lt;br /&gt;
   | {{tlb|Text_and_translation}} | Displays original language and translated text, one beside the other&lt;br /&gt;
   | {{tlb|Poem}} | {{tl|Blockquote}} variant for use with poems, song lyrics, and other things that would otherwise require the use of {{xtag|poem}} tags or frequent formatting elements (such as {{Nowrap|{{code|lang=html|code=&amp;lt;br /&amp;gt;}}}}); requires substitution&lt;br /&gt;
   | {{tlb|Poem quote}} | {{tl|Blockquote}} variant for use with poems, song lyrics, and other things that would otherwise require the use of {{xtag|poem}} tags or frequent formatting elements (such as {{Nowrap|{{code|lang=html|code=&amp;lt;br /&amp;gt;}}}}); does not require substitution&lt;br /&gt;
   | {{tlb|Verse translation}} | Displays &#039;&#039;original language verse&#039;&#039; (defaults to italics) and translated verse (roman) side-by-side&lt;br /&gt;
   | {{tlb|Verse transliteration-translation}} | Like {{tl|Verse translation}}, but with a transliteration seperate from the original version&lt;br /&gt;
   | {{tlb|Gbq}} | {{tl|Blockquote}} variant for use inside [[Wikipedia:Manual of Style/Glossaries|glossaries]]&lt;br /&gt;
   | {{tlb|Cquote}} | &amp;quot;centered quote&amp;quot; – Page-wide quote, between large quotation marks&lt;br /&gt;
   | {{tlb|Rquote}} | &amp;quot;reduced quote&amp;quot; – Quote between large quotation marks in a reduced [[Cascading Style Sheets#Float and clear|float]]ing area&lt;br /&gt;
   | {{tlb|Quote frame}} | Page-wide bordered quote&lt;br /&gt;
   | {{tlb|Quote box}} | Quote floated in a reduced bordered box&lt;br /&gt;
   | {{tlb|Tweet}} | For quoting directly from tweets. Automatically generates {{tlx|Cite tweet}} citation, or a custom reference can be provided.&lt;br /&gt;
   | &amp;amp;nbsp;|&amp;amp;nbsp;&lt;br /&gt;
   | ↓ &#039;&#039;Talk page quoting&#039;&#039; | &#039;&#039;Not for use in articles nor the project space at all&#039;&#039;&lt;br /&gt;
   | {{tlb|Talk quote inline}}{{Clear}}(shortcut: {{tlb|tq}}){{Clear}}{{tlb|tqq}}, {{tlb|tqi}}, or {{tlb|tqqi}} | Inline quotation for use on talk pages&lt;br /&gt;
   | {{tlb|Not talk quote inline}}{{Clear}}(shortcut: {{tlb|!tq}}){{Clear}}{{tlb|!tqq}}, {{tlb|!tqi}}, or {{tlb|!tqqi}} | Inline quotation for what someone didn&#039;t say but could have, or perhaps, should have&lt;br /&gt;
   | {{tlb|Talk quote block}}{{Clear}}(shortcut: {{tlb|tqb}}, {{tlb|tq2}}) | Block-style quotation for use on talk pages&lt;br /&gt;
   | {{tlb|Talk quote block minimalist}}{{Clear}}(shortcut: {{tlb|tqbm}}) | [[Minimalist]] version of above&lt;br /&gt;
   | &amp;amp;nbsp;|&amp;amp;nbsp;&lt;br /&gt;
   | ↓ &#039;&#039;Alternative&#039;&#039; | &#039;&#039;For indenting non-quotations&#039;&#039;&lt;br /&gt;
   | {{tlb|Block indent}} | To indent an entire block of content (uses {{code|lang=html|code=&amp;lt;div&amp;gt;}} and CSS margins)&lt;br /&gt;
   }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Markupv&amp;diff=1967</id>
		<title>Template:Markupv</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Markupv&amp;diff=1967"/>
		<updated>2022-12-31T20:02:22Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{#if: {{{title|{{{t|}}}}}} | {{!}}+ {{{title|{{{t|}}}}}}}}&lt;br /&gt;
|-&lt;br /&gt;
! Markup&lt;br /&gt;
| {{#tag:pre|{{{markup|{{{m|Markup}}}}}}|style=&amp;quot;word-wrap: break-word; white-space: pre-wrap&amp;quot;}}&lt;br /&gt;
|-&lt;br /&gt;
! Renders as&lt;br /&gt;
| {{{renders|{{{r|Renders}}}}}}&lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Blockquote_paragraphs&amp;diff=1965</id>
		<title>Template:Blockquote paragraphs</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Blockquote_paragraphs&amp;diff=1965"/>
		<updated>2022-12-31T20:02:22Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
&#039;&#039;(This section is transcluded from [[Template:Blockquote paragraphs]])&#039;&#039;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float: right; padding: 0 1em;&amp;quot;&amp;gt;{{navbar|Blockquote paragraphs|plain=y}}&amp;lt;/div&amp;gt;&lt;br /&gt;
The {{code|lang=html|code=&amp;lt;blockquote&amp;gt;}} element and any templates that use it do not honor newlines:&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Line 1&lt;br /&gt;
Line 2&lt;br /&gt;
Line 3&lt;br /&gt;
Line 4&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Line 1&lt;br /&gt;
Line 2&lt;br /&gt;
Line 3&lt;br /&gt;
Line 4&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An easy solution is to use the {{tl|poem quote}} template instead of {{tag|blockquote}}. This is effectively the same as using the {{xtag|poem}} tag inside {{code|lang=html|code=&amp;lt;blockquote&amp;gt;}}, which converts line breaks to {{code|lang=html|code=&amp;lt;br /&amp;gt;}} tags:&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;poem&amp;gt;&lt;br /&gt;
Line 1&lt;br /&gt;
Line 2&lt;br /&gt;
Line 3&lt;br /&gt;
Line 4&lt;br /&gt;
&amp;lt;/poem&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&amp;lt;blockquote&amp;gt;&amp;lt;poem&amp;gt;&lt;br /&gt;
Line 1&lt;br /&gt;
Line 2&lt;br /&gt;
Line 3&lt;br /&gt;
Line 4&lt;br /&gt;
&amp;lt;/poem&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
To markup actual paragraphs within block quotations, entire blank lines can be used between them, which will convert to {{code|lang=html|code=&amp;lt;p&amp;gt;...&amp;lt;/p&amp;gt;}} tags:&lt;br /&gt;
&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Paragraph 1&lt;br /&gt;
&lt;br /&gt;
Paragraph 2&lt;br /&gt;
&lt;br /&gt;
Paragraph 3&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Paragraph 1&lt;br /&gt;
&lt;br /&gt;
Paragraph 2&lt;br /&gt;
&lt;br /&gt;
Paragraph 3&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note that it may be necessary to put a line break in the wikitext before &amp;lt;nowiki&amp;gt;&amp;lt;blockquote&amp;gt; and after &amp;lt;/blockquote&amp;gt;&amp;lt;/nowiki&amp;gt; in order for the paragraphs to render with the intended separation. (This also makes the wikitext easier to read.)&lt;br /&gt;
&lt;br /&gt;
This paragraph style also works with {{tl|blockquote}}, which is a replacement for {{xtag|blockquote}} that also has parameters to make formatting of the attribution more convenient and consistent.&lt;br /&gt;
&lt;br /&gt;
Blockquote and templates that call it, and are indented with colon (:), bulleted with asterisk (*), or numbered with number (#), will generate errors and incorrectly display anything after a newline character.&lt;br /&gt;
&amp;lt;!--Please do not &amp;quot;fix&amp;quot; these deliberate errors. --&amp;gt;&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
:&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
:&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
*&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{markup&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
#&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
#&amp;lt;blockquote&amp;gt;Paragraph 1&lt;br /&gt;
Paragraph 2&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
----&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Blockquote/doc/boilerplate&amp;diff=1963</id>
		<title>Template:Blockquote/doc/boilerplate</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Blockquote/doc/boilerplate&amp;diff=1963"/>
		<updated>2022-12-31T20:02:19Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#if:{{{mos-recommended|}}}||&amp;lt;/includeonly&amp;gt;{{warning|If this template is used in article space, it will suppress the display of decorative curly quote marks, per [[MOS:BLOCKQUOTE]].}} &amp;lt;includeonly&amp;gt;}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
The [[Wikipedia:Manual of Style#Block quotations|Manual of Style guidelines for block quotations]] recommend formatting block quotations using the {{tl|Blockquote}} template or the HTML &amp;amp;lt;[[blockquote]]&amp;amp;gt; element, for which that template provides a wrapper.&lt;br /&gt;
&lt;br /&gt;
* Quotes work best when used with short sentences, and at the start or end of a section, as a hint of or to help emphasize the section&#039;s content.&lt;br /&gt;
* For typical quotes, especially those longer than the rest of the paragraph in which they are quoted, {{tl|Cquote}} (for use outside of article space only) provides a borderless quote with decorative quotation marks, and {{tl|Quote frame}} provides a bordered quote. Both span the page width.&lt;br /&gt;
* For very short quotes, {{tl|Rquote}} (with decorative quotation marks, for use outside of article space only) or {{tl|Quote box}} (framed) can be used to set the quote off to either the right or left as in a magazine [[Sidebar (publishing)|sidebar]].  This can be effective on [[WP:ESSAY|essay]] pages and [[WP:WIKIPROJECT|WikiProject]] homepages.&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=This is shared documentation verbiage transcluded into the /doc pages of everything in [[:Category:Enhanced quote templates]].}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Blockquote/doc&amp;diff=1961</id>
		<title>Template:Blockquote/doc</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Blockquote/doc&amp;diff=1961"/>
		<updated>2022-12-31T20:02:18Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
{{Template shortcut|bq|&amp;quot;|Quote|Bquote}}&lt;br /&gt;
{{Uses TemplateStyles|Template:{{BASEPAGENAME}}/styles.css}}&lt;br /&gt;
{{For|linking a subject to a collection of quotes on [[Wikiquote]]|Template:Wikiquote}}&lt;br /&gt;
{{High-risk|120,000+}}&lt;br /&gt;
&lt;br /&gt;
{{ {{BASEPAGENAME}}/doc/boilerplate|mos-recommended=yes}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
{{tlc|{{BASEPAGENAME}}}} adds a [[block quotation]] to an article page.&lt;br /&gt;
&lt;br /&gt;
This is easier to type and is more wiki-like than the equivalent [[HTML]] {{code|lang=html|code=&amp;lt;blockquote&amp;gt;...&amp;lt;/blockquote&amp;gt;}} tags, and has additional pre-formatted attribution parameters for author and source (though these are not usually used in articles; {{crossreference|see {{section link||Reference citations}}, below}}).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Block quotes do {{em|not}} normally contain quotation marks {{crossreference|(see [[MOS:BLOCKQUOTE]])}}.&lt;br /&gt;
&lt;br /&gt;
{{warning|heading=This template is for actual quotations only.|text=Do not use it for block indentation of other material; see {{tlx|Block indent}} for that purpose.}}&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&#039;&#039;&#039;Basic use&#039;&#039;&#039;{{colon}}&lt;br /&gt;
{{markup|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;|{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;With attribution displayed&#039;&#039;&#039;{{colon}}&lt;br /&gt;
{{markup|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
|author=First M. Last&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;|{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
|author=First M. Last&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;With more attribution&#039;&#039;&#039;{{colon}}&lt;br /&gt;
{{markup|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
|author=First M. Last&lt;br /&gt;
|title=&amp;quot;Article Title&amp;quot;&lt;br /&gt;
|source=&#039;&#039;Book Title&#039;&#039; (date)&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
{{Blockquote&lt;br /&gt;
|text=Quoted material.&lt;br /&gt;
|author=First M. Last&lt;br /&gt;
|title=&amp;quot;Article Title&amp;quot;&lt;br /&gt;
|source=&#039;&#039;Book Title&#039;&#039; (date)&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples with &amp;quot;multiline&amp;quot;&#039;&#039;&#039;{{colon}}&lt;br /&gt;
&lt;br /&gt;
Especially useful for translated quotes; &#039;&#039;see [[#multiline|notes about this parameter]]&#039;&#039;.&lt;br /&gt;
* with &amp;quot;multiline&amp;quot; {{tick}}&lt;br /&gt;
{{markup|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{blockquote|text=&lt;br /&gt;
{{lang|fr|Ceci n&#039;est pas une pipe.}}&lt;br /&gt;
This is Not a Pipe.&lt;br /&gt;
|multiline=yes&lt;br /&gt;
|author=[[René Magritte]]&lt;br /&gt;
|title=[[The Treachery of Images]]&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
{{blockquote|text=&lt;br /&gt;
{{lang|fr|Ceci n&#039;est pas une pipe.}}&lt;br /&gt;
This is Not a Pipe.&lt;br /&gt;
|multiline=yes&lt;br /&gt;
|author=[[René Magritte]]&lt;br /&gt;
|title=[[The Treachery of Images]]&lt;br /&gt;
}}}}&lt;br /&gt;
* for comparison without &amp;quot;multiline&amp;quot; {{xmark}}&lt;br /&gt;
{{markup|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{{blockquote|text=&lt;br /&gt;
{{lang|fr|Ceci n&#039;est pas une pipe.}}&lt;br /&gt;
This is Not a Pipe.&lt;br /&gt;
|author=[[René Magritte]]&lt;br /&gt;
|title=[[The Treachery of Images]]&lt;br /&gt;
}}&amp;lt;/nowiki&amp;gt;|&lt;br /&gt;
{{blockquote|text=&lt;br /&gt;
{{lang|fr|Ceci n&#039;est pas une pipe.}}&lt;br /&gt;
This is Not a Pipe.&lt;br /&gt;
|author=[[René Magritte]]&lt;br /&gt;
|title=[[The Treachery of Images]]&lt;br /&gt;
}}}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;An ample example&#039;&#039;&#039;&amp;lt;!-- no pun intended --&amp;gt;{{colon}}&lt;br /&gt;
{{markupv&lt;br /&gt;
|markup=&amp;lt;syntaxhighlight lang=&amp;quot;moin&amp;quot;&amp;gt;{{Blockquote|text=Cry &amp;quot;Havoc&amp;quot; and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=&#039;&#039;[[Julius Caesar (play)|Julius Caesar]]&#039;&#039;|source=act III, scene I}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|renders={{Blockquote|text=Cry &amp;quot;Havoc&amp;quot; and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=&#039;&#039;[[Julius Caesar (play)|Julius Caesar]]&#039;&#039;|source=act III, scene I}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
=== Parameter list ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Blockquote&lt;br /&gt;
| text      =&lt;br /&gt;
| author    =&lt;br /&gt;
| title     =&lt;br /&gt;
| source    =&lt;br /&gt;
| character =&lt;br /&gt;
| multiline =&lt;br /&gt;
| class     =&lt;br /&gt;
| style     =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also section [[#TemplateData]].&lt;br /&gt;
&lt;br /&gt;
=== Quoted text ===&lt;br /&gt;
{{para|text}} a.k.a. {{para|1}}—The material being quoted, without quotation marks around it. It is always safest to name this parameter (rather than use an unnamed positional parameter), because, otherwise, any inclusion of a [[Template:=|non-escaped &amp;quot;=&amp;quot; character]] (e.g., in a URL in a source citation) will break the template.&lt;br /&gt;
&lt;br /&gt;
=== Displayed attribution ===&lt;br /&gt;
These parameters are for {{em|displaying}} attribution information below the quote; this should not be confused with citing a source {{crossreference|(see {{section link||Reference citations}}, below)}}. These parameters are entirely optional, and are usually used with famous quotations, not routine block quotations, which are usually sourced at the end of the introductory line immediately before the quotation, with a normal &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
{{para|author}} a.k.a. {{para|2}} – optional author/speaker attribution information that will appear below the quotation, and preceded with an attribution dash.&lt;br /&gt;
&lt;br /&gt;
{{para|title}} a.k.a. {{para|3}} – optional title of the work the quote appears in, to display below the quotation. This parameter immediately follows the output of {{para|author}} (and an auto-generated comma), if one is provided. It does not auto-italicize. Major works (books, plays, albums, feature films, etc.) should be italicized; minor works (articles, chapters, poems, songs, TV episodes, etc.) go in quotation marks {{crossreference|(see [[MOS:TITLES]])}}. Additional citation information can be provided in a fourth parameter, {{para|source}}, below, which will appear after the title.&lt;br /&gt;
&lt;br /&gt;
{{para|source}} a.k.a. {{para|4}} – optionally used for additional source information to display, after {{para|title}}, like so: {{code|lang=moin|code={{!}}title=&amp;quot;The Aerodynamics of Shaved Weasels&amp;quot; {{!}}source=&#039;&#039;Perspectives on Mammal Barbering&#039;&#039;, 2016}}; a comma will be auto-generated between the two parameters. If {{para|source}} is used without {{para|title}}, it simply acts as {{para|title}}. &amp;lt;small&amp;gt;(This parameter was added primarily to ease conversion from misuse of the [[pull quote]] template {{tlx|Quote frame}} for block quotation, but it may aid in cleaner meta-data implementation later.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{para|character}} a.k.a. {{para|char}} – to attribute fictional speech to a fictional character, {{em|with}} other citation information. Can also be used to attribute real speech to a specific speaker among many, e.g. in a roundtable/panel transcript, a band interview, etc. This parameter outputs &amp;quot;[{{Var|Character&#039;s name}}], in&amp;quot; after the attribution dash and before the output of the parameters above, thus one or more of those parameters must also be supplied. If you need to cite a fictional speaker in an article about a single work of fiction, where repeating the author and title information would be redundant, you can just use the {{para|author}} parameter instead of {{para|character}}.&lt;br /&gt;
&lt;br /&gt;
Technically, all citation information can be given in a single parameter, as in: {{code|lang=moin|code={{!}}source=Anonymous interview subject, in Jane G. Arthur, &amp;quot;The Aerodynamics of Shaved Weasels&amp;quot;, &#039;&#039;Perspectives on Mammal Barbering&#039;&#039; (2016), Bram Xander Yojimbo (ed.)}} But this is a bit messy, and will impede later efforts to generate metadata from quotation attribution the way we are already doing with source citations. This is much more usable:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;moin&amp;quot;&amp;gt;&lt;br /&gt;
|character=Anonymous interview subject&lt;br /&gt;
|author=Jane G. Arthur&lt;br /&gt;
|title=&amp;quot;The Aerodynamics of Shaved Weasels&amp;quot;&lt;br /&gt;
|source=&#039;&#039;Perspectives on Mammal Barbering&#039;&#039; (2016), Bram Xander Yojimbo (ed.)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Later development can assign a CSS &amp;lt;code&amp;gt;class&amp;lt;/code&amp;gt; and so forth to these separate parameters, upon which scripts would be able to operate (e.g. to look up things in WikiQuote).&lt;br /&gt;
&lt;br /&gt;
=== Rarely used technical parameters ===&lt;br /&gt;
* {{anchor|multiline}}{{para|multiline}} – keep forced linebreaks in output.{{pb}}&#039;&#039;Notes:&#039;&#039;&lt;br /&gt;
** Will only be applied if at least one of these other parameters or its aliases is not empty (including implicit, unnamed parameters):{{pb}}{{para|author}}, {{para|title}}, {{para|source}}, or {{para|character}}.&lt;br /&gt;
** The value does not matter, as long it is not empty. Using a so called speaking parameter (such as &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;yes&amp;lt;/code&amp;gt;) is highly recommended. Avoid values that can surprise users (e.g. &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;no&amp;lt;/code&amp;gt;).&lt;br /&gt;
* {{para|style}} – allows specifying additional [[Help:Cascading Style Sheets|CSS]] styles ({{em|not}} classes) to apply to the {{code|lang=html|code=&amp;lt;blockquote&amp;gt;...&amp;lt;/blockquote&amp;gt;}} element. {{Crossreference|(See [[#Nested quotations]], below, for the most common use case.)}}&lt;br /&gt;
* {{para|class}} – allows specifying additional HTML classes to apply to the same element.&lt;br /&gt;
&lt;br /&gt;
== Reference citations ==&lt;br /&gt;
{{anchor|Attribution|reason=Old section name}}&lt;br /&gt;
A [[WP:Citing sources|reference citation]] can be placed before the quote, after the quote, or in the {{para|source}} parameter:&lt;br /&gt;
{{bulleted list&lt;br /&gt;
|{{tick}} {{stronggood|Typical use:}} In the regular-prose introduction to the quotation, when a quotation is given without the displayed {{para|author}}, {{para|title}}, or {{para|source}} parameters: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;According to Pat Doe, in &amp;quot;Underwater Basketweaving Tips&amp;quot; (2015):&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt; {{blockquote |text=Quoted material.}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|At the end of the quotation, when a quotation is given without the displayed {{para|author}}, {{para|title}}, or {{para|source}} parameters, and placement before the quote isn&#039;t appropriate (e.g. because the material immediately before the quote isn&#039;t cited to the same source or introduces multiple quotes from different sources: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;Pat Doe and Chris Foo took opposing positions: {{blockquote |text=Doe&#039;s Quoted material.&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;}} {{blockquote |text=Foo&#039;s Quoted material.&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|After the {{para|source}} value (if a value is given for the {{para|source}} parameter other than the &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; itself):&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;One expert noted in 2015: {{blockquote |text=Quoted material. |author=Pat Doe |source=&amp;quot;Underwater Basketweaving Tips&amp;quot; (2015)&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|{{xmark}} {{strongbad|Deprecated:}} &amp;lt;s&amp;gt;After the quoted person&#039;s name in {{para|author}}, or after the work&#039;s title in {{para|title}}, when a {{para|source}} parameter is not being added: &amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot; inline&amp;gt;As noted in &amp;quot;Underwater Basketweaving Tips&amp;quot; (2015): {{blockquote |text=Quoted material. |author=Pat Doe&amp;lt;ref&amp;gt;...&amp;lt;/ref&amp;gt;}}&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/s&amp;gt;{{pb}}{{A note}} Please avoid this format, as it will pollute the author or title metadata with non-author or non-title information.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Please do not place the citation in a {{para|author}} or {{para|source}} parameter by itself, as it will produce a nonsensical attribution line that looks like this:&lt;br /&gt;
{{pb}}{{in5}}—&amp;amp;#8239;{{dummy reference}}{{pb}}&lt;br /&gt;
Please also do not put it just outside the {{tlf|blockquote}} template, as this will cause a:&lt;br /&gt;
{{pb}}{{in5}}{{dummy reference}}{{pb}}on a line by itself.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
{{anchor|Restrictions|reason=Old section name}}&lt;br /&gt;
If you do not provide text, the template generates a parser error message, which will appear in red text in the rendered page.&lt;br /&gt;
&lt;br /&gt;
If any parameter&#039;s actual value contains an [[equals sign]] (&amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;), you {{strong|must}} use a named parameter (e.g. &amp;lt;code&amp;gt;|text=&amp;quot;E=MC&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;quot; is a formula everyone knows but few understand&amp;lt;/code&amp;gt;, not a blank-name positional parameter. The text before the equals sign gets misinterpreted as a named parameter otherwise. Be wary of URLs, which frequently contain this character. Named parameters are always safer, in this and other templates.&lt;br /&gt;
&lt;br /&gt;
If any parameter&#039;s actual value contains characters used for wiki markup syntax (such as [[vertical bar|pipe]], [[brackets]], single quotation marks, etc.), you may need to escape it. See {{tlx|!}} and friends.&lt;br /&gt;
&lt;br /&gt;
=== Next to right-floated boxes ===&lt;br /&gt;
{{As of|2015|09|post=,}} the text of a block quotation may rarely overflow (in Firefox or other Gecko browsers) a right-floated item (e.g. a {{tlx|Listen}} box, when that item is below another right-floated item of a fixed size that is narrower. In Safari and other Webkit browsers (and even more rarely in Chrome/Chromium) the same condition can cause the block quotation to be pushed downward. Both of these problems can be fixed by either:&lt;br /&gt;
# removing the sizing on the upper item and letting it use its default size (e.g. removing &amp;lt;code&amp;gt;{{var|###}}x{{var|###}}px&amp;lt;/code&amp;gt; sizing or {{para|upright}} from a right-floated image above a wider right-floated object that is being overflowed by quotation text; or&lt;br /&gt;
# using {{para|style|{{code|lang=css|code=overflow:inherit;}}}} in the quotation template.&lt;br /&gt;
There may be other solutions, and future browser upgrades may eliminate the issue. It arises at all because of the &amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot; inline&amp;gt;blockquote {overflow: hidden;}&amp;lt;/syntaxhighlight&amp;gt; CSS declaration in [[Mediawiki:Common.css]], which itself works around other, more common display problems. A solution that fixes {{em|all}} of the issues is unknown at this time.&lt;br /&gt;
&lt;br /&gt;
=== Vanishing quotes ===&lt;br /&gt;
In rare layout cases, e.g. when quotes are sandwiched between userboxes, a quotation may appear blanked out, in some browsers. The workaround for this problem is to add {{para|style|{{code|lang=css|code=overflow:inherit;}}}} to such an instance of the template.&lt;br /&gt;
&lt;br /&gt;
=== Line breaks ===&lt;br /&gt;
This template sets a text style which might ignore one blank line, and so the template must be ended with a break (newline) or the next blank line might be ignored. Otherwise, beware inline, as:&amp;lt;br /&amp;gt;{{in5}}text here {{tlf|blockquote|this is quoted}} More text here&amp;lt;br /&amp;gt;spans a blank line, unless a {{tlf|blockquote|...}} is ended with a line break, then the next blank line might be ignored and two paragraphs joined.&lt;br /&gt;
&lt;br /&gt;
{{Blockquote paragraphs}}&lt;br /&gt;
&lt;br /&gt;
=== Nested quotations ===&lt;br /&gt;
The {{code|lang=html|code=&amp;lt;blockquote&amp;gt;...&amp;lt;/blockquote&amp;gt;}} element has styles that change the font size: on desktop, text is smaller; on mobile, it is larger. This change is relative to the enclosing context, meaning that if you quote from a source that itself uses a block quotation, you&#039;ll find that the inner quotation is either really tiny and hard to read, or really large and barely fits on the screen. To fix this issue, add the parameter {{para|style|{{code|lang=css|font-size:inherit;}}}} on any inner {{tlf|blockquote}} templates.&lt;br /&gt;
&lt;br /&gt;
=== Technical issues with block templates ===&lt;br /&gt;
{{Block bug documentation}}&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
Pages where this template is not used correctly populate [[:Category:Pages incorrectly using the quote template]]. The category tracks tranclusions of [[:Template:Quote]] that have no text given for quotation or use an equals sign in the argument of an unnamed parameter. It also tracks usage of {{para|id}}, {{para|diff}}, {{para|4}}, or {{para|5}}.&lt;br /&gt;
&lt;br /&gt;
=== Tracking category ===&lt;br /&gt;
Articles that use unsupported parameters are placed in {{clc|Pages using Blockquote template with unknown parameters}}. &lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
{{TemplateData header}}&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Adds a block quotation.&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;text&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The text to quote&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;1&amp;quot;,&lt;br /&gt;
				&amp;quot;quote&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Cry \&amp;quot;Havoc\&amp;quot; and let slip the dogs of war.&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;author&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;author&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The writer of the source&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;2&amp;quot;,&lt;br /&gt;
				&amp;quot;cite&amp;quot;,&lt;br /&gt;
				&amp;quot;sign&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;William Shakespeare&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;title&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;title&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The work being quoted from&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;3&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Julius Caesar&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;source&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;source&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;A source for the quote&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;4&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;act III, scene I&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;character&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;character&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The speaker within the work who is being quoted&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;5&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Mark Antony&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: false&lt;br /&gt;
		},&lt;br /&gt;
        &amp;quot;multiline&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;multiline&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Keeps forced linebreaks in output&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;true&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;:  false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;style&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;style&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Additional CSS styles (not classes) to apply&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;font-size:inherit;&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;:  false&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;class&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;class&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Additional HTML classes to apply&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;pullquote&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;:  false&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
{{Quotation templates}}&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- ADD CATEGORIES AFTER THIS LINE, PLEASE: --&amp;gt;&lt;br /&gt;
[[Category:Quotation templates]]&lt;br /&gt;
[[Category:Wikipedia XHTML tag-replacing templates]]&lt;br /&gt;
[[Category:Templates that add a tracking category]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Block_bug_documentation&amp;diff=1959</id>
		<title>Template:Block bug documentation</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Block_bug_documentation&amp;diff=1959"/>
		<updated>2022-12-31T20:02:07Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{notice|Ignore any errors showing below; they do not appear when this snippet is transcluded (nor does this message box). This doc snippet&#039;s output only works when it&#039;s transcluded into the context of a specific template, e.g. at [[Template:Block indent/doc]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;If the block-formatted content begins with a list (or any other wikimarkup that is dependent upon a specific markup character being at the beginning of a line) then due to a bug in [[MediaWiki]], a {{xtag|nowiki|s}} and a new line must exist before the list (or whatever) starts. Compare:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;amp;nbsp;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | result&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | FAIL&lt;br /&gt;
|&lt;br /&gt;
  {{ {{BASEPAGENAME}}&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;{{{1|1}}}&amp;lt;nowiki&amp;gt;=&lt;br /&gt;
 *Firstly, ...&lt;br /&gt;
 *Secondly, ...&lt;br /&gt;
 *Thirdly, ...&lt;br /&gt;
 }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;includeonly&amp;gt;{{ {{BASEPAGENAME}}|{{{1|1}}}=&lt;br /&gt;
*Firstly, ...&lt;br /&gt;
*Secondly, ...&lt;br /&gt;
*Thirdly, ...&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{error|This output only works when this doc snippet is transcluded.}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | Works as intended&lt;br /&gt;
|&lt;br /&gt;
  {{ {{BASEPAGENAME}}&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;{{{1|1}}}&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&amp;amp;lt;nowiki /&amp;amp;gt;&#039;&#039;&#039;&amp;lt;br/&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 *Firstly, ...&lt;br /&gt;
 *Secondly, ...&lt;br /&gt;
 *Thirdly, ...&lt;br /&gt;
 }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
| &amp;lt;includeonly&amp;gt;{{ {{BASEPAGENAME}}|{{{1|1}}}=&amp;lt;nowiki /&amp;gt;&lt;br /&gt;
*Firstly, ...&lt;br /&gt;
*Secondly, ...&lt;br /&gt;
*Thirdly, ...&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{error|This output only works when this doc snippet is transcluded.}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
To embed a table in block markup like this, the block template&#039;s content parameter must be named or numbered and include the self-closing noinclude – as in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|1=&amp;amp;lt;nowiki /&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; – then every &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; character in the table markup must be escaped with {{tlx|!}}. An alternative is to use explicit HTML {{code|lang=html|code=&amp;lt;table&amp;gt;}}, {{code|lang=html|code=&amp;lt;tr&amp;gt;}}, {{code|lang=html|code=&amp;lt;th&amp;gt;}}, and {{code|lang=html|code=&amp;lt;td&amp;gt;}} markup.&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=This is transcluded documentation, which can be transcluded in the /doc pages of various templates like {{tlx|Block indent}} and {{tlx|Quote}}, e.g. under a &amp;quot;Technical issue with block templates&amp;quot; heading or the like.  Right now it takes no parameter other than {{para|1|{{var|foo}}}}, to change the &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; to something else, thus changing the display (and operation) to use something other than {{para|1}} in the shown template operations.&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation shared content templates]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Transclusion_count/data/B&amp;diff=1957</id>
		<title>Module:Transclusion count/data/B</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Transclusion_count/data/B&amp;diff=1957"/>
		<updated>2022-12-31T20:02:04Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;return {&lt;br /&gt;
[&amp;quot;B-Class&amp;quot;] = 36000,&lt;br /&gt;
[&amp;quot;BBC_Online&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;BBC_programme&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;BCGNIS&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;BDFA&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;BDFutbol&amp;quot;] = 7100,&lt;br /&gt;
[&amp;quot;BEL&amp;quot;] = 8400,&lt;br /&gt;
[&amp;quot;BGR&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;BIH&amp;quot;] = 4200,&lt;br /&gt;
[&amp;quot;BLP&amp;quot;] = 1110000,&lt;br /&gt;
[&amp;quot;BLP_others&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;BLP_primary_sources&amp;quot;] = 6000,&lt;br /&gt;
[&amp;quot;BLP_sources&amp;quot;] = 86000,&lt;br /&gt;
[&amp;quot;BLP_unreferenced&amp;quot;] = 6900,&lt;br /&gt;
[&amp;quot;BLP_unsourced&amp;quot;] = 6500,&lt;br /&gt;
[&amp;quot;BLP_unsourced_section&amp;quot;] = 5000,&lt;br /&gt;
[&amp;quot;BLR&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;BRA&amp;quot;] = 8900,&lt;br /&gt;
[&amp;quot;BS-map&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;BS-map/map&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;BS-overlap&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;BS_template&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;BSpx&amp;quot;] = 4000,&lt;br /&gt;
[&amp;quot;BSrow&amp;quot;] = 3500,&lt;br /&gt;
[&amp;quot;BSsplit&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;BSto&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;BUL&amp;quot;] = 4800,&lt;br /&gt;
[&amp;quot;BWF&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;Babel&amp;quot;] = 41000,&lt;br /&gt;
[&amp;quot;Background_color&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;Bad_JPEG&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;Banner_holder&amp;quot;] = 2720000,&lt;br /&gt;
[&amp;quot;Banner_holder/styles.css&amp;quot;] = 2720000,&lt;br /&gt;
[&amp;quot;Bar_box&amp;quot;] = 6600,&lt;br /&gt;
[&amp;quot;Bar_percent&amp;quot;] = 6400,&lt;br /&gt;
[&amp;quot;Bare_URL_PDF&amp;quot;] = 33000,&lt;br /&gt;
[&amp;quot;Bare_URL_image&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Bare_URL_inline&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;Base_Mérimée&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;Baseball_navbox&amp;quot;] = 11000,&lt;br /&gt;
[&amp;quot;Baseball_primary_link&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;Baseball_primary_style&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;Baseball_secondary_link&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;Baseball_secondary_style&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Baseball_year&amp;quot;] = 13000,&lt;br /&gt;
[&amp;quot;Baseballstats&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;Based_on&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;Basketball_color&amp;quot;] = 6200,&lt;br /&gt;
[&amp;quot;Basketball_color_cell&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;Basketball_color_cell2&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;Basketball_current_roster&amp;quot;] = 2500,&lt;br /&gt;
[&amp;quot;Basketball_kit&amp;quot;] = 3600,&lt;br /&gt;
[&amp;quot;Basketballbox&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;Basketballstats&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;Bda&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;Better_source&amp;quot;] = 5600,&lt;br /&gt;
[&amp;quot;Better_source_needed&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;Bibleref2&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;Bibleref2/url&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Bibleverse&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;Big&amp;quot;] = 261000,&lt;br /&gt;
[&amp;quot;Bigger&amp;quot;] = 39000,&lt;br /&gt;
[&amp;quot;BillboardURLbyName&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;Bio_icon&amp;quot;] = 86000,&lt;br /&gt;
[&amp;quot;Bio_icon2&amp;quot;] = 86000,&lt;br /&gt;
[&amp;quot;Biographical_Directory_of_Congress&amp;quot;] = 10000,&lt;br /&gt;
[&amp;quot;Bioguide&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;BirdTalk&amp;quot;] = 9400,&lt;br /&gt;
[&amp;quot;Birds_tasks&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;Birth-date&amp;quot;] = 27000,&lt;br /&gt;
[&amp;quot;Birth-date_and_age&amp;quot;] = 12000,&lt;br /&gt;
[&amp;quot;Birth_based_on_age_as_of_date&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;Birth_date&amp;quot;] = 351000,&lt;br /&gt;
[&amp;quot;Birth_date_and_age&amp;quot;] = 700000,&lt;br /&gt;
[&amp;quot;Birth_date_and_age2&amp;quot;] = 5300,&lt;br /&gt;
[&amp;quot;Birth_year&amp;quot;] = 7700,&lt;br /&gt;
[&amp;quot;Birth_year_and_age&amp;quot;] = 36000,&lt;br /&gt;
[&amp;quot;Bk&amp;quot;] = 3900,&lt;br /&gt;
[&amp;quot;Black&amp;quot;] = 9300,&lt;br /&gt;
[&amp;quot;Blanked_IP_talk&amp;quot;] = 6150000,&lt;br /&gt;
[&amp;quot;Blist&amp;quot;] = 24000,&lt;br /&gt;
[&amp;quot;Block_indent&amp;quot;] = 463000,&lt;br /&gt;
[&amp;quot;Block_indent/styles.css&amp;quot;] = 463000,&lt;br /&gt;
[&amp;quot;Blocked_proxy&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;Blockedandtagged&amp;quot;] = 4900,&lt;br /&gt;
[&amp;quot;Blockquote&amp;quot;] = 168000,&lt;br /&gt;
[&amp;quot;Blockquote/styles.css&amp;quot;] = 168000,&lt;br /&gt;
[&amp;quot;Blue&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;Bnt&amp;quot;] = 4400,&lt;br /&gt;
[&amp;quot;Border&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;BotApproved&amp;quot;] = 2200,&lt;br /&gt;
[&amp;quot;BotTrial&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Bot_trial&amp;quot;] = 2400,&lt;br /&gt;
[&amp;quot;Botanist&amp;quot;] = 4600,&lt;br /&gt;
[&amp;quot;Both&amp;quot;] = 1470000,&lt;br /&gt;
[&amp;quot;Bots&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;Box&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;Box-footer&amp;quot;] = 6300,&lt;br /&gt;
[&amp;quot;Box-header&amp;quot;] = 5600,&lt;br /&gt;
[&amp;quot;Box-shadow_border&amp;quot;] = 80000,&lt;br /&gt;
[&amp;quot;BoxRec&amp;quot;] = 5200,&lt;br /&gt;
[&amp;quot;Boxbottom&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Boxboxbottom&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;Boxboxtop&amp;quot;] = 19000,&lt;br /&gt;
[&amp;quot;BoxingRecordSummary&amp;quot;] = 3000,&lt;br /&gt;
[&amp;quot;Boxing_record_summary&amp;quot;] = 3100,&lt;br /&gt;
[&amp;quot;Boxrec&amp;quot;] = 4500,&lt;br /&gt;
[&amp;quot;Bq&amp;quot;] = 8800,&lt;br /&gt;
[&amp;quot;Br&amp;quot;] = 4700,&lt;br /&gt;
[&amp;quot;Br_separated_entries&amp;quot;] = 1740000,&lt;br /&gt;
[&amp;quot;Brca&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;Break&amp;quot;] = 17000,&lt;br /&gt;
[&amp;quot;British_English&amp;quot;] = 15000,&lt;br /&gt;
[&amp;quot;Brldb_prim&amp;quot;] = 2000,&lt;br /&gt;
[&amp;quot;Broken_anchors&amp;quot;] = 2300,&lt;br /&gt;
[&amp;quot;Broken_ref&amp;quot;] = 51000,&lt;br /&gt;
[&amp;quot;Broken_ref/cat&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Broken_ref/lang&amp;quot;] = 51000,&lt;br /&gt;
[&amp;quot;Broken_ref/styles.css&amp;quot;] = 49000,&lt;br /&gt;
[&amp;quot;Bronze03&amp;quot;] = 16000,&lt;br /&gt;
[&amp;quot;Bronze3&amp;quot;] = 44000,&lt;br /&gt;
[&amp;quot;Bronze_medal&amp;quot;] = 5600,&lt;br /&gt;
[&amp;quot;Buddhism_topics&amp;quot;] = 2100,&lt;br /&gt;
[&amp;quot;Bulleted_list&amp;quot;] = 64000,&lt;br /&gt;
[&amp;quot;Bus_icon&amp;quot;] = 3200,&lt;br /&gt;
[&amp;quot;Busy&amp;quot;] = 2700,&lt;br /&gt;
[&amp;quot;Butt-Stations&amp;quot;] = 2600,&lt;br /&gt;
[&amp;quot;Button&amp;quot;] = 42000,&lt;br /&gt;
[&amp;quot;By&amp;quot;] = 5100,&lt;br /&gt;
[&amp;quot;By_whom&amp;quot;] = 7800,&lt;br /&gt;
[&amp;quot;Module:Babel&amp;quot;] = 41000,&lt;br /&gt;
[&amp;quot;Module:BaseConvert&amp;quot;] = 34000,&lt;br /&gt;
[&amp;quot;Module:Based_on&amp;quot;] = 23000,&lt;br /&gt;
[&amp;quot;Module:Bibleverse&amp;quot;] = 6700,&lt;br /&gt;
[&amp;quot;Module:Box-header&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;Module:Box-header/colours&amp;quot;] = 5800,&lt;br /&gt;
[&amp;quot;Module:British_regnal_year&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;Module:British_regnal_year/data&amp;quot;] = 2800,&lt;br /&gt;
[&amp;quot;Module:Buffer&amp;quot;] = 2390000,&lt;br /&gt;
[&amp;quot;Module:Build_bracket&amp;quot;] = 6400,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Tlb&amp;diff=1955</id>
		<title>Template:Tlb</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Tlb&amp;diff=1955"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Template link with bold]]&lt;br /&gt;
&lt;br /&gt;
{{Redirect category shell|&lt;br /&gt;
{{R from move}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Template_link_with_bold&amp;diff=1953</id>
		<title>Template:Template link with bold</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Template_link_with_bold&amp;diff=1953"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#Invoke:Template link general|main|bold=on}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|1=Template:Tlg/doc&lt;br /&gt;
|content = {{tlg/doc|tlb}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Stronggood&amp;diff=1951</id>
		<title>Template:Stronggood</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Stronggood&amp;diff=1951"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{FormattingError|Template:Stronggood is only for use in template documentation, guidelines and other Wikipedia-internal purposes. Do not use it in actual articles.}}|{{strong|1={{{1}}}|style=color:green;{{{style|}}} |role={{{role|}}} |class={{{class|}}} |id={{{id|}}} |title={{{title|}}} }} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add cats and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Lorem_ipsum/p-end-cond&amp;diff=1949</id>
		<title>Template:Lorem ipsum/p-end-cond</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Lorem_ipsum/p-end-cond&amp;diff=1949"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{{2|{{{join|no}}}}}} | yes &lt;br /&gt;
  | &lt;br /&gt;
  | {{#switch: {{#invoke:string|sub|x{{{1|}}}|2|2}}&lt;br /&gt;
      | : | # | * = &lt;br /&gt;
      | #default = &amp;lt;/p&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation |content=&lt;br /&gt;
Conditional paragraph end. Generates an p-tag if needed, depending on &#039;&#039;prefix&#039;&#039; and &#039;&#039;join&#039;&#039;:&lt;br /&gt;
* nothing, in the case of joins;&lt;br /&gt;
* nothing, where prefix metacharacters are present like (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;) which must sit in column 1, don&#039;t acquire begin-p tags, and therefore don&#039;t need an end p-tag;&lt;br /&gt;
* an end p-tag after the lorem paragraph emitted last, in other cases.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
{{tlc|Lorem ipsum/p-end-cond|&#039;&#039;prefix&#039;&#039;|&#039;&#039;join&#039;&#039;}}&lt;br /&gt;
}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Lorem_ipsum/P1&amp;diff=1947</id>
		<title>Template:Lorem ipsum/P1</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Lorem_ipsum/P1&amp;diff=1947"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{{link|no}}}|yes|[[Lorem ipsum]]|Lorem ipsum}} dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&amp;lt;noinclude&amp;gt;{{pp-template}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Lorem_ipsum/p-cond&amp;diff=1945</id>
		<title>Template:Lorem ipsum/p-cond</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Lorem_ipsum/p-cond&amp;diff=1945"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{{2|{{{join|no}}}}}} | yes &lt;br /&gt;
  | &lt;br /&gt;
  | {{#switch: {{#invoke:string|sub|x{{{1|}}}|2|2}}&lt;br /&gt;
      | : | # | * = &lt;br /&gt;
      | #default = &amp;lt;p&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;}}&lt;br /&gt;
}}&amp;lt;/p&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation |content=&lt;br /&gt;
Conditional paragraph begin. Generates a begin p-tag if needed, depending on &#039;&#039;prefix&#039;&#039; and &#039;&#039;join&#039;&#039;:&lt;br /&gt;
* nothing, in the case of joins;&lt;br /&gt;
* nothing, where prefix metacharacters are present like (&amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;) which must sit in column 1;&lt;br /&gt;
* a begin p-tag before the first lorem paragraph, in other cases.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
{{tlc|Lorem ipsum/p-cond|&#039;&#039;prefix&#039;&#039;|&#039;&#039;join&#039;&#039;}}&lt;br /&gt;
}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Lorem_ipsum&amp;diff=1943</id>
		<title>Template:Lorem ipsum</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Lorem_ipsum&amp;diff=1943"/>
		<updated>2022-12-31T20:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifexpr:{{{1|1}}}&amp;gt;0|{{Lorem ipsum/p-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P1|link={{{link|{{{4|no}}}}}}}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;1|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P2}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;2|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P3}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;3|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P4}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;4|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P5}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;5|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P6}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;6|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P7}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;7|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P8}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;8|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P9}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;9|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P10}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;10|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P11}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;11|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P12}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;12|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P13}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;13|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P14}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;14|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P15}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;15|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P16}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;16|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P17}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;17|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P18}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;18|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P19}}{{{3|}}}&lt;br /&gt;
&lt;br /&gt;
|}}{{#ifexpr:{{{1|1}}}&amp;gt;19|{{Lorem ipsum/pb-cond|{{{2|}}}|{{{join|}}}}}{{{2|}}}{{Lorem ipsum/P20}}{{{3|}}}}}{{Lorem ipsum/p-end-cond|{{{2|}}}|{{{join|}}}}}&amp;lt;includeonly&amp;gt;{{#ifeq:{{{cat|}}}|no||{{Template:Main other|[[Category:Wikipedia articles containing placeholders]]}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}} &lt;br /&gt;
&amp;lt;!-- PLEASE ADD CATEGORIES TO THE /doc SUBPAGE, AND INTERWIKIS TO WIKIDATA, THANKS --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Strongbad&amp;diff=1941</id>
		<title>Template:Strongbad</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Strongbad&amp;diff=1941"/>
		<updated>2022-12-31T20:02:02Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{main other|{{FormattingError|Template:Strongbad is only for use in template documentation, guidelines and other Wikipedia-internal purposes. Do not use it in actual articles.}}|{{strong|1={{{1}}}|style=color: red; {{{style|}}} |role={{{role|}}} |class={{{class|}}} |id={{{id|}}} |title={{{title|}}} }}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add cats and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Xtag&amp;diff=1939</id>
		<title>Template:Xtag</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Xtag&amp;diff=1939"/>
		<updated>2022-12-31T20:02:02Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;code class=&amp;quot;nowrap&amp;quot;&amp;gt;{{#switch:{{{2|pair}}}&lt;br /&gt;
 |c|close  = &amp;lt;!--nothing--&amp;gt;&lt;br /&gt;
 |s|single&lt;br /&gt;
 |o|open&lt;br /&gt;
 |p|pair   = &amp;amp;lt;{{#switch:{{{1|}}}&lt;br /&gt;
 |categorytree=[[mw:Extension:CategoryTree|categorytree]]&lt;br /&gt;
 |charinsert=[[mw:Extension:CharInsert|charinsert]]&lt;br /&gt;
 |ce=[[Help:Displaying a formula#Chemistry|ce]]&lt;br /&gt;
 |chem=[[Help:Displaying a formula#Chemistry|chem]]&lt;br /&gt;
 |gallery=[[Help:Gallery tag|gallery]]&lt;br /&gt;
 |graph=[[Help:Graph|graph]]&lt;br /&gt;
 |hiero=[[mw:Extension:WikiHiero|hiero]]&lt;br /&gt;
 |includeonly=[[Help:Template#Noinclude, includeonly, and onlyinclude|includeonly]]&lt;br /&gt;
 |indicator=[[mw:Help:Page status indicators|indicator]]&lt;br /&gt;
 |imagemap=[[mw:Extension:ImageMap|imagemap]]&lt;br /&gt;
 |inputbox=[[mw:Extension:InputBox|inputbox]]&lt;br /&gt;
 |mapframe=[[mw:Extension:Kartographer|mapframe]]&lt;br /&gt;
 |maplink=[[mw:Extension:Kartographer#&amp;lt;maplink&amp;gt;|maplink]]&lt;br /&gt;
 |math=[[mw:Extension:Math|math]]&lt;br /&gt;
 |math chem=[[Help:Displaying a formula#Chemistry|math chem]]&lt;br /&gt;
 |noinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|noinclude]]&lt;br /&gt;
 |nowiki=[[Help:Nowiki|nowiki]]&lt;br /&gt;
 |onlyinclude=[[Help:Template#Noinclude, includeonly, and onlyinclude|onlyinclude]]&lt;br /&gt;
 |poem=[[mw:Extension:Poem|poem]]&lt;br /&gt;
 |pre=[[WP:PRE|pre]]&lt;br /&gt;
 |ref=[[mw:Extension:Cite/Cite.php|ref]]&lt;br /&gt;
 |references=[[mw:Extension:Cite/Cite.php|references]]&lt;br /&gt;
 |score=[[Help:Score|score]]&lt;br /&gt;
 |section=[[mw:Extension:Labeled Section Transclusion|section]]&lt;br /&gt;
 |source=[[mw:Extension:SyntaxHighlight|source]]&lt;br /&gt;
 |syntaxhighlight=[[mw:Extension:SyntaxHighlight|syntaxhighlight]]&lt;br /&gt;
 |templatedata=[[Wikipedia:TemplateData/Tutorial|templatedata]]&lt;br /&gt;
 |templatestyles=[[mw:Extension:TemplateStyles|templatestyles]]&lt;br /&gt;
 |timeline=[[mw:Extension:EasyTimeline|timeline]]&lt;br /&gt;
 |#default={{{1|}}}[[Category:Pages using xtag template with unsupported tag name]]&lt;br /&gt;
}}{{#if:{{{params|}}}|&amp;amp;#32;{{{params}}}}}&lt;br /&gt;
}}{{#switch:{{{2|open}}}&lt;br /&gt;
 |c|close  = {{{content|}}}&lt;br /&gt;
 |s|single =  &amp;amp;#32;/&amp;amp;gt;&lt;br /&gt;
 |o|open   = &amp;amp;gt;{{{content|}}}&lt;br /&gt;
 |p|pair   = &amp;amp;gt;{{{content|...}}}&lt;br /&gt;
}}{{#switch:{{{2|open}}}&lt;br /&gt;
 |s|single&lt;br /&gt;
 |o|open   = &amp;lt;!--nothing--&amp;gt;&lt;br /&gt;
 |c|close&lt;br /&gt;
 |p|pair   = &amp;amp;lt;/{{{1|tag}}}&amp;amp;gt;&lt;br /&gt;
}}&amp;lt;/code&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Transclusion_count&amp;diff=1937</id>
		<title>Module:Transclusion count</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Transclusion_count&amp;diff=1937"/>
		<updated>2022-12-31T20:02:02Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.fetch(frame)&lt;br /&gt;
	local template = nil&lt;br /&gt;
	local return_value = nil&lt;br /&gt;
&lt;br /&gt;
	-- Use demo parameter if it exists, otherswise use current template name&lt;br /&gt;
	local namespace = mw.title.getCurrentTitle().namespace&lt;br /&gt;
	if frame.args[&amp;quot;demo&amp;quot;] and frame.args[&amp;quot;demo&amp;quot;] ~= &amp;quot;&amp;quot; then&lt;br /&gt;
		template = mw.ustring.gsub(frame.args[&amp;quot;demo&amp;quot;],&amp;quot;^[Tt]emplate:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	elseif namespace == 10 then -- Template namespace&lt;br /&gt;
		template = mw.title.getCurrentTitle().text&lt;br /&gt;
	elseif namespace == 828 then -- Module namespace&lt;br /&gt;
		template = (mw.site.namespaces[828].name .. &amp;quot;:&amp;quot; .. mw.title.getCurrentTitle().text)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- If in template or module namespace, look up count in /data&lt;br /&gt;
	if template ~= nil then&lt;br /&gt;
		namespace = mw.title.new(template, &amp;quot;Template&amp;quot;).namespace&lt;br /&gt;
		if namespace == 10 or namespace == 828 then&lt;br /&gt;
			template =  mw.ustring.gsub(template, &amp;quot;/doc$&amp;quot;, &amp;quot;&amp;quot;) -- strip /doc from end&lt;br /&gt;
			template =  mw.ustring.gsub(template, &amp;quot;/sandbox$&amp;quot;, &amp;quot;&amp;quot;) -- strip /sandbox from end&lt;br /&gt;
			local index = mw.ustring.sub(mw.title.new(template).text,1,1)&lt;br /&gt;
			local status, data = pcall(function () &lt;br /&gt;
				return(mw.loadData(&#039;Module:Transclusion_count/data/&#039; .. (mw.ustring.find(index, &amp;quot;%a&amp;quot;) and index or &amp;quot;other&amp;quot;))) &lt;br /&gt;
			end)&lt;br /&gt;
			if status then&lt;br /&gt;
				return_value = tonumber(data[mw.ustring.gsub(template, &amp;quot; &amp;quot;, &amp;quot;_&amp;quot;)])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- If database value doesn&#039;t exist, use value passed to template&lt;br /&gt;
	if return_value == nil and frame.args[1] ~= nil then&lt;br /&gt;
		local arg1=mw.ustring.match(frame.args[1], &#039;[%d,]+&#039;)&lt;br /&gt;
		if arg1 and arg1 ~= &#039;&#039; then&lt;br /&gt;
			return_value = tonumber(frame:callParserFunction(&#039;formatnum&#039;, arg1, &#039;R&#039;))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return return_value	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Tabulate this data for [[Wikipedia:Database reports/Templates transcluded on the most pages]]&lt;br /&gt;
function p.tabulate(frame)&lt;br /&gt;
	local list = {}&lt;br /&gt;
	for i = 65, 91 do&lt;br /&gt;
		local data = mw.loadData(&#039;Module:Transclusion count/data/&#039; .. ((i == 91) and &#039;other&#039; or string.char(i)))&lt;br /&gt;
		for name, count in pairs(data) do&lt;br /&gt;
			table.insert(list, {mw.title.new(name, &amp;quot;Template&amp;quot;).fullText, count})	&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(list, function(a, b)&lt;br /&gt;
		return (a[2] == b[2]) and (a[1] &amp;lt; b[1]) or (a[2] &amp;gt; b[2])&lt;br /&gt;
	end)&lt;br /&gt;
	local lang = mw.getContentLanguage();&lt;br /&gt;
	for i = 1, #list do&lt;br /&gt;
		list[i] = (&#039;|-\n| %d || [[%s]] || %s\n&#039;):format(i, list[i][1]:gsub(&#039;_&#039;, &#039; &#039;), lang:formatNum(list[i][2]))&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(list)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Item&amp;diff=1935</id>
		<title>Module:Item</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Item&amp;diff=1935"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local function escape(str)&lt;br /&gt;
	return str:gsub(&amp;quot;[|\\]&amp;quot;, function (c) return string.format(&amp;quot;\\%03d&amp;quot;, c:byte()) end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function unescape(str)&lt;br /&gt;
	return str:gsub(&amp;quot;\\(%d%d%d)&amp;quot;, function (d) return string.char(d) end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Implements [[Template:Item]]&lt;br /&gt;
function p.pack(frame)&lt;br /&gt;
	local parent = frame:getParent()&lt;br /&gt;
	local result = &#039;&#039;&lt;br /&gt;
	for key, value in pairs(parent.args) do&lt;br /&gt;
		result = result .. &amp;quot;|&amp;quot; .. escape(tostring(key)) .. &amp;quot;|&amp;quot; .. escape(value)&lt;br /&gt;
	end&lt;br /&gt;
	return result .. &amp;quot;|&amp;quot;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function unpack(str)&lt;br /&gt;
	local result = { }&lt;br /&gt;
	for key, value in str:gfind(&amp;quot;|([^|]*)|([^|]*)&amp;quot;) do&lt;br /&gt;
		result[unescape(key)] = unescape(value)&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Implements [[Template:Component]]&lt;br /&gt;
function p.component(frame)&lt;br /&gt;
	return unpack(frame.args[1])[frame.args[2]]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getItems(frame)&lt;br /&gt;
	return frame:getParent().args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function invert(tbl)&lt;br /&gt;
	local result = { }&lt;br /&gt;
	for key, value in pairs(tbl) do&lt;br /&gt;
		result[value] = key&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add args into item as appropriate (see [[Template:Format item]])&lt;br /&gt;
local function addArgs(&lt;br /&gt;
	item,   -- unpacked item to modify&lt;br /&gt;
	args,   -- arguments for adding into item&lt;br /&gt;
	ignore, -- pass in invert{keys to ignore}&lt;br /&gt;
	shift   -- for numbered arguments, args[key+shift] is assigned to item[key]&lt;br /&gt;
	-- returns: item&lt;br /&gt;
)&lt;br /&gt;
	for key, value in pairs(args) do&lt;br /&gt;
		if not ignore[key] then&lt;br /&gt;
			local _, _, paramKey = string.find(key, &amp;quot;^param (.*)&amp;quot;)&lt;br /&gt;
			local _, _, importantKey = string.find(key, &amp;quot;^important (.*)&amp;quot;)&lt;br /&gt;
			paramKey = paramKey or importantKey or key&lt;br /&gt;
			if shift and type(paramKey) == &amp;quot;number&amp;quot; then&lt;br /&gt;
				paramKey = paramKey - shift&lt;br /&gt;
				if paramKey &amp;lt; 1 then paramKey = nil end&lt;br /&gt;
			end&lt;br /&gt;
			if paramKey and (importantKey or item[paramKey] == nil) then&lt;br /&gt;
				item[paramKey] = value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Implements [[Template:Format item]]&lt;br /&gt;
function p.format(frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local ignore = invert{ &amp;quot;template&amp;quot;, &amp;quot;item&amp;quot; }&lt;br /&gt;
	local templateArgs = addArgs(unpack(args.item), args, ignore)&lt;br /&gt;
	&lt;br /&gt;
	return frame:expandTemplate{ title = args.template, args = templateArgs }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- See [[Template:Item#Format each item using a template]]&lt;br /&gt;
function p.each(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local items = getItems(frame)&lt;br /&gt;
	local separator = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	local prepend = args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
	local append = args[3] or &amp;quot;&amp;quot;&lt;br /&gt;
	local ignore = invert{ &amp;quot;template&amp;quot; }&lt;br /&gt;
	local shift = 3&lt;br /&gt;
&lt;br /&gt;
	local result = &amp;quot;&amp;quot;&lt;br /&gt;
	for i, item in ipairs(items) do&lt;br /&gt;
		local templateArgs = addArgs(unpack(item), args, ignore, shift)&lt;br /&gt;
		result = result .. prepend .. frame:expandTemplate{ title = args.template, args = templateArgs } .. append&lt;br /&gt;
		if items[i + 1] then&lt;br /&gt;
			result = result .. separator&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- See [[Template:Item#Gather given parameter from all items]]&lt;br /&gt;
function p.gather(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local items = getItems(frame)&lt;br /&gt;
	local parameter = args.parameter or &amp;quot;1&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local templateArgs = { }&lt;br /&gt;
	for i, item in ipairs(items) do&lt;br /&gt;
		templateArgs[i] = unpack(item)[parameter]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return frame:expandTemplate{ title = args.template, args = templateArgs }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Markup/row&amp;diff=1933</id>
		<title>Template:Markup/row</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Markup/row&amp;diff=1933"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{| style=&amp;quot;border-width:medium;&amp;quot;&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#if:{{{c1|value}}}|&amp;amp;#32;&lt;br /&gt;
{{!-}}&lt;br /&gt;
{{!}}style{{=}}&amp;quot;background:#f8f9fa ; border:1px solid #eaecf0 ; padding:9px 5px 5px; vertical-align:top;&amp;quot;{{!}} &amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#tag:pre |{{{c1|[markup]}}}|style=&amp;quot;margin:0;border:none;padding:0; word-wrap:break-word; white-space:-moz-pre-wrap;white-space:-o-pre-wrap;white-space:-pre-wrap;white-space:pre-wrap; {{{c1style|}}}&amp;quot;}}&lt;br /&gt;
{{!}}style{{=}}&amp;quot;background:#f8f9fa ; border:1px solid #eaecf0 ; padding:5px; vertical-align:top;&amp;quot;{{!}} &amp;lt;!--&lt;br /&gt;
 --&amp;gt;&amp;lt;div style=&amp;quot;{{{c2style|}}}&amp;quot;&amp;gt;&lt;br /&gt;
{{{c2|[&#039;&#039;rendering&#039;&#039;]}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-width:1px;border-style:solid none none none;border-color:#ddd; padding:5px; vertical-align:text-top;&amp;quot;| &lt;br /&gt;
|style=&amp;quot;border-width:1px;border-style:solid none none none;border-color:#ddd; padding:5px; vertical-align:text-top;&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Markup&amp;diff=1931</id>
		<title>Template:Markup</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Markup&amp;diff=1931"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{| style=&amp;quot;width:{{{width|auto}}}; margin-top:0;margin-left:{{{margin-left|{{{margin|0}}}}}}; border-width:medium; padding:0; {{{style|}}}&amp;quot;&lt;br /&gt;
{{#if:{{{title|}}} |{{!}}+ &#039;&#039;&#039;{{{title}}}&#039;&#039;&#039;}}&lt;br /&gt;
{{#if:{{{noheaders|}}}{{{notitle|}}} |&lt;br /&gt;
 |!   scope=&amp;quot;col&amp;quot; style=&amp;quot;{{{colheaderstyle|}}}{{{col1headerstyle|}}}&amp;quot;{{!}} {{{col1|{{{t1|Markup}}}}}} {{!!}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;scope=&amp;quot;col&amp;quot; style=&amp;quot;{{{colheaderstyle|}}}{{{col2headerstyle|}}}&amp;quot;{{!}} {{{col2|{{{t2|Renders as}}}}}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{for loop||call=format item|pc1n=template|pc1v=Markup/row|pc2n=c1style|pc2v={{{col1style|{{{codestyle|{{{markupstyle|}}}}}}}}}|pc3n=c2style|pc3v={{{col2style|{{{outputstyle|}}}}}}|pv=item|{{item|c1={{{1|}}}|c2={{{2|}}}}}|{{item|c1={{{3|}}}|c2={{{4|}}}}}|{{item|c1={{{5|}}}|c2={{{6|}}}}}|{{item|c1={{{7|}}}|c2={{{8|}}}}}|{{item|c1={{{9|}}}|c2={{{10|}}}}}|{{item|c1={{{11|}}}|c2={{{12|}}}}}|{{item|c1={{{13|}}}|c2={{{14|}}}}}|{{item|c1={{{15|}}}|c2={{{16|}}}}}|{{item|c1={{{17|}}}|c2={{{18|}}}}}|{{item|c1={{{19|}}}|c2={{{20|}}}}}|{{item|c1={{{21|}}}|c2={{{22|}}}}}|{{item|c1={{{23|}}}|c2={{{24|}}}}}|{{item|c1={{{25|}}}|c2={{{26|}}}}}|{{item|c1={{{27|}}}|c2={{{28|}}}}}|{{item|c1={{{29|}}}|c2={{{30|}}}}}|{{item|c1={{{31|}}}|c2={{{32|}}}}}|{{item|c1={{{33|}}}|c2={{{34|}}}}}|{{item|c1={{{35|}}}|c2={{{36|}}}}}|{{item|c1={{{37|}}}|c2={{{38|}}}}}|{{item|c1={{{39|}}}|c2={{{40|}}}}}}}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-width:1px;border-style: none none none;border-color:#ddd; padding:5px; vertical-align:top;&amp;quot;| &lt;br /&gt;
|style=&amp;quot;border-width:1px;border-style: none none none;border-color:#ddd; padding:5px; vertical-align:top;&amp;quot;| &lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Item&amp;diff=1929</id>
		<title>Template:Item</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Item&amp;diff=1929"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Item|pack}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{doc}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Format_item&amp;diff=1927</id>
		<title>Template:Format item</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Format_item&amp;diff=1927"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Item|format}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{doc}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Shortcut&amp;diff=1925</id>
		<title>Module:Shortcut</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Shortcut&amp;diff=1925"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{shortcut}}.&lt;br /&gt;
&lt;br /&gt;
-- Set constants&lt;br /&gt;
local CONFIG_MODULE = &#039;Module:Shortcut/config&#039;&lt;br /&gt;
&lt;br /&gt;
-- Load required modules&lt;br /&gt;
local checkType = require(&#039;libraryUtil&#039;).checkType&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function message(msg, ...)&lt;br /&gt;
	return mw.message.newRawMessage(msg, ...):plain()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat)&lt;br /&gt;
	return string.format(&#039;[[%s:%s]]&#039;, mw.site.namespaces[14].name, cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(shortcuts, options, frame, cfg)&lt;br /&gt;
	checkType(&#039;_main&#039;, 1, shortcuts, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;_main&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	options = options or {}&lt;br /&gt;
	frame = frame or mw.getCurrentFrame()&lt;br /&gt;
	cfg = cfg or mw.loadData(CONFIG_MODULE)&lt;br /&gt;
	local templateMode = options.template and yesno(options.template)&lt;br /&gt;
	local redirectMode = options.redirect and yesno(options.redirect)&lt;br /&gt;
	local isCategorized = not options.category or yesno(options.category) ~= false&lt;br /&gt;
&lt;br /&gt;
	-- Validate shortcuts&lt;br /&gt;
	for i, shortcut in ipairs(shortcuts) do&lt;br /&gt;
		if type(shortcut) ~= &#039;string&#039; or #shortcut &amp;lt; 1 then&lt;br /&gt;
			error(message(cfg[&#039;invalid-shortcut-error&#039;], i), 2)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Make the list items. These are the shortcuts plus any extra lines such&lt;br /&gt;
	-- as options.msg.&lt;br /&gt;
	local listItems = {}&lt;br /&gt;
	for i, shortcut in ipairs(shortcuts) do&lt;br /&gt;
		local templatePath, prefix&lt;br /&gt;
		if templateMode then&lt;br /&gt;
			-- Namespace detection&lt;br /&gt;
			local titleObj = mw.title.new(shortcut, 10)&lt;br /&gt;
			if titleObj.namespace == 10 then&lt;br /&gt;
				templatePath = titleObj.fullText&lt;br /&gt;
			else&lt;br /&gt;
				templatePath = shortcut&lt;br /&gt;
			end&lt;br /&gt;
			prefix = options[&#039;pre&#039; .. i] or options.pre or &#039;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		if options.target and yesno(options.target) then&lt;br /&gt;
			listItems[i] = templateMode&lt;br /&gt;
				and string.format(&amp;quot;&amp;amp;#123;&amp;amp;#123;%s[[%s|%s]]&amp;amp;#125;&amp;amp;#125;&amp;quot;, prefix, templatePath, shortcut)&lt;br /&gt;
				or string.format(&amp;quot;[[%s]]&amp;quot;, shortcut)&lt;br /&gt;
		else&lt;br /&gt;
			listItems[i] = frame:expandTemplate{&lt;br /&gt;
				title = &#039;No redirect&#039;,&lt;br /&gt;
				args = templateMode and {templatePath, shortcut} or {shortcut, shortcut}&lt;br /&gt;
			}&lt;br /&gt;
			if templateMode then&lt;br /&gt;
				listItems[i] = string.format(&amp;quot;&amp;amp;#123;&amp;amp;#123;%s%s&amp;amp;#125;&amp;amp;#125;&amp;quot;, prefix, listItems[i])&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(listItems, options.msg)&lt;br /&gt;
&lt;br /&gt;
	-- Return an error if we have nothing to display&lt;br /&gt;
	if #listItems &amp;lt; 1 then&lt;br /&gt;
		local msg = cfg[&#039;no-content-error&#039;]&lt;br /&gt;
		msg = string.format(&#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;%s&amp;lt;/strong&amp;gt;&#039;, msg)&lt;br /&gt;
		if isCategorized and cfg[&#039;no-content-error-category&#039;] then&lt;br /&gt;
			msg = msg .. makeCategoryLink(cfg[&#039;no-content-error-category&#039;])&lt;br /&gt;
		end&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	root:wikitext(frame:extensionTag{ name = &#039;templatestyles&#039;, args = { src = &#039;Module:Shortcut/styles.css&#039;} })&lt;br /&gt;
	-- Anchors&lt;br /&gt;
	local anchorDiv = root&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:addClass(&#039;module-shortcutanchordiv&#039;)&lt;br /&gt;
	for i, shortcut in ipairs(shortcuts) do&lt;br /&gt;
		local anchor = mw.uri.anchorEncode(shortcut)&lt;br /&gt;
		anchorDiv:tag(&#039;span&#039;):attr(&#039;id&#039;, anchor)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Shortcut heading&lt;br /&gt;
	local shortcutHeading&lt;br /&gt;
	do&lt;br /&gt;
		local nShortcuts = #shortcuts&lt;br /&gt;
		if nShortcuts &amp;gt; 0 then&lt;br /&gt;
			local headingMsg = options[&#039;shortcut-heading&#039;] or&lt;br /&gt;
				redirectMode and cfg[&#039;redirect-heading&#039;] or&lt;br /&gt;
				cfg[&#039;shortcut-heading&#039;]&lt;br /&gt;
			shortcutHeading = message(headingMsg, nShortcuts)&lt;br /&gt;
			shortcutHeading = frame:preprocess(shortcutHeading)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Shortcut box&lt;br /&gt;
	local shortcutList = root&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:addClass(&#039;module-shortcutboxplain noprint&#039;)&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;note&#039;)&lt;br /&gt;
	if options.float and options.float:lower() == &#039;left&#039; then&lt;br /&gt;
		shortcutList:addClass(&#039;module-shortcutboxleft&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if options.clear and options.clear ~= &#039;&#039; then&lt;br /&gt;
		shortcutList:css(&#039;clear&#039;, options.clear)&lt;br /&gt;
	end&lt;br /&gt;
	if shortcutHeading then&lt;br /&gt;
		shortcutList&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				:addClass(&#039;module-shortcutlist&#039;)&lt;br /&gt;
				:wikitext(shortcutHeading)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local ubl = require(&#039;Module:List&#039;).unbulleted(listItems)&lt;br /&gt;
	shortcutList:wikitext(ubl)&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&#039;Module:Arguments&#039;).getArgs(frame)&lt;br /&gt;
&lt;br /&gt;
	-- Separate shortcuts from options&lt;br /&gt;
	local shortcuts, options = {}, {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &#039;number&#039; then&lt;br /&gt;
			shortcuts[k] = v&lt;br /&gt;
		else&lt;br /&gt;
			options[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Compress the shortcut array, which may contain nils.&lt;br /&gt;
	local function compressArray(t)&lt;br /&gt;
		local nums, ret = {}, {}&lt;br /&gt;
		for k in pairs(t) do&lt;br /&gt;
			nums[#nums + 1] = k&lt;br /&gt;
		end&lt;br /&gt;
		table.sort(nums)&lt;br /&gt;
		for i, num in ipairs(nums) do&lt;br /&gt;
			ret[i] = t[num]&lt;br /&gt;
		end&lt;br /&gt;
		return ret&lt;br /&gt;
	end&lt;br /&gt;
	shortcuts = compressArray(shortcuts)&lt;br /&gt;
&lt;br /&gt;
	return p._main(shortcuts, options, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:In5&amp;diff=1923</id>
		<title>Module:In5</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:In5&amp;diff=1923"/>
		<updated>2022-12-31T20:02:01Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{in5}}.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.in5(frame)&lt;br /&gt;
    local indent = frame.args[1]&lt;br /&gt;
    -- Trim whitespace and convert to number. Default to 5 if not present,&lt;br /&gt;
    -- as per the template title.&lt;br /&gt;
    indent = tonumber( mw.text.trim(indent) ) or 5&lt;br /&gt;
    -- Round down to nearest integer. Decimal values produce funky results&lt;br /&gt;
    -- from the original template, but there&#039;s no need for us to replicate that.&lt;br /&gt;
    indent = math.floor( indent )&lt;br /&gt;
    -- Don&#039;t output anything for zero or less. Again, there was some funky output&lt;br /&gt;
    -- here for negatives, but now we&#039;re in Lua we should use sane defaults.&lt;br /&gt;
    if indent &amp;lt;= 0 then&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local base = &#039;&amp;amp;nbsp; &#039;&lt;br /&gt;
    local modulo = &#039;&amp;amp;nbsp;&#039;&lt;br /&gt;
 &lt;br /&gt;
--[[&lt;br /&gt;
    Indent values and the corresponding values for base and modulo:&lt;br /&gt;
&lt;br /&gt;
    indent  base    modulo&lt;br /&gt;
    1       0       1&lt;br /&gt;
    2       0       2&lt;br /&gt;
    3       1       1&lt;br /&gt;
    4       1       2&lt;br /&gt;
    5       2       1&lt;br /&gt;
    6       2       2&lt;br /&gt;
    7       3       1&lt;br /&gt;
    8       3       2&lt;br /&gt;
    9       4       1&lt;br /&gt;
    10      4       2&lt;br /&gt;
]]&lt;br /&gt;
    &lt;br /&gt;
    local baseNum = math.floor( (indent - 1) / 2 )&lt;br /&gt;
    local modNum = math.fmod( indent - 1 , 2 ) + 1&lt;br /&gt;
    &lt;br /&gt;
    return mw.ustring.rep( base, baseNum) .. mw.ustring.rep( modulo, modNum )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:In5&amp;diff=1921</id>
		<title>Template:In5</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:In5&amp;diff=1921"/>
		<updated>2022-12-31T20:02:00Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{{{{|safesubst:}}}#invoke:in5|in5|1={{{1|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[Category:Smart formatting templates|In5]]--&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Yes/no&amp;diff=1919</id>
		<title>Template:Yes/no</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Yes/no&amp;diff=1919"/>
		<updated>2022-12-31T20:02:00Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Yesno]]&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Dummy_reference&amp;diff=1917</id>
		<title>Template:Dummy reference</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Dummy_reference&amp;diff=1917"/>
		<updated>2022-12-31T20:02:00Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;sup class=&amp;quot;reference nowrap ltr&amp;quot; style=&amp;quot;color:#002bb8;&amp;quot;&amp;gt;[{{#ifeq:{{yes/no|{{{txtital|}}}}}|yes|&amp;lt;span style=&amp;quot;font-style:italic&amp;quot;&amp;gt;}}{{#if:{{{txtcol|}}}|&amp;lt;span style=&amp;quot;color:{{{txtcol|}}}&amp;quot;&amp;gt;}}{{{1|1}}}{{#if:{{{txtcol|}}}|&amp;lt;/span&amp;gt;}}{{#ifeq:{{yes/no|{{{txtital|}}}}}|yes|&amp;lt;/span&amp;gt;}}]&amp;lt;/sup&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Warning&amp;diff=1915</id>
		<title>Template:Warning</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Warning&amp;diff=1915"/>
		<updated>2022-12-31T20:02:00Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Mbox&lt;br /&gt;
| name       = Warning&lt;br /&gt;
| demospace  = {{{demospace|}}}&lt;br /&gt;
| style      = {{#if:{{{style|}}} |{{{style}}} }}&lt;br /&gt;
| subst      = &amp;lt;includeonly&amp;gt;{{subst:substcheck}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
| type       = content&lt;br /&gt;
| image      = {{#if:{{{image|}}}| [[File:{{{image}}}|{{{imagesize|40px}}}|Warning]] }}&lt;br /&gt;
| small      = {{{small|}}}&lt;br /&gt;
| smallimage = {{#if:{{{image|}}}| [[File:{{{image}}}|30px|Warning]]}}&lt;br /&gt;
| imageright = {{#if:{{{imageright|}}} |{{{imageright}}} |{{#if:{{{shortcut|{{{shortcut1|}}}}}} |{{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}}}}}} }}&lt;br /&gt;
| textstyle  = {{{textstyle|text-align: {{#if:{{{center|}}}|center|{{{align|left}}}}};}}}&lt;br /&gt;
| text       = {{#if:{{{header|{{{heading|{{{title|}}}}}}}}} |&amp;lt;div style=&amp;quot;{{{headstyle|text-align: {{#if:{{{center|}}}|center|left}};}}}&amp;quot;&amp;gt;&#039;&#039;&#039;{{{header|{{{heading|{{{title|}}}}}}}}}&#039;&#039;&#039;&amp;lt;/div&amp;gt;}}&amp;lt;!--&lt;br /&gt;
            --&amp;gt;{{{text|{{{content|{{{reason|{{{1}}}}}}}}}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage; interwikis go to Wikidata. --&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:A_note&amp;diff=1913</id>
		<title>Template:A note</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:A_note&amp;diff=1913"/>
		<updated>2022-12-31T20:01:58Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Pictogram voting info.svg|16px|link=|alt=]] &#039;&#039;&#039;{{ucfirst:{{{1|Note:}}}}}&#039;&#039;&#039;&amp;lt;!--template:A note--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Var&amp;diff=1911</id>
		<title>Template:Var</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Var&amp;diff=1911"/>
		<updated>2022-12-31T20:01:57Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;var {{#if:{{{class|}}}|class=&amp;quot;{{{class}}}&amp;quot;}} {{#if:{{{id|}}}|id=&amp;quot;{{{id}}}&amp;quot;}} style=&amp;quot;padding-right: 1px;{{{style|}}}&amp;quot; {{#if:{{{lang|}}}|lang=&amp;quot;{{{lang}}}&amp;quot;}} {{#if:{{{title|}}}|title=&amp;quot;{{{title}}}&amp;quot;}}&amp;gt;{{{1}}}&amp;lt;/var&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;!--Categories and interwikis go near the bottom of the /doc page.--&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Documentation&amp;diff=1909</id>
		<title>Module:Documentation</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Documentation&amp;diff=1909"/>
		<updated>2022-12-31T20:01:57Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{documentation}}.&lt;br /&gt;
&lt;br /&gt;
-- Get required modules.&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
-- Get the config table.&lt;br /&gt;
local cfg = mw.loadData(&#039;Module:Documentation/config&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Often-used functions.&lt;br /&gt;
local ugsub = mw.ustring.gsub&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--&lt;br /&gt;
-- These are defined as local functions, but are made available in the p&lt;br /&gt;
-- table for testing purposes.&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function message(cfgKey, valArray, expectType)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Gets a message from the cfg table and formats it if appropriate.&lt;br /&gt;
	-- The function raises an error if the value from the cfg table is not&lt;br /&gt;
	-- of the type expectType. The default type for expectType is &#039;string&#039;.&lt;br /&gt;
	-- If the table valArray is present, strings such as $1, $2 etc. in the&lt;br /&gt;
	-- message are substituted with values from the table keys [1], [2] etc.&lt;br /&gt;
	-- For example, if the message &amp;quot;foo-message&amp;quot; had the value &#039;Foo $2 bar $1.&#039;,&lt;br /&gt;
	-- message(&#039;foo-message&#039;, {&#039;baz&#039;, &#039;qux&#039;}) would return &amp;quot;Foo qux bar baz.&amp;quot;&lt;br /&gt;
	--]]&lt;br /&gt;
	local msg = cfg[cfgKey]&lt;br /&gt;
	expectType = expectType or &#039;string&#039;&lt;br /&gt;
	if type(msg) ~= expectType then&lt;br /&gt;
		error(&#039;message: type error in message cfg.&#039; .. cfgKey .. &#039; (&#039; .. expectType .. &#039; expected, got &#039; .. type(msg) .. &#039;)&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if not valArray then&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function getMessageVal(match)&lt;br /&gt;
		match = tonumber(match)&lt;br /&gt;
		return valArray[match] or error(&#039;message: no value found for key $&#039; .. match .. &#039; in message cfg.&#039; .. cfgKey, 4)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ugsub(msg, &#039;$([1-9][0-9]*)&#039;, getMessageVal)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.message = message&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(page, display)&lt;br /&gt;
	if display then&lt;br /&gt;
		return mw.ustring.format(&#039;[[%s|%s]]&#039;, page, display)&lt;br /&gt;
	else&lt;br /&gt;
		return mw.ustring.format(&#039;[[%s]]&#039;, page)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeWikilink = makeWikilink&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat, sort)&lt;br /&gt;
	local catns = mw.site.namespaces[14].name&lt;br /&gt;
	return makeWikilink(catns .. &#039;:&#039; .. cat, sort)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeCategoryLink = makeCategoryLink&lt;br /&gt;
&lt;br /&gt;
local function makeUrlLink(url, display)&lt;br /&gt;
	return mw.ustring.format(&#039;[%s %s]&#039;, url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeUrlLink = makeUrlLink&lt;br /&gt;
&lt;br /&gt;
local function makeToolbar(...)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local lim = select(&#039;#&#039;, ...)&lt;br /&gt;
	if lim &amp;lt; 1 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, lim do&lt;br /&gt;
		ret[#ret + 1] = select(i, ...)&lt;br /&gt;
	end&lt;br /&gt;
	-- &#039;documentation-toolbar&#039;&lt;br /&gt;
	return &#039;&amp;lt;span class=&amp;quot;&#039; .. message(&#039;toolbar-class&#039;) .. &#039;&amp;quot;&amp;gt;(&#039;&lt;br /&gt;
		.. table.concat(ret, &#039; &amp;amp;#124; &#039;) .. &#039;)&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
p.makeToolbar = makeToolbar&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Argument processing&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame, {&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
				if type(value) == &#039;string&#039; then&lt;br /&gt;
					value = value:match(&#039;^%s*(.-)%s*$&#039;) -- Remove whitespace.&lt;br /&gt;
					if key == &#039;heading&#039; or value ~= &#039;&#039; then&lt;br /&gt;
						return value&lt;br /&gt;
					else&lt;br /&gt;
						return nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					return value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Entry points&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.nonexistent(frame)&lt;br /&gt;
	if mw.title.getCurrentTitle().subpageText == &#039;testcases&#039; then&lt;br /&gt;
		return frame:expandTemplate{title = &#039;module test cases notice&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return p.main(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.main = makeInvokeFunc(&#039;_main&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function defines logic flow for the module.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--]]&lt;br /&gt;
	local env = p.getEnvironment(args)&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	root&lt;br /&gt;
		:wikitext(p._getModuleWikitext(args, env))&lt;br /&gt;
		:wikitext(p.protectionTemplate(env))&lt;br /&gt;
		:wikitext(p.sandboxNotice(args, env))&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- &#039;documentation-container&#039;&lt;br /&gt;
			:addClass(message(&#039;container&#039;))&lt;br /&gt;
			:attr(&#039;role&#039;, &#039;complementary&#039;)&lt;br /&gt;
			:attr(&#039;aria-labelledby&#039;, args.heading ~= &#039;&#039; and &#039;documentation-heading&#039; or nil)&lt;br /&gt;
			:attr(&#039;aria-label&#039;, args.heading == &#039;&#039; and &#039;Documentation&#039; or nil)&lt;br /&gt;
			:newline()&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- &#039;documentation&#039;&lt;br /&gt;
				:addClass(message(&#039;main-div-classes&#039;))&lt;br /&gt;
				:newline()&lt;br /&gt;
				:wikitext(p._startBox(args, env))&lt;br /&gt;
				:wikitext(p._content(args, env))&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					-- &#039;documentation-clear&#039;&lt;br /&gt;
					:addClass(message(&#039;clear&#039;))&lt;br /&gt;
					:done()&lt;br /&gt;
				:newline()&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(p._endBox(args, env))&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(p.addTrackingCategories(env))&lt;br /&gt;
	-- &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag (&lt;br /&gt;
		&#039;templatestyles&#039;, &#039;&#039;, {src=cfg[&#039;templatestyles&#039;]&lt;br /&gt;
	}) .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Environment settings&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.getEnvironment(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Returns a table with information about the environment, including title&lt;br /&gt;
	-- objects and other namespace- or path-related data.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--&lt;br /&gt;
	-- Title objects include:&lt;br /&gt;
	-- env.title - the page we are making documentation for (usually the current title)&lt;br /&gt;
	-- env.templateTitle - the template (or module, file, etc.)&lt;br /&gt;
	-- env.docTitle - the /doc subpage.&lt;br /&gt;
	-- env.sandboxTitle - the /sandbox subpage.&lt;br /&gt;
	-- env.testcasesTitle - the /testcases subpage.&lt;br /&gt;
	--&lt;br /&gt;
	-- Data includes:&lt;br /&gt;
	-- env.protectionLevels - the protection levels table of the title object.&lt;br /&gt;
	-- env.subjectSpace - the number of the title&#039;s subject namespace.&lt;br /&gt;
	-- env.docSpace - the number of the namespace the title puts its documentation in.&lt;br /&gt;
	-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.&lt;br /&gt;
	-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.&lt;br /&gt;
	-- &lt;br /&gt;
	-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value&lt;br /&gt;
	-- returned will be nil.&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local env, envFuncs = {}, {}&lt;br /&gt;
&lt;br /&gt;
	-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value&lt;br /&gt;
	-- returned by that function is memoized in the env table so that we don&#039;t call any of the functions&lt;br /&gt;
	-- more than once. (Nils won&#039;t be memoized.)&lt;br /&gt;
	setmetatable(env, {&lt;br /&gt;
		__index = function (t, key)&lt;br /&gt;
			local envFunc = envFuncs[key]&lt;br /&gt;
			if envFunc then&lt;br /&gt;
				local success, val = pcall(envFunc)&lt;br /&gt;
				if success then&lt;br /&gt;
					env[key] = val -- Memoise the value.&lt;br /&gt;
					return val&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	})	&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.title()&lt;br /&gt;
		-- The title object for the current page, or a test page passed with args.page.&lt;br /&gt;
		local title&lt;br /&gt;
		local titleArg = args.page&lt;br /&gt;
		if titleArg then&lt;br /&gt;
			title = mw.title.new(titleArg)&lt;br /&gt;
		else&lt;br /&gt;
			title = mw.title.getCurrentTitle()&lt;br /&gt;
		end&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.templateTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- The template (or module, etc.) title object.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local subpage = title.subpageText&lt;br /&gt;
		if subpage == message(&#039;sandbox-subpage&#039;) or subpage == message(&#039;testcases-subpage&#039;) then&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.baseText)&lt;br /&gt;
		else&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.text)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object of the /doc subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local docname = args[1] -- User-specified doc page.&lt;br /&gt;
		local docpage&lt;br /&gt;
		if docname then&lt;br /&gt;
			docpage = docname&lt;br /&gt;
		else&lt;br /&gt;
			docpage = env.docpageBase .. &#039;/&#039; .. message(&#039;doc-subpage&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return mw.title.new(docpage)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.sandboxTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /sandbox subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;sandbox-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.testcasesTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /testcases subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;testcases-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.protectionLevels()&lt;br /&gt;
		-- The protection levels table of the title object.&lt;br /&gt;
		return env.title.protectionLevels&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.subjectSpace()&lt;br /&gt;
		-- The subject namespace number.&lt;br /&gt;
		return mw.site.namespaces[env.title.namespace].subject.id&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docSpace()&lt;br /&gt;
		-- The documentation namespace number. For most namespaces this is the&lt;br /&gt;
		-- same as the subject namespace. However, pages in the Article, File,&lt;br /&gt;
		-- MediaWiki or Category namespaces must have their /doc, /sandbox and&lt;br /&gt;
		-- /testcases pages in talk space.&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then&lt;br /&gt;
			return subjectSpace + 1&lt;br /&gt;
		else&lt;br /&gt;
			return subjectSpace&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docpageBase()&lt;br /&gt;
		-- The base page of the /doc, /sandbox, and /testcases subpages.&lt;br /&gt;
		-- For some namespaces this is the talk page, rather than the template page.&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local docSpace = env.docSpace&lt;br /&gt;
		local docSpaceText = mw.site.namespaces[docSpace].name&lt;br /&gt;
		-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.&lt;br /&gt;
		return docSpaceText .. &#039;:&#039; .. templateTitle.text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.compareUrl()&lt;br /&gt;
		-- Diff link between the sandbox and the main template using [[Special:ComparePages]].&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local sandboxTitle = env.sandboxTitle&lt;br /&gt;
		if templateTitle.exists and sandboxTitle.exists then&lt;br /&gt;
			local compareUrl = mw.uri.fullUrl(&lt;br /&gt;
				&#039;Special:ComparePages&#039;,&lt;br /&gt;
				{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}&lt;br /&gt;
			)&lt;br /&gt;
			return tostring(compareUrl)&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
	return env&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Auxiliary templates&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.getModuleWikitext = makeInvokeFunc(&#039;_getModuleWikitext&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._getModuleWikitext(args, env)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if currentTitle.contentModel ~= &#039;Scribunto&#039; then return end&lt;br /&gt;
	pcall(require, currentTitle.prefixedText) -- if it fails, we don&#039;t care&lt;br /&gt;
	local moduleWikitext =  package.loaded[&amp;quot;Module:Module wikitext&amp;quot;]&lt;br /&gt;
	if moduleWikitext then&lt;br /&gt;
		return moduleWikitext.main()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sandboxNotice(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Generates a sandbox notice for display above sandbox pages.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-notice-image&#039; --&amp;gt; &#039;[[File:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-blurb&#039; --&amp;gt; &#039;This is the $1 for $2.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-diff-blurb&#039; --&amp;gt; &#039;This is the $1 for $2 ($3).&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-template&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|template sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-module&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|module sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-other&#039; --&amp;gt; &#039;sandbox page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-blurb&#039; --&amp;gt; &#039;See also the companion subpage for $1.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-link-display&#039; --&amp;gt; &#039;test cases&#039;&lt;br /&gt;
	-- &#039;sandbox-category&#039; --&amp;gt; &#039;Template sandboxes&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not (subjectSpace and title and sandboxTitle and templateTitle&lt;br /&gt;
		and mw.title.equals(title, sandboxTitle)) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Build the table of arguments to pass to {{ombox}}. We need just two fields, &amp;quot;image&amp;quot; and &amp;quot;text&amp;quot;.&lt;br /&gt;
	local omargs = {}&lt;br /&gt;
	omargs.image = message(&#039;sandbox-notice-image&#039;)&lt;br /&gt;
	-- Get the text. We start with the opening blurb, which is something like&lt;br /&gt;
	-- &amp;quot;This is the template sandbox for [[Template:Foo]] (diff).&amp;quot;&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-template&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-module&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-other&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local templateLink = makeWikilink(templateTitle.prefixedText)&lt;br /&gt;
	local compareUrl = env.compareUrl&lt;br /&gt;
	if compareUrl then&lt;br /&gt;
		local compareDisplay = message(&#039;sandbox-notice-compare-link-display&#039;)&lt;br /&gt;
		local compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-diff-blurb&#039;, {pagetype, templateLink, compareLink})&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-blurb&#039;, {pagetype, templateLink})&lt;br /&gt;
	end&lt;br /&gt;
	-- Get the test cases page blurb if the page exists. This is something like&lt;br /&gt;
	-- &amp;quot;See also the companion subpage for [[Template:Foo/testcases|test cases]].&amp;quot;&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	if testcasesTitle and testcasesTitle.exists then&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;sandbox-notice-testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-run-blurb&#039;, {testcasesLink, testcasesRunLink})&lt;br /&gt;
		else&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-blurb&#039;, {testcasesLink})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Add the sandbox to the sandbox category.&lt;br /&gt;
	omargs.text = text .. makeCategoryLink(message(&#039;sandbox-category&#039;))&lt;br /&gt;
&lt;br /&gt;
	-- &#039;documentation-clear&#039;&lt;br /&gt;
	return &#039;&amp;lt;div class=&amp;quot;&#039; .. message(&#039;clear&#039;) .. &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		.. require(&#039;Module:Message box&#039;).main(&#039;ombox&#039;, omargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.protectionTemplate(env)&lt;br /&gt;
	-- Generates the padlock icon in the top right.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;protection-template&#039; --&amp;gt; &#039;pp-template&#039;&lt;br /&gt;
	-- &#039;protection-template-args&#039; --&amp;gt; {docusage = &#039;yes&#039;}&lt;br /&gt;
	local protectionLevels = env.protectionLevels&lt;br /&gt;
	if not protectionLevels then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local editProt = protectionLevels.edit and protectionLevels.edit[1]&lt;br /&gt;
	local moveProt = protectionLevels.move and protectionLevels.move[1]&lt;br /&gt;
	if editProt then&lt;br /&gt;
		-- The page is edit-protected.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			message(&#039;protection-reason-edit&#039;), small = true&lt;br /&gt;
		}&lt;br /&gt;
	elseif moveProt and moveProt ~= &#039;autoconfirmed&#039; then&lt;br /&gt;
		-- The page is move-protected but not edit-protected. Exclude move&lt;br /&gt;
		-- protection with the level &amp;quot;autoconfirmed&amp;quot;, as this is equivalent to&lt;br /&gt;
		-- no move protection at all.&lt;br /&gt;
		return require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			action = &#039;move&#039;, small = true&lt;br /&gt;
		}&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Start box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.startBox = makeInvokeFunc(&#039;_startBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._startBox(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function generates the start box.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make&lt;br /&gt;
	-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox&lt;br /&gt;
	-- which generate the box HTML.&lt;br /&gt;
	--]]&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local links&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content or args[1] then&lt;br /&gt;
		-- No need to include the links if the documentation is on the template page itself.&lt;br /&gt;
		local linksData = p.makeStartBoxLinksData(args, env)&lt;br /&gt;
		if linksData then&lt;br /&gt;
			links = p.renderStartBoxLinks(linksData)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Generate the start box html.&lt;br /&gt;
	local data = p.makeStartBoxData(args, env, links)&lt;br /&gt;
	if data then&lt;br /&gt;
		return p.renderStartBox(data)&lt;br /&gt;
	else&lt;br /&gt;
		-- User specified no heading.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxLinksData(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Does initial processing of data to make the [view] [edit] [history] [purge] links.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;view-link-display&#039; --&amp;gt; &#039;view&#039;&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;purge-link-display&#039; --&amp;gt; &#039;purge&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;docpage-preload&#039; --&amp;gt; &#039;Template:Documentation/preload&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not title or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if docTitle.isRedirect then &lt;br /&gt;
		docTitle = docTitle.redirectTarget&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local data = {}&lt;br /&gt;
	data.title = title&lt;br /&gt;
	data.docTitle = docTitle&lt;br /&gt;
	-- View, display, edit, and purge links if /doc exists.&lt;br /&gt;
	data.viewLinkDisplay = message(&#039;view-link-display&#039;)&lt;br /&gt;
	data.editLinkDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
	data.historyLinkDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
	data.purgeLinkDisplay = message(&#039;purge-link-display&#039;)&lt;br /&gt;
	-- Create link if /doc doesn&#039;t exist.&lt;br /&gt;
	local preload = args.preload&lt;br /&gt;
	if not preload then&lt;br /&gt;
		if subjectSpace == 828 then -- Module namespace&lt;br /&gt;
			preload = message(&#039;module-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			preload = message(&#039;docpage-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	data.preload = preload&lt;br /&gt;
	data.createLinkDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBoxLinks(data)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxLinksData&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local function escapeBrackets(s)&lt;br /&gt;
		-- Escapes square brackets with HTML entities.&lt;br /&gt;
		s = s:gsub(&#039;%[&#039;, &#039;&amp;amp;#91;&#039;) -- Replace square brackets with HTML entities.&lt;br /&gt;
		s = s:gsub(&#039;%]&#039;, &#039;&amp;amp;#93;&#039;)&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local ret&lt;br /&gt;
	local docTitle = data.docTitle&lt;br /&gt;
	local title = data.title&lt;br /&gt;
	local purgeLink = makeUrlLink(title:fullUrl{action = &#039;purge&#039;}, data.purgeLinkDisplay)&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)&lt;br /&gt;
		local editLink = makeUrlLink(docTitle:fullUrl{action = &#039;edit&#039;}, data.editLinkDisplay)&lt;br /&gt;
		local historyLink = makeUrlLink(docTitle:fullUrl{action = &#039;history&#039;}, data.historyLinkDisplay)&lt;br /&gt;
		ret = &#039;[%s] [%s] [%s] [%s]&#039;&lt;br /&gt;
		ret = escapeBrackets(ret)&lt;br /&gt;
		ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink)&lt;br /&gt;
	else&lt;br /&gt;
		local createLink = makeUrlLink(docTitle:fullUrl{action = &#039;edit&#039;, preload = data.preload}, data.createLinkDisplay)&lt;br /&gt;
		ret = &#039;[%s] [%s]&#039;&lt;br /&gt;
		ret = escapeBrackets(ret)&lt;br /&gt;
		ret = mw.ustring.format(ret, createLink, purgeLink)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxData(args, env, links)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- @links - a string containing the [view][edit][history][purge] links - could be nil if there&#039;s an error.&lt;br /&gt;
	--&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;documentation-icon-wikitext&#039; --&amp;gt; &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
	-- &#039;template-namespace-heading&#039; --&amp;gt; &#039;Template documentation&#039;&lt;br /&gt;
	-- &#039;module-namespace-heading&#039; --&amp;gt; &#039;Module documentation&#039;&lt;br /&gt;
	-- &#039;file-namespace-heading&#039; --&amp;gt; &#039;Summary&#039;&lt;br /&gt;
	-- &#039;other-namespaces-heading&#039; --&amp;gt; &#039;Documentation&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not subjectSpace then&lt;br /&gt;
		-- Default to an &amp;quot;other namespaces&amp;quot; namespace, so that we get at least some output&lt;br /&gt;
		-- if an error occurs.&lt;br /&gt;
		subjectSpace = 2&lt;br /&gt;
	end&lt;br /&gt;
	local data = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Heading&lt;br /&gt;
	local heading = args.heading -- Blank values are not removed.&lt;br /&gt;
	if heading == &#039;&#039; then&lt;br /&gt;
		-- Don&#039;t display the start box if the heading arg is defined but blank.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if heading then&lt;br /&gt;
		data.heading = heading&lt;br /&gt;
	elseif subjectSpace == 10 then -- Template namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;template-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then -- Module namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;module-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 6 then -- File namespace&lt;br /&gt;
		data.heading = message(&#039;file-namespace-heading&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		data.heading = message(&#039;other-namespaces-heading&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Heading CSS&lt;br /&gt;
	local headingStyle = args[&#039;heading-style&#039;]&lt;br /&gt;
	if headingStyle then&lt;br /&gt;
		data.headingStyleText = headingStyle&lt;br /&gt;
	else&lt;br /&gt;
		-- &#039;documentation-heading&#039;&lt;br /&gt;
		data.headingClass = message(&#039;main-div-heading-class&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Data for the [view][edit][history][purge] or [create] links.&lt;br /&gt;
	if links then&lt;br /&gt;
		-- &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
		data.linksClass = message(&#039;start-box-link-classes&#039;)&lt;br /&gt;
		data.links = links&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBox(data)&lt;br /&gt;
	-- Renders the start box html.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxData.&lt;br /&gt;
	local sbox = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	sbox&lt;br /&gt;
		-- &#039;documentation-startbox&#039;&lt;br /&gt;
		:addClass(message(&#039;start-box-class&#039;))&lt;br /&gt;
		:newline()&lt;br /&gt;
		:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.headingClass)&lt;br /&gt;
			:attr(&#039;id&#039;, &#039;documentation-heading&#039;)&lt;br /&gt;
			:cssText(data.headingStyleText)&lt;br /&gt;
			:wikitext(data.heading)&lt;br /&gt;
	local links = data.links&lt;br /&gt;
	if links then&lt;br /&gt;
		sbox:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.linksClass)&lt;br /&gt;
			:attr(&#039;id&#039;, data.linksId)&lt;br /&gt;
			:wikitext(links)&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(sbox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Documentation content&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.content = makeInvokeFunc(&#039;_content&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._content(args, env)&lt;br /&gt;
	-- Displays the documentation contents&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content and docTitle and docTitle.exists then&lt;br /&gt;
		content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}&lt;br /&gt;
	end&lt;br /&gt;
	-- The line breaks below are necessary so that &amp;quot;=== Headings ===&amp;quot; at the start and end&lt;br /&gt;
	-- of docs are interpreted correctly.&lt;br /&gt;
	return &#039;\n&#039; .. (content or &#039;&#039;) .. &#039;\n&#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.contentTitle = makeInvokeFunc(&#039;_contentTitle&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._contentTitle(args, env)&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not args.content and docTitle and docTitle.exists then&lt;br /&gt;
		return docTitle.prefixedText&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- End box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.endBox = makeInvokeFunc(&#039;_endBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._endBox(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- This function generates the end box (also known as the link box).&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	--]=]&lt;br /&gt;
	&lt;br /&gt;
	-- Get environment data.&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not subjectSpace or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Check whether we should output the end box at all. Add the end&lt;br /&gt;
	-- box by default if the documentation exists or if we are in the&lt;br /&gt;
	-- user, module or template namespaces.&lt;br /&gt;
	local linkBox = args[&#039;link box&#039;]&lt;br /&gt;
	if linkBox == &#039;off&#039;&lt;br /&gt;
		or not (&lt;br /&gt;
			docTitle.exists&lt;br /&gt;
			or subjectSpace == 2&lt;br /&gt;
			or subjectSpace == 828&lt;br /&gt;
			or subjectSpace == 10&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Assemble the link box.&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if linkBox then&lt;br /&gt;
		text = text .. linkBox&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. (p.makeDocPageBlurb(args, env) or &#039;&#039;) -- &amp;quot;This documentation is transcluded from [[Foo]].&amp;quot; &lt;br /&gt;
		if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then&lt;br /&gt;
			-- We are in the user, template or module namespaces.&lt;br /&gt;
			-- Add sandbox and testcases links.&lt;br /&gt;
			-- &amp;quot;Editors can experiment in this template&#039;s sandbox and testcases pages.&amp;quot;&lt;br /&gt;
			text = text .. (p.makeExperimentBlurb(args, env) or &#039;&#039;) .. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
			if not args.content and not args[1] then&lt;br /&gt;
				-- &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
				-- Don&#039;t show this message with inline docs or with an explicitly specified doc page,&lt;br /&gt;
				-- as then it is unclear where to add the categories.&lt;br /&gt;
				text = text .. (p.makeCategoriesBlurb(args, env) or &#039;&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			text = text .. &#039; &#039; .. (p.makeSubpagesBlurb(args, env) or &#039;&#039;) --&amp;quot;Subpages of this template&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local box = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	-- &#039;documentation-metadata&#039;&lt;br /&gt;
	box:attr(&#039;role&#039;, &#039;note&#039;)&lt;br /&gt;
		:addClass(message(&#039;end-box-class&#039;))&lt;br /&gt;
		-- &#039;plainlinks&#039;&lt;br /&gt;
		:addClass(message(&#039;end-box-plainlinks&#039;))&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	return &#039;\n&#039; .. tostring(box)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeDocPageBlurb(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Makes the blurb &amp;quot;This documentation is transcluded from [[Template:Foo]] (edit, history)&amp;quot;.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;transcluded-from-blurb&#039; --&amp;gt; &lt;br /&gt;
	-- &#039;The above [[Wikipedia:Template documentation|documentation]] &lt;br /&gt;
	-- is [[Help:Transclusion|transcluded]] from $1.&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;create-module-doc-blurb&#039; --&amp;gt;&lt;br /&gt;
	-- &#039;You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local ret&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		-- /doc exists; link to it.&lt;br /&gt;
		local docLink = makeWikilink(docTitle.prefixedText)&lt;br /&gt;
		local editUrl = docTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local editDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
		local editLink = makeUrlLink(editUrl, editDisplay)&lt;br /&gt;
		local historyUrl = docTitle:fullUrl{action = &#039;history&#039;}&lt;br /&gt;
		local historyDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
		local historyLink = makeUrlLink(historyUrl, historyDisplay)&lt;br /&gt;
		ret = message(&#039;transcluded-from-blurb&#039;, {docLink})&lt;br /&gt;
			.. &#039; &#039;&lt;br /&gt;
			.. makeToolbar(editLink, historyLink)&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	elseif env.subjectSpace == 828 then&lt;br /&gt;
		-- /doc does not exist; ask to create it.&lt;br /&gt;
		local createUrl = docTitle:fullUrl{action = &#039;edit&#039;, preload = message(&#039;module-preload&#039;)}&lt;br /&gt;
		local createDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
		local createLink = makeUrlLink(createUrl, createDisplay)&lt;br /&gt;
		ret = message(&#039;create-module-doc-blurb&#039;, {createLink})&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeExperimentBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Renders the text &amp;quot;Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;module-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;mirror-edit-summary&#039; --&amp;gt; &#039;Create sandbox version of $1&#039;&lt;br /&gt;
	-- &#039;mirror-link-display&#039; --&amp;gt; &#039;mirror&#039;&lt;br /&gt;
	-- &#039;mirror-link-preload&#039; --&amp;gt; &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039;--&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;module-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
	-- &#039;template-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-module&#039; --&amp;gt; &#039;Editors can experiment in this module&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-template&#039; --&amp;gt; &#039;Editors can experiment in this template&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	local templatePage = templateTitle.prefixedText&lt;br /&gt;
	if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Make links.&lt;br /&gt;
	local sandboxLinks, testcasesLinks&lt;br /&gt;
	if sandboxTitle.exists then&lt;br /&gt;
		local sandboxPage = sandboxTitle.prefixedText&lt;br /&gt;
		local sandboxDisplay = message(&#039;sandbox-link-display&#039;)&lt;br /&gt;
		local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)&lt;br /&gt;
		local sandboxEditUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local sandboxEditDisplay = message(&#039;sandbox-edit-link-display&#039;)&lt;br /&gt;
		local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)&lt;br /&gt;
		local compareUrl = env.compareUrl&lt;br /&gt;
		local compareLink&lt;br /&gt;
		if compareUrl then&lt;br /&gt;
			local compareDisplay = message(&#039;compare-link-display&#039;)&lt;br /&gt;
			compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		end&lt;br /&gt;
		sandboxLinks = sandboxLink .. &#039; &#039; .. makeToolbar(sandboxEditLink, compareLink)&lt;br /&gt;
	else&lt;br /&gt;
		local sandboxPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			sandboxPreload = message(&#039;module-sandbox-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			sandboxPreload = message(&#039;template-sandbox-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local sandboxCreateUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = sandboxPreload}&lt;br /&gt;
		local sandboxCreateDisplay = message(&#039;sandbox-create-link-display&#039;)&lt;br /&gt;
		local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)&lt;br /&gt;
		local mirrorSummary = message(&#039;mirror-edit-summary&#039;, {makeWikilink(templatePage)})&lt;br /&gt;
		local mirrorPreload = message(&#039;mirror-link-preload&#039;)&lt;br /&gt;
		local mirrorUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = mirrorPreload, summary = mirrorSummary}&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			mirrorUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = templateTitle.prefixedText, summary = mirrorSummary}&lt;br /&gt;
		end&lt;br /&gt;
		local mirrorDisplay = message(&#039;mirror-link-display&#039;)&lt;br /&gt;
		local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)&lt;br /&gt;
		sandboxLinks = message(&#039;sandbox-link-display&#039;) .. &#039; &#039; .. makeToolbar(sandboxCreateLink, mirrorLink)&lt;br /&gt;
	end&lt;br /&gt;
	if testcasesTitle.exists then&lt;br /&gt;
		local testcasesPage = testcasesTitle.prefixedText&lt;br /&gt;
		local testcasesDisplay = message(&#039;testcases-link-display&#039;)&lt;br /&gt;
		local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)&lt;br /&gt;
		local testcasesEditUrl = testcasesTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local testcasesEditDisplay = message(&#039;testcases-edit-link-display&#039;)&lt;br /&gt;
		local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)&lt;br /&gt;
		-- for Modules, add testcases run link if exists&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot;  and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink, testcasesRunLink)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local testcasesPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			testcasesPreload = message(&#039;module-testcases-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesPreload = message(&#039;template-testcases-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local testcasesCreateUrl = testcasesTitle:fullUrl{action = &#039;edit&#039;, preload = testcasesPreload}&lt;br /&gt;
		local testcasesCreateDisplay = message(&#039;testcases-create-link-display&#039;)&lt;br /&gt;
		local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)&lt;br /&gt;
		testcasesLinks = message(&#039;testcases-link-display&#039;) .. &#039; &#039; .. makeToolbar(testcasesCreateLink)&lt;br /&gt;
	end&lt;br /&gt;
	local messageName&lt;br /&gt;
	if subjectSpace == 828 then&lt;br /&gt;
		messageName = &#039;experiment-blurb-module&#039;&lt;br /&gt;
	else&lt;br /&gt;
		messageName = &#039;experiment-blurb-template&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return message(messageName, {sandboxLinks, testcasesLinks})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeCategoriesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the text &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;doc-link-display&#039; --&amp;gt; &#039;/doc&#039;&lt;br /&gt;
	-- &#039;add-categories-blurb&#039; --&amp;gt; &#039;Please add categories to the $1 subpage.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local docPathLink = makeWikilink(docTitle.prefixedText, message(&#039;doc-link-display&#039;))&lt;br /&gt;
	return message(&#039;add-categories-blurb&#039;, {docPathLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeSubpagesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the &amp;quot;Subpages of this template&amp;quot; link.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;template-pagetype&#039; --&amp;gt; &#039;template&#039;&lt;br /&gt;
	-- &#039;module-pagetype&#039; --&amp;gt; &#039;module&#039;&lt;br /&gt;
	-- &#039;default-pagetype&#039; --&amp;gt; &#039;page&#039;&lt;br /&gt;
	-- &#039;subpages-link-display&#039; --&amp;gt; &#039;Subpages of this $1&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	if not subjectSpace or not templateTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;template-pagetype&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;module-pagetype&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;default-pagetype&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local subpagesLink = makeWikilink(&lt;br /&gt;
		&#039;Special:PrefixIndex/&#039; .. templateTitle.prefixedText .. &#039;/&#039;,&lt;br /&gt;
		message(&#039;subpages-link-display&#039;, {pagetype})&lt;br /&gt;
	)&lt;br /&gt;
	return message(&#039;subpages-blurb&#039;, {subpagesLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Tracking categories&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.addTrackingCategories(env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Check if {{documentation}} is transcluded on a /doc or /testcases page.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;display-strange-usage-category&#039; --&amp;gt; true&lt;br /&gt;
	-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
	-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;strange-usage-category&#039; --&amp;gt; &#039;Wikipedia pages with strange ((documentation)) usage&#039;&lt;br /&gt;
	-- &lt;br /&gt;
	-- /testcases pages in the module namespace are not categorised, as they may have&lt;br /&gt;
	-- {{documentation}} transcluded automatically.&lt;br /&gt;
	--]]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not title or not subjectSpace then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if message(&#039;display-strange-usage-category&#039;, nil, &#039;boolean&#039;)&lt;br /&gt;
		and (&lt;br /&gt;
			subpage == message(&#039;doc-subpage&#039;)&lt;br /&gt;
			or subjectSpace ~= 828 and subpage == message(&#039;testcases-subpage&#039;)&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		ret = ret .. makeCategoryLink(message(&#039;strange-usage-category&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Xmark&amp;diff=1907</id>
		<title>Template:Xmark</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Xmark&amp;diff=1907"/>
		<updated>2022-12-31T20:01:57Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[{{ {{{|safesubst:}}}#switch:{{ {{{|safesubst:}}}lc:{{{color|{{{colour|}}}}}} }}&lt;br /&gt;
|red            |rd  |r  =File:X mark.svg&lt;br /&gt;
|darkred |dkred |drd |dr =File:Dark Red x.svg&lt;br /&gt;
|orange         |or  |o  =File:Orange x.svg&lt;br /&gt;
|yellow         |yel |y  =File:Dark yellow x.svg&lt;br /&gt;
|black          |blk |k  =File:Black x.svg&lt;br /&gt;
|grey    |gray  |gry |gy =File:SemiTransBlack x.svg&lt;br /&gt;
&amp;lt;!--default--&amp;gt;      |File:X mark.svg&lt;br /&gt;
}}|{{ {{{|safesubst:}}}#if:{{{1|}}}|{{{1}}}|20}}px|link=|alt=&amp;amp;#9746;]]&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;&amp;lt;!--template:cross--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Aligned_table&amp;diff=1905</id>
		<title>Module:Aligned table</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Aligned_table&amp;diff=1905"/>
		<updated>2022-12-31T20:01:55Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{aligned table}}&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function isnotempty(s)&lt;br /&gt;
	return s and s:match( &#039;^%s*(.-)%s*$&#039; ) ~= &#039;&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.table(frame)&lt;br /&gt;
	local args = (frame.args[3] ~= nil) and frame.args or frame:getParent().args&lt;br /&gt;
	local entries = {}&lt;br /&gt;
	local colclass = {}&lt;br /&gt;
	local colstyle = {}&lt;br /&gt;
	local cols = tonumber(args[&#039;cols&#039;]) or 2&lt;br /&gt;
&lt;br /&gt;
	-- create the root table&lt;br /&gt;
	local root = mw.html.create(&#039;table&#039;)&lt;br /&gt;
&lt;br /&gt;
	-- add table style for fullwidth&lt;br /&gt;
	if isnotempty(args[&#039;fullwidth&#039;]) then&lt;br /&gt;
		root&lt;br /&gt;
			:css(&#039;width&#039;, &#039;100%&#039;)&lt;br /&gt;
			:css(&#039;border-collapse&#039;, &#039;collapse&#039;)&lt;br /&gt;
			:css(&#039;border-spacing&#039;, &#039;0px 0px&#039;)&lt;br /&gt;
			:css(&#039;border&#039;, &#039;none&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- add table classes&lt;br /&gt;
	if isnotempty(args[&#039;class&#039;]) then&lt;br /&gt;
		root:addClass(args[&#039;class&#039;])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- add table style&lt;br /&gt;
	if isnotempty(args[&#039;style&#039;]) then&lt;br /&gt;
		root:cssText(args[&#039;style&#039;])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- build arrays with the column styles and classes&lt;br /&gt;
	if isnotempty(args[&#039;leftright&#039;]) then&lt;br /&gt;
		colstyle[1] = &#039;text-align:left;&#039;&lt;br /&gt;
		colstyle[2] = &#039;text-align:right;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	if isnotempty(args[&#039;rightleft&#039;]) then&lt;br /&gt;
		colstyle[1] = &#039;text-align:right;&#039;&lt;br /&gt;
		colstyle[2] = &#039;text-align:left;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1,cols do&lt;br /&gt;
		colclass[ i ] = colclass[ i ] or &#039;&#039;&lt;br /&gt;
		colstyle[ i ] = colstyle[ i ] or &#039;&#039;&lt;br /&gt;
		if isnotempty(args[&#039;colstyle&#039;]) then&lt;br /&gt;
			colstyle[ i ] = args[&#039;colstyle&#039;] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;colalign&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = &#039;text-align:&#039; .. args[&#039;colalign&#039; .. tostring(i)] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;align&#039;]) then&lt;br /&gt;
			colstyle[ i ] = &#039;text-align:&#039; .. args[&#039;col&#039; .. tostring(i) .. &#039;align&#039;] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;align&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = &#039;text-align:&#039; .. args[&#039;align&#039; .. tostring(i)] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;colnowrap&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = &#039;white-space:nowrap;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;nowrap&#039;]) then&lt;br /&gt;
			colstyle[ i ] = &#039;white-space:nowrap;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;nowrap&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = &#039;white-space:nowrap;&#039; .. colstyle[ i ]&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;colwidth&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = &#039;width:&#039; .. args[&#039;colwidth&#039; .. tostring(i)] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;width&#039;]) then&lt;br /&gt;
			colstyle[ i ] = &#039;width:&#039; .. args[&#039;col&#039; .. tostring(i) .. &#039;width&#039;] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		elseif isnotempty(args[&#039;colwidth&#039;]) then&lt;br /&gt;
			colstyle[ i ] = &#039;width:&#039; .. args[&#039;colwidth&#039;] .. &#039;;&#039; .. colstyle[ i ]&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;colstyle&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = colstyle[ i ] .. args[&#039;colstyle&#039; .. tostring(i)]&lt;br /&gt;
		elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;style&#039;]) then&lt;br /&gt;
			colstyle[ i ] = colstyle[ i ] .. args[&#039;col&#039; .. tostring(i) .. &#039;style&#039;]&lt;br /&gt;
		elseif isnotempty(args[&#039;style&#039; .. tostring(i)]) then&lt;br /&gt;
			colstyle[ i ] = colstyle[ i ] .. args[&#039;style&#039; .. tostring(i)]&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;colclass&#039; .. tostring(i)]) then&lt;br /&gt;
			colclass[ i ] =  args[&#039;colclass&#039; .. tostring(i)]&lt;br /&gt;
		elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;class&#039;]) then&lt;br /&gt;
			colclass[ i ] =  args[&#039;col&#039; .. tostring(i) .. &#039;class&#039;]&lt;br /&gt;
		elseif isnotempty(args[&#039;class&#039; .. tostring(i)]) then&lt;br /&gt;
			colclass[ i ] =  args[&#039;class&#039; .. tostring(i)]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- compute the maximum cell index&lt;br /&gt;
	local cellcount = 0&lt;br /&gt;
	for k, v in pairs( args ) do&lt;br /&gt;
		if type( k ) == &#039;number&#039; then&lt;br /&gt;
			cellcount = math.max(cellcount, k)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- compute the number of rows&lt;br /&gt;
	local rows = math.ceil(cellcount / cols)&lt;br /&gt;
&lt;br /&gt;
	-- build the table content&lt;br /&gt;
	if isnotempty(args[&#039;title&#039;]) then&lt;br /&gt;
		local caption = root:tag(&#039;caption&#039;)&lt;br /&gt;
		caption:cssText(args[&#039;titlestyle&#039;])&lt;br /&gt;
		caption:wikitext(args[&#039;title&#039;])&lt;br /&gt;
	end&lt;br /&gt;
	if isnotempty(args[&#039;above&#039;]) then&lt;br /&gt;
		local row = root:tag(&#039;tr&#039;)&lt;br /&gt;
		local cell = row:tag(&#039;th&#039;)&lt;br /&gt;
		cell:attr(&#039;colspan&#039;, cols)&lt;br /&gt;
		cell:cssText(args[&#039;abovestyle&#039;])&lt;br /&gt;
		cell:wikitext(args[&#039;above&#039;])&lt;br /&gt;
	end&lt;br /&gt;
	for j=1,rows do&lt;br /&gt;
		-- start a new row&lt;br /&gt;
		local row = root:tag(&#039;tr&#039;)&lt;br /&gt;
		if isnotempty(args[&#039;rowstyle&#039;]) then&lt;br /&gt;
			row:cssText(args[&#039;rowstyle&#039;])&lt;br /&gt;
		else&lt;br /&gt;
			row:css(&#039;vertical-align&#039;, &#039;top&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if isnotempty(args[&#039;rowclass&#039;]) then&lt;br /&gt;
			row:addClass(args[&#039;rowclass&#039;])&lt;br /&gt;
		end&lt;br /&gt;
		-- loop over the cells in the row&lt;br /&gt;
		for i=1,cols do&lt;br /&gt;
			local cell&lt;br /&gt;
			if isnotempty(args[&#039;row&#039; .. tostring(j) .. &#039;header&#039;]) then&lt;br /&gt;
				cell = row:tag(&#039;th&#039;):attr(&#039;scope&#039;,&#039;col&#039;)&lt;br /&gt;
			elseif isnotempty(args[&#039;col&#039; .. tostring(i) .. &#039;header&#039;]) then&lt;br /&gt;
				cell = row:tag(&#039;th&#039;):attr(&#039;scope&#039;,&#039;row&#039;)&lt;br /&gt;
			else&lt;br /&gt;
				cell = row:tag(&#039;td&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			if args[&#039;class&#039; .. tostring(j) .. &#039;.&#039; .. tostring(i)] then&lt;br /&gt;
				cell:addClass(args[&#039;class&#039; .. tostring(j) .. &#039;.&#039; .. tostring(i)])&lt;br /&gt;
			else&lt;br /&gt;
				if args[&#039;rowclass&#039; .. tostring(j)] then&lt;br /&gt;
					cell:addClass(args[&#039;rowclass&#039; .. tostring(j)])&lt;br /&gt;
				elseif args[&#039;row&#039; .. tostring(j) .. &#039;class&#039;] then&lt;br /&gt;
					cell:addClass(args[&#039;row&#039; .. tostring(j) .. &#039;class&#039;])&lt;br /&gt;
				elseif args[&#039;rowevenclass&#039;] and math.fmod(j,2) == 0 then&lt;br /&gt;
					cell:addClass(args[&#039;rowevenclass&#039;])&lt;br /&gt;
				elseif args[&#039;rowoddclass&#039;] and math.fmod(j,2) == 1 then	&lt;br /&gt;
					cell:addClass(args[&#039;rowoddclass&#039;])&lt;br /&gt;
				end&lt;br /&gt;
				if colclass[i] ~= &#039;&#039; then&lt;br /&gt;
					cell:addClass(colclass[i])&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if args[&#039;style&#039; .. tostring(j) .. &#039;.&#039; .. tostring(i)] then&lt;br /&gt;
				cell:cssText(args[&#039;style&#039; .. tostring(j) .. &#039;.&#039; .. tostring(i)])&lt;br /&gt;
			else&lt;br /&gt;
				if args[&#039;rowstyle&#039; .. tostring(j)] then&lt;br /&gt;
					cell:cssText(args[&#039;rowstyle&#039; .. tostring(j)])&lt;br /&gt;
				elseif args[&#039;rowevenstyle&#039;] and math.fmod(j,2) == 0 then&lt;br /&gt;
					cell:cssText(args[&#039;rowevenstyle&#039;])&lt;br /&gt;
				elseif args[&#039;rowoddstyle&#039;] and math.fmod(j,2) == 1 then	&lt;br /&gt;
					cell:cssText(args[&#039;rowoddstyle&#039;])&lt;br /&gt;
				elseif args[&#039;row&#039; .. tostring(j) .. &#039;style&#039;] then&lt;br /&gt;
					cell:cssText(args[&#039;row&#039; .. tostring(j) .. &#039;style&#039;])&lt;br /&gt;
				end&lt;br /&gt;
				if isnotempty(colstyle[i]) then&lt;br /&gt;
					cell:cssText(colstyle[i])&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			cell:wikitext(mw.ustring.gsub(args[cols*(j - 1) + i] or &#039;&#039;, &#039;^(.-)%s*$&#039;, &#039;%1&#039;) or &#039;&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- return the root table&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Aligned_table&amp;diff=1903</id>
		<title>Template:Aligned table</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Aligned_table&amp;diff=1903"/>
		<updated>2022-12-31T20:01:55Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:aligned table|table}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Section_link&amp;diff=1901</id>
		<title>Module:Section link</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Section_link&amp;diff=1901"/>
		<updated>2022-12-31T20:01:55Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{section link}}.&lt;br /&gt;
require(&#039;strict&#039;);&lt;br /&gt;
&lt;br /&gt;
local checkType = require(&#039;libraryUtil&#039;).checkType&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function makeSectionLink(page, section, display)&lt;br /&gt;
	display = display or section&lt;br /&gt;
	page = page or &#039;&#039;&lt;br /&gt;
	-- MediaWiki doesn&#039;t allow these in `page`, so only need to do for `section`&lt;br /&gt;
	if type(section) == &#039;string&#039; then&lt;br /&gt;
		section = string.gsub(section, &amp;quot;{&amp;quot;, &amp;quot;&amp;amp;#x7B;&amp;quot;)&lt;br /&gt;
		section = string.gsub(section, &amp;quot;}&amp;quot;, &amp;quot;&amp;amp;#x7D;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return string.format(&#039;[[%s#%s|%s]]&#039;, page, section, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function normalizeTitle(title)&lt;br /&gt;
	title = mw.ustring.gsub(mw.ustring.gsub(title, &amp;quot;&#039;&amp;quot;, &amp;quot;&amp;quot;), &#039;&amp;quot;&#039;, &#039;&#039;)&lt;br /&gt;
	title = mw.ustring.gsub(title, &amp;quot;%b&amp;lt;&amp;gt;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	return mw.title.new(title).prefixedText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(page, sections, options, title)&lt;br /&gt;
	-- Validate input.&lt;br /&gt;
	checkType(&#039;_main&#039;, 1, page, &#039;string&#039;, true)&lt;br /&gt;
	checkType(&#039;_main&#039;, 3, options, &#039;table&#039;, true)&lt;br /&gt;
	if sections == nil then&lt;br /&gt;
		sections = {}&lt;br /&gt;
	elseif type(sections) == &#039;string&#039; then&lt;br /&gt;
		sections = {sections}&lt;br /&gt;
	elseif type(sections) ~= &#039;table&#039; then&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			&amp;quot;type error in argument #2 to &#039;_main&#039; &amp;quot; ..&lt;br /&gt;
			&amp;quot;(string, table or nil expected, got %s)&amp;quot;,&lt;br /&gt;
			type(sections)&lt;br /&gt;
		), 2)&lt;br /&gt;
	end&lt;br /&gt;
	options = options or {}&lt;br /&gt;
	title = title or mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
	-- Deal with blank page names elegantly&lt;br /&gt;
	if page and not page:find(&#039;%S&#039;) then&lt;br /&gt;
		page = nil&lt;br /&gt;
		options.nopage = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Make the link(s).&lt;br /&gt;
	local isShowingPage = not options.nopage&lt;br /&gt;
	if #sections &amp;lt;= 1 then&lt;br /&gt;
		local linkPage = page or &#039;&#039;&lt;br /&gt;
		local section = sections[1] or &#039;Notes&#039;&lt;br /&gt;
		local display = &#039;§&amp;amp;nbsp;&#039; .. section&lt;br /&gt;
		if isShowingPage then&lt;br /&gt;
			page = page or title.prefixedText&lt;br /&gt;
			if options.display and options.display ~= &#039;&#039; then&lt;br /&gt;
				if normalizeTitle(options.display) == normalizeTitle(page) then&lt;br /&gt;
					display = options.display .. &#039; &#039; .. display&lt;br /&gt;
				else&lt;br /&gt;
					error(string.format(&lt;br /&gt;
						&#039;Display title &amp;quot;%s&amp;quot; was ignored since it is &#039; ..&lt;br /&gt;
						&amp;quot;not equivalent to the page&#039;s actual title&amp;quot;,&lt;br /&gt;
						options.display&lt;br /&gt;
					), 0)&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				display = page .. &#039; &#039; .. display&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return makeSectionLink(linkPage, section, display)&lt;br /&gt;
	else&lt;br /&gt;
		-- Multiple sections. First, make a list of the links to display.&lt;br /&gt;
		local ret = {}&lt;br /&gt;
		for i, section in ipairs(sections) do&lt;br /&gt;
			ret[i] = makeSectionLink(page, section)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Assemble the list of links into a string with mw.text.listToText.&lt;br /&gt;
		-- We use the default separator for mw.text.listToText, but a custom&lt;br /&gt;
		-- conjunction. There is also a special case conjunction if we only&lt;br /&gt;
		-- have two links.&lt;br /&gt;
		local conjunction&lt;br /&gt;
		if #sections == 2 then&lt;br /&gt;
			conjunction = &#039;&amp;amp;#8203; and &#039;&lt;br /&gt;
		else&lt;br /&gt;
			conjunction = &#039;, and &#039;&lt;br /&gt;
		end&lt;br /&gt;
		ret = mw.text.listToText(ret, nil, conjunction)&lt;br /&gt;
&lt;br /&gt;
		-- Add the intro text.&lt;br /&gt;
		local intro = &#039;§§&amp;amp;nbsp;&#039;&lt;br /&gt;
		if isShowingPage then&lt;br /&gt;
			intro = (page or title.prefixedText) .. &#039; &#039; .. intro&lt;br /&gt;
		end&lt;br /&gt;
		ret = intro .. ret&lt;br /&gt;
&lt;br /&gt;
		return ret&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {&lt;br /&gt;
		wrappers = &#039;Template:Section link&#039;,&lt;br /&gt;
		valueFunc = function (key, value)&lt;br /&gt;
			value = value:match(&#039;^%s*(.-)%s*$&#039;) -- Trim whitespace&lt;br /&gt;
			-- Allow blank first parameters, as the wikitext template does this.&lt;br /&gt;
			if value ~= &#039;&#039; or key == 1 then&lt;br /&gt;
				return value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	for k, v in pairs(args) do													-- replace underscores in the positional parameter values&lt;br /&gt;
		if &#039;number&#039; == type(k) then&lt;br /&gt;
			if not yesno (args[&#039;keep-underscores&#039;]) then						-- unless |keep-underscores=yes&lt;br /&gt;
				args[k] = mw.uri.decode (v, &#039;WIKI&#039;);							-- percent-decode; replace underscores with space characters&lt;br /&gt;
			else&lt;br /&gt;
				args[k] = mw.uri.decode (v, &#039;PATH&#039;);							-- percent-decode; retain underscores&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Sort the arguments.&lt;br /&gt;
	local page&lt;br /&gt;
	local sections, options = {}, {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if k == 1 then&lt;br /&gt;
			-- Doing this in the loop because of a bug in [[Module:Arguments]]&lt;br /&gt;
			-- when using pairs with deleted arguments.&lt;br /&gt;
			page = mw.text.decode(v, true)&lt;br /&gt;
		elseif type(k) == &#039;number&#039; then&lt;br /&gt;
			sections[k] = v&lt;br /&gt;
		else&lt;br /&gt;
			options[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	options.nopage = yesno (options.nopage);									-- make boolean&lt;br /&gt;
	&lt;br /&gt;
	-- Extract section from page, if present&lt;br /&gt;
	if page then&lt;br /&gt;
		local p, s = page:match(&#039;^(.-)#(.*)$&#039;)&lt;br /&gt;
		if p then page, sections[1] = p, s end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Compress the sections array.&lt;br /&gt;
	local function compressArray(t)&lt;br /&gt;
		local nums, ret = {}, {}&lt;br /&gt;
		for num in pairs(t) do&lt;br /&gt;
			nums[#nums + 1] = num&lt;br /&gt;
		end&lt;br /&gt;
		table.sort(nums)&lt;br /&gt;
		for i, num in ipairs(nums) do&lt;br /&gt;
			ret[i] = t[num]&lt;br /&gt;
		end&lt;br /&gt;
		return ret&lt;br /&gt;
	end&lt;br /&gt;
	sections = compressArray(sections)&lt;br /&gt;
&lt;br /&gt;
	return p._main(page, sections, options)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Module:Hatnote_inline&amp;diff=1899</id>
		<title>Module:Hatnote inline</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Module:Hatnote_inline&amp;diff=1899"/>
		<updated>2022-12-31T20:01:55Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                              Module:Hatnote-inline                         --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module produces hatnote-style links, and links to related articles,	  --&lt;br /&gt;
-- but inside a &amp;lt;span&amp;gt;, instead of the &amp;lt;div&amp;gt; used by Module:Hatnote.  It      --&lt;br /&gt;
-- implements the {{hatnote-inline}} meta-template.                           --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local mHatnote = require(&#039;Module:Hatnote&#039;)&lt;br /&gt;
local mArguments = require(&#039;Module:Arguments&#039;)&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.hatnoteInline (frame)&lt;br /&gt;
	local args = mArguments.getArgs(frame)&lt;br /&gt;
	local hatnote = mHatnote.hatnote(frame)&lt;br /&gt;
	if args.inline == nil or yesno(args.inline, true) then&lt;br /&gt;
		local subs = {&lt;br /&gt;
			[&#039;&amp;lt;div&#039;] = &#039;&amp;lt;span&#039;,&lt;br /&gt;
			[&#039;&amp;lt;/div&amp;gt;$&#039;] = &#039;&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
		}&lt;br /&gt;
		for k, v in pairs(subs) do hatnote = string.gsub(hatnote, k, v, 1) end&lt;br /&gt;
	end&lt;br /&gt;
	return hatnote&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.hatnote = p.hatnoteInline --alias&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Hatnote_inline/invoke&amp;diff=1897</id>
		<title>Template:Hatnote inline/invoke</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Hatnote_inline/invoke&amp;diff=1897"/>
		<updated>2022-12-31T20:01:54Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:Hatnote inline|hatnote}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=This is an includeonly part of [[Template:Hatnote inline]].}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Hatnote_inline&amp;diff=1895</id>
		<title>Template:Hatnote inline</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Hatnote_inline&amp;diff=1895"/>
		<updated>2022-12-31T20:01:54Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Hatnote inline/invoke&lt;br /&gt;
 |1={{{1|{{{text|{{{content}}}}}}}}}&lt;br /&gt;
 |extraclasses={{{class|{{{extraclasses|}}}}}}&lt;br /&gt;
 |selfref={{#if:{{{printworthy|{{{selfref|}}}}}}||yes}}&lt;br /&gt;
 |category={{{category|}}}&lt;br /&gt;
 |inline={{{inline|true}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Crossreference/styles.css&amp;diff=1893</id>
		<title>Template:Crossreference/styles.css</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Crossreference/styles.css&amp;diff=1893"/>
		<updated>2022-12-31T20:01:54Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* {{pp-template}} */&lt;br /&gt;
/* This snippet just undoes the default &amp;quot;padding-left: 1.6em;&amp;quot; imposed by&lt;br /&gt;
   div.hatnote, when Template:Crossreference is used in block (div) mode.&lt;br /&gt;
   Ignore the dumb CSS editor&#039;s &amp;quot;Element (div.crossreference) is overqualified&amp;quot;&lt;br /&gt;
   warning.  It is wrong.  We do not want to apply any CSS intended for block&lt;br /&gt;
   mode when it is not in block mode. While it&#039;s unlikely our &amp;quot;padding-left: 0;&amp;quot;&lt;br /&gt;
   does anything wrong in inline (span) mode, we can&#039;t guarantee it forever.  */&lt;br /&gt;
div.crossreference {&lt;br /&gt;
    padding-left: 0;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
	<entry>
		<id>https://youjo.wiki/index.php?title=Template:Crossreference&amp;diff=1891</id>
		<title>Template:Crossreference</title>
		<link rel="alternate" type="text/html" href="https://youjo.wiki/index.php?title=Template:Crossreference&amp;diff=1891"/>
		<updated>2022-12-31T20:01:54Z</updated>

		<summary type="html">&lt;p&gt;Chizu: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Crossreference/styles.css&amp;quot; /&amp;gt;{{Hatnote inline&lt;br /&gt;
 |1={{{1|{{{text|{{{content|&amp;lt;noinclude&amp;gt;sample content&amp;lt;/noinclude&amp;gt;}}}}}}}}}&lt;br /&gt;
 |extraclasses=crossreference {{{class|{{{extraclasses|}}}}}}&lt;br /&gt;
 |selfref={{#if:{{{selfref|{{{printworthy|{{{unprintworthy|}}}}}}}}}||yes}}&lt;br /&gt;
 |inline={{{inline|true}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chizu</name></author>
	</entry>
</feed>