Greasy Fork is available in English.

Comic Adapter: Sandra & Woo

Extract Info for Comicslate

// ==UserScript==
// @name			Comic Adapter: Sandra & Woo
// @version			2019.05.22.2
// @description		Extract Info for Comicslate
// @include			http*://*sandraandwoo.com*
// @author			Rainbow-Spike
// @namespace		https://greasyfork.org/users/7568
// @homepage		https://greasyfork.org/ru/users/7568-dr-yukon
// @icon			https://www.google.com/s2/favicons?domain=sandraandwoo.com
// @grant			none
// @run-at			document-end
// ==/UserScript==

var titler = document.querySelector ( ".post-comic h2" ), // поиск блока титула
	entry = document.querySelector ( ".entry" ), // поиск блока примечаний
	entry_p = entry.querySelectorAll ( "p" ), // поиск параграфов в примечаниях
	entry_li = entry.querySelectorAll ( "li" ), // поиск списков в примечаниях
	trans = document.querySelector ( ".transcript" ), // поиск блока транскрипта
	tag_div = document.querySelector ( ".tags" ), // поиск блока тегов
	tag_a = tag_div.querySelectorAll ( "a" ), // список тегов
	texter = '', // заготовка для вики-кода
	texter1 = ''; // заготовка для транскрипта

// ВЫДЕЛЕНИЕ
function selectblock ( name ) {
	var rng = document.createRange ();
	rng.selectNode ( name );
	var sel = window.getSelection ();
	sel.removeAllRanges ();
	sel.addRange ( rng );
}

// ТИТУЛ
texter += titler.innerHTML
.replace ( /\[(\d+)\] (.*)/, "== Sandra and Woo $1 ==<br>**$2**<br>{cnav}<br>{{$1.png}}<br>" )
.replace ( /^\[(\d+)\]$/, "== Sandra and Woo $1 ==<br>{cnav}<br>{{$1.png}}<br>" ); // запись титульной части вики-кода
titler.innerHTML = titler.innerHTML.replace ( /\[(\d+)\].*/, "$1" ); // зачистка титула до номера

// ТРАНСКРИПТ
if ( trans !== null ) { // если блок транскрипта не пустой
 texter1 += "&lt;!--"+trans.innerHTML+"--&gt;<br>"; // запись транскрипта в комментарий в вики-коде
 trans.parentNode.removeChild ( trans ); // удаление блока транскрипта
}

// ПАРАГРАФЫ ПРИМЕЧАНИЙ
for ( var i = 0; i < entry_p.length; i++ ) {
 texter += "<br>"+entry_p[i].innerHTML
 .replace ( /<a [^<]+ href="([^"]+)">([^<]+)<\/a>/g, "[[$1|$2]]" )
 .replace ( /<em>([^<]+)<\/em>/g, "//$1//" )
 .replace ( /<strong>([^<]+)<\/strong>/g, "**$1**" )+"\\\\<br>"; // докувикификация и запись параграфов примечаний в вики-код
}

// СПИСКИ ПРИМЕЧАНИЙ
for ( var j = 0; j < entry_li.length; j++ ) {
 texter += "&nbsp;&nbsp;* "+entry_li[j].innerHTML
 .replace ( /<a [^"]+ href="([^"]+)">([^<]+)<\/a>/g, "[[$1|$2]]" )
 .replace ( /<em>([^<]+)<\/em>/g, "//$1//" )
 .replace ( /<strong>([^<]+)<\/strong>/g, "**$1**" )+"<br>"; // докувикификация и запись списков примечаний в вики-код
}

texter += texter1; // добавить транскрипт

// ТЕГИ
if ( tag_div !== null ) { // если блок тегов не пустой
 for ( var k = 0; k < tag_a.length; k++ ) {
 tag_a[k].innerHTML = tag_a[k].innerHTML.replace ( / /g, "_" ); // обработка каждого тега
 }
 texter += tag_div.innerHTML
 .replace ( /, /g, " " )
 .replace ( /└ Tags: (.*) \s+/, "{{tag>$1}}<br>" ); // обработка строки с тегами и её запись в вики-код
 tag_div.parentNode.removeChild ( tag_div ); // удаление блока тегов
}

texter += "{cnav}"; // концовка вики-кода
texter = texter.replace ( "\\\\<br>&nbsp;&nbsp;*", "<br>&nbsp;&nbsp;*" ); // полировка
entry.innerHTML = texter; // запись собранного вики-кода вместо примечаний

selectblock ( entry );