J'utilisais une application appelée ** MacNote3 ** en tant qu'application de bloc-notes pouvant être gérée de manière hiérarchique sur un Mac.
MacNote3 → http://nsek.net/SYW/software/japanese/macnote3/index.html
Une autre raison pour laquelle j'ai aimé cette application était qu'elle avait une fonction de synchronisation (manuelle) avec l'application ** mmNote ** disponible sur les appareils iOS qui me permettait de partager des notes entre mon Mac et mon iPhone. mmNote → http://nsek.net/SYW/software/iPhoneJ/mmnote/index.html
Cependant, à un moment donné, mmNote a cessé de fonctionner avec la mise à jour iOS et je cherchais une application alternative, en l'utilisant uniquement sur mon Mac.
La fonction que je voulais
C'était simple, mais je n'ai rien trouvé qui puisse être géré de manière hiérarchique. (Je pensais que Microsoft OneNote serait bon, mais je ne me suis pas habitué aux notes et aux sections.)
À ce moment-là, un ami m'a présenté une application appelée ** Write **. Write → http://writeapp.net/ Write vous permet de gérer vos notes dans plusieurs couches et vous pouvez utiliser l'intégration entre les appareils Mac et iOS en synchronisant avec iCloud ou DropBox.
Ce qui est encore plus excitant, c'est qu'il prend en charge la ** notation MarkDown **, et le clavier virtuel de l'iPhone a été conçu pour que vous puissiez facilement saisir des symboles utiles pour MarkDown. ** Note application pour MarkDown **. Il prend également en charge la fonction d'aperçu de MarkDown, la sortie de conversion au format HTML et la sortie PDF. C'est incroyable.
C'est une application payante, mais je pensais que ce n'était pas cher, j'ai donc décidé d'acheter les trois (version Mac, version iPhone et version iPad séparément) et de faire une transition à grande échelle.
Maintenant, pour migrer, vous devez retirer environ 400 (?) Notes que vous avez actuellement de MacNote3.
Heureusement, je n'ai pas utilisé de texte enrichi et je n'ai pas collé d'images, je devrais donc simplement extraire le texte.
Au début, je voulais le récupérer directement à partir du dossier de données utilisé par MacNote3, mais les données enregistrées pour chaque note sont au format XML (?), Et la partie texte est dans un format converti en code tel que BASE64. Donc je ne pouvais pas le faire simplement. MacNote 3 a également la possibilité d'exporter des notes, mais il était fastidieux de le faire manuellement pour chaque note.
J'étais sur le point d'abandonner, mais je me suis souvenu que MacNote3 était compatible avec AppleScript, et quand j'ai regardé le glossaire de MacNote3 dans l'éditeur de script, il y avait des classes et des méthodes qui pouvaient être utilisées, donc il y avait des essais et des erreurs, mais le résultat J'ai pu récupérer le texte de toutes les notes à la fois avec un script simple.
J'ai créé un script qui supprime le titre et le corps d'une note, ajoute chaque ligne de délimitation et le produit dans un fichier texte. Si vous le pouvez, vous pouvez le faire avec un si petit nombre de lignes.
ManNote3export.scpt
tell application "MacNote3"
set titleList to ""
set saveFile to choose file name
open for access saveFile with write permission
set allPages to all pages
repeat with aPage in allPages
set pTitle to title of aPage
set pText to text of aPage
write "== MacNote title ==" & return to saveFile
write pTitle & return to saveFile
write "== MacNote text ==" & return to saveFile
write pText & return to saveFile
write "== MacNote end ==" & return to saveFile
set titleList to titleList & pTitle & return
end repeat
close access saveFile
display dialog "L'exportation est terminée."
set the clipboard to titleList
end tell
Puisque le code de caractère des données texte extraites par AppleScript est SHIFT-JIS, convertissez-le en UTF-8 avec un éditeur de texte qui peut convertir le code de caractère. (Quand je l'ai converti sur la ligne de commande avec iconv, j'ai eu une erreur parce que les données internes étaient fausses, donc je l'ai converti facilement avec Jedit X)
Dans les données de MacNote3, le dossier (séparation de la hiérarchie) était comme des données de note sans texte, donc en l'utilisant, créez un dossier, faites-y une note en un seul fichier et donnez le titre J'ai écrit un programme en Python qui crée des données texte avec des noms de fichiers et convertit des notes à la fois.
Après cela, je l'ai jeté dans le dossier Write de DropBox et l'ai synchronisé avec mon Mac, iPhone et iPad.
Au début, j'ai essayé de le faire avec AppleScript, mais je n'ai pas maîtrisé le code des caractères et Write n'était pas compatible avec AppleScript. Donc, quand j'écrivais en Perl, ce à quoi je n'avais pas l'habitude, une connaissance m'a dit que "Python est facile", donc quand je l'ai écrit en étudiant avec des informations sur le Web, c'était relativement facile comme conseillé.
Je suis nouveau sur Python, donc c'est enfantin et embarrassant, mais j'ai décidé de l'exposer dans l'espoir d'un conseil. Toutes suggestions, conseils ou suggestions sont les bienvenus.
SepNote.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import codecs
import os
odir = 'MacNote'
otitle = ""
odata = ""
ostart = 0
fin = codecs.open('conv.txt','r','utf-8')
for row in fin:
linedata = row.rstrip()
if '== MacNote title ==' in linedata:
ostart = 1
elif '== MacNote text ==' in linedata:
ostart = 2
elif '== MacNote end ==' in linedata:
if len(odata)< 2:
odir = otitle
else:
if not os.path.exists(odir): os.mkdir(odir)
ofname = otitle.replace('/', '_')
if len(ofname)>20: ofname = ofname[0:20]
ofneme = odir + '/' + ofname + '.txt'
fout_utf = codecs.open(ofneme,'w','utf-8')
fout_utf.write(u'■' + otitle + '\n')
fout_utf.write(odata)
fout_utf.close()
otitle = ''
odata = ''
ostart = 0
elif ostart == 1:
otitle = linedata
odata = ''
else:
odata = odata + linedata + '\n'
fin.close()
Recommended Posts