Saya akhirnya menemukan jalur pipa ekspor, tetapi itu menyebalkan. Ini catatan saya dari melakukan itu:
Matikan jaringan Anda untuk mencegah OneNote dari melakukan sinkronisasi OneDrive yang panjang setelah setiap ekspor.
Di daftar Notes, perluas notebook untuk melihat semua tab.
Klik kanan tab dan klik "Ekspor ...".
Klik dropdown tipe file dan tekan Muntuk memilih .docx
format. Tekan Enteruntuk memilihnya.
Tekan Enterlagi untuk menyimpan file yang diekspor.
Ulangi langkah 2-5 untuk setiap tab di buku catatan.
Atur pandoc dan buka jendela PowerShell atau cmd.
cd ke direktori tempat .docx
file yang diekspor berada.
Untuk setiap .docx
file yang diekspor , gunakan perintah pandoc berikut untuk mengonversinya menjadi penurunan harga (ganti journal
dengan nama file Anda):
pandoc --extract-media='' --wrap=preserve '.\journal.docx' -o journal.md
Berikut ini penjelasan dari perintah: --extract-media=''
memberi tahu pandoc untuk mengekstrak gambar dari .docx
file dan menempatkannya di subfolder default (dinamai 'media' secara default). --wrap=preserve
mengatakan pandoc tidak membungkus file output dengan linebreak (yang merupakan default). Bidang selanjutnya adalah nama file input, dan -o
singkatan dari 'output', demikian journal.md
juga nama file output.
Jika Anda tidak ingin membagi file ini (misalnya, jika tab Anda hanya berisi satu halaman), lanjutkan ke langkah 15.
(Ketika Anda melakukan banyak ini, Anda dapat menekan tombol ↑(panah atas) untuk memanggil kembali perintah sebelumnya di shell, lalu edit nama file.)
Buat folder baru untuk menyimpan halaman di tab. Untuk contoh ini, sekarang semua halaman dari tab Jurnal kami di OneNote dihaluskan bersama journal.md
. Buat folder bernama journal
yang akan menyimpan halaman-halaman akhir yang dipisahkan sebagai file individu .md.
Jika ada gambar dalam .docx
file, ini akan diekspor ke folder baru bernama media
. Seret folder media, jika ada, ke folder yang baru saja Anda buat sekarang. (Inilah sebabnya mengapa kita perlu melakukan setiap operasi pandoc secara terpisah, karena setiap ekspor akan membuat folder media yang terpisah, dan kami ingin menyimpannya secara terpisah sehingga tautan dalam file penurunan harga berfungsi dengan benar. Kita dapat menulis skrip cerdas untuk melakukan semua ini secara otomatis, tetapi akan memakan waktu lebih sedikit untuk melakukannya secara manual, kecuali jika Anda memiliki banyak buku catatan.) (Catatan: Anda dapat menyimpan langkah dengan meletakkan nama pengguna yang Anda inginkan dalam kutipan tunggal --extract-media=''
argumen — untuk .docx
file dengan gambar, folder akan dibuat secara otomatis untuk Anda.)
Buka terminal bash dan cd ke direktori yang berisi .md
file. Folder yang Anda buat pada langkah 10 harus menjadi subfolder dari yang ini (kecuali jika Anda memperbaiki jalur dalam perintah berikut).
Jika Anda belum melakukannya, klik ikon Windows Bash window, klik Properties, periksa QuickEdit Mode, lalu klik OK. Sekarang klik pada ikon Windows Bash window lagi, kali ini klik pada Defaults, periksa QuickEdit Mode, dan kemudian klik OK (jadi windows Bash baru yang Anda buat di masa depan akan mengingat pengaturan ini). Sekarang Anda dapat memilih teks di terminal dan tekan Ctrl+ Cuntuk menyalin, atau klik kanan jendela terminal untuk menempelkan teks ke clipboard. Sekarang kita dapat menyiapkan perintah di lokasi yang terpisah, dan dengan cepat menempel setiap versi ke Bash.
Kustomisasi perintah berikut dan jalankan untuk setiap .md
file yang ingin Anda bagi menjadi beberapa halaman:
csplit ./journal.md --keep-files --prefix='journal/journalentry '
--suffix-format='%i.md' --elide-empty-files '/^\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\),/-2' '{*}'
(Ketikkan sebagai satu baris.)
Seperti yang Anda lihat, journal.md
adalah nama file penurunan harga kami (dalam direktori saat ini, dilambangkan dengan ./
), kemunculan kedua journal
(setelah --prefix='
) adalah nama subfolder kami yang akan berisi file-file split, dan journalentry
setiap nama file akan diberi nama (diikuti oleh nomor indeks).
Jika Anda ingin memahami perintah ini, inilah penjelasannya: --keep-files
masih mencetak file ketika terjadi kesalahan atau akhir file, memastikan halaman terakhir akan ditampilkan dengan benar (karena tidak berakhir pada pola ekspresi reguler kami). --prefix
mengatur skema penamaan file output. --suffix-format
memungkinkan kita untuk mengatur ekstensi file kita ( .md
dalam hal ini), tetapi kita harus memasukkan %i
pernyataan sprintf yang menampilkan nomor indeks file tersebut. --elide-empty-files
melompati menghasilkan file kosong, yang tidak kami pedulikan. Akhirnya, ekspresi reguler, yang dimulai dengan '/
dan diakhiri dengan/-2'
, menentukan kapan harus membagi file: ia mengatakan "Ketika Anda menemukan (/) di awal baris (^) berikut ini (() Senin atau (\ |) Selasa atau Rabu atau Rabu atau Kamis atau Jumat atau Sabtu atau Minggu () ) diikuti oleh koma, mundur dua baris (-2) "dan pisahkan file di sana, menghasilkan apa yang kita miliki sampai sekarang. Bit terakhir '{*}'
,, mengulangi perintah sebelumnya tanpa batas, hingga akhir file tercapai.
Seret .docx
dan .md
file ke dalam folder, ucapkan folder yang Anda buat sekarang disebut intermediates
. Atau Anda bisa menghapusnya. Sangat menyenangkan untuk menyimpannya sebentar, sampai Anda merasa nyaman dengan format file baru Anda, jika Anda ingin kembali dan merujuk sesuatu yang terjadi selama proses konversi. Memindahkan mereka ke folder perantara sekarang akan kasar kesempatan lupa di mana kita berada dan mengulangi langkah-langkah.
Ulangi langkah 9-14 untuk setiap .docx
file yang diekspor dari OneNote.
Sekarang Anda memiliki satu folder untuk setiap tab, dengan banyak .md
file terpisah di dalamnya, satu untuk setiap halaman! Ditambah media
folder di setiap subfolder yang memiliki gambar di tab OneNote.
Saya sarankan mengekspor setiap buku catatan OneNote Anda sebagai .mht
file (Halaman Web File Tunggal), atau, jika Anda mau, a .pdf
. Dengan cara ini, jika ada pemformatan yang hilang atau informasi lain di beberapa file penurunan harga Anda, karena beberapa konversi, Anda selalu dapat kembali dan dengan mudah melihat bagaimana seharusnya terlihat dalam .mht
file. Selain itu, saya akan merekomendasikan mengekspor masing-masing buku catatan OneNote Anda sebagai .onepkg
file (Paket OneNote), sehingga Anda memiliki salinan ekspor akhir yang bagus jika Anda ingin membuka kembali buku catatan di OneNote dalam format file asli / asli (ini mungkin berguna jika, misalnya, .mht
file tersebut juga kehilangan beberapa format asli yang ingin Anda pulihkan).
Saat Anda menyelesaikan setiap buku catatan, klik kanan buku catatan di OneNote dan klik "Tutup Buku Catatan ini" sehingga Anda tidak akan secara tidak sengaja mengedit buku catatan dan harus mengekspor kembali perubahan baru Anda. Untuk folder penurunan harga, saya juga membuat folder untuk setiap buku catatan, dan meletakkan semua folder tab di dalamnya.
Ketika Anda selesai dengan seluruh proyek ekspor, Anda bisa pergi ke OneDrive Anda dan menghapus semua buku catatan OneNote asli Anda yang telah disinkronkan di sana (pastikan Anda membuat cadangan file Anda sendiri sekarang, tentu saja! Ada OneDrive untuk Linux, atau Anda dapat mencoba sesuatu seperti Syncthing).
Akhirnya, kita bisa mengganti nama semua file .md menjadi judul halaman OneNote mereka, yang merupakan baris pertama di setiap file, dengan menggunakan dua skrip. Buat file-file berikut:
File 1: ~/scripts/rename-files-to-first-line.sh
for i in *md ; do mv -n "$i" "$(cat "$i"|head -n1|tr -d '\000-\037[]{}()/\?*')".md; done
File 2: ~/scripts/recurse.sh
CDIR=$(pwd)
for i in $(ls -R | grep :); do
DIR=${i%:} # Strip ':'
cd $DIR
$1 # Your command
cd $CDIR
done
Kemudian navigasikan ke folder catatan Anda dan jalankan recurse.sh
perintah menggunakan rename-files-to-first-line.sh
perintah sebagai argumen:
$ ~/scripts/recurse.sh ~/scripts/rename-files-to-first-line.sh
Anda akan melihat skrip melalui semua file Anda secara rekursif, melemparkan beberapa kesalahan pada file dengan baris pertama yang aneh (yang tidak akan dikonversi ke nama file) dan pada kasus tepi lainnya. Namun, mv
perintah dalam rename-files-to-first-line
dijalankan dengan argumen -n
, yang akan mencegahnya menimpa file apa pun. Mungkin ada beberapa catatan yang tidak diganti namanya, karena baris pertama di dalamnya kosong atau sesuatu yang aneh, tetapi Anda bisa memperbaiki beberapa file secara manual.
Berjemur di tempat bersih Anda dari OneNote.