Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Конвертация таблицы html в markdown с помощью bookmarklet (https://javascript.ru/forum/css-html/69806-konvertaciya-tablicy-html-v-markdown-s-pomoshhyu-bookmarklet.html)

vicci 18.07.2017 23:01

Конвертация таблицы html в markdown с помощью bookmarklet
 
Есть букмарклет который при выделении таблицы на странице конвертирует html код в markdown.
Код скрипта:
javascript:(function()%7Bvar rows%3Ddocument.querySelectorAll("tr")%3Bvar columnCount%3Drows%5B0%5D.querySelectorAll("td").length%3Bvar headers%3D%5B%5D.map.call(rows%5B0%5D.querySelectorAll("td"),function(e)%7Breturn e.textContent.replace(/%5Cn/gi,"")%3B%7D).join("%7C")%3Bvar seps%3Dnew Array(columnCount).join("---%7C")%2B"---"%3Bvar rowsStr%3D""%3Bfor(var i%3D1%3Bi<rows.length%3Bi%2B%2B)%7BrowsStr%2B%3D%5B%5D.map.call(rows%5Bi%5D.querySelectorAll("td"),function(e)%7Breturn e.textContent.replace(/%5Cn/gi,"")%3B%7D).join("%7C")%2B"%5Cn"%3B%7Dvar finalStr%3Dheaders%2B"%5Cn"%2Bseps%2B"%5Cn"%2BrowsStr%2B"%5Cn"%3Bvar elem%3Ddocument.createElement("PRE")%3Belem.textContent%3DfinalStr%3Bdocument.body.appendChild(elem)%3B%7D)()%3B


В итоге получается следующий пример:

Имя|Ключевое слово|URL
---|---|---
перевода En > Ru|tr|ссылка
перевода Ru > En|rt|ссылка
почты в Gmail|gmail|ссылка
новостей в Google Reader|reader|ссылка
в аккаунте Evernote|evernote|ссылка


Но мне нужно чтобы получалось так:
|Имя|Ключевое слово|URL|
|перевода En > Ru|tr|ссылка|
|перевода Ru > En|rt|ссылка|
|почты в Gmail|gmail|ссылка|
|новостей в Google Reader|reader|ссылка|
|в аккаунте Evernote|evernote|ссылка|


То есть добавляется знак "|" в начале и в конце каждой строки, а "---|---|---" вообще исключается.
Может кто-нибудь подсказать как переделать букмарклет?

vicci 19.07.2017 12:27

Проверил. Вы правы, с выделением он не работает. Он конвертирует все таблицы которые имеются на странице, и выводит в формате markdown в конце страницы.
Но это не первоочередная задача.Хотелось бы чтобы выполнялась задача которую я указал ранее:

"То есть добавляется знак "|" в начале и в конце каждой строки, а "---|---|---" вообще исключается."

Но если кто-может помочь усовершенствовать бурмарклет, добавив и функцию выделения, буду благодарен.


Часовой пояс GMT +3, время: 16:52.