APL Wiki:Formatting: Difference between revisions

Jump to navigation Jump to search
1,074 bytes added ,  10:16, 11 September 2022
<source> → <syntaxhighlight>
m (→‎Code blocks: Add tagging section header for reference)
(<source> → <syntaxhighlight>)
 
(2 intermediate revisions by 2 users not shown)
Line 70: Line 70:
Inline code is used for single primitives and short expressions and uses the format
Inline code is used for single primitives and short expressions and uses the format


<blockquote><pre><source lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</source></pre></blockquote>
<blockquote><pre><syntaxhighlight lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</syntaxhighlight></pre></blockquote>
which results in
which results in
<blockquote><source lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</source></blockquote>
<blockquote><syntaxhighlight lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</syntaxhighlight></blockquote>
=== Code blocks ===
=== Code blocks ===
For session transcripts, function definitions and longer expressions, use code blocks like
For session transcripts, function definitions and longer expressions, use code blocks like


<blockquote><pre><source lang=apl>
<blockquote><pre><syntaxhighlight lang=apl>
       (2=+⌿0=N∘.|N)/N←⍳100
       (2=+⌿0=N∘.|N)/N←⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></pre></blockquote>
</syntaxhighlight></pre></blockquote>


which results in:
which results in:


<blockquote><source lang=apl>
<blockquote><syntaxhighlight lang=apl>
       (2=+⌿0=N∘.|N)/N←⍳100
       (2=+⌿0=N∘.|N)/N←⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></blockquote>
</syntaxhighlight></blockquote>


==== Tagging dialects ====
==== Tagging dialects ====
Optionally, you can indicate one or more APL dialects which are able to run the code by using a special template immediately after the source tag, like
Optionally, you can indicate one or more APL dialects which are able to run the code by using a special template immediately after the source tag, like


<blockquote><pre><source lang=apl>
<blockquote><pre><syntaxhighlight lang=apl>
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source>
</syntaxhighlight>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</pre></blockquote>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</pre></blockquote>


which results in:
which results in:


<blockquote><source lang=apl>
<blockquote><syntaxhighlight lang=apl>
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source>
</syntaxhighlight>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</blockquote>
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</blockquote>


==== Run online ====
==== Run online ====
You can also include a permalink to [[TryAPL]], [[Try It Online]], ''repl.it'', or ''n9n.gitlab.io'' right before the source tag, for example
You can also include a permalink to [[TryAPL]], [[Try It Online]], ''repl.it'', ''abrudz.github.io/ngn-apl'' etc. right before the source tag, for example


<blockquote><pre>[https://tryapl.org/?a=%7B%282%3D+%u233F0%3D%u2375%u2218.%7C%u2375%29/%u2375%7D%u2373100&run Try it now!]
<blockquote><pre>{{try|1=https://tryapl.org/?clear&q=%7B(2%3D%2B%E2%8C%BF0%3D%E2%8D%B5%E2%88%98.%7C%E2%8D%B5)%2F%E2%8D%B5%7D%E2%8D%B3100&run}}
<source lang=apl>
<syntaxhighlight lang=apl>
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></pre></blockquote>
</syntaxhighlight></pre></blockquote>


which results in:
which results in:


<blockquote>
<blockquote>
[https://tryapl.org/?a=%7B%282%3D+%u233F0%3D%u2375%u2218.%7C%u2375%29/%u2375%7D%u2373100&run Try it now!]
{{try|1=https://tryapl.org/?clear&q=%7B(2%3D%2B%E2%8C%BF0%3D%E2%8D%B5%E2%88%98.%7C%E2%8D%B5)%2F%E2%8D%B5%7D%E2%8D%B3100&run}}
<source lang=apl>
<syntaxhighlight lang=apl>
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
       {(2=+⌿0=⍵∘.|⍵)/⍵}⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
</source></blockquote>
</syntaxhighlight></blockquote>
 
'''Note:''' Make sure to spell the template exactly as <code>{{try|1=</code> including <code>1=</code> as otherwise any equal sign in the URL will prevent the template from working properly!
 
==== Very long code blocks ====
==== Very long code blocks ====
Use
Use
<blockquote><pre>
<blockquote><pre>
{{Collapse|The below code generates a tall column of numbers.|
{{Collapse|The below code generates a tall column of numbers.|
<source lang=apl>
<syntaxhighlight lang=apl>
       ⍪⍳10
       ⍪⍳10
  1
  1
Line 138: Line 141:
  9
  9
10
10
</source>
</syntaxhighlight>
}}
}}
</pre></blockquote>
</pre></blockquote>
Line 146: Line 149:
<blockquote>
<blockquote>
{{Collapse|The below code generates a tall column of numbers.|
{{Collapse|The below code generates a tall column of numbers.|
<source lang=apl>
<syntaxhighlight lang=apl>
       ⍪⍳10
       ⍪⍳10
  1
  1
Line 158: Line 161:
  9
  9
10
10
</source>
</syntaxhighlight>
}}</blockquote>
}}</blockquote>
=== Unsupported languages ===
If your code is in a language the highlighter doesn't support, then there are two ways to present code without highlighting it. Don't use a <syntaxhighlight lang=text inline><syntaxhighlight></syntaxhighlight> tag with no <code>lang</code> attribute as this puts the page in the "Pages with syntax highlighting errors" category, which is visible at the bottom of the page.
* Use <syntaxhighlight lang=text inline><code></syntaxhighlight> tags for inline code and <syntaxhighlight lang=text inline><pre></syntaxhighlight> tags for blocks, avoiding <code><syntaxhighlight></code> entirely
* Use <code>lang=text</code>.


=== Mathematical notation ===
=== Mathematical notation ===

Navigation menu