diff --git a/lib/tables.js b/lib/tables.js index 7ec9d77..10a12ce 100644 --- a/lib/tables.js +++ b/lib/tables.js @@ -8,11 +8,11 @@ module.exports = { var sampleTable = [ "", - "Column A | Column B | Column C", - "---------|----------|---------", - " A1 | B1 | C1", - " A2 | B2 | C2", - " A3 | B3 | C3" + "| Column A | Column B | Column C |", + "| ---------|----------|--------- |", + "| A1 | B1 | C1 |", + "| A2 | B2 | C2 |", + "| A3 | B3 | C3 |" ].join("\n"); function addTable(addHeader) { @@ -31,7 +31,8 @@ function addTable(addHeader) { var tableColumnSeparator = /([ ]{2,}|[\t])/gi; function convertToTableWithoutHeader(text) { - var firstRow = text.match(/.+/); + var tableContent = "| " + text.trim().replace(tableColumnSeparator, " | ").trim().replace(/\n/g, " |\n| ") + " |"; + var firstRow = text.trim().match(/.+/); var columnSeparators = firstRow == null ? null : firstRow[0].match(tableColumnSeparator); var columnCount = columnSeparators == null ? 0 : columnSeparators.length; @@ -39,18 +40,18 @@ function convertToTableWithoutHeader(text) { for (var i = 0; i < columnCount + 1; i++) { line1.push("column" + i); } - var tableHeader = line1.join(" | ") + "\n"; + var tableHeader = "| " + line1.join(" | ") + " |\n"; tableHeader = tableHeader + tableHeader.replace(/[a-z0-9]/gi, "-"); - return tableHeader + text.replace(tableColumnSeparator, " | "); + return tableHeader + tableContent; } function convertToTableWithHeader(text) { - var textAsTable = text.replace(tableColumnSeparator, " | "); + var textAsTable = "| " + text.trim().replace(tableColumnSeparator, " | ").trim().replace(/\n/g, " |\n| ") + " |"; var firstRow = textAsTable.match(/.+/)[0]; var headerLine = firstRow.replace(/[^\|]/gi, "-"); - return firstRow + "\n" + headerLine + textAsTable.substring(firstRow.length); -} \ No newline at end of file + return firstRow + "\n" + headerLine + textAsTable.substring(firstRow.length); +}