Dplmatrix/test matrix: Difference between revisions

From DynamicPageList3 Manual
Content added Content deleted
miraheze:dpl3>Unknown user
No edit summary
imported>FrozenPlum
m (Add a note about unfinished example)
Line 1: Line 1:
==Test Matrix==
Below is an example of a test matrix.

===Generating a matrix from an indented list ===
Input is:
one
apple
apricot
two ~~ Two
banana
three
four
grape
mango ~~ MANGO
two ~~ Two
mango ~~ MANGO

Output is:
{|class=wikitable
!normal
!flipped
|--
|<pre>{{#dplmatrix:a simple demo matrix||||
one
apple
apricot
two ~~ Two
banana
three
four
grape
mango ~~ MANGO
two ~~ Two
mango ~~ MANGO
}}</pre>
|<pre>{{#dplmatrix:a simple demo matrix|<big>&bull;</big>|.|flip|
one
apple
apricot
two ~~ Two
banana
three
four
grape
mango ~~ MANGO
two ~~ Two
mango ~~ MANGO
}}</pre>
|--
|
{{#dplmatrix:a simple demo matrix||||
one
apple
apricot
two ~~ Two
banana
three
four
grape
mango ~~ MANGO
two ~~ Two
mango ~~ MANGO
}}
|
{{#dplmatrix:a simple demo matrix|<big>&bull;</big>|.|flip|
one
apple
apricot
two ~~ Two
banana
three
four
grape
mango ~~ MANGO
two ~~ Two
mango ~~ MANGO
}}
|}
* "from" items ("source") start in col 1
* "to" items ("target") are indented by at least one space
* source appears in input sequence
* target is sorted by alphabet
* items are treated as pages and shown as a link
* the label can be defined by adding it after the iterm, separated by "~~"
* symbols for "yes" and "no" can be defined
* via the stylesheet in [[Mediawiki:Common.css]] you can control the layout (class=dplmatrix)

===Links to DPL Manual pages===
Now we use two nested DPL queries and what would be a separate page, Test matrix2, to generate the indented list:
<pre>
{{#dplmatrix:''links from articles to one of the Primary Module pages''|'''x'''|-|flip|
{{#dpl:
|debug=1
|category=Primary Module
|format=,%PAGE% ~~ %TITLE%\n²{:Test matrix2¦page=%PAGE%¦category=All DPL¦namespace=}²,
}}
}}
</pre>

'''Result:'''<br>
{{#dplmatrix:''links from articles to the DPL manual''|'''x'''|-|flip|
{{#dpl:
|debug=1
|category=Primary Module
|format=,%PAGE% ~~ %TITLE%\n²{:Test matrix2¦page=%PAGE%¦category=DPL Manual¦namespace=}²,
}}
}}
{{note|This example will be populated at a later date.}}


'''Contents of Test matrix2:'''<br>
<pre>
{{#dpl:
|debug=1
|{{#if:{{{namespace|}}}|{{#ifeq:{{{namespace}}}|main|namespace=|namespace={{{namespace}}}|}}}}
|{{#if:{{{category|}}}|category={{{category}}}}}
|linksfrom={{{page}}}
|shownamespace=no
|format=, %PAGE% ~~ %TITLE%\n,
}}
</pre>

Revision as of 01:17, 2 April 2022

Test Matrix

Below is an example of a test matrix.

Generating a matrix from an indented list

Input is:

one
 apple
 apricot
two ~~ Two
 banana
three
four
 grape
 mango ~~ MANGO
two ~~ Two
   mango ~~ MANGO

Output is:

normal flipped
{{#dplmatrix:a simple demo matrix||||
one
 apple
 apricot
two ~~ Two
 banana
three
four
 grape
 mango ~~ MANGO
two ~~ Two
   mango ~~ MANGO
}}
{{#dplmatrix:a simple demo matrix|<big>•</big>|.|flip|
one
 apple
 apricot
two ~~ Two
 banana
three
four
 grape
 mango ~~ MANGO
two ~~ Two
   mango ~~ MANGO
}}

{{#dplmatrix:a simple demo matrix|||| one

apple
apricot

two ~~ Two

banana

three four

grape
mango ~~ MANGO

two ~~ Two

  mango ~~ MANGO

}}

{{#dplmatrix:a simple demo matrix||.|flip| one

apple
apricot

two ~~ Two

banana

three four

grape
mango ~~ MANGO

two ~~ Two

  mango ~~ MANGO

}}

  • "from" items ("source") start in col 1
  • "to" items ("target") are indented by at least one space
  • source appears in input sequence
  • target is sorted by alphabet
  • items are treated as pages and shown as a link
  • the label can be defined by adding it after the iterm, separated by "~~"
  • symbols for "yes" and "no" can be defined
  • via the stylesheet in Mediawiki:Common.css you can control the layout (class=dplmatrix)

Links to DPL Manual pages

Now we use two nested DPL queries and what would be a separate page, Test matrix2, to generate the indented list:

{{#dplmatrix:''links from articles to one of the Primary Module pages''|'''x'''|-|flip|
  {{#dpl:
    |debug=1
    |category=Primary Module
    |format=,%PAGE% ~~ %TITLE%\n²{:Test matrix2¦page=%PAGE%¦category=All DPL¦namespace=}²,
  }}
}}

Result:
{{#dplmatrix:links from articles to the DPL manual|x|-|flip|

 {{#dpl:
   |debug=1
   |category=Primary Module
   |format=,%PAGE% ~~ %TITLE%\n²{:Test matrix2¦page=%PAGE%¦category=DPL Manual¦namespace=}²,
 }}

}}

This example will be populated at a later date.


Contents of Test matrix2:

{{#dpl:
 |debug=1
 |{{#if:{{{namespace|}}}|{{#ifeq:{{{namespace}}}|main|namespace=|namespace={{{namespace}}}|}}}}
 |{{#if:{{{category|}}}|category={{{category}}}}}
 |linksfrom={{{page}}}
 |shownamespace=no
 |format=,   %PAGE% ~~ %TITLE%\n,
}}