Support markdown-style tables

This commit is contained in:
David Gileadi 2019-04-03 20:06:10 -07:00
parent 93b4b99b0b
commit fa276ad026
82 changed files with 2077 additions and 85 deletions

View file

@ -28,9 +28,13 @@ DL = <dl>$0</dl>
DT = <dt>$0</dt>
DD = <dd>$0</dd>
TABLE = <table>$0</table>
THEAD = <thead>$0</thead>
TBODY = <tbody>$0</tbody>
TR = <tr>$0</tr>
TH = <th>$0</th>
TD = <td>$0</td>
TH_ALIGN = <th align="$1">$+</th>
TD_ALIGN = <td align="$1">$+</td>
OL = <ol>$0</ol>
OL_START = <ol start="$1">$2</ol>
UL = <ul>$0</ul>
@ -545,11 +549,18 @@ DDOC =
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -3738,6 +3738,276 @@ private struct MarkdownLinkReferences
}
}
private enum TableColumnAlignment
{
none,
left,
center,
right
}
/****************************************************
* Parse a Markdown table delimiter row in the form of `| -- | :-- | :--: | --: |`
* where the example text has four columns with the following alignments:
* default, left, center, and right. The first and last pipes are optional. If a
* delimiter row is found it will be removed from `buf`.
*
* Params:
* buf = an OutBuffer containing the DDoc
* iStart = the index within `buf` that the delimiter row starts at
* inQuote = whether the table is inside a quote
* columnAlignments = alignments to populate for each column
* Returns: the index of the end of the parsed delimiter, or `0` if not found
*/
private size_t parseTableDelimiterRow(OutBuffer* buf, const size_t iStart, bool inQuote, ref TableColumnAlignment[] columnAlignments)
{
size_t i = skipChars(buf, iStart, inQuote ? ">| \t" : "| \t");
while (i < buf.offset && buf.data[i] != '\r' && buf.data[i] != '\n')
{
const leftColon = buf.data[i] == ':';
if (leftColon)
++i;
if (i >= buf.offset || buf.data[i] != '-')
break;
i = skipChars(buf, i, "-");
const rightColon = i < buf.offset && buf.data[i] == ':';
i = skipChars(buf, i, ": \t");
if (i >= buf.offset || (buf.data[i] != '|' && buf.data[i] != '\r' && buf.data[i] != '\n'))
break;
i = skipChars(buf, i, "| \t");
columnAlignments ~= (leftColon && rightColon) ? TableColumnAlignment.center :
leftColon ? TableColumnAlignment.left :
rightColon ? TableColumnAlignment.right :
TableColumnAlignment.none;
}
if (i < buf.offset && buf.data[i] != '\r' && buf.data[i] != '\n' && buf.data[i] != ')')
{
columnAlignments.length = 0;
return 0;
}
if (i < buf.offset && buf.data[i] == '\r') ++i;
if (i < buf.offset && buf.data[i] == '\n') ++i;
return i;
}
/****************************************************
* Look for a table delimiter row, and if found parse the previous row as a
* table header row. If both exist with a matching number of columns, start a
* table.
*
* Params:
* buf = an OutBuffer containing the DDoc
* iStart = the index within `buf` that the table header row starts at, inclusive
* iEnd = the index within `buf` that the table header row ends at, exclusive
* loc = the current location in the file
* inQuote = whether the table is inside a quote
* inlineDelimiters = delimiters containing columns separators and any inline emphasis
* columnAlignments = the parsed alignments for each column
* Returns: the number of characters added by starting the table, or `0` if unchanged
*/
private size_t startTable(OutBuffer* buf, size_t iStart, size_t iEnd, const ref Loc loc, bool inQuote, ref MarkdownDelimiter[] inlineDelimiters, out TableColumnAlignment[] columnAlignments)
{
const iDelimiterRowEnd = parseTableDelimiterRow(buf, iEnd + 1, inQuote, columnAlignments);
if (iDelimiterRowEnd)
{
const delta = replaceTableRow(buf, iStart, iEnd, loc, inlineDelimiters, columnAlignments, true);
if (delta)
{
buf.remove(iEnd + delta, iDelimiterRowEnd - iEnd);
buf.insert(iEnd + delta, "$(TBODY ");
buf.insert(iStart, "$(TABLE ");
return delta + 15;
}
}
columnAlignments.length = 0;
return 0;
}
/****************************************************
* Replace a Markdown table row in the form of table cells delimited by pipes:
* `| cell | cell | cell`. The first and last pipes are optional.
*
* Params:
* buf = an OutBuffer containing the DDoc
* iStart = the index within `buf` that the table row starts at, inclusive
* iEnd = the index within `buf` that the table row ends at, exclusive
* loc = the current location in the file
* inlineDelimiters = delimiters containing columns separators and any inline emphasis
* columnAlignments = alignments for each column
* headerRow = if `true` then the number of columns will be enforced to match
* `columnAlignments.length` and the row will be surrounded by a
* `THEAD` macro
* Returns: the number of characters added by replacing the row, or `0` if unchanged
*/
private size_t replaceTableRow(OutBuffer* buf, size_t iStart, size_t iEnd, const ref Loc loc, ref MarkdownDelimiter[] inlineDelimiters, TableColumnAlignment[] columnAlignments, bool headerRow)
{
if (!columnAlignments.length || iStart == iEnd)
return 0;
iStart = skipChars(buf, iStart, " \t");
int cellCount = 0;
foreach (delimiter; inlineDelimiters)
if (delimiter.type == '|' && !delimiter.leftFlanking)
++cellCount;
bool ignoreLast = inlineDelimiters.length > 0 && inlineDelimiters[$-1].type == '|';
if (ignoreLast)
{
const iLast = skipChars(buf, inlineDelimiters[$-1].iStart + inlineDelimiters[$-1].count, " \t");
ignoreLast = iLast >= iEnd;
}
if (!ignoreLast)
++cellCount;
if (headerRow && cellCount != columnAlignments.length)
return 0;
if (headerRow && global.params.vmarkdown)
{
const s = buf.peekSlice()[iStart..iEnd];
message(loc, "Ddoc: formatting table '%.*s'", cast(int)s.length, s.ptr);
}
size_t delta = 0;
void replaceTableCell(size_t iCellStart, size_t iCellEnd, int cellIndex, int di)
{
const eDelta = replaceMarkdownEmphasis(buf, loc, inlineDelimiters, di);
delta += eDelta;
iCellEnd += eDelta;
// strip trailing whitespace and delimiter
size_t i = iCellEnd - 1;
while (i > iCellStart && (buf.data[i] == '|' || buf.data[i] == ' ' || buf.data[i] == '\t'))
--i;
++i;
buf.remove(i, iCellEnd - i);
delta -= iCellEnd - i;
iCellEnd = i;
buf.insert(iCellEnd, ")");
++delta;
// strip initial whitespace and delimiter
i = skipChars(buf, iCellStart, "| \t");
buf.remove(iCellStart, i - iCellStart);
delta -= i - iCellStart;
switch (columnAlignments[cellIndex])
{
case TableColumnAlignment.none:
buf.insert(iCellStart, headerRow ? "$(TH " : "$(TD ");
delta += 5;
break;
case TableColumnAlignment.left:
buf.insert(iCellStart, "left, ");
delta += 6;
goto default;
case TableColumnAlignment.center:
buf.insert(iCellStart, "center, ");
delta += 8;
goto default;
case TableColumnAlignment.right:
buf.insert(iCellStart, "right, ");
delta += 7;
goto default;
default:
buf.insert(iCellStart, headerRow ? "$(TH_ALIGN " : "$(TD_ALIGN ");
delta += 11;
break;
}
}
int cellIndex = cellCount - 1;
size_t iCellEnd = iEnd;
foreach_reverse (di, delimiter; inlineDelimiters)
{
if (delimiter.type == '|')
{
if (ignoreLast && di == inlineDelimiters.length-1)
{
ignoreLast = false;
continue;
}
if (cellIndex >= columnAlignments.length)
{
// kill any extra cells
buf.remove(delimiter.iStart, iEnd + delta - delimiter.iStart);
delta -= iEnd + delta - delimiter.iStart;
iCellEnd = iEnd + delta;
--cellIndex;
continue;
}
replaceTableCell(delimiter.iStart, iCellEnd, cellIndex, cast(int) di);
iCellEnd = delimiter.iStart;
--cellIndex;
}
}
// if no starting pipe, replace from the start
if (cellIndex >= 0)
replaceTableCell(iStart, iCellEnd, cellIndex, 0);
buf.insert(iEnd + delta, ")");
buf.insert(iStart, "$(TR ");
delta += 6;
if (headerRow)
{
buf.insert(iEnd + delta, ")");
buf.insert(iStart, "$(THEAD ");
delta += 9;
}
return delta;
}
/****************************************************
* End a table, if in one.
*
* Params:
* buf = an OutBuffer containing the DDoc
* i = the index within `buf` to end the table at
* columnAlignments = alignments for each column; upon return is set to length `0`
* Returns: the number of characters added by ending the table, or `0` if unchanged
*/
private size_t endTable(OutBuffer* buf, size_t i, ref TableColumnAlignment[] columnAlignments)
{
if (!columnAlignments.length)
return 0;
buf.insert(i, "))");
columnAlignments.length = 0;
return 2;
}
/****************************************************
* End a table row and then the table itself.
*
* Params:
* buf = an OutBuffer containing the DDoc
* iStart = the index within `buf` that the table row starts at, inclusive
* iEnd = the index within `buf` that the table row ends at, exclusive
* loc = the current location in the file
* inlineDelimiters = delimiters containing columns separators and any inline emphasis
* columnAlignments = alignments for each column; upon return is set to length `0`
* Returns: the number of characters added by replacing the row, or `0` if unchanged
*/
private size_t endRowAndTable(OutBuffer* buf, size_t iStart, size_t iEnd, const ref Loc loc, ref MarkdownDelimiter[] inlineDelimiters, ref TableColumnAlignment[] columnAlignments)
{
size_t delta = replaceTableRow(buf, iStart, iEnd, loc, inlineDelimiters, columnAlignments, false);
delta += endTable(buf, iEnd + delta, columnAlignments);
return delta;
}
/**************************************************
* Highlight text section.
*
@ -3765,6 +4035,8 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
MarkdownList[] nestedLists;
MarkdownDelimiter[] inlineDelimiters;
MarkdownLinkReferences linkReferences;
TableColumnAlignment[] columnAlignments;
bool tableRowDetected = false;
int inCode = 0;
int inBacktick = 0;
int macroLevel = 0;
@ -3807,17 +4079,28 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
++i;
iParagraphStart = skipChars(buf, i, " \t\r\n");
}
if (!inCode && nestedLists.length && !quoteLevel)
if (tableRowDetected && !columnAlignments.length)
i += startTable(buf, iLineStart, i, loc, lineQuoted, inlineDelimiters, columnAlignments);
else if (columnAlignments.length)
{
MarkdownList.handleSiblingOrEndingList(buf, i, iParagraphStart, nestedLists);
const delta = replaceTableRow(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments, false);
if (delta)
i += delta;
else
i += endTable(buf, i, columnAlignments);
}
if (!inCode && nestedLists.length && !quoteLevel)
MarkdownList.handleSiblingOrEndingList(buf, i, iParagraphStart, nestedLists);
iPrecedingBlankLine = 0;
if (!inCode && i == iLineStart && i + 1 < buf.offset) // if "\n\n"
{
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters);
i += endTable(buf, i, columnAlignments);
if (!lineQuoted && quoteLevel)
endAllListsAndQuotes(buf, i, nestedLists, quoteLevel, quoteMacroLevel);
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters);
// if we don't already know about this paragraph break then
// insert a blank line and record the paragraph break
@ -3841,6 +4124,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
}
leadingBlank = true;
lineQuoted = false;
tableRowDetected = false;
iLineStart = i + 1;
loc.linnum += incrementLoc;
@ -3941,6 +4225,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
if (quoteLevel < lineQuoteLevel)
{
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (nestedLists.length)
{
const indent = getMarkdownIndent(buf, iLineStart, i);
@ -4063,6 +4348,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
if (!headingLevel)
break;
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (!lineQuoted && quoteLevel)
i += endAllListsAndQuotes(buf, iLineStart, nestedLists, quoteLevel, quoteMacroLevel);
@ -4227,6 +4513,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
}
else
{
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (!lineQuoted && quoteLevel)
{
const delta = endAllListsAndQuotes(buf, iLineStart, nestedLists, quoteLevel, quoteMacroLevel);
@ -4263,6 +4550,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
{
if (leadingBlank && !inCode && replaceMarkdownThematicBreak(buf, i, iLineStart, loc))
{
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (!lineQuoted && quoteLevel)
i += endAllListsAndQuotes(buf, iLineStart, nestedLists, quoteLevel, quoteMacroLevel);
removeBlankLineMacro(buf, iPrecedingBlankLine, i);
@ -4290,6 +4578,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
break;
}
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (!lineQuoted && quoteLevel)
{
const delta = endAllListsAndQuotes(buf, iLineStart, nestedLists, quoteLevel, quoteMacroLevel);
@ -4317,6 +4606,7 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
// Check for a thematic break
if (replaceMarkdownThematicBreak(buf, i, iLineStart, loc))
{
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
if (!lineQuoted && quoteLevel)
i += endAllListsAndQuotes(buf, iLineStart, nestedLists, quoteLevel, quoteMacroLevel);
removeBlankLineMacro(buf, iPrecedingBlankLine, i);
@ -4418,6 +4708,20 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
break;
}
case '|':
{
if (inCode || !global.params.markdown)
{
leadingBlank = false;
break;
}
tableRowDetected = true;
inlineDelimiters ~= MarkdownDelimiter(i, 1, macroLevel, leadingBlank, false, false, c);
leadingBlank = false;
break;
}
case '\\':
{
leadingBlank = false;
@ -4480,19 +4784,20 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
int downToLevel = cast(int) inlineDelimiters.length;
while (downToLevel > 0 && inlineDelimiters[downToLevel - 1].macroLevel >= macroLevel)
--downToLevel;
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters, downToLevel);
if (headingLevel && headingMacroLevel >= macroLevel)
{
endMarkdownHeading(buf, iParagraphStart, i, loc, headingLevel);
removeBlankLineMacro(buf, iPrecedingBlankLine, i);
}
if (quoteLevel && quoteMacroLevel >= macroLevel)
i += endAllMarkdownQuotes(buf, i, quoteLevel);
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
while (nestedLists.length && nestedLists[$-1].macroLevel >= macroLevel)
{
i = buf.insert(i, ")\n)");
--nestedLists.length;
}
if (quoteLevel && quoteMacroLevel >= macroLevel)
i += endAllMarkdownQuotes(buf, i, quoteLevel);
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters, downToLevel);
--macroLevel;
quoteMacroLevel = 0;
@ -4566,12 +4871,13 @@ private void highlightText(Scope* sc, Dsymbols* a, Loc loc, OutBuffer* buf, size
buf.insert(buf.offset, ")");
size_t i = buf.offset;
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters);
if (headingLevel)
{
endMarkdownHeading(buf, iParagraphStart, i, loc, headingLevel);
removeBlankLineMacro(buf, iPrecedingBlankLine, i);
}
i += endRowAndTable(buf, iLineStart, i, loc, inlineDelimiters, columnAlignments);
i += replaceMarkdownEmphasis(buf, loc, inlineDelimiters);
endAllListsAndQuotes(buf, i, nestedLists, quoteLevel, quoteMacroLevel);
}

View file

@ -0,0 +1,47 @@
// PERMUTE_ARGS:
// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -o- -preview=markdown
// POST_SCRIPT: compilable/extra-files/ddocAny-postscript.sh
/*
TEST_OUTPUT:
----
----
*/
/++
# Tables
| Rounding mode | rndint(4.5) | rndint(5.5) | rndint(-4.5) | Notes |
| ------------- | ----------: | ----------: | -----------: | ----- |
| Round to nearest | 4 | 6 | -4 | Ties round to an even number |
| Round down | 4 | 5 | -5 | &nbsp; |
| Round up | 5 | 6 | -4 | &nbsp; |
| Round to zero | 4 | 5 | -4 | &nbsp; |
this|that
----|----
cell|cell<br>sell
| abc | def |
| --- | --- |
| bar |
| *bar* | baz | boo |
> | quote |
> | ----- |
> | table |
* | list |
| ---- |
| table |
| default | left | center | right |
| --- | :-- | :--: | --: |
Look Ma, a table without a body!
| not | a | table |
| -- |
| wrong number of header columns |
+/
module test.compilable.ddoc_markdown_tables;

View file

@ -0,0 +1,19 @@
// PERMUTE_ARGS:
// REQUIRED_ARGS: -D -Dd${RESULTS_DIR}/compilable -o- -preview=markdown -transition=vmarkdown
// POST_SCRIPT: compilable/extra-files/ddocAny-postscript.sh
/*
TEST_OUTPUT:
----
compilable/ddoc_markdown_tables_verbose.d(19): Ddoc: formatting table '| this | that |'
----
*/
/++
Table:
| this | that |
| ---- | ---- |
| cell | cell |
+/
module test.compilable.ddoc_markdown_tables_verbose;

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -0,0 +1,552 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test.compilable.ddoc_markdown_tables</title>
<style type="text/css" media="screen">
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, address, cite, code, del, dfn, em, figure,
img, ins, kbd, q, s, samp, small, strong, sub, sup, var, b, u, i, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
background: transparent none repeat scroll 0 0;
border: 0 none;
font-size: 100%;
margin: 0;
outline: 0 none;
padding: 0;
vertical-align: baseline;
}
h1 { font-size: 200%; }
h2 { font-size: 160%; }
h3 { font-size: 120%; }
h4 { font-size: 100%; }
h5 { font-size: 80%; }
h6 { font-size: 80%; font-weight: normal; }
ul, ol {
margin: 1.4em 0;
}
ul ul, ol ol, ul ol, ol ul {
margin-top: 0;
margin-bottom: 0;
}
ul, ol {
margin-left: 2.8em;
}
ol {
list-style: decimal;
}
ol ol {
list-style: lower-alpha;
}
ol ol ol {
list-style: lower-roman;
}
ol ol ol ol {
list-style: decimal;
}
blockquote {
margin: 0.1em;
margin-left: 1em;
border-left: 2px solid #cccccc;
padding-left: 0.7em;
}
.color_red { color: #dc322f; }
.color_blue { color: #268bd2; }
.color_green { color: #859901; }
.color_yellow { color: #b58901; }
.color_black { color: black; }
.color_white { color: white; }
.font_big {
font-size: 1.2em;
}
.ddoc_section_h {
font-weight: bold;
font-size: 13px;
line-height: 19.5px;
margin-top: 11px;
display: block;
}
body.dlang .dlang {
display: inline-block;
}
body.dlang .declaration .dlang {
display: block;
}
body.dlang .ddoc_header_anchor a.dlang {
display: block;
color: rgba(0, 136, 204, 1);
text-decoration: none;
}
body.dlang .ddoc_header_anchor .code {
color: rgba(0, 136, 204, 1);
}
#ddoc_main .module {
border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
border-style: none solid solid;
border-width: 0 1px 1px;
overflow-x: hidden;
padding: 15px;
}
#ddoc_main .section .section {
margin-top: 0;
}
#ddoc_main .ddoc_module_members_section {
padding: 1px 0 0;
transition: transform 0.3s ease 0s;
}
#ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members section.intro {
background: #fff none repeat scroll 0 0;
list-style-type: none;
width: 100%;
}
#ddoc_main .ddoc_header_anchor {
font-size: 1.4em;
transition: transform 0.3s ease 0s;
}
#ddoc_main .ddoc_header_anchor > .code {
display: inline-block;
}
#ddoc_main .ddoc_decl {
background-color: transparent;
height: 100%;
left: 0;
top: 0;
padding: 0;
padding-left: 15px;
}
#ddoc_main .ddoc_decl .section, #ddoc_main .section.ddoc_sections {
background: white none repeat scroll 0 0;
margin: 0;
padding: 5px;
position: relative;
border-radius: 5px;
}
#ddoc_main .ddoc_decl .section h4:first-of-type, #ddoc_main .section.ddoc_sections h4:first-of-type {
font-size: 13px;
line-height: 1.5;
margin-top: 21px;
}
#ddoc_main .section .declaration {
margin-top: 21px;
}
#ddoc_main .section .declaration .code {
color: rgba(0, 0, 0, 1);
margin-bottom: 15px;
padding-bottom: 6px;
}
#ddoc_main .declaration div .para {
margin-bottom: 0;
}
#ddoc_main .ddoc_params .graybox tr td:first-of-type {
padding: 7px;
text-align: right;
vertical-align: top;
word-break: normal;
white-space: nowrap;
}
#ddoc_main .ddoc_params .graybox {
border: 0 none;
}
#ddoc_main .ddoc_params .graybox td {
border-color: rgba(214, 214, 214, 1);
}
#ddoc_main .ddoc_params .graybox tr:first-child > td {
border-top: 0 none;
}
#ddoc_main .ddoc_params .graybox tr:last-child > td {
border-bottom: 0 none;
}
#ddoc_main .ddoc_params .graybox tr > td:first-child {
border-left: 0 none;
}
#ddoc_main .ddoc_params .graybox tr > td:last-child {
border-right: 0 none;
width: 100%;
}
#ddoc_main em.term, #ddoc_main em.term .code {
color: rgba(65, 65, 65, 1);
font-size: 12px;
font-style: italic;
line-height: 1.5;
}
#ddoc_main .see-also {
cursor: pointer;
font-family: Menlo,monospace;
}
#ddoc_main .ddoc_decl .section > div:last-of-type {
margin-bottom: 15px;
}
#ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members {
transition: transform 0.3s ease 0s;
}
#ddoc_main .code_sample {
background: inherit;
}
#ddoc_main .declaration .code-line {
display: block;
font: 1em Menlo,monospace;
}
#ddoc_main a[name] {
margin: -112px 0 0;
padding-top: 112px;
}
#ddoc_main .ddoc_decl td {
max-width: inherit;
}
#ddoc_main .declaration a {
color: inherit;
}
#ddoc_main .declaration a:hover {
color: rgba(0, 136, 204, 1);
text-decoration: underline;
}
body.ddoc {
background-color: transparent;
color: rgba(0, 0, 0, 1);
font-family: Helvetica,Arial,sans-serif;
font-size: 62.5%;
margin: 0;
border: 0;
left: 0;
top: 0;
padding: 0;
}
.ddoc a[name] {
display: block;
height: 0;
margin: -85px 0 0;
padding-top: 85px;
width: 0;
}
.ddoc .module {
border-color: transparent;
background-color: rgba(255, 255, 255, 1);
border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
border-image: none;
border-style: none solid solid;
border-width: 0 1px 1px;
box-shadow: 0 0 1px rgba(0, 0, 0, 0.07);
display: block;
margin-left: 0;
min-height: calc(100% - 173px);
overflow: auto;
padding-bottom: 100px;
}
.ddoc .content_wrapper {
background-color: rgba(242, 242, 242, 1);
margin: 0 auto;
max-width: 980px;
}
.ddoc .section {
padding: 15px 25px 30px;
}
.ddoc .section .section {
margin: 30px 0 0;
padding: 0;
}
.ddoc .para {
color: rgba(65, 65, 65, 1);
font-size: 1.4em;
line-height: 145%;
margin-bottom: 15px;
}
.ddoc .ddoc_examples .para {
margin-bottom: 0;
}
.ddoc .module_name {
color: rgba(0, 0, 0, 1);
display: block;
font-family: Helvetica;
font-size: 2.8em;
font-weight: 100;
margin-bottom: 0;
padding: 15px 0;
}
.ddoc .module a {
color: rgba(0, 136, 204, 1);
text-decoration: none;
}
.ddoc .code {
color: rgba(128, 128, 128, 1);
font-family: Menlo,monospace;
font-size: 0.85em;
word-wrap: break-word;
}
.ddoc .code i {
font-style: normal;
}
.ddoc .code .code {
font-size: 1em;
}
.ddoc .code_sample {
background-clip: padding-box;
margin: 1px 0;
text-align: left;
}
.ddoc .code_sample {
display: block;
font-size: 1.4em;
margin-left: 21px;
}
.ddoc ol .code_sample {
font-size: 1em;
}
.ddoc .code_lines {
counter-reset: li;
line-height: 1.6em;
list-style: outside none none;
margin: 0;
padding: 0;
}
.ddoc .code_listing .code_sample div {
margin-left: 13px;
width: 93%;
}
.ddoc .code_listing .code_sample div .code_lines li {
list-style-type: none;
margin: 0;
padding-right: 10px;
}
.ddoc .code_sample div .code_lines li::before {
margin-left: -33px;
margin-right: 25px;
}
.ddoc .code_sample div .code_lines li:nth-child(n+10)::before {
margin-left: -39px;
margin-right: 25px;
}
.ddoc .code_sample div .code_lines li:nth-child(n+100)::before {
margin-left: -46px;
margin-right: 25px;
}
.ddoc .code_sample .code_lines .code {
color: #000;
}
.ddoc div.dlang {
margin: 10px 0 21px;
padding: 4px 0 2px 10px;
}
.ddoc div.dlang {
margin: 10px 0 21px;
padding: 4px 0 2px 10px;
}
.ddoc div.dlang {
border-left: 5px solid rgba(0, 155, 51, 0.2);
}
.ddoc .code_lines li::before {
color: rgba(128, 128, 128, 1);
content: counter(li, decimal);
counter-increment: li;
font-family: Menlo,monospace;
font-size: 0.9em;
margin-right: 16px;
}
.ddoc .code_lines li {
padding-left: 0;
white-space: pre-wrap;
}
.ddoc .code_lines li:only-of-type::before {
color: rgba(255, 255, 255, 1);
content: " ";
}
.ddoc .code_lines li:only-of-type {
color: rgba(255, 255, 255, 1);
content: " ";
}
.ddoc .code_lines li:nth-child(n+10) {
text-indent: -17px;
}
.ddoc .code_lines li:nth-child(n+10)::before {
margin-right: 12px;
}
.ddoc .graybox {
border: 1px solid rgba(233, 233, 233, 1);
border-collapse: collapse;
border-spacing: 0;
empty-cells: hide;
margin: 20px 0 36px;
text-align: left;
}
.ddoc .graybox p {
margin: 0;
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}
.punctuation {
color: rgba(0, 0, 0, 1);
}
.comment {
color: rgba(0, 131, 18, 1);
}
.operator {
color: #000;
}
.keyword {
color: rgba(170, 13, 145, 1);
}
.keyword_type {
color: rgba(170, 51, 145, 1);
}
.string_literal {
color: rgba(196, 26, 22, 1);
}
.ddoc_psuper_symbol {
color: rgba(92, 38, 153, 1);
}
.param {
color: rgba(0, 0, 0, 1);
}
.psymbol {
color: rgba(0, 0, 0, 1);
}
.ddoc_member_header .ddoc_header_anchor .code {
font-size: 1em;
}
</style>
</head>
<body id="ddoc_main" class="ddoc dlang">
<div class="content_wrapper">
<article class="module">
<h1 class="module_name">test.compilable.ddoc_markdown_tables</h1>
<section id="module_content"><section class="section ddoc_sections">
<div class="ddoc_summary">
<p class="para">
<h1>Tables</h1>
</p>
</div>
<div class="ddoc_description">
<h4>Discussion</h4>
<p class="para">
<table><thead><tr><th>Rounding mode</th><th align="right">rndint(4.5)</th><th align="right">rndint(5.5)</th><th align="right">rndint(-4.5)</th><th>Notes</th></tr></thead><tbody><tr><td>Round to nearest</td><td align="right">4</td><td align="right">6</td><td align="right">-4</td><td>Ties round to an even number</td></tr>
<tr><td>Round down</td><td align="right">4</td><td align="right">5</td><td align="right">-5</td><td>&nbsp;</td></tr>
<tr><td>Round up</td><td align="right">5</td><td align="right">6</td><td align="right">-4</td><td>&nbsp;</td></tr>
<tr><td>Round to zero</td><td align="right">4</td><td align="right">5</td><td align="right">-4</td><td>&nbsp;</td></tr>
</tbody></table>
<table> <thead><tr><th>this</th><th>that</th></tr></thead><tbody> <tr><td>cell</td><td>cell<br>sell</td></tr>
</tbody></table>
<table><thead><tr><th>abc</th><th>def</th></tr></thead><tbody><tr><td>bar</td></tr>
<tr><td><em>bar</em></td><td>baz</td></tr>
</tbody></table>
<blockquote><table><thead><tr><th>quote</th></tr></thead><tbody><tr><td>table</td></tr>
</tbody></table>
</blockquote><ul><li><table><thead><tr>
<th>list</th></tr></thead><tbody> <tr><td>table</td></tr>
</tbody></table></li>
</ul>
<table><thead><tr><th>default</th><th align="left">left</th><th align="center">center</th><th align="right">right</th></tr></thead><tbody></tbody></table>
Look Ma, a table without a body!
<br><br>
| not | a | table |
| -- |
| wrong number of header columns |
</p>
</div>
</section>
</section>
</article>
</div>
</body>
</html>

View file

@ -0,0 +1,525 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>test.compilable.ddoc_markdown_tables_verbose</title>
<style type="text/css" media="screen">
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, address, cite, code, del, dfn, em, figure,
img, ins, kbd, q, s, samp, small, strong, sub, sup, var, b, u, i, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
background: transparent none repeat scroll 0 0;
border: 0 none;
font-size: 100%;
margin: 0;
outline: 0 none;
padding: 0;
vertical-align: baseline;
}
h1 { font-size: 200%; }
h2 { font-size: 160%; }
h3 { font-size: 120%; }
h4 { font-size: 100%; }
h5 { font-size: 80%; }
h6 { font-size: 80%; font-weight: normal; }
ul, ol {
margin: 1.4em 0;
}
ul ul, ol ol, ul ol, ol ul {
margin-top: 0;
margin-bottom: 0;
}
ul, ol {
margin-left: 2.8em;
}
ol {
list-style: decimal;
}
ol ol {
list-style: lower-alpha;
}
ol ol ol {
list-style: lower-roman;
}
ol ol ol ol {
list-style: decimal;
}
blockquote {
margin: 0.1em;
margin-left: 1em;
border-left: 2px solid #cccccc;
padding-left: 0.7em;
}
.color_red { color: #dc322f; }
.color_blue { color: #268bd2; }
.color_green { color: #859901; }
.color_yellow { color: #b58901; }
.color_black { color: black; }
.color_white { color: white; }
.font_big {
font-size: 1.2em;
}
.ddoc_section_h {
font-weight: bold;
font-size: 13px;
line-height: 19.5px;
margin-top: 11px;
display: block;
}
body.dlang .dlang {
display: inline-block;
}
body.dlang .declaration .dlang {
display: block;
}
body.dlang .ddoc_header_anchor a.dlang {
display: block;
color: rgba(0, 136, 204, 1);
text-decoration: none;
}
body.dlang .ddoc_header_anchor .code {
color: rgba(0, 136, 204, 1);
}
#ddoc_main .module {
border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
border-style: none solid solid;
border-width: 0 1px 1px;
overflow-x: hidden;
padding: 15px;
}
#ddoc_main .section .section {
margin-top: 0;
}
#ddoc_main .ddoc_module_members_section {
padding: 1px 0 0;
transition: transform 0.3s ease 0s;
}
#ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members section.intro {
background: #fff none repeat scroll 0 0;
list-style-type: none;
width: 100%;
}
#ddoc_main .ddoc_header_anchor {
font-size: 1.4em;
transition: transform 0.3s ease 0s;
}
#ddoc_main .ddoc_header_anchor > .code {
display: inline-block;
}
#ddoc_main .ddoc_decl {
background-color: transparent;
height: 100%;
left: 0;
top: 0;
padding: 0;
padding-left: 15px;
}
#ddoc_main .ddoc_decl .section, #ddoc_main .section.ddoc_sections {
background: white none repeat scroll 0 0;
margin: 0;
padding: 5px;
position: relative;
border-radius: 5px;
}
#ddoc_main .ddoc_decl .section h4:first-of-type, #ddoc_main .section.ddoc_sections h4:first-of-type {
font-size: 13px;
line-height: 1.5;
margin-top: 21px;
}
#ddoc_main .section .declaration {
margin-top: 21px;
}
#ddoc_main .section .declaration .code {
color: rgba(0, 0, 0, 1);
margin-bottom: 15px;
padding-bottom: 6px;
}
#ddoc_main .declaration div .para {
margin-bottom: 0;
}
#ddoc_main .ddoc_params .graybox tr td:first-of-type {
padding: 7px;
text-align: right;
vertical-align: top;
word-break: normal;
white-space: nowrap;
}
#ddoc_main .ddoc_params .graybox {
border: 0 none;
}
#ddoc_main .ddoc_params .graybox td {
border-color: rgba(214, 214, 214, 1);
}
#ddoc_main .ddoc_params .graybox tr:first-child > td {
border-top: 0 none;
}
#ddoc_main .ddoc_params .graybox tr:last-child > td {
border-bottom: 0 none;
}
#ddoc_main .ddoc_params .graybox tr > td:first-child {
border-left: 0 none;
}
#ddoc_main .ddoc_params .graybox tr > td:last-child {
border-right: 0 none;
width: 100%;
}
#ddoc_main em.term, #ddoc_main em.term .code {
color: rgba(65, 65, 65, 1);
font-size: 12px;
font-style: italic;
line-height: 1.5;
}
#ddoc_main .see-also {
cursor: pointer;
font-family: Menlo,monospace;
}
#ddoc_main .ddoc_decl .section > div:last-of-type {
margin-bottom: 15px;
}
#ddoc_main .ddoc_member, #ddoc_main .ddoc_module_members {
transition: transform 0.3s ease 0s;
}
#ddoc_main .code_sample {
background: inherit;
}
#ddoc_main .declaration .code-line {
display: block;
font: 1em Menlo,monospace;
}
#ddoc_main a[name] {
margin: -112px 0 0;
padding-top: 112px;
}
#ddoc_main .ddoc_decl td {
max-width: inherit;
}
#ddoc_main .declaration a {
color: inherit;
}
#ddoc_main .declaration a:hover {
color: rgba(0, 136, 204, 1);
text-decoration: underline;
}
body.ddoc {
background-color: transparent;
color: rgba(0, 0, 0, 1);
font-family: Helvetica,Arial,sans-serif;
font-size: 62.5%;
margin: 0;
border: 0;
left: 0;
top: 0;
padding: 0;
}
.ddoc a[name] {
display: block;
height: 0;
margin: -85px 0 0;
padding-top: 85px;
width: 0;
}
.ddoc .module {
border-color: transparent;
background-color: rgba(255, 255, 255, 1);
border-color: currentColor rgba(233, 233, 233, 1) rgba(233, 233, 233, 1);
border-image: none;
border-style: none solid solid;
border-width: 0 1px 1px;
box-shadow: 0 0 1px rgba(0, 0, 0, 0.07);
display: block;
margin-left: 0;
min-height: calc(100% - 173px);
overflow: auto;
padding-bottom: 100px;
}
.ddoc .content_wrapper {
background-color: rgba(242, 242, 242, 1);
margin: 0 auto;
max-width: 980px;
}
.ddoc .section {
padding: 15px 25px 30px;
}
.ddoc .section .section {
margin: 30px 0 0;
padding: 0;
}
.ddoc .para {
color: rgba(65, 65, 65, 1);
font-size: 1.4em;
line-height: 145%;
margin-bottom: 15px;
}
.ddoc .ddoc_examples .para {
margin-bottom: 0;
}
.ddoc .module_name {
color: rgba(0, 0, 0, 1);
display: block;
font-family: Helvetica;
font-size: 2.8em;
font-weight: 100;
margin-bottom: 0;
padding: 15px 0;
}
.ddoc .module a {
color: rgba(0, 136, 204, 1);
text-decoration: none;
}
.ddoc .code {
color: rgba(128, 128, 128, 1);
font-family: Menlo,monospace;
font-size: 0.85em;
word-wrap: break-word;
}
.ddoc .code i {
font-style: normal;
}
.ddoc .code .code {
font-size: 1em;
}
.ddoc .code_sample {
background-clip: padding-box;
margin: 1px 0;
text-align: left;
}
.ddoc .code_sample {
display: block;
font-size: 1.4em;
margin-left: 21px;
}
.ddoc ol .code_sample {
font-size: 1em;
}
.ddoc .code_lines {
counter-reset: li;
line-height: 1.6em;
list-style: outside none none;
margin: 0;
padding: 0;
}
.ddoc .code_listing .code_sample div {
margin-left: 13px;
width: 93%;
}
.ddoc .code_listing .code_sample div .code_lines li {
list-style-type: none;
margin: 0;
padding-right: 10px;
}
.ddoc .code_sample div .code_lines li::before {
margin-left: -33px;
margin-right: 25px;
}
.ddoc .code_sample div .code_lines li:nth-child(n+10)::before {
margin-left: -39px;
margin-right: 25px;
}
.ddoc .code_sample div .code_lines li:nth-child(n+100)::before {
margin-left: -46px;
margin-right: 25px;
}
.ddoc .code_sample .code_lines .code {
color: #000;
}
.ddoc div.dlang {
margin: 10px 0 21px;
padding: 4px 0 2px 10px;
}
.ddoc div.dlang {
margin: 10px 0 21px;
padding: 4px 0 2px 10px;
}
.ddoc div.dlang {
border-left: 5px solid rgba(0, 155, 51, 0.2);
}
.ddoc .code_lines li::before {
color: rgba(128, 128, 128, 1);
content: counter(li, decimal);
counter-increment: li;
font-family: Menlo,monospace;
font-size: 0.9em;
margin-right: 16px;
}
.ddoc .code_lines li {
padding-left: 0;
white-space: pre-wrap;
}
.ddoc .code_lines li:only-of-type::before {
color: rgba(255, 255, 255, 1);
content: " ";
}
.ddoc .code_lines li:only-of-type {
color: rgba(255, 255, 255, 1);
content: " ";
}
.ddoc .code_lines li:nth-child(n+10) {
text-indent: -17px;
}
.ddoc .code_lines li:nth-child(n+10)::before {
margin-right: 12px;
}
.ddoc .graybox {
border: 1px solid rgba(233, 233, 233, 1);
border-collapse: collapse;
border-spacing: 0;
empty-cells: hide;
margin: 20px 0 36px;
text-align: left;
}
.ddoc .graybox p {
margin: 0;
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}
.punctuation {
color: rgba(0, 0, 0, 1);
}
.comment {
color: rgba(0, 131, 18, 1);
}
.operator {
color: #000;
}
.keyword {
color: rgba(170, 13, 145, 1);
}
.keyword_type {
color: rgba(170, 51, 145, 1);
}
.string_literal {
color: rgba(196, 26, 22, 1);
}
.ddoc_psuper_symbol {
color: rgba(92, 38, 153, 1);
}
.param {
color: rgba(0, 0, 0, 1);
}
.psymbol {
color: rgba(0, 0, 0, 1);
}
.ddoc_member_header .ddoc_header_anchor .code {
font-size: 1em;
}
</style>
</head>
<body id="ddoc_main" class="ddoc dlang">
<div class="content_wrapper">
<article class="module">
<h1 class="module_name">test.compilable.ddoc_markdown_tables_verbose</h1>
<section id="module_content"><section class="section ddoc_sections">
<div class="ddoc_section">
<p class="para">
<span class="ddoc_section_h">Table:</span>
<table><thead><tr><th>this</th><th>that</th></tr></thead><tbody><tr><td>cell</td><td>cell</td></tr></tbody></table>
</p>
</div>
</section>
</section>
</article>
</div>
</body>
</html>

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}

View file

@ -449,11 +449,18 @@
min-width: 50px;
}
.ddoc th {
margin: 0;
max-width: 260px;
padding: 5px 10px 5px 10px;
vertical-align: bottom;
}
.ddoc td {
border: 1px solid rgba(233, 233, 233, 1);
margin: 0;
max-width: 260px;
padding: 5px 25px 5px 10px;
padding: 5px 10px 5px 10px;
vertical-align: middle;
}