将降价表转换为纺织表的正则表达式
Regexp that convert markdown tables to textile ones
我想转换 textile one 中的降价表。
Markdown 表格遵循以下模式:
| column | column |
|--------|--------|
| | |
纺织这个:
|_.column |_.column |
| | |
现在我写了下面的表达式:
text.gsub(/\|[-|]+/, '')
即删除|--------|
栏。
我还想在每个列标题前添加 _.
,以使它们成为粗体。
你有什么办法得到这个结果吗?
您可以使用 pandoc
:
pandoc mytable.md -t textile -o mytable.textile
我根本不知道 ruby,因此不能确定它自己的语法方面的任何事情。所以这是一个 Javascript 提议的解决方案,希望它广为人知以便于轻松转换:
function markdown2textileTables(source) {
var lines = source.split('\n');
lines.forEach(function(line, index, lines) {
if (!!line.match(/^\|(?:[-]+\|)+$/)) {
var prevLineCols = lines[index - 1].split('|');
prevLineCols = prevLineCols.map(function(col) {
return !!col ? '_.' + col.trim() : col;
});
lines[index - 1] = prevLineCols.join('|');
lines.splice(index, 1);
}
});
return lines.join('\n');
}
工作示例here。
请注意,从 | column |
更改为 |_.column|
时,我没有注意标题列的长度,因为我不知道它是否重要。
如果是,上面的代码需要在 return !!col ? '_.' + col.trim() : col;
语句处进行改进,具体取决于当前 col.length
并添加空格或切割标题。
我想转换 textile one 中的降价表。
Markdown 表格遵循以下模式:
| column | column |
|--------|--------|
| | |
纺织这个:
|_.column |_.column |
| | |
现在我写了下面的表达式:
text.gsub(/\|[-|]+/, '')
即删除|--------|
栏。
我还想在每个列标题前添加 _.
,以使它们成为粗体。
你有什么办法得到这个结果吗?
您可以使用 pandoc
:
pandoc mytable.md -t textile -o mytable.textile
我根本不知道 ruby,因此不能确定它自己的语法方面的任何事情。所以这是一个 Javascript 提议的解决方案,希望它广为人知以便于轻松转换:
function markdown2textileTables(source) {
var lines = source.split('\n');
lines.forEach(function(line, index, lines) {
if (!!line.match(/^\|(?:[-]+\|)+$/)) {
var prevLineCols = lines[index - 1].split('|');
prevLineCols = prevLineCols.map(function(col) {
return !!col ? '_.' + col.trim() : col;
});
lines[index - 1] = prevLineCols.join('|');
lines.splice(index, 1);
}
});
return lines.join('\n');
}
工作示例here。
请注意,从 | column |
更改为 |_.column|
时,我没有注意标题列的长度,因为我不知道它是否重要。
如果是,上面的代码需要在 return !!col ? '_.' + col.trim() : col;
语句处进行改进,具体取决于当前 col.length
并添加空格或切割标题。