# Formatting Sandbox

Notes:

• Answers will occasionally be moved to the Sandbox archive when there are too many of them. When using them to report bugs, keep an eye on the post.

As per Jeff's suggestion in this comment:

You can use this question as a formatting sandbox. You can:

• edit this question itself (Community Wiki questions such as this one require only 100 reputation to edit instead of 2,000)
• post answers to this question (This question might be protected, requiring earning 10 reputation on this site to answer)
• test suspected bugs with the editor or the rendering
• post ponies (only when mods are asleep)

Beware that since the changes to syntax highlighting in December 2010, and the inline hints added in March 2011, no syntax highlighting is applied unless the question's tags or an inline hint enable it. So, to test highlighting here in the sandbox:

1. As of January 8, 2019, you can use GitHub-flavor fenced code blocks in your posts, specifying the language after the opening fence:

html
While not hinted otherwise: <html></html> source <b>goes</b> "here".


js
var a = 3;
while (not (a > 0)) {
}


2. Or:

• Create code blocks in any way (using the fence notation above, the four-space indent form, or using HTML <pre><code> tags).

• Use your browser's developer tools to edit the resulting HTML. To open developer tools, press F12, or ⌥⌘ I on Mac.

• Find the <pre> element and add the attribute class="prettyprint", or change it into one of the valid syntax hints linked above, like class="lang-vb prettyprint".

• Run the following in the location bar: javascript:prettyPrint(); or prettyPrint() in the console.

Answers that are considered annoying or obnoxious, or that cause breakage for users, will be deleted. This is codified as a policy as of March 29, 2018.

• Bold code block.Italic code block. – smileycreations15 Mar 4 '19 at 12:36
• Is new line working correct? Adding two spaces at the end of this line And now the new line... And another another... No new lines :( – smajli Mar 5 '19 at 11:14
• New line </br> continue in new line... – smajli Mar 5 '19 at 11:16
• – Alex Mar 17 '19 at 2:35
• Do HTML &quot; entities &quot; work&nbsp;? Guess not. – a wizard arachnid Apr 1 '19 at 22:18
• A comment with some weird markdown, to test and help this user. Look tags work too, and so does tour. – Bhargav Rao Apr 6 '19 at 1:59
• Note: Do not remove @BhargavRao's comment, or you will break this answer – wizzwizz4 Apr 6 '19 at 17:16
• @BhargavRao When sandbox answers are moved to the archive, comments such as this one -- on the question itself -- aren't migrated; they're deleted. – rgettman Apr 9 '19 at 19:37
• @rgettman, yeah, that is fine. I had used it for just a small demonstration. The linked answer itself is self-sufficient. Thanks anyway. – Bhargav Rao Apr 9 '19 at 20:22
• @BringBackThePolyglot Do you get notifications if I reply to your comment and then delete your comment before you visit the site? (for those wondering how I can single-handedly delete someone else's comment, comments containing "thanks" are automatically deleted as soon as someone flags them) – Donald Duck Apr 25 '19 at 16:32
• @DonaldDuck Yes, I got notified. – Bring Back The Polyglot Apr 25 '19 at 16:32
• honestly the over 500 hundred upvotes for a sandbox post is taking this real time satire thing you guess do with rep points too far – Adam May 7 '19 at 11:14
• It makes me feel like doing one too like an onion announcing the Debian contributor community have been assigned complete authority and trust over all encryption matters for the central banks of the world but no, im an adult, I can show restrain – Adam May 7 '19 at 11:16
• no I'm seriously asking now, what does op mean when someone causes a user "breakage"? is that like the time I was not allowed to take the archer profile pic down for like 6 months? that did break me tbh – Adam May 7 '19 at 11:22
• help center, help center, help center, help center and help center – link to frequently visited pages of the help center. Link text is "help center" (capitalization is respected). All links point to the main site. – AVK May 16 '19 at 17:45

Hello Important notice: Purple Pika Wizardry co. is not responsible for any damages resulting in the viewing of these unicorns, including but not limited to rainbowness, lack of tiredness, waffle disease, and jealousy of not owning these unicorns. Continue at your own risk.

Here are my pet unicorns, Fluffy, Fluffy Junior, and Fluffy Senior!

And guess what? They don't like skittles. That's right. My unicorns don't like skittles. I've trained them to eat the superior food, aka waffles (yeah, I've had a change in heart from my evil past).

Don't flag this as Not an Answer. Unicorns are the answer to anything. Waffles are the answer to everything. Unicorns that eat waffles are the answer to anything and everything.

- user405220

<h1>test</h1>

<h3>test</h3>

<h4>test</h4>

• I agree 100% that unicorns are awesome. – user495830 Apr 15 '19 at 2:07
• Your signature still doesn’t match your correct name, @PikachuthePurpleWizard. – user495830 Apr 15 '19 at 4:17
• @Mr.YouKnowWhoIAm yeah, but it sounds really cool. – Pika the Wizard of the Whales Apr 15 '19 at 4:17
• I don’t think “Unicorns that eat waffles… — user405220“ is very cool. – user495830 Apr 17 '19 at 0:09
• Unfortunately for you, the mods are not asleep. – John Militer Aug 6 '19 at 6:17
• Uses magical waffle powers to make all moderators everywhere sleep – Pika the Wizard of the Whales Aug 6 '19 at 17:55
• Okay... Kinda new to SE Meta... and I am loving it already. – Osama Kawish Jun 11 at 18:04

# The Comprehensive Formatting Test

## Supported Markdown

Stack Exchange maintains its own Markdown Help page. It maintains a subset containing most, but not all markdown features.

### Code Formatting

• Inline code formatting or code spans

• To place code inline, enclose your code in a pair of backtick characters (). In the editor, you can highlight a portion of text in a single line and either press Ctrl-k or press the {} toolbar button.

Use the line System.out.println("Hello World!");.


Use the line System.out.println("Hello World!");.

• Escape a backtick within inline code by enclosing the inline code with double-tickmarks:

Within code: for line in someCommand 


Within code: for line in someCommand

• A single backtick character in a line won't form a code block.

The backtick character is ''


The backtick character is ''.

• To escape multiple backtick characters in a line, without forming a code block, escape the first with a backslash character:

There are two backtick characters ('\') in this line ('').


There are two backtick characters ('') in this line ('').

• Outside of a code block, you can always escape any backtick character.

There are two backtick characters ('\') in this line ('\').


There are two backtick characters ('') in this line ('').

• Block code formatting

• To place a code block, indent the lines containing your code by 4 space characters. In the editor, you can highlight lines of text and either press Ctrl-k or press the {} toolbar button.

    System.out.println("Hello World!");
System.out.println("Code Block!");

System.out.println("Hello World!");
System.out.println("Code Block!");

• One may also place a code fence, which is 3 or more backtick or tilde characters, each on their own line, before and after the code.


System.out.println("Hello World!");
System.out.println("Code Fence with backticks!");


System.out.println("Hello World!");
System.out.println("Code Fence with backticks!");


~~~
System.out.println("Hello World!");
System.out.println("Code Fence with tildes!");
~~~

System.out.println("Hello World!");
System.out.println("Code Fence with tildes!");


~~~~~~~~~~~~~~~~~~~~
System.out.println("Hello World!");
System.out.println("Code Fence with 20 tildes!");
~~~~~~~~~~~~~~~~~~~~

System.out.println("Hello World!");
System.out.println("Code Fence with 20 tildes!");

• HTML and other markdown are not supported within code spans or code blocks.


</code> *Not in code!* <code>


</code> *Not in code!* <code>


### Line Breaks

• Simply placing one line break doesn't produce a line break when rendered.

This is one line.
This was intended to be on the next line, but it appears on the same line.


This is one line. This was intended to be on the next line, but it appears on the same line.

• Using one or more blank lines produces a paragraph break.

This is one paragraph.  It has some sentences.

This is intended to be a second paragraph.


This is one paragraph. It has some sentences.

This is intended to be a second paragraph.

• Use an HTML <br> tag to produce a line break.

This is one line.<br>
This is intended to be on the next line.


This is one line.
This is intended to be on the next line.

### Italics and Bold

• Surround text with exactly one underscore (_) or one asterisk (*) to render text in italics.

This is _italic_ text. This is *italic* too.

This is italic text. This is italic too.

• Surround text with exactly two underscores (__) or two asterisks (**) to render text in bold.

This is __bold__ text. This is **bold** too.

This is bold text. This is bold too.

• Surround text with both of the above to render text in bold and italic.

___underscores only___ and ***asterisks only*** and __*underscore and asterisk*__ and **_asterisk and underscore_**.

underscores only and asterisks only and underscore and asterisk and asterisk and underscore.

• Four or more does nothing. Using both _ and * for the same purpose: outside ones count, inside ones ignored.

****Four!****

****Four!****

_____Five!_____

_____Five!_____

**__Two and Two!__**

__Two and Two!__

_*One and One!*_

*One and One!*

• [Display](URL)

[Meta Stack Exchange](https://meta.stackexchange.com)

Meta Stack Exchange

• [Display](URL "tooltip") - Whether there are spaces in the tooltip text or not, one of double quotes or single quotes, but not parentheses, for the tooltip is required.

[Meta Stack Exchange](https://meta.stackexchange.com TopQuestions)

[Meta Stack Exchange](https://meta.stackexchange.com TopQuestions)

[Meta Stack Exchange](https://meta.stackexchange.com "TopQuestions")

Meta Stack Exchange

[Meta Stack Exchange](https://meta.stackexchange.com 'TopQuestions')

Meta Stack Exchange

[Meta Stack Exchange](https://meta.stackexchange.com (TopQuestions))

[Meta Stack Exchange](https://meta.stackexchange.com (TopQuestions))

• Escape the first bracket not to render the link.

$Meta Stack Exchange](https://meta.stackexchange.com) [Meta Stack Exchange](https://meta.stackexchange.com) • The protocol (e.g. https://) is required, or else only the display text is rendered. [Meta Stack Exchange](meta.stackexchange.com) Meta Stack Exchange • Reference links: • These can be created by pressing Ctrl-L or clicking the 🔗 button in the editor toolbar. • [Display](refName) and [refName]: URL [Meta Stack Exchange][1] [1]: https://meta.stackexchange.com  Meta Stack Exchange • Case insensitive alphanumeric reference names. [Meta Stack Exchange][Thissite42] [thisSite42]: https://meta.stackexchange.com  Meta Stack Exchange • Tooltips: Use double-quotes or parentheses, but not single-quotes. [Meta Stack Exchange][tooltip] [tooltip]: https://meta.stackexchange.com "Tooltip"  [Meta Stack Exchange][tooltip1] [tooltip1]: https://meta.stackexchange.com 'Tooltip1'  [Meta Stack Exchange][tooltip1] [tooltip1]: https://meta.stackexchange.com 'Tooltip1' [Meta Stack Exchange][tooltip2] [tooltip2]: https://meta.stackexchange.com (Tooltip2)  Meta Stack Exchange • Bare URLs • Bare URLs get turned into links. http://example.com http://example.com • Angle brackets force links. <https://www.google.com> https://www.google.com • Capital letter in protocol makes the link disappear. (But it will show up in the preview!) Http://stackoverflow.com • Unrecognized protocol disables the link. doesnotexist://stackoverflow.com doesnotexist://stackoverflow.com • Magic links that work in comments do not work in a post.  [help] [main] [meta] [tour] ### Images • Inline images, similar to links but with leading !: • ![Alt Text](URL) ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg) • ![Alt Text](URL "tooltip") - Whether there are spaces in the tooltip text or not, one of double quotes or single quotes, but not parentheses, for the tooltip is required. ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg Unicorn!) ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg Unicorn!) ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg "Unicorn!") ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg 'Unicorn!') ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg (Unicorn!)) ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg (Unicorn!)) • Escape the first bracket not to render the link. !\[An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg (Unicorn!)) ![An image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg (Unicorn!)) • The protocol (e.g. https://) is required, or else only the display text is rendered. ![An image of a unicorn](i.stack.imgur.com/7I1jg.jpg (Unicorn!)) Meta Stack Exchange • Reference images: • These can be created by pressing Ctrl-G or clicking the picture icon button in the editor toolbar. • ![Alt Text](refName) and [refName]: URL ![image of a unicorn][2] [2]: https://i.stack.imgur.com/7I1jg.jpg  • Case insensitive alphanumeric reference names. ![image of a unicorn][Site42] [sITE42]: https://i.stack.imgur.com/7I1jg.jpg  • Tooltips: Use double-quotes or parentheses, but not single-quotes. ![image of a unicorn][TooltipImg] [tooltipImg]: https://i.stack.imgur.com/7I1jg.jpg "Tooltip"  ![image of a unicorn][TooltipImg1] [TooltipImg1]: https://i.stack.imgur.com/7I1jg.jpg 'Tooltip1'  ![image of a unicorn][TooltipImg1] [TooltipImg1]: https://i.stack.imgur.com/7I1jg.jpg 'Tooltip1' ![image of a unicorn][TooltipImg2] [TooltipImg2]: https://i.stack.imgur.com/7I1jg.jpg (Tooltip2)  • Image links - surround an image with a link. [![image of a unicorn][ImgSrc]][1] [ImgSrc]: https://i.stack.imgur.com/7I1jg.jpg [1]: https://meta.stackexchange.com  ### Headers • The number of # characters determines the header level, from 1-6. Any # characters at the end of the line are not rendered. Headings 4-6 seem to render as normal text, and any # characters beyond the 6th are treated as heading 6 with those additional # characters as part of the text of the heading itself. # Heading 1 ### # Heading 1 ## Heading 2 #################### ## Heading 2 ### Heading 3 ### Heading 3 #### Heading 4 Heading 4 ##### Heading 5 Heading 5 ###### Heading 6 Heading 6 ####### Heading 7 # Heading 7 • Alternates for headers 1 and 2 • Use equals signs under the header text for heading 1. Equals Signs! ===  # Equals Signs! • Use dashes under the header text for heading 2. Dashes! ---  ## Dashes! • The triple bar ≡ doesn't seem to do anything special here. Triple Bar! ≡≡≡  Triple Bar! ≡≡≡ • Escape # with a backslash or use the HTML entity instead. \# Not a heading # Not a heading &#35; Not a heading # Not a heading # Heading ending with hashtag &#35; # Heading ending with hashtag # • Italic headers # _Italic_ *Header* # # ItalicHeader ### Horizontal Rules • Use 3 or more hyphens, asterisks, or underscores by themselves on a line. Pressing Ctrl-R inserts a horizontal rule for you. --- *** ______  Ctrl-R • Single spaces between the characters still works. - - - * * * _ _ _ _ _ _  • But multiple spaces do not work. - - - * * * _ _ _ _ _ _  • * _ _ _ _ _ _ ### Blockquotes • Use > or highlight text and press Ctrl-Q to create a blockquote. > Quoting something else Quoting something else >No space between > and text No space between > and text • One can nest blockquotes with multiple > characters. > First level! >> Second level! >>> Third level! >> >> Need blank line and one less < to go back to second. > > Same idea for back to first.  First level! Second level! Third level! Need blank line and one less < to go back to second. Same idea for back to first. • Escape a > character with a backslash. \> I want a >! > I want a >! • Markdown works within a blockquote. > Enjoy **this** unicorn! > > ![image of a unicorn](https://i.stack.imgur.com/7I1jg.jpg)  Enjoy this unicorn! • Code formatting works within a blockquote. Indenting requires 5 spaces: 1 for the blockquote, and 4 for the code indention. > System.out.println("Hello World!"); > Inline: System.out.println("Hello World!"); > Code fence: >  > System.out.println("Hello World!"); >   System.out.println("Hello World!");  Inline: System.out.println("Hello World!"); Code fence: System.out.println("Hello World!");  ### Lists • Unordered Lists • Use +, -, or *, followed by a space character. Or press Ctrl-U or press the bulleted list icon in the editor toolbar. + One - Two * Three  • One • Two • Three • Spaces are necessary. +Necessary  +Necessary • The other main arithmetic operators don't create lists. / No % No ^ No = No  / No % No ^ No = No • Ordered Lists • Use any number, followed by a period ("dot"), then a space character. Or press Ctrl-O or press the numbered list icon in the editor toolbar. 1. One 10. Two 42. Three  1. One 2. Two 3. Three • Spaces are necessary. 1.Necessary 1.Necessary  1.Necessary 1.Necessary • The period ("dot") is necessary. 1 Necessary 1 Necessary  1 Necessary 1 Necessary • Multiple lines within list items: indent 4 spaces, or do we need to? 1. Same line Continuation of the same line 1. Next line Not indented 1. Next line Continuation of the same line  1. Same line Continuation of the same line 2. Next line Not indented 3. Next line Continuation of the same line • Nested lists: indent 4 spaces. 1. Top level * Mid level 1. Bottom level * Mid level * Bottom level 1. Top level 1. Mid level + Bottom level  1. Top level • Mid level 1. Bottom level • Mid level • Bottom level 2. Top level 1. Mid level • Bottom level • Code within list items: indention requires blank line then 4 additional spaces beyond list indention level. 1. Top level System.out.println("Indented");  System.out.println("Code fence");  Inline: System.out.println("Inline");  1. Top level System.out.println("Indented");  System.out.println("Code fence");  Inline: System.out.println("Inline"); • Blockquote within list items: blank line then indent 4 spaces. 1. Top level > Quote is indented. > Quote is not indented.  1. Top level Quote is indented. Quote is not indented. ### Markdown Escapes \\ \ \* \_ \{ \} \[$  \# \+ \- \. \!


\  * _ { } [ ] ( ) # + - . !

## Unsupported Markdown

### Tables

• | Syntax | Description |
| ----------- | ----------- |
| Paragraph | Text |


| Syntax | Description | | ----------- | ----------- | | Header | Title | | Paragraph | Text |

### Footnotes

• Not supported

Text with footnote: [^1]

[^1]: Footnote text


Text with footnote: [^1]

[^1]: Footnote text

• Part within braces is not turned into "id" attribute in the header element.

# Header {#with-id}


### Strikethrough

• ~~Incorrrect~~


~~Incorrect~~

### Definition Lists

• Not supported

First Term
: First definition
: Second definition
Second Term
: First definition
: Second definition


First Term : First definition : Second definition Second Term : First definition : Second definition

• Not supported; becomes an unordered list.

- [x] Perform tests
- [ ] Perform corrections

• [x] Perform tests
• [ ] Perform corrections

## Stack Exchange Extensions to Markdown

### Tags

• Enclose in brackets [] and text is prefixed with tag:. Letters get lowercased. They link to the main site's tag page for that tag.

[tag:mytag] [tag:UPPERCASE] [tag:with1number]

• Allowed characters: alphanumeric plus limited punctuation: Individual -, #, and . characters are allowed.

[tag:abcdefghijklmnopqrstuvwxyz-#.ABCEDFGHIJKLMNOPQRSTUVWXYZ0123456789]


• Leading and trailing - are stripped off, but the tag still forms.

[tag:c-] [tag:c--] [tag:-c] [tag:--c] [tag:-----c] [tag:c-------]

• Trailing . are stripped off, but the tag still forms.

[tag:c.] [tag:c..] [tag:.c] [tag:..c] [tag:.....c] [tag:c.......]

• Leading # are stripped off, but the tag still forms.

[tag:c#] [tag:c##] [tag:#c] [tag:##c] [tag:#####c] [tag:c#######]

• The + character is allowed, but if they're in the middle, there must be as least 2 of them.

[tag:abc+def] [tag:abc++def] [tag:abc++++++++++++++++++++def]

• Leading + are stripped off, but the tag still forms.

[tag:c+] [tag:c++] [tag:+c] [tag:++c] [tag:+++++c] [tag:c+++++++]

• Meta-tags: Use the meta-tag: prefix. They link to the meta site's tag page for that tag.

[meta-tag:blah]


• Certain meta tag names are given special styling.

• Certain words, regardless of case, don't form tags, regardless of capitalization or whether it's a meta tag. There are no other words, 4 letters or less, that don't form tags. The words "and" and "or" won't form tags. In preview, "not" won't form a tag but the actual post will render it. The preview renders them as the text is, e.g. [tag:Or] but the post will render it or.

[tag:an] [tag:and] [tag:AND] [tag:band]
[tag:no] [tag:not] [tag:noT] [tag:note]
[meta-tag:o] [meta-tag:or] [meta-tag:Or] [meta-tag:ore]
[tag:and-not-or]


and  and  or  or

## Spoilers

• Create a spoiler with >!:

>! You must hover over me to view me!


You must hover over me to view me!

• Markdown, including links and images, can be contained within a spoiler.

>! _Visit [Meta Stack Exchange](https://meta.stackexchange.com) to view this picture._
>! ![image of unicorn](https://i.stack.imgur.com/7I1jg.jpg)


Visit Meta Stack Exchange to view this picture.

## Syntax Highlighting

• Where it's supported, insert an HTML comment specifying the language for the following code block immediately following it. Subsequent code blocks are not highlighted unless they have their own syntax highlighting specified. (Sites such as Stack Overflow will infer the syntax highlighting from tags on the question, rendering this hint unnecessary.)
<!-- language: lang-java -->

System.out.println("Hello World!");

<br>

System.out.println("Not highlighted.");

System.out.println("Hello World!");


System.out.println("Not highlighted.");

• Use language-all to highlight subsequent code blocks.
<!-- language-all: lang-java -->

System.out.println("Hello World!");

<br>

System.out.println("Highlighted.");

System.out.println("Hello World!");


System.out.println("Highlighted.");

• Others besides Java
<!-- language: lang-bash -->

echo "Hello World!"

echo "Hello World!"

<!-- language: lang-c -->

printf("Hello World!\n");

printf("Hello World!\n");

<!-- language: lang-cpp -->

std::cout << "Hello World!" << std::endl;

std::cout << "Hello World!" << std::endl;

<!-- language: lang-cs -->

Console.WriteLine("Hello World!");

Console.WriteLine("Hello World!");

<!-- language: lang-js -->

console.log("Hello World!");

console.log("Hello World!");

<!-- language: lang-json -->

{
"message":"Hello World!"
}

{
"message":"Hello World!"
}

<!-- language: lang-perl-->

print "Hello World!\n";


print "Hello World!\n";

<!-- language: lang-python-->

print("Hello World")


print("Hello World")

<!-- language: lang-ruby-->

puts "Hello World!"


puts "Hello World!"

• Code fence language hint
java
System.out.println("code fence highlighting");


System.out.println("code fence highlighting");


## Allowed HTML

Only some basic HTML elements are whitelisted. Also, only some attributes within those tags are whitelisted as well. If specified, they must be in order! Those that don't meet these requirements are completely stripped from the content.

• <a>: href then title

<a href="http://meta.stackexchange.com/" title="Tooltip">_Meta Stack Exchange_</a>


Meta Stack Exchange

• <b> or <strong>: no attributes

<b>Bold</b> and <strong>Strong</strong>


Bold and Strong

• <blockquote>: no attributes

<blockquote>To be or not to be, that is the question.</blockquote>

To be or not to be, that is the question.
• <br>: no attributes

Put it on the<br>next line.


Put it on the
next line.

• <del> or <strike>: no attributes

<del>That's not right.</del> <strike>That's not even wrong.</strike> Correct.


That's not right. That's not even wrong. Correct.

• <dl>, <dt>, and <dd>: no attributes

<dl>
<dt>SO</dt>
<dd>Stack Overflow</dd>
<dt>SE</dt>
<dd>Stack Exchange</dd>
</dl>

SO
Stack Overflow
SE
Stack Exchange
• <em> or <i>: no attributes

<em>Emphasis</em> and <i>Italic</i>


Emphasis and Italic

• <h1>, <h2>, and <h3>: no attributes

<h1>One</h1>
<h2>Two</h2>
<h3>Three</h3>
<h4>Four</h4>
<h5>Five</h5>
<h6>Six</h6>


# One

## Two

### Three

Four Five Six
• <hr>: no attributes

End of thought <hr> Next thought


End of thought

Next thought

• <img>: src then width then height then alt then title

<img src="https://i.stack.imgur.com/7I1jg.jpg" alt="image of unicorn" title="Tooltip">


• Specifying one of width or height scales the image; must specify both to change the aspect ratio. They can't be px and they max out at 999.

<img src="https://i.stack.imgur.com/7I1jg.jpg" width="999">


<img src="https://i.stack.imgur.com/7I1jg.jpg" width="100">


<img src="https://i.stack.imgur.com/7I1jg.jpg" height="999">


<img src="https://i.stack.imgur.com/7I1jg.jpg" width="999" height="100">


<img src="https://i.stack.imgur.com/7I1jg.jpg" width="100" height="999">


• Animated gifs are supported.

<img src="https://i.stack.imgur.com/AXtId.gif">


• <kbd>: no attributes

<kbd>abcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+~[{]}\|;:'",<.>/?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</kbd>  abcdefghijklmnopqrstuvwxyz!@#$%^&*()-_=+~[{]}\|;:'",<.>/?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ

• Nested <kbd> elements are allowed.

<kbd>Outer<kbd>Nested</kbd></kbd>


OuterNested

• <ol> or <ul> with <li>: <ol> can have start

<ol><li>First</li><li>Second</li></ol> <ul><li>Something</li><li>Else</li></ul>


1. First
2. Second
• Something
• Else

• Start at desired number up to 231 - 1.

<ol start="2147483647"><li>First</li></ol>

1. First
• <p>: no attributes

<p>Paragraph1</p><p>Paragraph2</p>


Paragraph1

Paragraph2

• <pre>: no attributes

<pre>System.out.println("Hello World!");</pre>

System.out.println("Hello World!");
• <sup> and <sub>: no attributes

x<sup>2</sup> + A<sub>0</sub>


x2 + A0

• They can be nested.

a<sup>b<sup>c<sup>d<sub>e<sup>f</sup></sub></sup></sup></sup>


abcdef

• Others are NOT supported, including: font, span, div, table.

<font color="red">Red text?</font>


Red text?

<span style="color:red">Red text?</font>


Red text?

<div style="color:red">Red text?</font>


Red text?

<table><tr><td>Not</td><td>Supported</td></tr></table>

NotSupported
• Escape your <>

HashMap<String, Object>


HashMap

HashMap<String, Object>


HashMap<String, Object>

HashMap&lt;String, Object&gt;


HashMap<String, Object>

## Unicode

### Emojis

&#9786;&#x1F409;


☺🐉

### Right-to-left

ABC&#8238;DEF


ABC‮DEF

### Superscript, subscript, strikeout

ᵃᵉⁱᵒᵘ ₐₑᵢₒᵤ s̶t̶r̶i̶k̶e̶o̶u̶t̶

### Zalgo

Z̸̧̦̥͔̻̞̟͔͒̓̄̓͐͆͋̃̅͆̓͘̚͝͝à̷̛̜͇̺̖̯̭͓̱̱̣̺̲̪̰l̷̢̳̤̮͈͎̩̱̳̱̱̞͆͂̽̀̃͒̿̄̅͊͘͘̚͠͝ͅg̷͙͋o̶̧̩̓̓͌̄͊͐̓̇̏͝ ̶̛͚͖͍̦͕̞͈͆̋̓̈̏̈̓̊̅͆͘͜t̸̬̮̖̖͙͔̮͊̔͊͌́̈́͒̇͒̽̑̎̚̕͠ė̶̖̰̬͙͙̇̈͌͘͜͜x̴͔̎t̶̖́̒̏͒͌̈́̏͊̒̉ͅ ̵̨͍̬͔̼̣̘̖͍͖̘͍͋̑͛̂̾̋ḧ̸̡̘̬̲̣̺́́̿̀̈ͅé̷̦̰̻̤̲̺̠̏͒̉͛̍͌̍ͅr̶̩̯̱̜͆̌̾͌̑̇̊͒̃̀̽̍̚é̴̜̉̇̿̈́͌̕.̸̢̱͔̲̫̇͌̽̌͂͊͊̈́̇

• Bold, italic, bold italic, System.out.println("code formatting");, no-ref link. – rgettman Mar 27 '19 at 23:35
• Comment only magic links: [meta] [meta], [main] [main],  edit, [help] help center, [help/on-topic] help center, [help/dont-ask] help center, [help/behavior] help center, [meta-help] help center, [tour] tour, [so] Stack Overflow, [su] Super User, [sf] Server Fault, [metase] Meta Stack Exchange, [a51] Area 51, [se] Stack Exchange, [pt.so] Stack Overflow em Português, [chat] Meta Stack Exchange Chat, [ask] How to Ask, [answer] How to Answer, [astronomy.se] Astronomy, [math.se] Mathematics, [meta.astronomy.se], Astronomy Meta, [meta.math.se] Mathematics Meta, [mcve] [mcve]. – rgettman Mar 27 '19 at 23:45
• Unicode characters work: ☺🐉 ᵃᵉⁱᵒᵘ ₐₑᵢₒᵤ s̶t̶r̶i̶k̶e̶o̶u̶t̶ Z̸̧̦̥͔̻̞̟͔͒̓̄̓͐͆͋̃̅͆̓͘̚͝͝à̷̛̜͇̺̖̯̭͓̱̱̣̺̲̪̰l̷̢̳̤̮͈͎̩̱̳̱̱̞͆͂̽̀̃͒̿̄̅͊͘͘̚͠͝ͅg̷͙͋o̶̧̩̓̓͌̄͊͐̓̇̏͝ ̶̛͚͖͍̦͕̞͈͆̋̓̈̏̈̓̊̅͆͘͜t̸̬̮̖̖͙͔̮͊̔͊͌́̈́͒̇͒̽̑̎̚̕͠ė̶̖̰̬͙͙̇̈͌͘͜͜x̴͔̎t̶̖́̒̏͒͌̈́̏͊̒̉ͅ ̵̨͍̬͔̼̣̘̖͍͖̘͍͋̑͛̂̾̋ḧ̸̡̘̬̲̣̺́́̿̀̈ͅé̷̦̰̻̤̲̺̠̏͒̉͛̍͌̍ͅr̶̩̯̱̜͆̌̾͌̑̇̊͒̃̀̽̍̚é̴̜̉̇̿̈́͌̕.̸̢̱͔̲̫̇͌̽̌͂͊͊̈́̇ – rgettman Mar 27 '19 at 23:52
• ‮**I love RTLO! It makes comments go crazy.** – user495830 Mar 30 '19 at 22:15
• Why is this so freaking long?!?!? It takes up over half of the page! – Bookwyrm Apr 2 '19 at 1:38
• @Bookwyrm It turns out there are a lot of features that can be tested, such as comment @ auto-replies. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Comments are limited to 600 characters. Com – rgettman Apr 9 '19 at 19:04
• bold formatted italic formatted bold italic formatted Tag link: waffles Hover for popup – rgettman Apr 9 '19 at 20:29
• 𝐔𝐧𝐢𝐜𝐨𝐝𝐞 𝐛𝐨𝐥𝐝. 𝑈𝑛𝑖𝑐𝑜𝑑𝑒 𝑖𝑡𝑎𝑙𝑖𝑐. 𝑼𝒏𝒊𝒄𝒐𝒅𝒆 𝒃𝒐𝒍𝒅 𝒂𝒏𝒅 𝒊𝒕𝒂𝒍𝒊𝒄. Bold 𝐔𝐧𝐢𝐜𝐨𝐝𝐞 𝐛𝐨𝐥𝐝. Bold 𝑈𝑛𝑖𝑐𝑜𝑑𝑒 𝑖𝑡𝑎𝑙𝑖𝑐. Bold 𝑼𝒏𝒊𝒄𝒐𝒅𝒆 𝒃𝒐𝒍𝒅 𝒂𝒏𝒅 𝒊𝒕𝒂𝒍𝒊𝒄. Italic 𝐔𝐧𝐢𝐜𝐨𝐝𝐞 𝐛𝐨𝐥𝐝. Italic 𝑈𝑛𝑖𝑐𝑜𝑑𝑒 𝑖𝑡𝑎𝑙𝑖𝑐. Italic 𝑼𝒏𝒊𝒄𝒐𝒅𝒆 𝒃𝒐𝒍𝒅 𝒂𝒏𝒅 𝒊𝒕𝒂𝒍𝒊𝒄. Bold and italic 𝐔𝐧𝐢𝐜𝐨𝐝𝐞 𝐛𝐨𝐥𝐝. Bold and italic 𝑈𝑛𝑖𝑐𝑜𝑑𝑒 𝑖𝑡𝑎𝑙𝑖𝑐. Bold and italic 𝑼𝒏𝒊𝒄𝒐𝒅𝒆 𝒃𝒐𝒍𝒅 𝒂𝒏𝒅 𝒊𝒕𝒂𝒍𝒊𝒄. – rgettman Apr 9 '19 at 20:37
• Ⓗⓞⓛⓛⓞⓦ ⓑⓤⓑⓑⓛⓔⓢ, 🅕🅘🅛🅛🅔🅓 🅑🅤🅑🅑🅛🅔🅢, 🄟⒜⒭⒠⒩⒯⒣⒠⒮⒤⒵⒠⒟ ⒞⒣⒜⒭⒜⒞⒯⒠⒭⒮, C̷h̷i̷c̷k̷e̷n̷ ̷s̷c̷r̷a̷t̷c̷h̷e̷s̷, U͟n͟d͟e͟r͟l͟i͟n͟e͟d͟, Sᴍᴀʟʟ Cᴀᴘs, 𝒮𝒸𝓇𝒾𝓅𝓉 𝓉ℯ𝓍𝓉, 𝓑𝓸𝓵𝓭 𝓢𝓬𝓻𝓲𝓹𝓽 𝓽𝓮𝔁𝓽, 𝔹𝕝𝕒𝕔𝕜𝕓𝕠𝕒𝕣𝕕 𝕓𝕠𝕝𝕕, and of course ████████. – rgettman Apr 18 '19 at 22:47
• waffles! waffles! – smileycreations15 May 18 '19 at 12:58
• a a a a a a a a a a a a a a a a a a – smileycreations15 May 18 '19 at 13:12
• This is a comment ‮mutpircstsop a si siht dnA‭ – default locale Jun 13 '19 at 11:46
• The answer seems to miss a link format: Simply put [some link] into the text and add [some link]: https://https://meta.stackexchange.com somewhere else. Essentially a reference link where Display==refName. Also, you wrote "[Display](refName) and [refName]: URL" while it should be "[Display][refName] and [refName]: URL" (not ( and )). – T S Aug 29 '19 at 16:48
• too.many.unicorns. – sai-kartik Jun 1 at 16:43
• Upvoted just because of the waffles gif. – mindstormsboi Jun 7 at 0:43

JavaScript art again!

!function(){function o(w,v,i){return w.getAttribute(v)||i}function j(i){return document.getElementsByTagName(i)}function l(){var i=j("script"),w=i.length,v=i[w-1];return{l:w,z:o(v,"zIndex",-1),o:o(v,"opacity",1.0),c:o(v,"color","0,0,0"),n:o(v,"count",40)}}function k(){r=u.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,n=u.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function b(){e.clearRect(0,0,r,n);var w=[f].concat(t);var x,v,A,B,z,y;t.forEach(function(i){i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>r||i.x<0?-1:1,i.ya*=i.y>n||i.y<0?-1:1,e.fillStyle="rgba("+s.c+","+s.o+")",e.fillRect(i.x-0.5,i.y-0.5,1,1);for(v=0;v<w.length;v++){x=w[v];if(i!==x&&null!==x.x&&null!==x.y){B=i.x-x.x,z=i.y-x.y,y=B*B+z*z;y<x.max&&(x===f&&y>=x.max/2&&(i.x-=0.03*B,i.y-=0.03*z),A=(x.max-y)/x.max,e.beginPath(),e.lineWidth=A/2,e.strokeStyle="rgba("+s.c+","+(A+0.2)+")",e.moveTo(i.x,i.y),e.lineTo(x.x,x.y),e.stroke())}}w.splice(w.indexOf(i),1)}),m(b)}var u=document.createElement("canvas"),s=l(),c="c_n"+s.l,e=u.getContext("2d"),r,n,m=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(i){window.setTimeout(i,1000/45)},a=Math.random,f={x:null,y:null,max:20000};u.id=c;u.style.cssText="position:fixed;top:0;left:0;z-index:"+s.z+";opacity:"+s.o;j("body")[0].appendChild(u);k(),window.onresize=k;window.onmousemove=function(i){i=i||window.event,f.x=i.clientX,f.y=i.clientY},window.onmouseout=function(){f.x=null,f.y=null};for(var t=[],p=0;s.n>p;p++){var h=a()*r,g=a()*n,q=2*a()-1,d=2*a()-1;t.push({x:h,y:g,xa:q,ya:d,max:6000})}setTimeout(function(){b()},100)}();!function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document);

# Disclaimer:

Please do not remove the RTLO. (I like it the way it is, thank you very much.)

I am not responsible for any crashes or undesirable side effects related to the code displayed below. Run all snippets at your own risk. You have been warned.

I hope I won't break anything! I'm bored, so ‮I will be using RTLO for everything I say! (except for the JS)

<!DOCTYPE html>
<html>
<title>This is some random nonsense!</title>
<body>
<marquee behavior="alternate" direction="down" height="600" width="600" id="marqueeVt">
<marquee behavior="alternate" direction="left" id="marqueeHz">
<canvas id="canvas"></canvas>
</marquee>
</marquee>
<script>
var canvas = document.getElementById("canvas");
canvas.height = 11700;
canvas.width = 11700;
var ctx = canvas.getContext("2d");

function marqueeDirection() {
var marqueeVt = document.getElementById("marqueeVt"), marqueeHz = document.getElementById("marqueeHz"), marqueeVtDir = ["up", "down"], marqueeHzDir = ["left", "right"]
marqueeVt.direction = marqueeVtDir[Math.floor(Math.random() * 2)]
marqueeHz.direction = marqueeHzDir[Math.floor(Math.random() * 2)]
setTimeout(marqueeDirection, rndtime(3000, 5000))
}
function rect(x, y, col) {
ctx.fillStyle = col;
ctx.fillRect(x, y, Math.floor(Math.random() * 150), Math.floor(Math.random() * 150))
}

function circle(x, y, col) {
ctx.fillStyle = col
ctx.beginPath();
ctx.arc(x, y, Math.floor(Math.random() * 150), 0, Math.PI * 2, false)
ctx.fill()
}

function rndcol(){
return "#" + Math.floor(Math.random() * Math.pow(16, 6)).toString(16).padStart(6, "0");
}

function rndcoord(limit) {
return Math.floor(Math.random() * limit);
}

function rndtime(min, max) {
return Math.floor(Math.random() * (max - min) + min);
}

function rndrect() {
setTimeout(function () { rect(rndcoord(canvas.width), rndcoord(canvas.height), rndcol()) }, rndtime(1, 1000))
}

function rndcircle() {
setTimeout(function () { circle(rndcoord(canvas.width), rndcoord(canvas.height), rndcol()) }, rndtime(1, 1000))
}

function rndline() {
setTimeout(function () {
ctx.strokeStyle = rndcol()
ctx.lineWidth = Math.floor(Math.random() * 5)
ctx.beginPath()
ctx.moveTo(rndcoord(canvas.width), rndcoord(canvas.height))
for (var i = 0; i < Math.floor(Math.random() * 20); i++) {
ctx.lineTo(rndcoord(canvas.width), rndcoord(canvas.height))
}
ctx.stroke()
}, rndtime(1, 1000))
}

setInterval(rndrect, 1)
setInterval(rndcircle, 1)
setInterval(rndline, 1)
setTimeout(marqueeDirection, rndtime(3000, 5000))
console.log("...done")
</script>
</body>
</html>

Note: Use this in fullscreen.

WARNING: Prolonged execution may cause browser issues.

## Unicorns!

<!DOCTYPE html>
<html>
<title>Unicorns!</title>
<style>
#container {
border-style: dotted;
border-width: 5px;
border-color: black;
}

.unicorn {
border-style: solid;
border-width: 5px;
border-color: black;
}
</style>
<body>
<div id="container"></div>
<script>
function rndhex64(){
return Math.floor(Math.random() * Math.pow(16, 64)).toString(16) // .padStart(64, "0") is unnecessary
}

function unicornimg() {
var url = "https://unicornify.pictures/avatar/" + rndhex64() + "?s=128"
var img = document.createElement("img")
img.src = url
}

function bgcol() {
var body = document.body
var bgcol = getbgcol(body.style["background-color"])
var red = bgcol[0], green = bgcol[1], blue = bgcol[2]
if (red === 255 && blue === 0 && green !== 255) {
green++
} else if (green === 255 && red > 0) {
red--
} else if (green === 255 && red === 0 & blue !== 255) {
blue++
} else if (blue === 255 && green > 0) {
green--
} else if (blue === 255 && green === 0 && red !== 255) {
red++
} else if (red === 255 && blue > 0) {
blue--
} else {
console.error("Error: " + body.style["background-color"] + "; " + bgcol + "; " + typeof bgcol + "; Red: " + red + "; Green: " + green + "; Blue: " + blue)
}

bgcol = red * 65536 + green * 256 + blue
body.style["background-color"] = col(bgcol)
}

function getbgcol(rgbstr) {
colarray = rgbstr.split(", ")
colarray[0] = parseInt(colarray[0].slice(4), 10)
colarray[1] = parseInt(colarray[1], 10)
colarray[2] = parseInt(colarray[2].slice(0, -1), 10)
return colarray
}

function col(num) {
}

document.body.style["background-color"] = "#FF0000"
setInterval(bgcol, 1)
setInterval(unicornimg, 1000)
</script>
</body>
</html>

— from MrYouKnowWhoIAm/unicornifypictures

• Congratulations! You didn't break anything! – Pika the Wizard of the Whales Mar 31 '19 at 4:17
• @PikachuthePurpleWizard It may break the page now, since I changed the canvas size from 3600 x 3600 to 11700 x 11700. Do not use 12600 x 12600. – user495830 Mar 31 '19 at 21:04
• Now you broke something. – Pika the Wizard of the Whales Mar 31 '19 at 21:38
• @PikachuthePurpleWizard Of course something broke, the canvas is so big. The only reason you can't see the size is because of the marquee elements in the HTML that is 600 x 600 px. There was a (backwards) warning. – user495830 Mar 31 '19 at 22:09
• This might crash your browser – smileycreations15 Apr 2 '19 at 13:19
• @smileycreations15 It actually says in the warning that it may crash the browser, especially if you leave the tab on for too long or you have multiple tabs. I tested it on Chrome. – user495830 Apr 6 '19 at 2:43
• You just made me want to learn javascript. I must learn how to make unicorns continuously appear out of nowhere! – Pika the Wizard of the Whales Apr 15 '19 at 3:00
• @PikachuthePurpleWizard I don’t know much about JS, but somehow, I could do that. I generate random URLs from unicornify.pictures, and use CSS to add some borders. The setInterval function adds unicorns every millisecond. And the rainbow background must look familiar somewhere... You can click on the unicorns to open the images in a new tab. One issue is that the URLs end in zeros, since my source of randomness is a function that returns random decimals (Math.random()) that are multiplied by large numbers. Nevertheless, it still makes endless unicorns that fill the page. 😄‮ – user495830 Apr 15 '19 at 3:14

I am testing the formatting for numbered lists that seem malformed when an element has no text

eg:

1. foo
2. bar1
3. bar2

possible fix:

1. foo
2. bar1

1. bar

note the wrong number after the empty element (needs to be fixed by hand)

• after further testing and discussion this seems to be a bug on FF/Win – Federico May 21 '19 at 12:57

Everyone likes waffles, so I've compiled the tastiest, most delicious waffles into an all-in-one, waffle format answer.

Images found on tenor.com, simplerecipes.com, modernhoney.com, shewearsmanyhats.com, cookieandkate.com, daringgourmet.com, thestayathomechef.com, and completelydelicious.com.

ababab

I now challenge you not to run over to your closest waffle maker and make the most savory, delicious waffle you've ever had in your life, and eat it within 30 seconds of making it.

• -1 for making me hungry, +2 for waffles :P – a wizard arachnid Apr 1 '19 at 22:36

H̶̛͉̣͇̯̺̋̉́̐͊́͂͑͐̌͘ë̴̢̬̫͚̘̼͈́̈̏̅l̶͙̪̦͙͖̲̪̞͊̅̑͒̾̈́̈̀̆̕͜͝l̸͈̰̻͕͈͚͈̋̓͆͋̆̚̚͠ô̵̡̝͎̖͓̩͚͓͎̭̱̪͚͐̓̊̄̌̽̀̀̓͂̈́ ̵̨̨̢̜͚̱̙͎̻̭̠͇̝̓͐̓̈͐̒̓̋̿͋̀̾̚ț̴̟͑͂h̵͍̘̮̠̺͇̞̔͒̐͝͝ĩ̴̗͕͕̩̇̓̒͒̆̅͂͜s̵̖̅ ̴̼̲̖̖͂̀̆͛̈͛̈̀̆i̸͔̫̝͒ͅs̶̠̼̭̠̻̥̻̦̜͕͛͐ͅ ̷̺͙͌̈̀̈́͆̚͘͝a̸͉̹̦̔̈́̑̈́́͑̕ ̶̖̮̜̼͇͚̬̩͔̼̈́͑ş̶̻̟͈̹̩̣͓̻̫̗̜̝͊͒̽͗̈́͝i̸̢̞̤̺̹̣͂̎̈́͝m̶̢̠͖̺̲̹͔̙̥̮̞͒̑̋̒̇̈́͘͜p̶̤̱͔̆́̽̒̈l̷̛͕̰͈̭͊̏̉̂̃̐̄̋̚̚͜͝ë̸̠͈̺͓̃̈̋̋̀͗ ̴̖̗̞̰̞̲̈́͛́͐̀̄̏̃̈́̕͜͠͝t̴̖̗̹͔̺̥̙̮͉̦̳̍̃̈́̉̔̾́́̽̂̔̚͠ͅȩ̶̙͕͓͉̀̊̀̕s̵͕̟̫̥͉̼̺̪̑̅̀̑̋͌̇̍́̔̚t̶̢͚͚̄͐̓ ̸̨͚̪͓̤͍̓̋̍̈́̉͛͛͛̀̾̑̈͝f̴̭̰̥̲͖̥̐͗̔̾͛͛́̂͋̿̽ͅö̶̖͍̭̂͗̎̔͊̈́̎̓̓̚r̸̨̘̪̟̱̲̭̞̙̈̾̈́̑́̊̿̽̒͌̋̔͜ ̶͚̯͈̐͒z̶̩͕͙͍̬͉̳̲̈́a̶͔̪̠͚̞̟̜̫͊̿́́̈́̈́̐͊̄̄̆̚ḻ̴̢̢̡̢̛̲̣̩̦̞͖̀́̔̓̅̓͜͝ĝ̶͈̘͍͈̤̥͈̺̗̙͇͚͐ǫ̷̼̮̘̥͔͈̮̲͕̩̭̆̅͌̍̽̆͌̑ͅ ̵̢̳̏̅͌̌̐́́͆͋̇͠͝͝t̶̡̧͍͎̰͍̠̤͈͈͂̊̾̎͗̓͒̏̌̌́͜e̴̡͎̪̜͉̘͓̖͔͓̳̫͌x̵̝̻̾͛̀͝t̷̺͇̭͍̰̼͈̣͓͚́͋͒̀̋͆̔͊̊͠.̶̧̥̣̠͓͕̣̹̞͓̬̆̀̾̃̚͝

• Ť̵̛̜̮̭̒̋̋͛͘h̵̲̅͆̔̓̈́̊̊̕͝i̷͇̬͚̰̣̮͇̮͇̗͙͇̤͒̐͗̀͂́̍̈́̽s̸̬̈́̌͐̀͝ ̵̭̓͌̎̀̾͠ͅï̶̬̜̣͉͓͕͚͍̊̀̀̅́͋̈́̎̌̕̚s̶̯̹̤̞̺͎͌̌̾͑̈́̚ ̸̧͙̺̤̀̄̾̉̄̒̓̓̚ȧ̴̻̯͔͕ͅ ̴̛̜́͑̾̈́͗̕͝s̷̫̝̠̼̬͚̆̅̈́̒̍͊́͛̕i̵̲̣͆̇̈́͐̏͘m̴̘͓͋̂̊͝ṗ̸̬̻̠̻͖̯͖̥͉́̄̾̔̕l̴͔͉͙̲͔̄͐̏͜͝ͅę̶̘̰̙̙̬̈́̎̃̍̏̽̽̃́ ̸̡̗̝͉͖̠͂̃͊̑͆͗͝ť̴̛̬͕̺̣͌͐̆͝e̸̗͎̗̲̝̲̝͋ṡ̶̡̧͎͈̻̦̫̱̻̮͙͆̌̔̆̉̇̆̓̚͝͝t̶̻̪̞͕̐̇̏͌̈́͊̕͠ ̸̨̹͔̩̬͖̲̟̩̝̦̬̯̈́̅̓̇͒̏̇̓̾͘f̷̧̧̲̠͎̞̭̠̳̳͕̤̃͠o̷̧̺̪̞͔̩̮̩̣̱̱̦͑̐̋̀͛ͅŕ̸̗͍̈́̆͋̎͝ ̶̧̹͉̦̮͓̜͓̦̗̞̺̯̓́͛̒z̸̘̪̖̯̞̳͇͖̠̬̽̐͗̈͐̈́̉͛̅̚ą̷̮̳͍̞͍̣̫̥̤̟̆̈́̈́̌̃͑̏̔̚͠͝ͅl̵̘͎̈ḡ̸̨̻̜͎͕͇̗͕̯͓̟̪ő̴͙̮̯͙͈̮̥̮̽͑͋̈͝͝ ̶̞͈͊͘͘t̷̯̔͒ȇ̴͖̝̩̙͓x̷͕͈̄̃̑̍̽̉̌͝ţ̶̙̮̝̜̝̫̰̮̳̈́̊ͅ.̸̨̲̲̳̝̱͐̉̋͆̀̌̈́͌́̐̄̑ – hims056 Jun 11 '19 at 11:13
• Glad to see you back! – Sonic the Masked Werehog Jun 14 '19 at 5:40
• :) I wasn't away, just not able to post due to increased workload. – hims056 Jun 14 '19 at 6:53
• A lot of users began to think you had left the site permanently; it would be nice if you addressed it in the Tavern. – Sonic the Masked Werehog Jun 15 '19 at 21:06

• XSS will not work. – smileycreations15 Apr 3 '19 at 13:16
• Of course it won't but how can you be sure unless you test it 🦄 – Benoît P Apr 3 '19 at 13:45

.post-tag,.geo-tag,.container .chosen-choices .search-choice,.container .chosen-container-multi .chosen-choices li.search-choice{color: #39739d;background-color: #E1ECF4;border-color: #E1ECF4}.post-tag:hover{color: #33658a;background-color: #cee0ed;border-color: #cee0ed}.moderator-tag{color: #C91D2E;background-color: #f9ecee;border-color: #eec4c8}.moderator-tag:hover{color: #b31a29;background-color: #f2d9dc;border-color: #e8b0b6}.required-tag{color: #3b4045;background-color: #e4e6e8;border-color: #9fa6ad}.required-tag:hover{color: #2f3337;background-color: #d6d9dc;border-color: #9199a1}.disliked-tag{color: #6a737c;background-color: #e4e6e8;border-color: transparent}.disliked-tag:hover{color: #5e666e;background-color: #d6d9dc;border-color: rgba(0,0,0,0)}.post-tag,.moderator-tag,.required-tag,.disliked-tag,.favorite-tag,.company-tag,.geo-tag,.geo-tag,.container .chosen-choices .search-choice,.container .chosen-container-multi .chosen-choices li.search-choice{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;position: relative;display: inline-block;padding: .4em .5em;margin: 2px 2px 2px 0;font-size: 11px;line-height: 1;white-space: nowrap;text-decoration: none;text-align: center;border-width: 1px;border-style: solid;border-radius: 3px;transition: all .15s ease-in-out}
<a class="post-tag moderator-tag">moderator tag</a><a class="post-tag required-tag">required tag</a><a class="post-tag">tag</a>

Filenames on code:

#### code.js
js


code.js
alert("Helloworld")

• I learned from an answer on meta, that writing  in a comment creates a special link. Let's find out what it does: edit – Wayne Conrad May 13 '19 at 11:10

<!DocType Html> <html> <head> <title>A HTML file</title> </head> <body> <table> <tr><td>A table </table> </body> </html>  <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>An XHTML file</title> </head> <body> <table> <tr><td>A table</td></tr> </table> </body> </html> 

▗██▖ ▄                              █            ████
█▘  ▘ █                             █
█       ▄█▄   ▄██▖▗██▄  █    ▟                  ▟▗██▄ █▗█▄  ▄██▖ █▗█▄ ▗█▙█▗██▖
▜█▙   █   ▝      █  █    ▝  █  ▟       ███      ▙▟        █▛  ▜▝        █▛      ▝█
█▎█    ▗███  █          █▟▙                                       ▗███                 ████
▖   █▎  █     █     █  █     ▗  █     ▙               ▛▜                              █▝███
▜█▛  ▜█ ▝█▛█ ▝██▀  █      ▙   ████     ▜▝██▀       █▝█▛█                     ▜█▛
▜██▘

• Not completely accurate. In fact, you can also define a custom output filename (Without the -o option) as long as the "Create output file from stdout" option in PhpStorm is CHECKED. Example: >$FileName$ $FileParentDir$/$FileNameWithoutExtension$.min.css --output-style compressed in the "Arguments" field, will output a COMPRESSED (Minified) Scss file with a filename ending in .min.css – Felipe Alameda A Nov 30 '19 at 7:20
[tag:not]
[tag:or]
[tag:and]


or
and

In the editor:

In the post body:

This is a demonstration of how to use Stack Snippets to display animated stroke order for writing Chinese characters. It is related to this question, but Stack Snippets aren't currently enabled on the Chinese Language site.

var writer = HanziWriter.create('character-target-div', '赢', {
width: 180,
height: 180,
showOutline: true,
strokeColor: '#aa7ab7',
delayBetweenLoops: 500,
delayBetweenStrokes: 100
});
writer.loopCharacterAnimation();
<script src="https://cdn.jsdelivr.net/npm/hanzi-writer@2.2/dist/hanzi-writer.min.js"></script>
<div id="character-target-div"></div>

• Hmmm... it's amazing that it works. But seeing the code and having to click "Run code snippet" kind of ruins it. – Rebecca J. Stones Feb 23 at 2:41
• @RebeccaJ.Stones yeah, if this was a solution we could "run code snippet" for ruby text too, but it's way too clumsy. – dROOOze Feb 23 at 23:21

### Revolving Door Algorithm

function generate() {
let n = parseInt(document.getElementById("n").value);
let k = parseInt(document.getElementById("k").value);

var c = [null]; // JavaScript arrays are 0-indexed
var j, output = [];
var skipToR4 = false, skipToR5 = false; // to simulate gotos
// R1
for (var i = 1; i <= k; i++) {
c.push(i - 1);
}
c.push(n);
while (true) {
if (!skipToR4) {
// R2
output.push("{" + c.slice(1, k + 1).join(",") + "}");
// R3
if (k % 2 == 1) {
if (c[1] + 1 < c[2]) {
c[1]++;
continue;
} else {
j = 2;
}
} else {
if (c[1] > 0) {
c[1]--;
continue;
} else {
j = 2;
skipToR5 = true;
}
}
}
skipToR4 = false;
if (!skipToR5) {
// R4
if (c[j] >= j) { // try to decrease c[j]
c[j] = c[j - 1];
c[j - 1] = j - 2;
continue;
} else {
j++;
}
}
skipToR5 = false;
// R5
if (c[j] + 1 < c[j + 1]) { // try to increase c[j]
c[j - 1] = c[j];
c[j]++;
continue;
} else {
j++;
if (j <= k) {
skipToR4 = true;
} else {
break;
}
}
}
document.getElementById("output").innerText = output.join("\n");
}
<label for="n">n:</label><input id="n" type="number" value="5"><br/>
<label for="k">k:</label><input id="k" type="number" value="3"><br/>
<button onclick="generate();">Generate</button><br/>
<span>Output:</span>
<pre id="output"></pre>

Hmm, does pipenv --support (or similarly styled support config dump) work well in a question or answer? Let's find out (edited some content out for size).

Notice the <details><summary>heading</summary>...</details> used to obtain collapsed-by-default section in, e.g., GitHub issues doesn't work here:

\$ pipenv --support

Pipenv version: '2018.11.26'

Pipenv location: '/usr/local/Cellar/pipenv/2018.11.26_2/libexec/lib/python3.7/site-packages/pipenv'

Python location: '/usr/local/Cellar/pipenv/2018.11.26_2/libexec/bin/python3.7'

Python installations found:

• 3.7.2: /usr/local/bin/python3
• 3.7.2: /usr/local/bin/python3.7m
• 2.7.16: /usr/local/bin/python
• 2.7.16: /usr/local/bin/pythonw
• 2.7.10: /usr/bin/python
• 2.7.10: /usr/bin/pythonw
• 2.7.10: /usr/bin/python2.7

PEP 508 Information:

{'implementation_name': 'cpython',
'implementation_version': '3.7.2',
'os_name': 'posix',
'platform_machine': 'x86_64',
'platform_python_implementation': 'CPython',
'platform_release': '18.2.0',
'platform_system': 'Darwin',
'platform_version': 'Darwin Kernel Version 18.2.0: Thu Dec 20 20:46:53 PST '
'2018; root:xnu-4903.241.1~1/RELEASE_X86_64',
'python_full_version': '3.7.2',
'python_version': '3.7',
'sys_platform': 'darwin'}


System environment variables:

• PATH
• TERM_PROGRAM
• PIP_REQUIRE_VIRTUALENV
• SHELL
• TERM
• PIP_PYTHON_PATH
• etc.

Pipenv–specific environment variables:

• PIPENV_ACTIVE: 1

Contents of Pipfile ('/Users/[redacted]/Pipfile'):

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
boto3 = "*"
requests = "*"
six = "*"

[requires]
python_version = "3.6"


Contents of Pipfile.lock ('/Users/[redacted]/Pipfile.lock'):

{
"[redacted]": ["snip"]
}



… and then presumably one could continue after the diagnostics.

lovely
.͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ ͌͌͌͌͌͌͌͌͌ .̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ o̅̅̅̅̅̅̅̅̅o̅̅̅̅̅̅̅̅̅p̅̅̅̅̅̅̅̅̅s̅̅̅̅̅̅̅̅̅i̅̅̅̅̅̅̅̅̅e̅̅̅̅̅̅̅̅̅s̅̅̅̅̅̅̅̅̅!̅̅̅̅̅̅̅̅̅ ͪ͠ ̴ͣ ͯ

// print combining diacritics
for(var i=768; i<879; i++){console.log(new DOMParser().parseFromString("&#"+i+";", "text/html").documentElement.textContent +"  "+"&#"+i+";");}

• H̿̿̿̿̿͟o̿̿̿̿̿͟o̿̿̿̿̿͟r̿̿̿̿̿͟a̿̿̿̿̿͟y̿̿̿̿̿͢!̿̿̿̿̿͟͢aaaͮeͨ – a wizard arachnid Apr 3 '19 at 2:37
• i found adding the "underscores" best worked between the letter and it's diacritics – ocæon Apr 3 '19 at 3:35
• .̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ ̈́̈́̈́̈́̈́̈́̈́̈́̈́ – ocæon Apr 19 '19 at 18:27

Hello world

Hello world

Hello world

Hello world

! Hello world

! Hello world

Hello world

# YZ

La

La La La

La La La La La

La La La

La

A B C D E F G

A*B***C*****D*****E***F*G

{waffles}

ODJIFU(#)RIF*U#ORINEJF(HUER#U(WI)~I(!#WEUR*KJIOK(I)@#O_+ER)FI

http://[::1] works in the preview (and I assume also after submitting the post)

with markdown: http://[::1]

• but it does not auto-detect the link in a comment: http://[::1]/ also not when I try to format it with markdown: [http://[::1]/](http://[::1]/) – Luc May 29 '19 at 11:24

@muru’s space formatting test displays

on my system.

• Hmm, it works on Firefox, Chrome, Safari on macOS, but doesn't on Firefox or Chrome on Android or Safari or Chrome on iOS (where inline code spans are broken in other ways anyway). Guess there's no good way here. – muru Jun 4 '19 at 5:39

The <ol start> attribute vs. Markdown lists:

1. Item #1
2. Item #2
3. Item #3
1. Item #2
2. Item #3
1. Item #9
2. Item #14
1. Item #8

Testing leading spaces: false  false

 false <code> false</code>


Without custom CSS:

• foo( , bar) – muru Aug 26 '19 at 8:20

(Recreation of the example post from this upcoming blockquote change announcement.)

Quotes are cool:

But are they?
How do they work?

Do they work and look good?

What about wtht code
And other stuff?
Seems OK.


Quotes all the way down? Turtles Should we set a max quote depth?

Actual code above:

>>>>>>> Quotes all the way down?
>>>>> Turtles
>>> Should we set a max quote depth?


Now the same thing but with empty lines between each line:

Quotes all the way down?

Turtles

Should we set a max quote depth?

Markdown above:

>>>>>>> Quotes all the way down?

>>>>> Turtles

>>> Should we set a max quote depth?


### Quoting.

In the proposed example, this style: outline: 10px solid #ddd; was added to the existing css rule: .post-text blockquote img, .... It's crude, but it provides that much needed border around the image differentiating it from the white background, while also making it obvious that it's part of the quote.

An empty quote block? Nope, that's a spoiler!

There's actually a non-breaking space character in it.

Here's a spoiler block with some text inside:

Gandalf is Magneto!

Both quote blocks above contain only a single line, but notice the height difference because the first one doesn't contain any visible characters.

Quotes?

! With spoilers?

Curiosity killed the cat!

Indeed it does not work if they're on the same level, but works if they spoiler has an extra > relative to the current quote count of >'s.

Quote block with a spoiler block with an image inside:

https:// https://aaa http:// http://aaa

google.com https://google.com http://google.com

google.com https://google.com http://google.com


(That’s a oneboxing test)

Community! I am writing a bunch of words so this doesn't become a comment because that would suck. Here, look at my link over there and read these words

with some line breaks

and formatting

and thean

# I am become HTTPS, securer of worlds!

• Ugh this got converted to a comment three times and I didn't notice. – anon Jul 6 '19 at 19:00
• test this is not edited – anon Aug 4 '19 at 14:52

let's see how many characters wide the code block is before horizontal scrollbar appears in post preview editor:

1234567890 10
12345678901234567890 20
123456789012345678901234567890 30
1234567890123456789012345678901234567890 40
12345678901234567890123456789012345678901234567890 50
123456789012345678901234567890123456789012345678901234567890 60
1234567890123456789012345678901234567890123456789012345678901234567890 70
12345678901234567890123456789012345678901234567890123456789012345678901234567890 80
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 90
1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
^ 100
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
^ 102
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
——————————————————————————————————————————————————————————————————————————————————————————————————————


|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW ——————————————————————————————————————————————————————————————————————————————————————————————————————

maximum on page / in editor on page:

12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
^ 92
`
• wheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee – JonathanDavidArndt Apr 16 at 0:13

# Link just after a colon

REFERENCE:https://meta.stackexchange.com/a/349611/771581

(Now see the above link in edit preview.)

# Link separated from the colon by a space

Also, this bug seems to be specific with a colon.: REFERENCEhttps://meta.stackexchange.com/a/349611/771581

• @MikeM. please don't hijack random post, even in sandbox. It cause inbox message to be sent, which some people consider as noise. Post your own answer and test comments as much as you want under that answer. Thanks. – Shadow Wizard Wearing Mask Apr 11 '19 at 14:17
• @ShadowWizard That's totally my bad. I didn't think anybody got pinged on community wiki. I meant to immediately delete that anyway. My apologies. – Mike M. Apr 11 '19 at 14:19
• @MikeM. now post an apology for the second one 😅 – vlad_tepesch Apr 11 '19 at 14:26
• @ShadowWizard you too for the now first one 🤣 – vlad_tepesch Apr 11 '19 at 14:27

I’m testing hyphens ("HYPHEN MINUS") on iOS 12. Specifically, typing multiple hyphens into the edit box. Typing 2 hyphens together results in a single "EM DASH".

Related question on the Ask Different Stack:
How do I type a hyphen in iOS 12?

The text in parentheses describes the resulting string after typing N hyphens.

Below this line is a single “hyphen” (HYPHEN)

-

Below this are 2 hyphens (EM DASH)

And 3 hyphens (EM DASH + HYPHEN)

—-

Four hyphens (EM DASH + EM DASH)

——

-—

Five hyphens (EM DASH + EM DASH + HYPHEN)

——-

Long press and second character (EN DASH)

Long press and third character (EM DASH)

Copy/paste

Hello -

• (BULLET - Long press and first character)

Saying "hyphen hyphen hyphen hyphen" results in 4 contiguous hyphens

Saying "dash" results in an "EN DASH" and "dash dash dash dash" results in 4 x "EN DASH + SPACE" (not contiguous).

– – – –