Version at: 04/08/2020, 13:51 vs. version at: 10/09/2022, 15:22
11Use this page to experiment with editing theTatoeba wiki.
22
33# Sandbox
44
55## Bulleted lists ##
66Nested bulleted list with two spaces for the second level of indentation and four spaces for the fourth:
77
88* a
99 * a.b
1010 * a.b.c
1111 * a.v
1212* z
1313
1414That list looks correct in the preview and correct in the final presentation.
1515
1616Another list where there are two spaces for each level of indentation:
1717
1818* a
1919 * a.b
2020 * a.b.c
2121 * a.v
2222* z
2323
2424Note that that list looks messed up in the preview, but correct in the final presentation.
2525
2626Here's one where there are four spaces for each level of indentation:
2727
2828* a
2929 * a.b
3030 * a.b.c
3131 * a.v
3232* z
3333
3434That list looks correct in both the preview and the final presentation.
3535
3636##Outlines
3737
3838Only two levels of indentation are shown in the "How to Format Text" box, but in reality, more are available:
3939
4040###Third level of indentation
4141####Fourth level of indentation
4242#####Fifth level of indentation
4343
4444However, the fifth level looks smaller than body text.
4545
4646###Heading that's got an apostrophe
4747
4848The link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.
4949
5050###Don't assume that apostrophes are handled correctly in headings
5151
5252In this case, too, the link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.
5353
5454##Code
5555
5656We need a way to present code as-is, so we want to be able to turn off wiki formatting for a block. The "code" markup (a pair of backticks) doesn't do the job.
5757
5858###Backticks
5959Code sample (note that the format differs between preview mode and final presentation):
6060
6161`
6262if (a)
6363 b
6464else
6565 c
6666`
6767
6868###Triple backticks
6969
7070This section is "fenced off" by triple backticks (see [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown)):
7171
7272```
7373if (a)
7474 b
7575else
7676 c
7777```
7878
7979but the formatting is not preserved.
8080
8181###Blockquote
8282
8383The blockquote markup doesn't do the job either, since again the format differs between preview mode and final presentation:
8484
8585>>if (a)
8686>> b
8787>>else
8888>> c
8989
9090###XML-style blockquote tag
9191Here's an attempt to use an XML-style blockquote tag:
9292
9393<blockquote>
9494if (a)
9595 b
9696else
9797 c
9898</blockquote>
9999
100100The blockquote tag disappears altogether, but does not prevent the text it surrounds from being reformatted.
101101
102102##Escaping characters
103103
104104We need ways of escaping various characters:
105105
106106###Asterisk
107107
108108Here's a word that ends with an asterisk*: asterisk\*
109109
110110Here's a word that starts and ends with an *asterisk*: \*asterisk\*
111111
112112###Underscore
113113Mention a name that contains a single underscore:
114114
115115a_b
116116
117117It appears correctly. But mention a name that contains an underscore twice:
118118
119119a_b a_b
120120
121121It appears as:
122122
123123ab ab
124124
125125where the first b and the second a are italicized.
126126
127127Solution: Use a backslash in front of each underscore:
128128
129129a\\\_b a\\\_b
130130
131131to produce this output:
132132
133133a\_b a\_b
134134
135135###Parenthesis
136136
137137Say that I want to write this, but in a help section, so I don't want to trigger interpretation as an actual link. Here, I've included spaces to throw off interpretation, but I want to be able to accomplish that through escape sequences instead.
138138
139139[ t e x t ] ( h t t p : / / example . com )
140140
141141Solution: put a backslash before the open-square-bracket and before the open-parenthesis and close-parenthesis. (Putting a backslash before the close-square-bracket is optional.)
142142
143143\\[text\\]\\(http://example.com\\)
144144
145145Output:
146146
147147\[text\]\(http://example.com\)
148148
149149##Bookmarklet code
150150First bookmarklet test (which succeeds in both preview and presentation modes):
151151
152152[test][1]
153153
154154
155155
156156
157157Second bookmarklet test (which succeeds only in preview mode):
158158
159159[test 2a](javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};})
160160
161161Third bookmarklet test (which succeeds only in preview mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):
162162
163163[test 2][2]
164164
165165
166166javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};}
167167
168168Fourth bookmarklet test (which fails in both preview mode and presentation mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):
169169
170170[test 3][3]
171171
172172
173173javascript:var%20u%20=%20"";var%20e=window.prompt("Enter%20URL%20or%20number%20of" +"%20sentence%20to%20link%20to%20this%20one","");if(e!=null){var%20r=/(http:\/\/[^\/]+\/[a-z]{3}\/)?(sentences\/show\/)?([1-9][0-9])(#.)?/;var%20em=e.match(r);if(em!=null){var%20h=location.href;var%20hm=h.match(r);u=hm1+"links/add/"+hm[3]+"/"+em[3];location.href=u;}else{alert("Invalid%20input.")};}
174174
175175Fifth bookmarklet test, in which I use backslashes to escape all backslashes, asterisks, underscores, open-square-brackets, close-square-brackets, open-parentheses, close-parentheses:
176176
177177javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};}
178178
179179This works in terms of preserving the text. (Note that replacing "\\" with "\\\\" must be the first step. After that, the other replacements can be done in any order.)
180180
181181However, I'm not able to get it to work right in a link:
182182
183183[bookmarklet test](javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};})
184184
185185##HTML
186186<a href="http://www.example.com">link</a>
187187
188188<ul>
189189<li><strong>strong</strong></li>
190190<li><em>em</em></li>
191191</ul>
192192
193<iframe></iframe> // embedding videos is not possible
193<iframe width="560" height="315" src="https://www.youtube.com/embed/ac9SmJuwHqk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> // embedding videos is not possible
194194
195195### Code sample indicated by indentation
196196
197197Code preceded by four blank spaces per line:
198198
199199 if (a) {
200200 b;
201201 }
202202
203203Code preceded by seven blank spaces per line:
204204
205205 fn main () {
206206
207207 }
208208
209209In both cases, the code is correctly formatted during both preview and final presentation.
210210
211211
212212
213213
214214
215215## Images ##
216216
217217How to add an image:
218218
219219(1) Click the "Add an image" button in the wiki editor bar:
220220
221221![add an image button with border](/media/get/add_an_image_button_with_border.png)
222222
223223This will bring up a dialog:
224224
225225![add an image dialog](/media/get/add_an_image_dialog_with_border.png)
226226
227227(2) Click on the "Browse" button.
228228
229229(3) Click on the "upload" button.
230230
231231(4) Copy the image address from the "Enter image address or upload one" field and save it somewhere for later use.
232232
233233(5) Click "OK".
234234
235235(6) Write a link that uses the text you saved in step 4. For example, if your text is "/media/get/add_an_image_dialog_with_border.png", write a link that looks like this:
236236
237237`![add an image dialog](/media/get/add_an_image_dialog_with_border.png)`
238238
239239(7) Save your changes.
240240
241241 [1]: javascript:var%20p=Math.floor((Math.random()*100)+1);location.href=%22http://tatoeba.org/eng/sentences/show_all_in/epo/und/eng/indifferent/page:%22+p;
242242
243243
244244
diff view generated by jsdifflib

Version at: 04/08/2020, 13:51

Use this page to experiment with editing theTatoeba wiki.

# Sandbox

## Bulleted lists ##
Nested bulleted list with two spaces for the second level of indentation and four spaces for the fourth:

* a
  * a.b
      * a.b.c
  * a.v
* z  

That list looks correct in the preview and correct in the final presentation.

Another list where there are two spaces for each level of indentation:

* a
  * a.b
    * a.b.c
  * a.v
* z  

Note that that list looks messed up in the preview, but correct in the final presentation.

Here's one where there are four spaces for each level of indentation:

* a
    * a.b
        * a.b.c
    * a.v
* z  

That list looks correct in both the preview and the final presentation.

##Outlines

Only two levels of indentation are shown in the "How to Format Text" box, but in reality, more are available:

###Third level of indentation
####Fourth level of indentation
#####Fifth level of indentation

However, the fifth level looks smaller than body text.

###Heading that's got an apostrophe

The link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.

###Don't assume that apostrophes are handled correctly in headings

In this case, too, the link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.

##Code

We need a way to present code as-is, so we want to be able to turn off wiki formatting for a block. The "code" markup (a pair of backticks) doesn't do the job.

###Backticks
Code sample (note that the format differs between preview mode and final presentation):

`
if (a)
    b
else
    c
`

###Triple backticks

This section is "fenced off" by triple backticks (see [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown)):

```
if (a)
    b
else
    c
```

but the formatting is not preserved.

###Blockquote

The blockquote markup doesn't do the job either, since again the format differs between preview mode and final presentation:

>>if (a)
>>    b
>>else
>>    c

###XML-style blockquote tag
Here's an attempt to use an XML-style blockquote tag:

<blockquote>
if (a)
    b
else
    c
</blockquote>

The blockquote tag disappears altogether, but does not prevent the text it surrounds from being reformatted.

##Escaping characters

We need ways of escaping various characters:

###Asterisk

Here's a word that ends with an asterisk*: asterisk\*

Here's a word that starts and ends with an *asterisk*: \*asterisk\*

###Underscore
Mention a name that contains a single underscore:

a_b

It appears correctly. But mention a name that contains an underscore twice:

a_b   a_b

It appears as:

ab ab 

where the first b and the second a are italicized. 

Solution: Use a backslash in front of each underscore:

a\\\_b a\\\_b

to produce this output:

a\_b a\_b

###Parenthesis

Say that I want to write this, but in a help section, so I don't want to trigger interpretation as an actual link. Here, I've included spaces to throw off interpretation, but I want to be able to accomplish that through escape sequences instead.

[ t e x t ] ( h t t p : / / example . com )

Solution: put a backslash before the open-square-bracket and before the open-parenthesis and close-parenthesis. (Putting a backslash before the close-square-bracket is optional.)

\\[text\\]\\(http://example.com\\)

Output:

\[text\]\(http://example.com\)

##Bookmarklet code
First bookmarklet test (which succeeds in both preview and presentation modes):

[test][1]




Second bookmarklet test (which succeeds only in preview mode):

[test 2a](javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};})

Third bookmarklet test (which succeeds only in preview mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):
 
[test 2][2]


javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};}

Fourth bookmarklet test (which fails in both preview mode and presentation mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):

[test 3][3]


javascript:var%20u%20=%20"";var%20e=window.prompt("Enter%20URL%20or%20number%20of" +"%20sentence%20to%20link%20to%20this%20one","");if(e!=null){var%20r=/(http:\/\/[^\/]+\/[a-z]{3}\/)?(sentences\/show\/)?([1-9][0-9])(#.)?/;var%20em=e.match(r);if(em!=null){var%20h=location.href;var%20hm=h.match(r);u=hm1+"links/add/"+hm[3]+"/"+em[3];location.href=u;}else{alert("Invalid%20input.")};}

Fifth bookmarklet test, in which I use backslashes to escape all backslashes, asterisks, underscores, open-square-brackets, close-square-brackets, open-parentheses, close-parentheses:

javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};}

This works in terms of preserving the text. (Note that replacing "\\" with "\\\\" must be the first step. After that, the other replacements can be done in any order.)

However, I'm not able to get it to work right in a link:

[bookmarklet test](javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};})

##HTML
<a href="http://www.example.com">link</a>

<ul>
<li><strong>strong</strong></li>
<li><em>em</em></li>
</ul>

<iframe></iframe> // embedding videos is not possible

### Code sample indicated by indentation

Code preceded by four blank spaces per line:

    if (a) {
        b;
    }

Code preceded by seven blank spaces per line:
    
       fn main () {
    
       }

In both cases, the code is correctly formatted during both preview and final presentation.





## Images ##

How to add an image:

(1) Click the "Add an image" button in the wiki editor bar:

![add an image button with border](/media/get/add_an_image_button_with_border.png)

This will bring up a dialog:

![add an image dialog](/media/get/add_an_image_dialog_with_border.png)

(2) Click on the "Browse" button.

(3) Click on the "upload" button.

(4) Copy the image address from the "Enter image address or upload one" field and save it somewhere for later use.

(5) Click "OK".

(6) Write a link that uses the text you saved in step 4. For example, if your text is "/media/get/add_an_image_dialog_with_border.png", write a link that looks like this:

`![add an image dialog](/media/get/add_an_image_dialog_with_border.png)`

(7) Save your changes.

  [1]: javascript:var%20p=Math.floor((Math.random()*100)+1);location.href=%22http://tatoeba.org/eng/sentences/show_all_in/epo/und/eng/indifferent/page:%22+p;


version at: 10/09/2022, 15:22

Use this page to experiment with editing theTatoeba wiki.

# Sandbox

## Bulleted lists ##
Nested bulleted list with two spaces for the second level of indentation and four spaces for the fourth:

* a
  * a.b
      * a.b.c
  * a.v
* z  

That list looks correct in the preview and correct in the final presentation.

Another list where there are two spaces for each level of indentation:

* a
  * a.b
    * a.b.c
  * a.v
* z  

Note that that list looks messed up in the preview, but correct in the final presentation.

Here's one where there are four spaces for each level of indentation:

* a
    * a.b
        * a.b.c
    * a.v
* z  

That list looks correct in both the preview and the final presentation.

##Outlines

Only two levels of indentation are shown in the "How to Format Text" box, but in reality, more are available:

###Third level of indentation
####Fourth level of indentation
#####Fifth level of indentation

However, the fifth level looks smaller than body text.

###Heading that's got an apostrophe

The link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.

###Don't assume that apostrophes are handled correctly in headings

In this case, too, the link to the heading will be truncated by the apostrophe, and clicking on the link will not take you to the heading.

##Code

We need a way to present code as-is, so we want to be able to turn off wiki formatting for a block. The "code" markup (a pair of backticks) doesn't do the job.

###Backticks
Code sample (note that the format differs between preview mode and final presentation):

`
if (a)
    b
else
    c
`

###Triple backticks

This section is "fenced off" by triple backticks (see [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown)):

```
if (a)
    b
else
    c
```

but the formatting is not preserved.

###Blockquote

The blockquote markup doesn't do the job either, since again the format differs between preview mode and final presentation:

>>if (a)
>>    b
>>else
>>    c

###XML-style blockquote tag
Here's an attempt to use an XML-style blockquote tag:

<blockquote>
if (a)
    b
else
    c
</blockquote>

The blockquote tag disappears altogether, but does not prevent the text it surrounds from being reformatted.

##Escaping characters

We need ways of escaping various characters:

###Asterisk

Here's a word that ends with an asterisk*: asterisk\*

Here's a word that starts and ends with an *asterisk*: \*asterisk\*

###Underscore
Mention a name that contains a single underscore:

a_b

It appears correctly. But mention a name that contains an underscore twice:

a_b   a_b

It appears as:

ab ab 

where the first b and the second a are italicized. 

Solution: Use a backslash in front of each underscore:

a\\\_b a\\\_b

to produce this output:

a\_b a\_b

###Parenthesis

Say that I want to write this, but in a help section, so I don't want to trigger interpretation as an actual link. Here, I've included spaces to throw off interpretation, but I want to be able to accomplish that through escape sequences instead.

[ t e x t ] ( h t t p : / / example . com )

Solution: put a backslash before the open-square-bracket and before the open-parenthesis and close-parenthesis. (Putting a backslash before the close-square-bracket is optional.)

\\[text\\]\\(http://example.com\\)

Output:

\[text\]\(http://example.com\)

##Bookmarklet code
First bookmarklet test (which succeeds in both preview and presentation modes):

[test][1]




Second bookmarklet test (which succeeds only in preview mode):

[test 2a](javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};})

Third bookmarklet test (which succeeds only in preview mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):
 
[test 2][2]


javascript:var%20u%20=%20%22%22;var%20e=window.prompt%28%22Enter%20URL%20or%20number%20of%22+%22%20sentence%20to%20link%20to%20this%20one%22,%22%22%29;if%28e!=null%29{var%20r=/%28http:\/\/%5B^\/%5D+\/%5Ba-z%5D{3}\/%29?%28sentences\/show\/%29?%28%5B1-9%5D%5B0-9%5D%29%28#.%29?/;var%20em=e.match%28r%29;if%28em!=null%29{var%20h=location.href;var%20hm=h.match%28r%29;u=hm%5B1%5D+%22links/add/%22+hm%5B3%5D+%22/%22+em%5B3%5D;location.href=u;}else{alert%28%22Invalid%20input.%22%29};}

Fourth bookmarklet test (which fails in both preview mode and presentation mode; in presentation mode it points to http://en.wiki.tatoeba.org/articles/show/sandbox):

[test 3][3]


javascript:var%20u%20=%20"";var%20e=window.prompt("Enter%20URL%20or%20number%20of" +"%20sentence%20to%20link%20to%20this%20one","");if(e!=null){var%20r=/(http:\/\/[^\/]+\/[a-z]{3}\/)?(sentences\/show\/)?([1-9][0-9])(#.)?/;var%20em=e.match(r);if(em!=null){var%20h=location.href;var%20hm=h.match(r);u=hm1+"links/add/"+hm[3]+"/"+em[3];location.href=u;}else{alert("Invalid%20input.")};}

Fifth bookmarklet test, in which I use backslashes to escape all backslashes, asterisks, underscores, open-square-brackets, close-square-brackets, open-parentheses, close-parentheses:

javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};}

This works in terms of preserving the text. (Note that replacing "\\" with "\\\\" must be the first step. After that, the other replacements can be done in any order.)

However, I'm not able to get it to work right in a link:

[bookmarklet test](javascript:var%20u%20=%20"";var%20e=window.prompt\("Enter%20URL%20or%20number%20of%20sentence%20to%20link%20to%20this%20one",""\);if\(e!=null\){var%20r=/\(http:\\/\\/\[^\\/\]+\\/\[a-z\]{3}\\/\)?\(sentences\\/show\\/\)?\(\[1-9\]\[0-9\]\*\)\(#.\*\)?/;var%20em=e.match\(r\);if\(em!=null\){var%20h=location.href;var%20hm=h.match\(r\);u=hm\[1\]+"links/add/"+hm\[3\]+"/"+em\[3\];location.href=u;}else{alert\("Invalid%20input."\)};})

##HTML
<a href="http://www.example.com">link</a>

<ul>
<li><strong>strong</strong></li>
<li><em>em</em></li>
</ul>

<iframe width="560" height="315" src="https://www.youtube.com/embed/ac9SmJuwHqk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> // embedding videos is not possible

### Code sample indicated by indentation

Code preceded by four blank spaces per line:

    if (a) {
        b;
    }

Code preceded by seven blank spaces per line:
    
       fn main () {
    
       }

In both cases, the code is correctly formatted during both preview and final presentation.





## Images ##

How to add an image:

(1) Click the "Add an image" button in the wiki editor bar:

![add an image button with border](/media/get/add_an_image_button_with_border.png)

This will bring up a dialog:

![add an image dialog](/media/get/add_an_image_dialog_with_border.png)

(2) Click on the "Browse" button.

(3) Click on the "upload" button.

(4) Copy the image address from the "Enter image address or upload one" field and save it somewhere for later use.

(5) Click "OK".

(6) Write a link that uses the text you saved in step 4. For example, if your text is "/media/get/add_an_image_dialog_with_border.png", write a link that looks like this:

`![add an image dialog](/media/get/add_an_image_dialog_with_border.png)`

(7) Save your changes.

  [1]: javascript:var%20p=Math.floor((Math.random()*100)+1);location.href=%22http://tatoeba.org/eng/sentences/show_all_in/epo/und/eng/indifferent/page:%22+p;


Note

The lines in green are the lines that have been added in the new version. The lines in red are those that have been removed.