「フィルターされたNotionページによるMediaWiki」の版間の差分
Notion-MW タグ: 差し戻し済み |
Notion-MW タグ: 手動差し戻し |
||
64行目: | 64行目: | ||
=== pandocの実行 === | === pandocの実行 === | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python">cp.spawn("pandoc", ["-f","gfm","-t", "mediawiki", "--shift-heading-level-by=1"]);</syntaxhighlight> | ||
cp.spawn("pandoc", ["-f","gfm","-t", "mediawiki", "--shift-heading-level-by=1"]);</syntaxhighlight> | |||
<code>gfm</code>(Github Flavored Markdown)から<code>mediawiki</code>に変換する。<code>--shift-heading-level-by=1</code>は、[https://www.mediawiki.org/wiki/Help:Formatting/ja Help:書式整形 - MediaWiki]にもある通り、MediaWikiの記事内ではレベル1の見出しは非推奨だからである。 | <code>gfm</code>(Github Flavored Markdown)から<code>mediawiki</code>に変換する。<code>--shift-heading-level-by=1</code>は、[https://www.mediawiki.org/wiki/Help:Formatting/ja Help:書式整形 - MediaWiki]にもある通り、MediaWikiの記事内ではレベル1の見出しは非推奨だからである。 | ||
120行目: | 117行目: | ||
コードにおいて、言語がpythonなどの良く知られたものに設定されていると、pandocによって<strong>syntaxhighlight</strong>タグに変えられてしまう。今回はSyntaxHightlight拡張機能が無効のMediaWikiを使っているので、言語にダミー文字列を付加する(付加ではなくダミー文字列だけにしても変わらないが、情報を落とすのは勿体ない気がしたので)。またpandoc側の問題で<code>visual basic</code>のように言語名にスペースが入っていると<code>visual</code>だけになってしまうようなので、スペースをアンダースコアに置換。 | コードにおいて、言語がpythonなどの良く知られたものに設定されていると、pandocによって<strong>syntaxhighlight</strong>タグに変えられてしまう。今回はSyntaxHightlight拡張機能が無効のMediaWikiを使っているので、言語にダミー文字列を付加する(付加ではなくダミー文字列だけにしても変わらないが、情報を落とすのは勿体ない気がしたので)。またpandoc側の問題で<code>visual basic</code>のように言語名にスペースが入っていると<code>visual</code>だけになってしまうようなので、スペースをアンダースコアに置換。 | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python">language = "dummy_str_"+language?.replace(" ", "_");//for MediaWiki without SyntaxHightlight extension</syntaxhighlight> | ||
language = "dummy_str_"+language?.replace(" ", "_");//for MediaWiki without SyntaxHightlight extension</syntaxhighlight> | |||
<span id="notion-to-mdts内"></span> | <span id="notion-to-mdts内"></span> | ||
=== <code>notion-to-md.ts</code>内 === | === <code>notion-to-md.ts</code>内 === | ||
133行目: | 127行目: | ||
解説が面倒なのでコードだけとりあえず。 | 解説が面倒なのでコードだけとりあえず。 | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="javascript">//`のみcodeに変え、```は```のままという仕様の場合 | ||
//`のみcodeに変え、```は```のままという仕様の場合 | |||
if (content.type === "text"){ | if (content.type === "text"){ | ||
if (type == "code"){ | if (type == "code"){ |