Difference between revisions of "Template:StreamLinkTable"

From Hackerspace ACKspace
Jump to: navigation, search
(created fancy readme, set stages to generic name)
m (fixed variable substitution. using template inside itself to show its inner workings)
Line 35: Line 35:
 
Note that for the best results, this table needs extra CSS in [[MediaWiki:Common.css]]:
 
Note that for the best results, this table needs extra CSS in [[MediaWiki:Common.css]]:
 
<pre>
 
<pre>
/* CSS span table rowspan only showing the first header */
+
/* CSS span table rowspan only showing the first row header (assuming there are 2 column headers stacked, hence +3) */
 
table.span tr>th.span2,
 
table.span tr>th.span2,
 
table.span tr>th.span3,
 
table.span tr>th.span3,
Line 44: Line 44:
 
}
 
}
  
table.span tr:nth-of-type(2n+1)>th.span2,
+
table.span tr:nth-of-type(2n+3)>th.span2,
table.span tr:nth-of-type(3n+1)>th.span3,
+
table.span tr:nth-of-type(3n+3)>th.span3,
table.span tr:nth-of-type(4n+1)>th.span4,
+
table.span tr:nth-of-type(4n+3)>th.span4,
table.span tr:nth-of-type(5n+1)>th.span5
+
table.span tr:nth-of-type(5n+3)>th.span5
 
{
 
{
 
     display: table-cell;
 
     display: table-cell;
Line 53: Line 53:
 
</pre>
 
</pre>
  
If it is not possible to have this CSS added, make sure to set <code>languageCount = 1</code>, or the table layout will break.
+
If it is not possible to have this CSS added, or you want to repeat every row header, make sure to set <code>languageCount = 1</code> (or the table layout will break without the added CSS).
  
 
=== example ===
 
=== example ===
 
Edit the page to see how the following table is generated:
 
Edit the page to see how the following table is generated:
 +
 +
{{ {{PAGENAME}} }}
 
</noinclude>
 
</noinclude>
 +
<includeonly>
 
<table class="wikitable span">
 
<table class="wikitable span">
 
<tr>
 
<tr>
Line 70: Line 73:
 
{{#arraymap:{{{stages|Stage 1;s1, Stage 2;s2,Stage 3;s3}}}|,|stage|
 
{{#arraymap:{{{stages|Stage 1;s1, Stage 2;s2,Stage 3;s3}}}|,|stage|
  
   {{#arraymap:{{{languages|Native;_native_,Translated;_translated_}}}|,|language|
+
   {{#arraymap:{{{languages|Native;_native_,Translated;_translated_}}}|,|languageVar|
 
     <tr>
 
     <tr>
 
       <th class="span{{{languageCount|2}}}" rowspan="{{{languageCount|2}}}">{{#explode:stage|;|0}}</th>
 
       <th class="span{{{languageCount|2}}}" rowspan="{{{languageCount|2}}}">{{#explode:stage|;|0}}</th>
       <th>{{#explode:language|;|0}}</th>
+
       <th>{{#explode:languageVar|;|0}}</th>
 
         {{#arraymap:{{{formats|WebM;.webm,HLS;.m3u8}}}|,|format|
 
         {{#arraymap:{{{formats|WebM;.webm,HLS;.m3u8}}}|,|format|
           {{#arraymap:{{{types|HD;hd,SD;sd,Slides;slides}}}|,|type|<td>[{{{baseURL|http://cdn.c3voc.de/}}}{{#explode:stage|;|1}}{{#explode:language|;|1}}{{#explode:type|;|1}}{{#explode:format|;|1}} link]</td>|}}
+
           {{#arraymap:{{{types|HD;hd,SD;sd,Slides;slides}}}|,|type|<td>[{{{baseURL|http://cdn.c3voc.de/}}}{{#explode:stage|;|1}}{{#explode:languageVar|;|1}}{{#explode:type|;|1}}{{#explode:format|;|1}} link]</td>|}}
 
         |}}
 
         |}}
  
Line 83: Line 86:
 
|}}
 
|}}
 
</table>
 
</table>
 +
</includeonly>

Revision as of 11:24, 7 December 2017

synopsis

This is the "StreamLinkTable" template.

It will generate a table with various links derived from the stages, languages, formats and types.

It should be called in the following format (all parameters are optional):

{{StreamLinkTable
|baseURL=
|stages=
|languages=
|languageCount=
|formats=
|types=
|typeCount=
}}

parameters

The parameters all default to something useful for CCC and each has a specific syntax: baseURL

  • baseURL: first common part of the link, defaults to http://cdn.c3voc.de/
  • stages: comma separated (,) list of Stage Label;urlPart (note the semicolon ;), defaults to 3 × Stage n;sn
  • languages: comma separated (,) list of Language Label;urlPart (note the semicolon ;), defaults to Native;_native_,Translated;_translated_
  • languageCount: number used for setting the correct table header span, set to reflect the amount of languages, defaults to 2
  • formats: comma separated (,) list of Format Label;urlPart (note the semicolon ;), defaults to WebM;.webm,HLS;.m3u8
  • types: comma separated (,) list of Type Label;urlPart (note the semicolon ;), defaults to HD;hd,SD;sd,Slides;slides
  • typeCount: number used for setting the correct table header span, set to reflect the amount of types, defaults to 3

The links are generated as followed (always using the item part after the semicolon: baseURL+stage(outer row)+language(inner row)+type(inner column)+format(outer column), for example Stage 3 Native Slides as HLS will have the link: http://cdn.c3voc.de/s3_native_slides.m3u8

css

Note that for the best results, this table needs extra CSS in MediaWiki:Common.css:

/* CSS span table rowspan only showing the first row header (assuming there are 2 column headers stacked, hence +3) */
table.span tr>th.span2,
table.span tr>th.span3,
table.span tr>th.span4,
table.span tr>th.span5
{
    display: none;
}

table.span tr:nth-of-type(2n+3)>th.span2,
table.span tr:nth-of-type(3n+3)>th.span3,
table.span tr:nth-of-type(4n+3)>th.span4,
table.span tr:nth-of-type(5n+3)>th.span5
{
    display: table-cell;
}

If it is not possible to have this CSS added, or you want to repeat every row header, make sure to set languageCount = 1 (or the table layout will break without the added CSS).

example

Edit the page to see how the following table is generated:


WebMHLS
HDSDSlidesHDSDSlides
Stage 1 Native linklinklinklinklinklink
Stage 1 Translated linklinklinklinklinklink
Stage 2 Native linklinklinklinklinklink
Stage 2 Translated linklinklinklinklinklink
Stage 3 Native linklinklinklinklinklink
Stage 3 Translated linklinklinklinklinklink