APL Wiki:Formatting: Difference between revisions
(<source> → <syntaxhighlight>) |
|||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[APL Wiki]] is a standard [[Wikipedia:MediaWiki|MediaWiki]], so the MediaWiki documentation for applies. In particular, the following | [[APL Wiki]] is a standard [[Wikipedia:MediaWiki|MediaWiki]], so the MediaWiki documentation for applies. In particular, the following sections may be useful: | ||
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Links Links] | * [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Links Links] | ||
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Formatting Formatting] | * [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Formatting Formatting] | ||
However, | APL Wiki doesn't have all the extensions and templates Wikipedia has, but does have some of its own. This page serves as a reference for many of them. If you are interested in making APL Wiki easier to edit, and know a bit about MediaWiki templates, you are also free to create your own. | ||
== Links to Wikipedia == | |||
Linking to a [[wikipedia:Wikipedia|Wikipedia]] page is more like an internal link than an external one: both technically, because it uses MediaWiki just like APLWiki, and conceptually, because Wikipedia also has encyclopedic information on a variety of topics. And in fact Wikipedia links are supported by our [https://www.mediawiki.org/wiki/Help:Links#Internal_links internal link] syntax. This form is preferred because it is displayed with a "W" as an indication to the reader. Write an internal link as it would appear on Wikipedia, but put <code>wikipedia:</code> in front. | |||
A Wikipedia link always needs to be given displayed text with <code>|</code>, because otherwise it will appear with that <code>wikipedia:</code> in the link, a very cluttered display! However, when editing there is a shortcut that can often be used. Writing the <code>|</code> character with no text afterwards will strip <code>wikipedia:</code> and any trailing material in parentheses from the display, so that for example <code><nowiki>[[wikipedia:APL (programming language)|]]</nowiki></code> displays as [[wikipedia:APL (programming language)|APL]]. | |||
== Mentioning subjects that have their own page == | == Mentioning subjects that have their own page == | ||
It is fine for a page to have a section about a subject that also has its own page. When that happens, begin the section with <code><nowiki>{{Main|subject}}</nowiki></code> where <code>subject</code> is the target page title. Don't include double brackets (as a page link) — it is done for you. | It is fine for a page to have a section about a subject that also has its own page. When that happens, begin the section with <code><nowiki>{{Main|subject}}</nowiki></code> where <code>subject</code> is the target page title. Don't include double brackets (as a page link) — it is done for you. | ||
== Also on Wikipedia == | |||
If a subject is notable for reasons unrelated to APL, in addition to being [[APL Wiki:Content guidelines#Notability|APL notable]], then you can indicate this fact using the [[Template:Also on Wikipedia|Also on Wikipedia]] template. By default, both the text and the Wikipedia link target are taken from the page's title. The optional first argument changes the name used in the text (for example, to use only a person's last name) and the second gives the Wikipedia article to link to. | |||
As the template suggests, only APL-related topics, and important background information, should be covered on the APL Wiki if there is also a substantial Wikipedia article. In contrast, topics which are on Wikipedia only because of APL should eventually have APL Wiki articles with at least as much information as Wikipedia, and should not use the Also on Wikipedia template—instead, these articles should include a link to the Wikipedia article in an "External links" section. However, content should not be copied directly from Wikipedia. Rewrite it from an APL perspective instead. | |||
== Yes/No tables == | == Yes/No tables == | ||
Line 32: | Line 43: | ||
|} | |} | ||
</blockquote> | </blockquote> | ||
You can customise the text by supplying an argument: | You can customise the text by supplying an argument: | ||
<blockquote><pre> | <blockquote><pre> | ||
Line 57: | Line 67: | ||
== Inserting code == | == Inserting code == | ||
=== Inline code === | === Inline code === | ||
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>< | <blockquote><pre><syntaxhighlight lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</syntaxhighlight></pre></blockquote> | ||
which results in | which results in | ||
<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>< | <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 | ||
</ | </syntaxhighlight></pre></blockquote> | ||
which results in: | which results in: | ||
<blockquote>< | <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 | ||
</ | </syntaxhighlight></blockquote> | ||
==== 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>< | <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 | ||
</ | </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>< | <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 | ||
</ | </syntaxhighlight> | ||
{{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</blockquote> | {{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}</blockquote> | ||
You can also include a permalink to [[TryAPL]], [[Try It Online]], ''repl.it'', | ==== Run online ==== | ||
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> | <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}} | ||
< | <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 | ||
</ | </syntaxhighlight></pre></blockquote> | ||
which results in: | which results in: | ||
<blockquote> | <blockquote> | ||
{{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}} | |||
< | <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 | ||
</ | </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.| | ||
< | <syntaxhighlight lang=apl> | ||
⍪⍳10 | ⍪⍳10 | ||
1 | 1 | ||
Line 153: | Line 141: | ||
9 | 9 | ||
10 | 10 | ||
</ | </syntaxhighlight> | ||
}} | }} | ||
</pre></blockquote> | </pre></blockquote> | ||
Line 161: | Line 149: | ||
<blockquote> | <blockquote> | ||
{{Collapse|The below code generates a tall column of numbers.| | {{Collapse|The below code generates a tall column of numbers.| | ||
< | <syntaxhighlight lang=apl> | ||
⍪⍳10 | ⍪⍳10 | ||
1 | 1 | ||
Line 173: | Line 161: | ||
9 | 9 | ||
10 | 10 | ||
</ | </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 === | |||
MathJax is enabled, so you can insert mathematical notation (for example for [[Iverson notation]]) inline using | |||
<blockquote><pre> | |||
included the expression <math>\bot p_{32,33}:+/\alpha^2/I^0</math> in its description | |||
</pre></blockquote> | |||
which results in: | |||
<blockquote> | |||
included the expression <math>\bot p_{32,33}:+/\alpha^2/I^0</math> in its description | |||
</blockquote> | |||
For multiple and larger mathematical expressions, use | |||
<blockquote><pre> | |||
included the expression | |||
:<math>i \gets O^{\bot I^0_{0,1,2,3}}_{\bot I^0_{4,5,6,7}}</math> | |||
in its description | |||
</pre></blockquote> | |||
which results in: | |||
<blockquote> | |||
included the expression | |||
:<math>i \gets O^{\bot I^0_{0,1,2,3}}_{\bot I^0_{4,5,6,7}}</math> | |||
in its description | |||
</blockquote> | |||
==== Equivalence ==== | |||
It is quite common to state equivalences. Please use a proper equivalence arrow, which is easy to insert with the template: | |||
<blockquote><pre>this {{←→}} that</pre></blockquote> | |||
which results in: | |||
<blockquote>this {{←→}} that </blockquote> | |||
== Creating new pages == | == Creating new pages == | ||
=== Primitives and other built-ins === | === Navboxes === | ||
Most articles should have a [[wikipedia:WP:NAVBOX|navigation template]] giving links to other articles of interest. The navbox should be added after all of the article text, but before the article's categories. A navbox is a template such as <code><nowiki>{{APL development}}</nowiki></code>, which displays as an expandable table of links: | |||
{{APL development}} | |||
The following navboxes exist at the moment: | |||
* [[:Template:APL built-ins]] | |||
* [[:Template:APL community]] | |||
* [[:Template:APL development]] | |||
* [[:Template:APL dialects]] | |||
* [[:Template:APL features]] | |||
* [[:Template:APL glyphs]] | |||
* [[:Template:APL syntax]] | |||
If you create a page that belongs in one of these navboxes but isn't already there, add it in the appropriate place in addition to placing the navbox in the new page. | |||
=== Categories === | |||
The APL Wiki has a full Wikipedia-style [[wikipedia:Wikipedia:Categorization|category]] tree, which you can see by starting at the top-level category [[:Category:Contents|Contents]]. While all of Wikipedia's user-facing content is in encyclopedic ''articles'', APL Wiki also has non-encyclopedic ''essays'' that discuss a topic such as how to use APL for a particular problem. When adding a new page, try and fit it into at least one category, but it's fine to leave it out if you're not yet comfortable with the category system (other editors can easily see [[Special:UncategorisedPages|pages with no category]]). Categories are added with syntax such as <code><nowiki>[[Category:IBM employees]]</nowiki></code> at the end of the page. | |||
Create new categories if needed, but please avoid [[wikipedia:Wikipedia:Overcategorization|Overcategorization]]. As with articles, each category should be placed in a parent category (the only [[Special:UncategorisedCategories|uncategorized category]] is [[:Category:Contents|Contents]]). Make sure to read Wikipedia's guidelines about categories carefully and understand the existing category tree if you plan to make major changes to the category system. | |||
=== Specific types of articles === | |||
==== Primitives and other built-ins ==== | |||
When creating a page for a [[primitive function]], [[primitive operator|operator]], or [[quad name]], begin the page with the following template: | When creating a page for a [[primitive function]], [[primitive operator|operator]], or [[quad name]], begin the page with the following template: | ||
Line 187: | Line 231: | ||
<blockquote>{{Built-in|Log|⍟}}</blockquote> | <blockquote>{{Built-in|Log|⍟}}</blockquote> | ||
and also | and also adds a large floating illustration of the [[glyph]], as seen at the right. You can use the <code>Built-ins</code> template for primitives with two different glyphs (for example <code><nowiki>{{Built-ins|Reverse|⌽|⊖}}</nowiki></code>), and <code>Glyphbox</code> if you just want a box at the right (for example <code><nowiki>{{Glyphbox|⍤}}</nowiki></code>). Since all of these templates must be put at the very beginning of the article's first paragraph, <code>Glyphbox</code> is useful if there should be leading text before the primitive's name. | ||
At the bottom such pages, include <code><nowiki>{{APL built-ins}}</nowiki></code> and [{{fullurl:Template:APL_built-ins|action=edit}} edit that template's content] if the page you're creating isn't already listed there. | At the bottom of such pages, include <code><nowiki>{{APL built-ins}}</nowiki></code> and [{{fullurl:Template:APL_built-ins|action=edit}} edit that template's content] if the page you're creating isn't already listed there. | ||
=== Dialects === | ==== Dialects ==== | ||
Begin your page about an APL dialect with the ''Infobox array language'' info box. These are all the optional parameters it supports: | Begin your page about an APL dialect with the ''Infobox array language'' info box. These are all the optional parameters it supports: | ||
Line 210: | Line 254: | ||
| implementation language = | | implementation language = | ||
| implementation languages = | | implementation languages = | ||
| source = | |||
| platform = | | platform = | ||
| platforms = | | platforms = | ||
Line 216: | Line 261: | ||
| license = | | license = | ||
| website = | | website = | ||
| forum = | |||
| download = | | download = | ||
| documentation = | | documentation = | ||
| run online = | |||
| influenced by = | | influenced by = | ||
| influenced = | | influenced = | ||
}}</pre></blockquote> | }}</pre></blockquote> | ||
Have a look at the existing dialect pages, e.g. [[Dyalog APL]], to see how these values are used, Try to fill in as many as you can (but use only one of each singular/plural pair). You only need to use <code>title</code> if the language title differs from the page title (e.g. for technical reason like the inability to create a page that begins with a lowercase letter). In that case, | Have a look at the existing dialect pages, e.g. [[Dyalog APL]], to see how these values are used, Try to fill in as many as you can (but use only one of each singular/plural pair). You only need to use <code>title</code> if the language title differs from the page title (e.g. for technical reason like the inability to create a page that begins with a lowercase letter). In that case, begin the page with <code><nowiki>{{DISPLAYTITLE:real name}}</nowiki></code> where <code>real name</code> should be the proper name of the dialect. | ||
At the bottom of the page, include <code><nowiki>{{APL programming language}}</nowiki></code> and [{{fullurl:Template:APL_programming_language_body|action=edit}} edit that template's content] if the dialect you're creating a page about isn't already listed there. | At the bottom of the page, include <code><nowiki>{{APL programming language}}</nowiki></code> and [{{fullurl:Template:APL_programming_language_body|action=edit}} edit that template's content] if the dialect you're creating a page about isn't already listed there. | ||
Latest revision as of 10:16, 11 September 2022
APL Wiki is a standard MediaWiki, so the MediaWiki documentation for applies. In particular, the following sections may be useful:
APL Wiki doesn't have all the extensions and templates Wikipedia has, but does have some of its own. This page serves as a reference for many of them. If you are interested in making APL Wiki easier to edit, and know a bit about MediaWiki templates, you are also free to create your own.
Links to Wikipedia
Linking to a Wikipedia page is more like an internal link than an external one: both technically, because it uses MediaWiki just like APLWiki, and conceptually, because Wikipedia also has encyclopedic information on a variety of topics. And in fact Wikipedia links are supported by our internal link syntax. This form is preferred because it is displayed with a "W" as an indication to the reader. Write an internal link as it would appear on Wikipedia, but put wikipedia:
in front.
A Wikipedia link always needs to be given displayed text with |
, because otherwise it will appear with that wikipedia:
in the link, a very cluttered display! However, when editing there is a shortcut that can often be used. Writing the |
character with no text afterwards will strip wikipedia:
and any trailing material in parentheses from the display, so that for example [[wikipedia:APL (programming language)|]]
displays as APL.
Mentioning subjects that have their own page
It is fine for a page to have a section about a subject that also has its own page. When that happens, begin the section with {{Main|subject}}
where subject
is the target page title. Don't include double brackets (as a page link) — it is done for you.
Also on Wikipedia
If a subject is notable for reasons unrelated to APL, in addition to being APL notable, then you can indicate this fact using the Also on Wikipedia template. By default, both the text and the Wikipedia link target are taken from the page's title. The optional first argument changes the name used in the text (for example, to use only a person's last name) and the second gives the Wikipedia article to link to.
As the template suggests, only APL-related topics, and important background information, should be covered on the APL Wiki if there is also a substantial Wikipedia article. In contrast, topics which are on Wikipedia only because of APL should eventually have APL Wiki articles with at least as much information as Wikipedia, and should not use the Also on Wikipedia template—instead, these articles should include a link to the Wikipedia article in an "External links" section. However, content should not be copied directly from Wikipedia. Rewrite it from an APL perspective instead.
Yes/No tables
For tables comparison tables, use the {{Yes}}
, {{No}}
, and {{Maybe}}
templates, e.g.:
{| class=wikitable ! Get wet? | Indoors || Outdoors || Swimming |- | Sunshine || {{No}} || {{No}} || {{Yes}} |- | Rain || {{No}} || {{Maybe}} || {{Yes}} |}
gives:
Get wet? Indoors Outdoors Swimming Sunshine No No Yes Rain No Maybe Yes
You can customise the text by supplying an argument:
{| class=wikitable ! Get wet? | Indoors || Outdoors || Swimming |- | Sunshine || {{No}} || {{No|Obviously not}} || {{Yes}} |- | Rain || {{No|Depends}} || {{Maybe|Umbrella?}} || {{Yes|Obviously}} |}
gives:
Get wet? Indoors Outdoors Swimming Sunshine No Obviously not Yes Rain Depends Umbrella? Obviously
Inserting code
Inline code
Inline code is used for single primitives and short expressions and uses the format
<syntaxhighlight lang=apl inline>(2=+⌿0=N∘.|N)/N←⍳100</syntaxhighlight>
which results in
(2=+⌿0=N∘.|N)/N←⍳100
Code blocks
For session transcripts, function definitions and longer expressions, use code blocks like
<syntaxhighlight lang=apl> (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 </syntaxhighlight>
which results in:
(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
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
<syntaxhighlight lang=apl> {(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 </syntaxhighlight> {{Works in|[[Dyalog APL]], [[dzaima/APL]], [[GNU APL]], [[ngn/apl]]}}
which results in:
{(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
Run online
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
{{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}} <syntaxhighlight lang=apl> {(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 </syntaxhighlight>
which results in:
{(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
Note: Make sure to spell the template exactly as {{try|1=
including 1=
as otherwise any equal sign in the URL will prevent the template from working properly!
Very long code blocks
Use
{{Collapse|The below code generates a tall column of numbers.| <syntaxhighlight lang=apl> ⍪⍳10 1 2 3 4 5 6 7 8 9 10 </syntaxhighlight> }}
which results in:
The below code generates a tall column of numbers.⍪⍳10 1 2 3 4 5 6 7 8 9 10
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>
tag with no lang
attribute as this puts the page in the "Pages with syntax highlighting errors" category, which is visible at the bottom of the page.
- Use
<code>
tags for inline code and<pre>
tags for blocks, avoiding<syntaxhighlight>
entirely - Use
lang=text
.
Mathematical notation
MathJax is enabled, so you can insert mathematical notation (for example for Iverson notation) inline using
included the expression <math>\bot p_{32,33}:+/\alpha^2/I^0</math> in its description
which results in:
included the expression in its description
For multiple and larger mathematical expressions, use
included the expression :<math>i \gets O^{\bot I^0_{0,1,2,3}}_{\bot I^0_{4,5,6,7}}</math> in its description
which results in:
included the expression
in its description
Equivalence
It is quite common to state equivalences. Please use a proper equivalence arrow, which is easy to insert with the template:
this {{←→}} that
which results in:
this that
Creating new pages
Most articles should have a navigation template giving links to other articles of interest. The navbox should be added after all of the article text, but before the article's categories. A navbox is a template such as {{APL development}}
, which displays as an expandable table of links:
APL development [edit] | |
---|---|
Interface | Session ∙ Typing glyphs (on Linux) ∙ Fonts ∙ Text editors |
Publications | Introductions ∙ Learning resources ∙ Simple examples ∙ Advanced examples ∙ Mnemonics ∙ ISO 8485:1989 ∙ ISO/IEC 13751:2001 ∙ A Dictionary of APL ∙ Case studies ∙ Documentation suites ∙ Books ∙ Papers ∙ Videos ∙ APL Quote Quad ∙ Vector journal ∙ Terminology (Chinese, German) ∙ Neural networks ∙ Error trapping with Dyalog APL (in forms) |
Sharing code | Backwards compatibility ∙ APLcart ∙ APLTree ∙ APL-Cation ∙ Dfns workspace ∙ Tatin ∙ Cider |
Implementation | Resources ∙ Open-source ∙ Magic function ∙ Performance ∙ APL hardware |
Developers | Timeline of corporations ∙ APL2000 ∙ Dyalog ∙ IBM ∙ IPSA ∙ STSC |
The following navboxes exist at the moment:
- Template:APL built-ins
- Template:APL community
- Template:APL development
- Template:APL dialects
- Template:APL features
- Template:APL glyphs
- Template:APL syntax
If you create a page that belongs in one of these navboxes but isn't already there, add it in the appropriate place in addition to placing the navbox in the new page.
Categories
The APL Wiki has a full Wikipedia-style category tree, which you can see by starting at the top-level category Contents. While all of Wikipedia's user-facing content is in encyclopedic articles, APL Wiki also has non-encyclopedic essays that discuss a topic such as how to use APL for a particular problem. When adding a new page, try and fit it into at least one category, but it's fine to leave it out if you're not yet comfortable with the category system (other editors can easily see pages with no category). Categories are added with syntax such as [[Category:IBM employees]]
at the end of the page.
Create new categories if needed, but please avoid Overcategorization. As with articles, each category should be placed in a parent category (the only uncategorized category is Contents). Make sure to read Wikipedia's guidelines about categories carefully and understand the existing category tree if you plan to make major changes to the category system.
Specific types of articles
Primitives and other built-ins
When creating a page for a primitive function, operator, or quad name, begin the page with the following template:
{{Built-in|Log|⍟}}
This inserts the text
⍟
Log (
⍟
)
and also adds a large floating illustration of the glyph, as seen at the right. You can use the Built-ins
template for primitives with two different glyphs (for example {{Built-ins|Reverse|⌽|⊖}}
), and Glyphbox
if you just want a box at the right (for example {{Glyphbox|⍤}}
). Since all of these templates must be put at the very beginning of the article's first paragraph, Glyphbox
is useful if there should be leading text before the primitive's name.
At the bottom of such pages, include {{APL built-ins}}
and edit that template's content if the page you're creating isn't already listed there.
Dialects
Begin your page about an APL dialect with the Infobox array language info box. These are all the optional parameters it supports:
{{Infobox array language | title = | developer = | released = | latest release version = | withdrawn = | array model = | index origin = | function styles = | numeric types = | unicode support = | file ext = | implementation language = | implementation languages = | source = | platform = | platforms = | operating system = | operating systems = | license = | website = | forum = | download = | documentation = | run online = | influenced by = | influenced = }}
Have a look at the existing dialect pages, e.g. Dyalog APL, to see how these values are used, Try to fill in as many as you can (but use only one of each singular/plural pair). You only need to use title
if the language title differs from the page title (e.g. for technical reason like the inability to create a page that begins with a lowercase letter). In that case, begin the page with {{DISPLAYTITLE:real name}}
where real name
should be the proper name of the dialect.
At the bottom of the page, include {{APL programming language}}
and edit that template's content if the dialect you're creating a page about isn't already listed there.