2016-01-28 5 views
0

Я бы хотел конвертировать таблицы уценки в текстильные.Regexp, которые конвертируют таблицы уценки в текстильные

таблицы Markdown следовать этой схеме:

| column | column | 
|--------|--------| 
|  |  | 

Хотя текстильный это одна:

|_.column |_.column | 
|   |   | 

Теперь я написал следующее выражение:

text.gsub(/\|[-|]+/, '') 

Это удалить |--------| бруски. Я хотел бы также добавить _. перед каждым заголовком столбца, чтобы сделать их полужирным.

У вас есть идея получить этот результат?

ответ

1

Я не знаю, рубин вообще, следовательно, не может быть уверен, что ничего о своих собственных syntaxic аспектах. Так вот 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 и с добавлением пробелов или сокращением названия.

3

Вы можете использовать pandoc:

pandoc mytable.md -t textile -o mytable.textile 

 Смежные вопросы

  • Нет связанных вопросов^_^