Esolanging:Help

From Esolanging
Jump to navigationJump to search

Help has arrived.

This page is split into three parts: a short wikitext tutorial a style guide, and a section on how to do stuff on the wiki.

How to wikitext

If you want to try out wikitext yourself, make test edits or use "Show Preview" in your sandbox.

Text formatting

Use two apostrophes for italics: ''sigma'' produces sigma.

Use three apostrophes for boldface: '''Bitch, Ienai!''' produces Bitch, Ienai!.

You can have italics inside of bold and bold inside of italics: ''italics then '''bold-italics''''' produces italics then bold-italics and '''Bold then ''bold-italics''''' produces bold then bold-italics.

Preformatted code

The <code> tag can be used for inline code blocks: <code>std::cout << "Hello, world!" << std::endl</code> produces std::cout << "Hello, world!" << std::endl. It can only be used for one line of code and is not highlighted.

For multiline code blocks, the <pre> tag (no highlight, general) and <syntaxhighlight> tag (highlight, mostly non-esolangs) are both used. For example, the following:

<pre>
<Blocks> "Hello, world!\n"
[Basketball] Robot Flower, could you get us a block?
<TV> Display Robot Flower
</pre>

<syntaxhighlight lang="cpp">
#include <print>

int main() {
    std::print("Hello, world!\n");
}
</syntaxhighlight>

produces:

<Blocks> "Hello, world!\n"
[Basketball] Robot Flower, could you get us a block?
<TV> Display Robot Flower
#include <print>

int main() {
    std::print("Hello, world!\n");
}

Both tags include automatic wrapping so long lines of text can fit and they also disable all formatting except for HTML entities.

Sections

Take your section header and surround it with N = signs where N is the header level. For example, = Hello is a level 1 header, == Hello == is a level 2 header, and so on.

= Level 1 =

== Level 2 ==

=== Level 3 ===

==== Level 4 ====

===== Level 5 =====

====== Level 6 ======
<s></s>

Internal links

Use two nested brackets for links to other articles: [[Implosive]] produces Implosive.

If you want to refer to a page with a singular name (most pages) with a plural name and it is a simple transformation, add the -s or -es outside the brackets: [[potato]]es produces potatoes. Notice how the "es" appears to be included in the link but it links to potato.

Sometimes though, the plural form is not so straightforward, so the bar can be used instead. For example, [[cellular automaton|cellular automata]] gives cellular automata.

The first letter of the link is case-insensitive because MediaWiki automatically forces the first letter of a title to be uppercase, but the rest of the link is case-sensitive. For example, esolang and Esolang link to the same page while eSolang does not.

To show other text in place of the target page name, a vertical bar (|) followed by the desired link text can be used: [[User:Dragoneater67|our decentralized underground insurgency produces our decentralized underground insurgency.

Linking to categories can be done by prefixing the name with a colon: [[:Category:Languages|see all of the esolangs here]] produces see all of the esolangs here.

External links

External links can be done as-is, for example https://codeberg.org is written as plaintext but MediaWiki is smart enough to interpret it as a link, or with square brackets surrounding the URL. For example, [https://codeberg.org] produces [1]. This shows up as a number.

To show other text in place of the URL, a space can be added (since URLs can't contain spaces) and then the desired text can be added: [https://codeberg.org Codeberg] produces Codeberg.

Interwiki links

Sometimes, you may want to link to a page from another wiki, for example on Esolang Wiki or Wikipedia. The Esolang: prefix can be used to link to pages on the Esolang Wiki, for example [[Esolang:Catgirl Rainfart]] produces Esolang:Catgirl Rainfart. Wikipedia interlinks can be done with the Wikipedia: prefix, for example [[Wikipedia:C++]] produces Wikipedia:C++. Like article titles, the first letter of the prefixes are case-insensitive as well.

Since most content related to esolanging is on the Esolang Wiki and it is definitely undesirable to keep the "Esolang:" prefix visible, one can use Template:E to provide a shortcut to [[Esolang:Target page|Target page]]. For example, {{E|Nope.}} produces Nope..

Tables

Tables are done like so:

{| class="wikitable"
|+ Example table
|-
! Example header 1
! Example header 2
! Example header 3
|-
| Look, a new row!
| Example cell
| Example cell
|-
| colspan="2" | This cell spans two columns.
| Example cell
|-
| Columns of a row || do not have to be placed || on separate lines.
|-
| Woah, what's that!?
| rowspan="2" | This cell spans two rows.
| Example cell
|-
| And the cell below takes two rows and two columns!
| The cell to my left is right!
|-
| colspan="2" rowspan="2" | Square cell
! Woah!
|-
| Woah!
|}

The above example produces:

Example table
Example header 1 Example header 2 Example header 3
Look, a new row! Example cell Example cell
This cell spans two columns. Example cell
Columns of a row do not have to be placed on separate lines.
Woah, what's that!? This cell spans two rows. Example cell
And the cell below takes two rows and two columns! The cell to my left is right!
Square cell Woah!

A "plain" table can be done by removing the class="wikitable" bit.

Example header 1 Example header 2 Example header 3
Example cell 1 Example cell 2 Example cell 3
Example cell 4 Example cell 5 Example cell 6

This can be particularly useful for laying elements side-by-side or arranging elements into a grid-like structure without looking like a table.

Categorization

Categorizing a page can be done by using an internal link, for example see the bottom of the source of Implosive. This is the reason why linking to a category must use a colon prefix.

No formatting

Sometimes, you just want to not format some text. For example, you want to write <code>Hello, world!'''''''''''''</code> but it shows up as Hello, world!''''''''. Some of the quotes are missing because they have been translated into bold/italic tags and have run off to the rest of the line as you can see here!

Fortunately, the <nowiki> tag exists which disables all wikitext formatting until the terminating </nowiki>.

Signing your posts on talk pages

Use ~~~~ to display your signature with the timestamp of your edit: this will show my User:AnalysisOfVariance's signature as of the initial creation of this help page as well as the time and time zone this was made    Analysis  Of  Variance    17:56, 30 October 2026 (UTC)

This should really only be used in talk pages for signing your posts/comments.

There are also ~~~ which shows the plain signature (   Analysis  Of  Variance   ) and ~~~~~ which shows the time and time zone (17:56, 30 October 2026 (UTC)), although these should not be used for signing talk pages.

Wrong title

Sometimes, an article may not have the right title, usually for technical reasons. For example, you cannot name an article "<hello>" or "[+=[]2[]//][][" (invalid characters) or "THIS IS A VERY LONG NAME FOR AN ESOLANG MAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA" (too long) or (image). To solve this problem, Template:wrongtitle should be used.

If the article's name starts with a lowercase letter, Template:wrongtitle is too overkill. Instead, Template:lowercase can be used to make the title display as lowercase instead.

Subpages

Subpages can be made by appending a forward slash (/) to the title of the parent page then the subpage name. For example, Esolanging:Help/Examples is a subpage of this page, Esolanging:Help.

Only the Esolanging, Esolanging talk, User, User talk, Template, and Template talk namespaces have real subpages. This means that subpages in those namespaces automatically reference their parent pages. For namespaces without subpages such as mainspace, Template:Back may be placed at the very top of the subpage. For example, {{back|My really cool page|my really cool page with [invalid] characters <> in its name}} results in ← Back to my really cool page with [invalid] characters <> in its name.

How to style

Tone and diction

For mainspace articles, use semi-formal tone and diction. "Semi-formal" in this context means forming proper sentences, remaining objective, speaking from a third-person point of view, and other things. This does not mean you have to be completely devoid of fun and be very corporate however, it just means you must remain neutral and objective but can sprinkle some fun into the articles you write.

For talk pages and user pages, do whatever the hell you want, talk pages are for discussion and user pages are for you!

There is no preference for American or British/Commonwealth English (e.g. color [AE] or colour [BE], eggplant (AE) or aubergine [BE]), however a consistent style must be established throughout the whole article. For example, an article starting with American English must remain using American English while an article starting with British English must remain using British English. Changing an article from one style to another is not only unnecessary but also pointless.

Text formatting

Use boldface and italics and especially bold-italics sparingly. Boldface should only be used for the first occurrence of the subject's title (for example, see Implosive) and italics should be used for emphasis.

Sections

Never start an article with a section header. For example, see Esolanging:Help/Examples/Starts with section. This rule is especially true if you just add the page title in the section header since the page title is already displayed above the page by most styles. Also avoid using level 1 headers unless you use level 5 headers.

Avoid sudden downward jumps from one level to another.

Bad Good
== Section ==

Example text here.

===== Subsection =====

Example text here.
== Section ==

Example text here.

=== Subsection ===

Example text here.

Section names should start with a capital letter and other words should not be capitalized. For example, "External resources" is good while "External Resources" or "external resources" are not.

Categoriaztion

Put the categories of a page at the bottom of the page. Categorize pages according to what they are. For ordering the categories, the following ordering and hierarchy for esolang articles is preferred but not required.

Please do not put all categories on one line like this, it is quite annoying for editors:

[[Category:Languages]] [[Category:2026]] [[Category:Unknown computational class]] [[Category:Unimplemented]]

Instead, put each category on separate lines.

[[Category:Languages]]
[[Category:2026]]
[[Category:Unknown computational class]]
[[Category:Unimplemented]]

How to do other stuff

New pages

Simply type your desired page title in the search bar or do it in Special:Search, and if the page does not exist already then click the redlink in the text that goes something along the lines of Create the page "[page title here]" on this wiki! to start editing. If there is a redlink to the page you want to create, you may click that to create it too.

Drafts

Drafts for articles should be placed into the Draft: namespace. This can be done by simply prefixing your article title with Draft:, for example Draft:Explosive diarrhea.

If you are finalizing a draft to move to the main namespace, simply move the page and select (Main) as the target namespace, and set the move reason to Other reason and put something like "finalizing draft" there.

For finalizing and moving your draft to the Esolang Wiki, simply copy the wikitext of your page, make an article on the Esolang Wiki, and paste it there. Then at the original draft's page, add Template:movedtoesolangwiki.

Images

Generally, you don't need images. However sometimes, you might need images. For example, you might have an esolang that is visual like Piet for example, or you may want to add visuals or diagrams to aid understanding. In that case, go to Special:Upload and upload your image file.

Remember that the content of the Esolanging Wiki is licensed under the public domain, so any images you upload must be released into the public domain or be licensed under a PD-equivalent license.

New categories

New categories must be discussed at Esolanging talk:Categorization, then after enough people have given their thoughts an admin will decide whether to make the category or not.

To propose a category, simply make a new section on Esolanging talk:Categorization explaining why you think the category should exist. Don't forget to sign your proposal! See Esolanging:Help/Examples/Category proposal as an example.

Resolving disputes

Stay calm and don't be a keyboard warrior, instead address the problem directly and provide a simple explanation.

If the dispute is turning into a war, then first try to de-escalate. If de-escalation does not work, then admin action should be requested.

Other

Please do not edit other people's user pages and subpages without their permission.

Be bold in editing pages! But don't be reckless! If you see a typo or a mistake, go for it! No need to ask unless it is something major. If you're the one in the wrong, others will simply revert your edit.

No single person can own a page, since after all a wiki is based on collaboration. The only pages you can "own" are your own user page, your own talk page, and your user subpages. Don't try to claim ownership of a page.

See also