mieki256's diary



2023/12/03() [n年前の日記]

#1 [pc][windows] EvernoteからObsidianに移行できないか試してみた

Evernoteの無料プランの制限が厳しくなったらしいので、今まで溜めていたメモを別の何かに逃がしてみることにした。

_「Evernote」無料プランの上限変更が正式決定、導入は12月4日から - 窓の杜
_Evernote、無料プランを大幅制限 ノートの上限数が10万→50に - ITmedia NEWS


ひとまず、ローカルで動作して、クラウドにデータをアップロードしたりしない、Obsidian というMarkdownエディタにインポートできないか試してみた。

_Obsidian - Sharpen your thinking

環境は、Windows10 x64 22H2。

Evernoteからエクスポート :

Evernoteに溜めこんだメモ(ノートブック、ノート)を、何かしらのファイルとしてエクスポートしたい。デスクトップ上で動作する Evernote Legacy で、エクスポートしたいノートブックを右クリックして、エクスポートを選んだ。.enex を選択。

ちなみに、Evernote Legacy ではなく、現行版Evernoteでも同じことをしたのだけど、現行版でエクスポートした .enex を他の変換ツールに渡すと、 「無題のノート」なるファイルが500ファイル以上出来上がってしまってよろしくなかった。何故かは分からないけど、自分の環境の場合は、Legacy 版でエクスポートしたほうが良さそうだなと…。

ついでに、単一htmlや複数htmlでもエクスポートしておいた。これで万が一、Evernote が利用できなくなっても、メモを参照することぐらいはできるだろう…。

Obsidianにインポート :

最初は、importer というプラグインをインストールして利用したのだけど、ノートが955ほどあるはずなのに、600前後しか .md ファイルになってない。どう見ても大量にノートを取りこぼしている…。

ググっていたら、Yarle という変換ツールが良さそうに見えた。

_akosbalasko/yarle: Yarle - The ultimate converter of Evernote notes to Markdown
_[Obsidian] Evernoteからの移行ツール - 端くれプログラマの備忘録
_EvernoteからObsidianへの移行 | 備忘録とか、買ったものとか
_Yarle のコマンドを使ってEvernoteのノート(ENEX形式)をMarkdownファイルに変換する - ラボラジアン

yarle-evernote-to-md_win_x64.exe を入手して実行。以下にインストールされて、かつ、自動起動した。
C:\Users\(USERNAME)\AppData\Local\Programs\yarle-evernote-to-md\

保存しておいた .enex を指定して、保存場所を指定。途中で変換オプションを尋ねてくるけれど、デフォルトのまま試した。

数分ほど変換処理にかかって、出力フォルダに大量の .md が保存された。

Obsidian で管理してるフォルダの中に、Evernote というフォルダを作成して、その中に今回変換した .md ファイル群をフォルダごと移動。

Obsidian を起動すると、.mdファイル群を読み込んでくれたようで、検索すると Evernote から持ってきたメモもリストアップされた。

ただ、ノートが955あるはずなのに、951ファイルの .md しかない…。4ファイルというか、4ノートほど消滅している…。さて、一体どれが変換できなかったのか…。

Yarle の変換オプションで、タグのネストのあたりを Yes にしたり等色々試してたら、955ファイルが出力された。どのあたりのオプションを弄ったのかよく覚えてないのがなんともアレだけど、とりあえずそのあたりを色々変えて処理すれば改善する場合もあるようだなと…。

また、Evernote側で、複数のhtmlとしてノート群をエクスポートしておけば、各ノートのタイトルとノート数を確認できるだろうから、それと照らし合わせてどのノートが変換されなかったのか絞り込むこともできるかもしれない。

タグが反映されない :

Obsidian で Evernoteから持ってきた .md を確認したところ、Evernote上でつけていたタグが反映されてないことに気づいた。

.md の中を覗くと、例えば以下のような記述があったので、タグ情報を取り出すことはできているようだけど…。
Tags: #Aterm #Router

以下のページを目にして理由が分かった。

_Tags - Obsidian Help

通常、Obsidian上でタグを指定する時は、「#タグ名」で記述するけれど、「tags:」を使ってタグを記述する時は、フォーマットが違ってくるらしい。例えば前述のタグ情報は、以下のように書かないといけない。
tags:
  - Aterm
  - Router

950ファイルも手作業で修正するのは厳しいので、簡単なRubyスクリプトを書いて修正することにした。

ただ、元の .md は、最初のあたりの改行コードが CRLF、本文の改行コードが LF になっていて、Rubyスクリプトで元の改行コードの混在ぶりを反映させる方法が分からない…。解決策が思いつかなかったので、仕方なく今回は、全部CRLFで出力し直してしまうことにした。

__conv_tag.rb
# Yarle が出力した md ファイルの Tags: 行を変更。
# Source URL の行も削除する。
# カレントフォルダ内の *.md 全てを対象にして処理をする。

require "fileutils"

write_enable = true
# write_enable = false

Dir.glob("./*.md").each do |fn|
  puts fn

  # backup file
  if write_enable
    FileUtils.cp(fn, fn + ".bak")
  end

  # read file
  # f = File.open(fn, "rb:utf-8")
  f = File.open(fn, "r:utf-8")
  buf = f.read()
  f.close

  # lines = buf.split(/\r\n/)
  # lines = buf.split(/\r/)
  lines = buf.split(/\R/)

  lines_new = []
  lines.each { |s|
    if s =~ /Source URL: \[\]\(.+\)/
      puts s
      next
    end

    if s =~ /^Tags:/
      tags = s.split(" ")
      tags_new = []
      tags.each do |t|
        if t == "Tags:"
          tags_new.push("tags:")
        elsif t =~ /^#(.+)/
          tags_new.push("  - #{$1}")
        end
      end
      tags_new.each { |t| puts t }
      tags_new.each { |t| lines_new.push(t) }
      next
    end

    lines_new.push(s)
  }

  # write file
  if write_enable

    # LF
    # f = File.open(fn, mode = "wb")

    # CRLF
    f = File.open(fn, mode = "w")

    # f.write(lines_new.join("\r\n"))
    f.write(lines_new.join("\n"))

    f.close
  end
end

.md が入ってるディレクトリの中で、以下を実行。
ruby _conv_tag.rb

"Source URL"の行がエラーになる :

.md の最初のあたりに、以下のような記述の行があると、タグ等が反映されない状態になってしまう。

Source URL: [](http://yoshidastyle.net/Blogs/2013/05/27/microsoft-office-excel-2000-2003-err)

ざっと見た感じ、メモの本文中にも該当URLがメモしてあることが多かったので、行ごと削除してしまうことにした。前述の _conv_tag.rb の中で一緒に処理してしまった。

暗号化部分の確認 :

Evernote上では「選択したテキストを暗号化」を使って、パスワードを入力しないと内容が見れない箇所をいくつか設定していた。変換後の .md内では、該当部分は謎の文字列になっていた。これでは何が書いてあったのか分らない…。

ただ、どうも規則性と言うか、最初の部分だけはどれも同じ文字列に見えたので、変換後の .md の中から特定文字列を検索することで、暗号化が使われていたノートを絞り込めた。自分の場合、「RU5DM」で検索すると、利用されている場所がリストアップされた。このあたりは環境やパスワードによって違う文字列になるのかもしれない。

後は以下の作業をコツコツと。
  1. Obsidian上で、特定文字列で検索して、使われている .md を開いた。
  2. Evernote上で、該当するノートを探して、暗号化を解除して、元の文字列をコピー。
  3. Obsidian上で、元文字列を追加していった。

スクリプトの類を書いて自動化できそうな気もするけれど…。

#2 [pc][windows] EvernoteからOneNoteに移行できないか試してみた

Evernote から Microsoft OneNote にメモを持っていけないか試してみた。OneNote というのは…要するに Microsoft版 Evernote と言ってしまったほうが分かりやすいのだろうか…?

環境は Windows10 x64 22H2。

ググった感じでは evernote2onenote というツールが使えるとの評判らしい。

_Evernote2Onenote - Stefans Tools

ちなみに、昔は公式の移行ツールがあったらしいけど、今ではなくなってしまったそうで…。

とりあえず、Evernote2Onenote-1.3.6.zip を入手して解凍。中には Evernote2Onenote.exe が入っていた。実行すると、起動する。

Evernote Legacy からエクスポートしておいた .enex を開いたら、即座に変換処理が走り始めて、数分後に変換が終わった。

OneNote 2016 を起動。OneNote for Windows10 ではないことに注意。

今まであったノートブックとは別のノートブックとして、まるっと追加された。

たしかに取り込むことはできたけど、ちょっと問題が…。

問題点 :

Evernote上の各タグは、OneNote上ではセクションという単位に ―― 複数のページがまとめられてる状態に変換されたのだけど。Evernote上でタグが複数設定されていたノートは、OneNote上では複数のセクションの中に、同じ内容のページとして作られてしまうようで…。

例えば、Evernote上の1つのノートに、「gimp」「cg_tools」「g'mic」「linux」と4つのタグがつけられていると、OneNote上では、同じ内容のページが、「gimp」「cg_tools」「g'mic」「linux」の4つのセクションの中に作られてしまう。結果、ページ数が何倍にもなってしまった。

このあたり、OneNote にはタグという概念が無いから、こうするしかないということなのかな…。

また、Web上のどこかしら(OneDrive?)と同期させるのも難しそう。Evernoteから取り込んだノート群は、ひとまずローカル上にファイルとして作られているけれど、ファイル → 情報、から、取り込まれたノートブックを「同期」しようとしたところ、同期処理がいつまで経っても終わらない状態になった。どうやら、一気にWebと同期させるのは難しいようだなと…。別のノートブックを作成して、少しずつセクションやノートを移動しつつ、チマチマと同期しないといかんのかもしれない。

色々試してたら、各セクションの中に、何故か同じページが2つ作られている状態になってしまった。どうしてこんなことに…。

一部、画像が移行できてないノート(ページ)もあった。空のページだけがあって悩んだけれど、Evernote上で確認したら画像が一枚だけ貼ってあるノートだった。

#3 [movie] 「アルキメデスの大戦」を視聴

BS12で放送されていたので視聴してみた。漫画を原作としているらしい、2019年公開の邦画。VFXに強い山崎貴監督の作品。もしかすると今回の放送は、「ゴジラ-1.0」の援護射撃的な放送なのだろうか。

基本設定としては、太平洋戦争が始まる前、戦艦大和を建造するかどうかを決める会議の場で、数学を武器にして孤軍奮闘する主人公の姿を描く、みたいな感じの内容。

恥ずかしながら、そういう原作があったことも知らなかった上に、こういう映画があったことすら知らなかったのだけど。見てみたら、かなり面白かった…。特に最後のあたりの展開が…。いやー、そうきたかー、と唸ってしまった。敵対する人物の台詞が良い…。全然違う土俵で戦ってたのだなあ、と…。

それにしても、2010年に実写版宇宙戦艦ヤマトを作った山崎監督が、10年後にこういう内容の映画を作って、しかもその後、ゴジラに繋がっていくわけで。この流れと言うか、どんどんバージョンアップしていく様子がなんだか面白いなと…。各映画を作るにあたって、「"ヤマト"って一体何なんだろう?」「日本人って何なんだろ?」的なことを少なからず考えていたはずだし…。結果的に、何か1本繋がってきたように思えるわけで、そこがまた興味深いというか…。

以上、1 日分です。

過去ログ表示

Prev - 2023/12 - Next
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project