contribution.md
*Le sous-titrage d'image consiste à donner une description en langage naturel à la scène visuelle
    *Codeur neuronal dans ce domaine au cours des 5 dernières années-le décodeur est populaire
        *sota est un encodeur CNN, LSTM(Et transformateur)Il se compose d'un décodeur et d'un mécanisme d'attention.
Dans Markdown, écrivez avec * ou -.
Dans scrapbox, un caractère d'espace équivaut à un retrait + puce (cercle noir ●), il sera donc remplacé par un espace.
production.txt
Le sous-titrage d'image consiste à donner une description en langage naturel à la scène visuelle
Codeur neuronal dans ce domaine au cours des 5 dernières années-le décodeur est populaire
sota est un encodeur CNN, LSTM(Et transformateur)Il se compose d'un décodeur et d'un mécanisme d'attention.
 Ça ressemble à ça sur scrapbox
Ça ressemble à ça sur scrapbox
contribution.md
[27]Est un encodeur CNN,Proposer un modèle composé d'un décodeur LSTM
Convertit les crochets [] utilisés pour citer des articles en crochets () La raison en est que dans scrapbox, les crochets [] signifient des liens entre les articles.
production.txt
(27)Est un encodeur CNN,Proposer un modèle composé d'un décodeur LSTM
contribution.md
## 2.Recherche connexe
### 2.1. Image Captioning
Dans la démarque, h1 à h6 sont exprimés sous forme de titres en continuant le multiple #
Il n'y a pas de titre dans scrapbox, alors utilisez plutôt du gras. Mettez les lettres en gras entre crochets []. [[Chaîne de caractères que vous souhaitez mettre en valeur]]
production.txt
[[ 2.Recherche connexe]]
[[ 2.1. Image Captioning]]
 Ça ressemble à ça sur scrapbox
Ça ressemble à ça sur scrapbox
contribution.md
$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
Dans Markdown, vous pouvez exprimer une formule sur une ligne avec $ formule $.
Dans scrapbox, vous pouvez faire la même chose avec «[$ formule]».
production.txt
[$ f_t = \sigma(W_f \cdot (h_{t-1}, x_t) + b_f)]
 Ça ressemble à ça sur scrapbox
Ça ressemble à ça sur scrapbox
Au fait, dans scrapbox, si vous entrez un numéro de formule tel que «\ tag {1}», il ne rentrera pas dans une ligne, mais ce sera sur deux lignes. Cette fois, nous ne pouvons pas gérer cela.
contribution.md
**Test d'accentuation**
Dans le démarque, vous pouvez l'exprimer en gras en utilisant une méthode telle que «** le caractère que vous souhaitez mettre en valeur **».
Dans scrapbox, comme mentionné ci-dessus, il devient [[chaîne de caractères à souligner]].
production.txt
[[Test d'accentuation]]
Remplacez simplement la chaîne par re et str.replace ().
J'apprécierais que vous me fassiez savoir s'il y a quelque chose d'étrange.
La couleur de la surbrillance de la syntaxe a disparu en raison de l'influence de l'échappement \ ...
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
Le résultat de la conversion sera renommé et enregistré au même emplacement que l'entrée
Dans l'exemple ci-dessus, ce sera path / to / some_file_scrapbox.txt.
Tout ce que vous avez à faire est de coller la chaîne de caractères complétée dans scrapbox.
Recommended Posts