Eingang.md
*Bildunterschriften sind die Aufgabe, der visuellen Szene eine Beschreibung in natürlicher Sprache zu geben
*Neuronaler Encoder in diesem Bereich in den letzten 5 Jahren-Decoder ist beliebt
*sota ist ein CNN-Encoder, LSTM(Und Transformator)Es besteht aus einem Decoder und einem Aufmerksamkeitsmechanismus.
Schreiben Sie im Markdown mit *
oder -
.
In der Scrapbox entspricht ein Leerzeichen einem Einzug + Aufzählungszeichen (schwarzer Kreis ●) und wird daher durch ein Leerzeichen ersetzt.
Ausgabe.txt
Bildunterschriften sind die Aufgabe, der visuellen Szene eine Beschreibung in natürlicher Sprache zu geben
Neuronaler Encoder in diesem Bereich in den letzten 5 Jahren-Decoder ist beliebt
sota ist ein CNN-Encoder, LSTM(Und Transformator)Es besteht aus einem Decoder und einem Aufmerksamkeitsmechanismus.
Auf Scrapbox sieht es so aus
Eingang.md
[27]Ist ein CNN-Encoder,Vorschlag eines Modells bestehend aus LSTM-Decoder
Konvertiert eckige Klammern [], die zum Zitieren von Papieren verwendet werden, in runde Klammern () Der Grund dafür ist, dass in Scrapbox eckige Klammern [] Verknüpfungen zwischen Artikeln bedeuten.
Ausgabe.txt
(27)Ist ein CNN-Encoder,Vorschlag eines Modells bestehend aus LSTM-Decoder
Eingang.md
## 2.Verwandte Forschung
### 2.1. Image Captioning
Im Abschlag werden h1 bis h6 als Überschriften ausgedrückt, indem mehrere "#" fortgesetzt werden.
In der Scrapbox befindet sich keine Überschrift. Verwenden Sie stattdessen Fettdruck. Schließen Sie fette Buchstaben in eckige Klammern ein []. [[Zeichenfolge, die Sie hervorheben möchten]]
Ausgabe.txt
[[ 2.Verwandte Forschung]]
[[ 2.1. Image Captioning]]
Auf Scrapbox sieht es so aus
Eingang.md
$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
In Markdown können Sie eine Formel in einer Zeile mit "$ formel
Ausgabe.txt
[$ f_t = \sigma(W_f \cdot (h_{t-1}, x_t) + b_f)]
Auf Scrapbox sieht es so aus
Wenn Sie in Scrapbox eine Formelnummer wie "\ tag {1}" eingeben, passt diese übrigens nicht in eine Zeile, sondern in zwei Zeilen. Diesmal können wir damit nicht umgehen.
Eingang.md
**Schwerpunkttest**
Im Markdown können Sie es fett ausdrücken, indem Sie eine Methode wie "** das Zeichen, das Sie hervorheben möchten" verwenden. In der Scrapbox wird es, wie oben erwähnt, zu "[[hervorzuhebende Zeichenfolge]]".
Ausgabe.txt
[[Schwerpunkttest]]
Ersetzen Sie einfach den String durch "re" und "str.replace ()". Ich würde mich freuen, wenn Sie mich wissen lassen könnten, ob es etwas Seltsames gibt.
Die Farbe des Syntax-Highlights ist aufgrund des Einflusses von Escape \
... verschwunden.
md2scrapbox.py
import os
import argparse
import re
parser = argparse.ArgumentParser()
parser.add_argument("in_file")
args = parser.parse_args()
sentence = "" # output
tab = " "
space = " "
bullet = "* "
strong = r"\*\*.*\*\*.?"
title = r"#*"
math = r"\$[^\$]*\$"
with open(args.in_file, "r") as f:
lines = f.readlines()
for line in lines:
# blaket
line = line.replace("[", "(")
line = line.replace("]", ")")
# indentation
for m in re.finditer(tab, line):
line = re.sub(tab, space, line)
line = line.replace(bullet, space, 1)
# title
m = re.search(title, line)
if len(m.group()) > 0:
line = "[[" + line[m.end():].replace("\n", "") + "]]\n"
# math
m = re.findall(math, line)
if m:
for matched in m:
m2 = re.sub(r"^\$", "[$ ", matched)
m2 = re.sub(r"\$$", "]", m2)
line = line.replace(matched, m2)
sentence += line
continue
else:
# enphasis
m = re.findall(strong, line)
if m:
for matched in m:
m2 = re.sub(r"^\*\*", "[[", matched)
m2 = re.sub(r"\*\*$", "]]", m2)
line = line.replace(matched, m2)
sentence += line
print("==========")
print(sentence)
dirname = os.path.dirname(args.in_file)
name = os.path.basename(args.in_file)
name, ext = os.path.splitext(name)
name = name + "_scrapbox.txt"
name = os.path.join(dirname, name)
print(name)
with open(name, "w") as f:
f.write(sentence)
python md2scrapbox.py path/to/some_file.md
Das Konvertierungsergebnis wird umbenannt und am selben Speicherort wie die Eingabe gespeichert Im obigen Beispiel ist es "path / to / some_file_scrapbox.txt".
Sie müssen lediglich die fertige Zeichenfolge in die Scrapbox einfügen.
Recommended Posts