kopia lustrzana https://github.com/miklobit/TiddlyWiki5
Merging #321 Table valign from @Skeeve
rodzic
5dea8ca758
commit
307b5c7d6b
|
@ -38,7 +38,8 @@ var processRow = function(prevColumns) {
|
|||
if(last) {
|
||||
last.rowSpanCount++;
|
||||
$tw.utils.addAttributeToParseTreeNode(last.element,"rowspan",last.rowSpanCount);
|
||||
$tw.utils.addAttributeToParseTreeNode(last.element,"valign","center");
|
||||
var vAlign = $tw.utils.getAttributeValueFromParseTreeNode(last.element,"valign","center");
|
||||
$tw.utils.addAttributeToParseTreeNode(last.element,"valign",vAlign);
|
||||
if(colSpanCount > 1) {
|
||||
$tw.utils.addAttributeToParseTreeNode(last.element,"colspan",colSpanCount);
|
||||
colSpanCount = 1;
|
||||
|
@ -51,9 +52,20 @@ var processRow = function(prevColumns) {
|
|||
colSpanCount++;
|
||||
// Move to just before the `|` terminating the cell
|
||||
this.parser.pos = cellRegExp.lastIndex - 1;
|
||||
} else if(cellMatch[1] === "<" && prevCell) {
|
||||
colSpanCount = 1+$tw.utils.getAttributeValueFromParseTreeNode(prevCell, "colspan", 1);
|
||||
$tw.utils.addAttributeToParseTreeNode(prevCell,"colspan",colSpanCount);
|
||||
colSpanCount = 1;
|
||||
// Move to just before the `|` terminating the cell
|
||||
this.parser.pos = cellRegExp.lastIndex - 1;
|
||||
} else if(cellMatch[2]) {
|
||||
// End of row
|
||||
if(prevCell && colSpanCount > 1) {
|
||||
try {
|
||||
colSpanCount+= prevCell.attributes.colspan.value;
|
||||
} catch (e) {
|
||||
colSpanCount-= 1;
|
||||
}
|
||||
$tw.utils.addAttributeToParseTreeNode(prevCell,"colspan",colSpanCount);
|
||||
}
|
||||
this.parser.pos = cellRegExp.lastIndex - 1;
|
||||
|
@ -64,6 +76,16 @@ var processRow = function(prevColumns) {
|
|||
// Look for a space at the start of the cell
|
||||
var spaceLeft = false,
|
||||
chr = this.parser.source.substr(this.parser.pos,1);
|
||||
var vAlign = null;
|
||||
if (chr === "^") {
|
||||
vAlign = "top";
|
||||
} else if(chr === ",") {
|
||||
vAlign = "bottom";
|
||||
}
|
||||
if(vAlign) {
|
||||
this.parser.pos++;
|
||||
chr = this.parser.source.substr(this.parser.pos,1);
|
||||
}
|
||||
while(chr === " ") {
|
||||
spaceLeft = true;
|
||||
this.parser.pos++;
|
||||
|
@ -89,7 +111,10 @@ var processRow = function(prevColumns) {
|
|||
// Parse the cell
|
||||
cell.children = this.parser.parseInlineRun(cellTermRegExp,{eatTerminator: true});
|
||||
// Set the alignment for the cell
|
||||
if(cellMatch[1].substr(cellMatch[1].length-1,1) === " ") { // spaceRight
|
||||
if(vAlign) {
|
||||
$tw.utils.addAttributeToParseTreeNode(cell,"valign",vAlign);
|
||||
}
|
||||
if(this.parser.source.substr(this.parser.pos-2,1) === " ") { // spaceRight
|
||||
$tw.utils.addAttributeToParseTreeNode(cell,"align",spaceLeft ? "center" : "left");
|
||||
} else if(spaceLeft) {
|
||||
$tw.utils.addAttributeToParseTreeNode(cell,"align","right");
|
||||
|
|
|
@ -19,6 +19,13 @@ exports.addAttributeToParseTreeNode = function(node,name,value) {
|
|||
}
|
||||
};
|
||||
|
||||
exports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {
|
||||
if(node.type === "element" && node.attributes && node.attributes[name] && node.attributes[name].value != undefined) {
|
||||
return node.attributes[name].value;
|
||||
}
|
||||
return defaultValue;
|
||||
};
|
||||
|
||||
exports.addClassToParseTreeNode = function(node,classString) {
|
||||
var classes = [];
|
||||
if(node.type === "element") {
|
||||
|
|
|
@ -8,6 +8,7 @@ type: text/vnd.tiddlywiki
|
|||
|
||||
!! Improvements
|
||||
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/pull/324]] support for numeric sorting to TiddlerFilters (thanks to StephanHradek)
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/87fbd988f1fb0164411af190adfe6b6a2404eef3]] experimental support for running [[TiddlyWiki on node-webkit]]
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/3d79eb87d1c609195b8c518c08e167994b20a346]] an [[$:/AdvancedSearch]]
|
||||
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/bd7db62da052ec6262c3319eaa11f00e5c452a7b]] support for specifying hostname for the ServerCommand
|
||||
|
|
|
@ -36,21 +36,49 @@ The example renders as:
|
|||
| Centred content |
|
||||
|+++ a very wide column so we can see the alignment +++|
|
||||
|
||||
! Cell vertical Alignment
|
||||
|
||||
Vertical alignment of cells is done by inserting either a `^` for top alignment or a `,` for bottom alignment as the first character of a cell. The normal horizontal alignment is still possible.
|
||||
|
||||
A shortned example:
|
||||
|
||||
```
|
||||
|^top left |^ top center |^ top right|
|
||||
|middle left | middle center | middle right|
|
||||
|,bottom left |, bottom center |, bottom right|
|
||||
```
|
||||
|
||||
The example renders as:
|
||||
|
||||
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
|
||||
| ::<br>:: |^top left |^ top center |^ top right| ::<br>:: |
|
||||
| ::<br>:: |middle left | middle center | middle right| ::<br>:: |
|
||||
| ::<br>:: |,bottom left |, bottom center |, bottom right| ::<br>:: |
|
||||
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
|
||||
|
||||
Should you ever want to have a `^`or a `,` as the first character of a left aligned cell, you need to use html-escaping.
|
||||
|
||||
| `^` | &#94; |
|
||||
| `,` | &#44; |
|
||||
|
||||
|
||||
! Cell Merging
|
||||
|
||||
To merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its right use the text `>`. For example:
|
||||
To merge a table cell with the one above, use the special cell text `~`. To merge a cell with the one to its left use the text `<`. To merge one to its right use `>`. For example:
|
||||
|
||||
```
|
||||
|Cell1 |Cell2 |Cell3 |Cell4 |
|
||||
|Cell5 |Cell6 |>|Cell7 |
|
||||
|Cell5 |Cell6 |Cell7 |<|
|
||||
|Cell5 |~|Cell7 |Cell8 |
|
||||
|>|Cell9 |Cell10 |Cell11 |
|
||||
```
|
||||
|
||||
Renders as:
|
||||
|
||||
|Cell1 |Cell2 |Cell3 |Cell4 |
|
||||
|Cell5 |Cell6 |>|Cell7 |
|
||||
|Cell5 |Cell6 |Cell7 |<|
|
||||
|Cell5 |~|Cell7 |Cell8 |
|
||||
|>|Cell9 |Cell10 |Cell11 |
|
||||
|
||||
! Table Classes, Captions, Headers and Footers
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue