Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:syntax

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
wiki:syntax [2013/07/11 12:03] – [8.1 AV Bar Chart Plugin] matthias.zagermannwiki:syntax [2013/07/23 14:16] – [8.1 Sortablejs] matthias.zagermann
Zeile 522: Zeile 522:
  
 ===== 8.2 AV Bar Chart Plugin ===== ===== 8.2 AV Bar Chart Plugin =====
-{{http://syntaxseed.com/assets/screenshots/avbarchart.png?nolink}}+Dieses Plugin stellt Daten als Balkendiagramm dar.\\ 
 +<barchart> 
 +1000| 
 +A:500, 
 +B:50, 
 +C:250, 
 +D:1000 
 +</barchart>
 <code> <code>
-<barchart>1000|A:500,B:50,C:250,D:1000</barchart>+<barchart> 
 +1000| 
 +A:500, 
 +B:50, 
 +C:250, 
 +D:1000 
 +</barchart>
 </code> </code>
-  * The first value is the max number that your data set will go to+  * Der erste Wert ist der Maximalwert der Daten
-  * After the you have a comma separated list of labels and values to be graphed. +  * Nach dem folgt eine durch Komma separierte Liste mit Beschriftung:Wert-Paarendie im Balkendiagramm angezeigt werden sollen.
-  * In the source of the plugin are config vars that let you customize the sizecolor and font of your chart.+
  
-You can then use regular DokuWiki syntax to put title above it and if needed, legend below to describe the labelsIf you make the bars wide, the labels can be full text.+===== 8.3 Tablecalc Plugin ===== 
 +To perform a calculation you need to insert XL-style formula into work sheet. Any expression must be started with ''~~='' and finished by ''~~''You can use direct range specification for functions (like XL does) or special ''range()'' function. The range consists of reference to the start cell and to the finish cell, like this: 
 +<code> 
 +r0c4 
 +</code> 
 +Please note, that row (''r'') and column (''c'') index starts from zeroRow and column prefixes can be swapped. The following is equal of the above: 
 +<code> 
 +c4r0 
 +</code> 
 + 
 +You can also reference to multiple cells in one range: 
 +<code> 
 +|r0c0:r1c1|| 
 +</code> 
 + 
 +Furthermore you can use multiple ranges: 
 +<code> 
 +r0c0:r1c1,r0c3:r1c4 
 +</code> 
 + 
 +There is a recommendation not to use references for non-existing cells. For example, this is not correct (though it will work, returning "3"): 
 +<code> 
 +| 1 | 
 +| 2 | 
 +| ~~=sum(r0c0:r99c99)~~ | 
 +</code> 
 + 
 +Instead use constructions like this: 
 +<code> 
 +| 1 | 
 +| 2 | 
 +| ~~=sum(range(0,0,col(),row()-1))~~ | 
 +</code> 
 + 
 +==== Functions ==== 
 + 
 +The following functions are implemented: 
 + 
 +''x'' = column, ''y'' = row 
 + 
 +^ Func                                      Description                                                                         ^ 
 +| cell(x,y)                    | Returns numeric value of (x,y) cell                                                              | 
 +| row()                        | Returns current row                                                                              | 
 +| col()                        | Returns current column                                                                           | 
 +| range(x1,y1,x2,y2)           | Returns internal range for other functions                                                       | 
 +| sum(range)                   | Returns sum of the specified range                                                               | 
 +| count(range)                 | Returns number of elements in the specified range                                                | 
 +| round(number;decimals)       | Returns numberrounded to specified decimals                                                    | 
 +| label(string)                | Binds label to the table                                                                         | 
 +| average(range)               | Returns average of the specified range                                                           | 
 +| min(range)                   | Returns minimum value within specified range                                                     | 
 +| max(range)                   | Returns minimum value within specified range                                                     | 
 +| check(condition;true;false)  | Executes ''true'' statement, if ''condition'' is not zero                                        | 
 +| compare(a;b;operation)       | Do math compare for ''a'' and ''b''. Returns zero when conditions for the ''operation'' are not met  | 
 +| calc()                       | FIXME  | 
 + 
 +Though you can use colon as delimiter in functions semi-colon is preferred and recommended. 
 + 
 + 
 +==== Operators ==== 
 + 
 +Most of the standard Javascript arithmetic operators are supported but some ((The conflicting operators are: %%^ | ~%%)) conflict with the table markup so the following operators are available: 
 + 
 +^  Operator  ^  Description 
 +|  +         | Addition and unary plus | 
 +|  -         | Subtraction and unary negative | 
 +|  *         | Multiplication | 
 +|  /         | Division | 
 +|  %         | Modulus (division remainder) | 
 +|  &         | Logical AND | 
 +|  %%<<%%    | Shift left | 
 +|  %%>>%%    | Shift right | 
 + 
 +==== Examples ==== 
 + 
 +=== I === 
 + 
 +<code> 
 +| 1 | 2 | ~~=r0c0+r0c1~~ | ~~=10.2+1.5~~ | 
 +</code> 
 + 
 +| 1 | 2 | 3 | 11.7 | 
 + 
 +=== II === 
 +<code> 
 +| 1 | 2 | 
 +| 3 | 4 | 
 +| ~~=sum(r0c0:r1c1)~~ || 
 +</code> 
 + 
 +| 1 | 2 | 
 +| 3 | 4 | 
 +| 10 || 
 + 
 + 
 + 
 +=== III === 
 +<code> 
 +| 1 | 2 | 3 | 4 | 
 +| 5 | 6 | 7 | 8 | 
 +| **~~=sum(r0c0:r1c1,r0c3:r1c4)~~** |||| 
 +</code> 
 + 
 +| 1 | 2 | 3 | 4 | 
 +| 5 | 6 | 7 | 8 | 
 +|  **26**  |||| 
 + 
 + 
 +=== IV === 
 +<code> 
 +|1| 
 +|2| 
 +|3|    
 +|4|    
 +|5.74| 
 +|6| 
 +|7|    
 +|8|    
 +|9|    
 +|10|     
 +|11|    
 +|~~=sum(range(col(),0,col(),row()-1))~~| 
 +</code> 
 + 
 +|1| 
 +|2| 
 +|3|    
 +|4|    
 +|5.74| 
 +|6| 
 +|7|    
 +|8|    
 +|9|    
 +|10|     
 +|11|    
 +|65.74| 
 + 
 + 
 + 
 +=== V === 
 +<code> 
 +|1| 
 +|2| 
 +|3|    
 +|4|    
 +|5| 
 +|6| 
 +|7|    
 +|8|    
 +|9|    
 +|10|     
 +|~~=average(range(col(),0,col(),row()-1))~~| 
 +</code> 
 + 
 + 
 +|1| 
 +|2| 
 +|3|    
 +|4|    
 +|5| 
 +|6| 
 +|7|    
 +|8|    
 +|9|    
 +|10|     
 +|5.5| 
 + 
 +=== VI === 
 +<code> 
 +| ~~=label(ex6_1)~~1 | 2 | 
 +| 3 | 4 | 
 + 
 +Sum: **~~=sum(ex6_1.c0r0:c99r99)~~** 
 +</code> 
 + 
 + 
 +| 1 | 2 | 
 +| 3 | 4 | 
 + 
 +Sum: **10** 
 + 
 +=== VII === 
 +<code> 
 +| **~~=label(ex7_1)~~11** | ~~=sum(ex7_2.c0r0:c99r99)~~ | 
 +| 13 | 14 | 
 + 
 +| ~~=label(ex7_2)~~1 | 2 | 
 +| 3 | 4 | 
 + 
 +Sum: **~~=sum(ex7_1.c0r0:c1r1)~~** 
 +</code> 
 + 
 + 
 +| **11** | 10 | 
 +| 13 | 14 | 
 + 
 +| 1 | 2 | 
 +| 3 | 4 | 
 + 
 +Sum: **48** 
 + 
 +=== VIII === 
 +<code> 
 +| **~~=min(c0r1:c0r3)~~** | **~~=max(c1r1:c1r3)~~** | 
 +| 1 | 7 | 
 +| 2 | 8 | 
 +| 3 | 9 | 
 + 
 +~~=calc()~~ 
 +</code> 
 + 
 +| **1** | **9** | 
 +| 1 | 7 | 
 +| 2 | 8 | 
 +| 3 | 9 | 
 + 
 + 
 +=== IX === 
 +<code> 
 +| 1 | ~~=check(cell(0,row()),#True,#False)~~ | 
 +| 0 | ~~=check(cell(0,row()),#True,#False)~~ | 
 +| x | ~~=check(cell(0,row()),#True,#False)~~ | 
 +|   | ~~=check(cell(0,row()),#True,#False)~~ | 
 +| **** | ~~=check(cell(0,row()),#True,#False)~~ | 
 +</code> 
 + 
 +| 1 | True | 
 +| 0 | False | 
 +| x | False | 
 +|  | False | 
 +|  | False | 
 + 
 + 
 +=== X === 
 +<code> 
 +| 1 | 2 | 1=2 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#True,#False)~~ | 
 +| 3 | 3 | 3=3 | ~~=check(compare(cell(0,row()),cell(1,row()),#=),#True,#False)~~ | 
 +| 4 | 5 | 4<5 | ~~=check(compare(cell(0,row()),cell(1,row()),#<),#True,#False)~~ | 
 +| 6 | 7 | 6>7 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#True,#False)~~ | 
 +| 8 | 9 | 8>9 | ~~=check(compare(cell(0,row()),cell(1,row()),#>),#True,#False)~~ | 
 +| 10 | 10 | 10≥10 | ~~=check(compare(cell(0,row()),cell(1,row()),#>=),#True,#False)~~ | 
 +| 11 | 11 | 11≤11 | ~~=check(compare(cell(0,row()),cell(1,row()),#>=),#True,#False)~~ | 
 +| 12 | 12 | 12≠12 | ~~=check(compare(cell(0,row()),cell(1,row()),#!=),#True,#False)~~ | 
 +</code> 
 + 
 +| 1 | 2 | 1=2 | False | 
 +| 3 | 3 | 3=3 | True | 
 +| 4 | 5 | 4<5 | True | 
 +| 6 | 7 | 6>7 | False | 
 +| 8 | 9 | 8>9 | False | 
 +| 10 | 10 | 10≥10 | True | 
 +| 11 | 11 | 11≤11 | True | 
 +| 12 | 12 | 12≠12 | False | 
 + 
 +=== XI === 
 + 
 +^  Operator  ^  Equation         ^ Result ^ 
 +|  +         | %%~~= 3 + 2 ~~%%  |  5  | 
 +|  -         | %%~~= 3 - 2 ~~%%  |  1  | 
 +|  *         | %%~~= 3 * 2 ~~%%  |  6  | 
 +|  /         | %%~~= 6 / 2 ~~%%  |  3  | 
 +|  %         | %%~~= 7 % 2 ~~%%  |  1  | 
 +|  unary +   | %%~~= +2 ~~%%      2  | 
 +|  unary -   | %%~~= -2 ~~%%      -2  | 
 +|  &         | %%~~= 3 & 2 ~~%%  |  2  | 
 +|  %%<<%%    | %%~~= 2 << 7 ~~%% |  256  | 
 +|  %%>>%%    | %%~~= 8 >> 2 ~~%% |  2  | 
 + 
 +===== 8.1 Sortablejs ===== 
 +Plugin, welches Tabellen nach Spalten sortierbar macht. 
 +du brauchst nur die Tabelle in ''<sortable>'' und ''</sortable>'' Tags einschließen. 
 +<sortable> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +<code> 
 +<sortable> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +</code> 
 + 
 +Tabelle, automatisch nach erster Spalte aufsteigend sortiert 
 +<sortable 1> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +<code> 
 +<sortable 1> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +</code> 
 + 
 +Tabelle, automatisch nach erster Spalte absteigend sortiert 
 +<sortable r1> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +<code> 
 +<sortable r1> 
 +^Col1^Col3^Col3^ 
 +|1|one|25/12/2008| 
 +|2|two|10/12/2008| 
 +</sortable> 
 +</code> 
 + 
 +Um nach einer Spalte sortieren zu lassen, musst du einfach nur auf den entsprechenden Spaltenkopf klicken. ein weiterer Klick dreht die Sortierung um. 
 + 
 +==== Optionen ==== 
 + 
 +<code> 
 +<sortable [[r]column] [column=alpha|numeric|ddmm|mmdd|nosort]> 
 + 
 +  <sortable r1 1=numeric 2=alpha 3=nosort> 
 +            ││   │         │       │ 
 +            ││   │         │       └keine Sortierungsoption für Spalte 3 
 +            ││   │         └Sortierung der Spalte 2 in alphanummerischer Reihenfolge 
 +            ││   └Sortierung der Spalte 1 in nummerischer Reihenfolge 
 +            │└automatische Sortierung nach Spalte 1 beim Laden der Seite 
 +            └automatische absteigende Sortierung 
 +</code>
wiki/syntax.txt · Zuletzt geändert: 2024/02/28 15:32 von 127.0.0.1