-
-
Save hyuki/5716e50bd6f57841f90daf11fbc939e2 to your computer and use it in GitHub Desktop.
Dynalist to note converter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<!-- | |
- Written by Hiroshi Yuki in 2022. | |
- This code is licensed under CC0. | |
- http://creativecommons.org/publicdomain/zero/1.0/deed.ja | |
--> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Dynalist to note converter</title> | |
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@exampledev/new.css@1.1.2/new.min.css"> | |
</head> | |
<body> | |
<h1>Dynalist to note converter</h1> | |
<h2>Input</h2> | |
<textarea id="INPUT-TEXTAREA" rows="20" cols="80">- Dynalist to note converter - Dynalistで書いた数式まじりの文章をnoteに貼り付けるための変換ツール | |
- これは何? | |
- Dynalistで書いた数式まじりの文章をnoteに貼り付けるための変換ツールです。 | |
- たとえば$$x^2 + y^2 = z^2$$のようにDynalistで書いた数式はnoteでも数式になります。 | |
- いま読んでいるこのnote自体、このツールを使って変換したものになります。 | |
- といっても実のところ、試しに作ったものなのでけっこういいかげんです。ソースコードを公開しておきますので、自分好みに改造して使ってください。 | |
- 変換手順 | |
- 変換する手順は次のようになります。 | |
- Dynalistで文章を書きます。 | |
- メニューから次の手順でクリップボードにエクスポートします。「Export...」→「Plain Text」→「Dashes」→「Copy to Clipboard」 | |
- noteで「テキスト」を作成し、編集状態でペーストします。 | |
- 変換ルール | |
- 現時点での変換ルールは次のようになっています。 | |
- タイトルは、通常の文章になります。noteのタイトルには手動でコピペするイメージです。 | |
- 第一レベルの項目は大見出し(`#`)になります。 | |
- 第二レベルの項目は通常の文章になります。 | |
- 第三レベルの項目は箇条書き(`-`)になります。 | |
- 数式はインライン数式(`$${数式]$$`)になります。 | |
- これ以外はまったく変換しません。ですからたとえば第四レベルよりも深いレベルの項目はnote側では「コード」扱いになってしまいます。 | |
</textarea> | |
<p><button type="button" id="CONVERT-BUTTON" href="#">Convert</button></p> | |
<h2>Output</h2> | |
<textarea id="OUTPUT-TEXTAREA" rows="20" cols="80"></textarea> | |
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> | |
<script> | |
$(function() { | |
$('#CONVERT-BUTTON').click(function() { | |
let text = $('#INPUT-TEXTAREA').val(); | |
text = text.split(/\n/).map(line => { | |
line = line.replace(/^- /, ''); | |
line = line.replace(/^ {4}- /, '# '); | |
line = line.replace(/^ {8}- /, ''); | |
line = line.replace(/^ {12}- /, '- '); | |
line = line.replace(/\$\$([^{$]+[^}])\$\$/g, (matched, math) => { return '$${' + math + '}$$'; }); | |
return line; | |
}).join("\n\n"); | |
$('#OUTPUT-TEXTAREA').val(text); | |
}); | |
}); | |
</script> | |
</body> | |
</html> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Dynalist
Exporting
Converting
Result