Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:AutosortTable/doc
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Usage == This module helps create data tables in an automatically sorted order. As of this writing it is used primarily for the generation of the huge, dynamic tables at [[List of Wikipedias]]. For [[List of Wikipedias#Editions overview|the '''Wikipedia editions''' table]], the module is invoked directly to create the ''framework'' for the table, followed by content for the rows within the module's invocation. For [[List of Wikipedias#Details table|the '''Details of Wikipedia editions''' table]], the module is invoked directly to create the ''framework'' for the table while other templates (e.g., {{tlx|WP7}}, {{tlx|WP7a}}) generate content for the individual rows, also within the module's invocation. The templates {{tlx|WP7}}, {{tlx|WP7a}}, {{tlx|WP7b}} and {{tlx|WP7c}} are intended to be called as arguments within the module's invocation, as they do not produce regular wikitable (or any standard table) code themselves. The module's arguments are: <code><nowiki>{{</nowiki>#invoke:AutosortTable|''create'' |class= |style= |separator= |order= |numeric= |descending= |hidden= |rowheader= |caption= |header= |footer= |colstyle= <nowiki>}}</nowiki></code> {| class="wikitable" |+ Module arguments |- !scope="col"| Argument !scope="col" style="width:13em"| Example !scope="col"| Notes |- !scope="row"| ''function'' | <code>create</code> | The argument '''create''' is the only function of this module, and is required. |- !scope="row"| class | <code>class = wikitable</code> | Class for the entire table. Table can be made user-sortable by including the class "sortable", but does not need to be. |- !scope="row"| style | <code>style = width: 50%;</code> | [[CSS]] for the entire table |- !scope="row"| separator | <code>separator = --</code> | Separator string used to separate cells in the data definition. The pipe <nowiki>(|)</nowiki> is an invalid separator for this module. |- !scope="row"| order | <code>order = 3, 2</code> | Order for auto-sorting preference, takes a comma-separated list of column numbers. In the example here, the table will be sorted by column 3 first, then by column 2. |- !scope="row"| numeric | <code>numeric = 2</code> | Columns which use numeric sorting when auto-sorted. Takes comma-separated list of column numbers. |- !scope="row"| descending | <code>descending = 3</code> | Columns for which the auto-sort order should be descending (otherwise, ascending is used). Takes comma-separated list of column numbers. Here, only the third column will be auto-sorted in descending order (e.g., Zebra, Walrus, Muskrat, Emu, etc., or 12, 9, 6, 4). |- !scope="row"| hidden | <code>hidden = 2</code> | Columns which are not to be displayed (even though they may be used for row-sorting purposes). Takes comma-separated list of column numbers. Here, the second column will not be shown. |- !scope="row"| rowheader | <code>rowheader = 1</code> | Cell(s) in each non-header ''row'' to be emitted as row header, per [[MOS:Accessibility#Data tables|MOS:ACCESS]]. Usually 1, and only 1, but accepts comma-separated list of column numbers. Causes <code><nowiki>!scope="row"</nowiki></code> to be used in the HTML for the cells specified. |- !scope="row"| caption | <code>caption = Notable people by age</code> | Caption to be used for the table, per MOS:ACCESS |- !scope="row"| header | <code>header = -- Name -- Age</code> | These are the column headings. In this example there are two columns with headings, the first is "Name", the second, "Age". Note the separators (<code>--</code>) which match the ''separator'' value above. |- !scope="row"| footer | <code>footer =-- Country -- Population -- Density</code> | Table footer, typically a duplication of header (see ''header'' argument above). Here, the first three columns have the footer labels shown. |- !scope="row"| colstyle | <code>colstyle = -- text-align:left; -- text-align:right; -- -- --</code> | Adds the specified CSS styling to entire columns. Here, the first column will be left-aligned, the second column will be right-aligned, and the next three columns (with no CSS specified) will use the default styling. Note the separators (<code>--</code>) which match the ''separator'' value above. |} === Styling tricks === While there appear to be no ways to style an individual cell when using this module, styling particular rows, columns, or the entire table can be done using CSS. ==== Styling the table ==== The ''style'' argument allows the entire table to use a default styling. For example, <code>|style=width:70%; text-align:center;</code> would constrain the table width to 70% of the available window, and center the text (not including column and row headers) by default. When using multiple properties, the semicolon is necessary to separate them. Do ''not'' use the quotation marks ordinarily required in CSS or wikitable markup (as in <code>"|style=width:70%; text-align:center;"</code>), as it causes the CSS to be disregarded. A reminder: use CSS to constrain tables sparingly, as reduced font-size or unexpected table widths may cause [[MOS:ACCESS|accessibility]] problems or irritate readers. ==== Styling a row ==== An individual row can be styled separately by including CSS prior to the first data cell. Consider this example table:<pre><code><nowiki> {{#invoke: AutosortTable| create | class = wikitable plainrowheaders sortable | separator = -- | order = 2 | numeric =2 | descending = 2 | caption=Old friends | rowheader = 1 | header = -- Name -- Age -- Diet <!-- Table header --> | -- Maria -- 36 -- Vegan <!-- Row 1 --> | -- Peter -- 35 -- Vegetarian <!-- Row 2 --> | -- Julia -- 35 -- Meat <!-- Row 3 --> | -- James -- 50 -- Vegan <!-- Row 4 --> | background-color: #FFDDDD -- Henry -- 45 -- Meat <!-- Row 5, with CSS --> | -- Ireni -- 47 -- Fish, no meat <!-- Row 6 --> | colstyle = -- text-align:left; -- text-align:right; -- -- -- }} </nowiki></code></pre> {{#invoke: AutosortTable| create | class = wikitable plainrowheaders sortable | separator = -- | order = 2 | numeric =2 | descending = 2 | caption=Old friends | rowheader = 1 | header = -- Name -- Age -- Diet <!-- Table header --> | -- Maria -- 36 -- Vegan <!-- Row 1 --> | -- Peter -- 35 -- Vegetarian <!-- Row 2 --> | -- Julia -- 35 -- Meat <!-- Row 3 --> | -- James -- 50 -- Vegan <!-- Row 4 --> | background-color: #FFDDDD -- Henry -- 45 -- Meat <!-- Row 5, with CSS --> | -- Ireni -- 47 -- Fish, no meat <!-- Row 6 --> | colstyle = -- text-align:left; -- text-align:right; -- }} The row for "Henry" gets a pink color ([[Web colors#Hex triplet|#FFDDDD]]), while the row header appropriately retains the gray formatting wikitables use for headers. ==== Styling a column ==== An individual column can be styled separately by using CSS in the ''colstyle'' argument. In the '''Old friends''' example just above, the alignment has been set to <code>text-align:left;</code> and <code>text-align:right;</code>, respectively. Consider this similar table: <pre><code><nowiki> {{#invoke: AutosortTable| create | class = wikitable plainrowheaders sortable | separator = -- | order = 2 | numeric =2 | descending = 2 | caption=Old friends again | rowheader = 1 | header = -- Name -- Age -- Diet <!-- Table header --> | -- Maria -- 36 -- Vegan <!-- Row 1 --> | -- Peter -- 35 -- Vegetarian <!-- Row 2 --> | -- Julia -- 35 -- Meat <!-- Row 3 --> | -- James -- 50 -- Vegan <!-- Row 4 --> | -- Henry -- 45 -- Meat <!-- Row 5 --> | -- Ireni -- 47 -- Fish, no meat <!-- Row 6 --> | colstyle = -- -- font-weight:bold; color:brown -- background-color:yellow }} </nowiki></code></pre> {{#invoke: AutosortTable| create | class = wikitable plainrowheaders sortable | separator = -- | order = 2 | numeric =2 | descending = 2 | caption=Old friends again | rowheader = 1 | header = -- Name -- Age -- Diet <!-- Table header --> | -- Maria -- 36 -- Vegan <!-- Row 1 --> | -- Peter -- 35 -- Vegetarian <!-- Row 2 --> | -- Julia -- 35 -- Meat <!-- Row 3 --> | -- James -- 50 -- Vegan <!-- Row 4 --> | -- Henry -- 45 -- Meat <!-- Row 5 --> | -- Ireni -- 47 -- Fish, no meat <!-- Row 6 --> | colstyle = -- -- font-weight:bold; color:brown -- background-color:yellow }} The "Age" column entries are now in bolded brown and no longer left-aligned as in the previous example. The "Diet" column here has the specified yellow background. <!-- Still working on this; need to find/invent examples (22 September 2021 -JohnFromPinckney) === Multiple headers? === What do the <s>'create', 'order', 'numeric', and 'ascending'/'descending'</s> parameters mean, how do they function, and how do I use <s>'colspan' and 'rowspan', and use</s> multiple headers or place headers in different locations on Module:AutosortTable<s>, and how do I auto-sort tables and use the 'create', 'order', 'numeric', and 'ascending'/'descending' parameters on tables</s>? {{#invoke: AutosortTable| create | class = wikitable plainrowheaders sortable | style= | separator = -- | order = 4,1 | numeric =4 | descending = 4 | caption=Wikipedia editions | rowheader = 1 |header = --Animal--Language--Script--WP code | --Crocodile--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--61 | --Walrus--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--19 | --Duck--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--4 | --Alligator--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--3 | --Platypus--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--1 | --Emu--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--61 | --Zebra--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--4 | --Muskrat--[[English language|English]]--<code>[[Latin alphabet|Latn]]</code>--19 }} Still working on this -->
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)