Bloggerのエディターの代わりにStackEditを使う続編

前回の続き

前回はコードブロックに空行があるとタグ崩壊して非常につらいとこで終わったので今回はタグをescapeして回避したいと思います

function replaceCodeTagCallback(match, language, code) {
    return  `\`\`\`${language}\n${code}\`\`\``;
}
  
function escapeCodeTag(string) {
    if (typeof string !==  'string') {
        return string;
    }
    return string.replace(/<pre><code class="prism language-(.+?)">((.|\n)+?)<\/code><\/pre>/gm, replaceCodeTagCallback);
}

こちらを例のごとくcontentScript.jsのdecorateTextareaよりの行に挿入して

stackedit.openFile({
    name: location.hostname,
    content: {
        text: escapeCodeTag(el.value),
        properties: preset,
    },
});

stackedit.openFile内のtext: 以降を書き換えてください。

眠くてやっつけ感ありますが以上となります。
あと既知のバグとしてコードタグ内にタグがあるとStackEditのコード認識がバグるようです()

コメント

このブログの人気の投稿

Stellaris 2.0.1 植民スパムプレイ

Stellaris ver2.0 Apocalypse プレイ感想

Xperia XZs SOV35をAndroid 8.0にアップデートしてみた