मैंने एक निर्यात पाइपलाइन ढूंढने का काम किया, लेकिन यह एक दर्द था। यहाँ मेरे नोट्स ऐसा करने से हैं:
OneNote को प्रत्येक निर्यात के बाद एक लंबा OneDrive सिंक करने से रोकने के लिए अपना नेटवर्क बंद करें।
नोटबुक सूची में, सभी टैब देखने के लिए नोटबुक का विस्तार करें।
एक टैब पर राइट क्लिक करें और "निर्यात करें ..." पर क्लिक करें।
फ़िलाटाइप ड्रॉपडाउन पर क्लिक करें और प्रारूप Mका चयन करने के लिए दबाएँ .docx। Enterइसे चुनने के लिए दबाएँ ।
Enterनिर्यात की गई फ़ाइल को सहेजने के लिए फिर से दबाएं ।
नोटबुक में प्रत्येक टैब के लिए चरण 2-5 दोहराएं।
पंडोक सेट करें और एक PowerShell या cmd विंडो खोलें।
cd निर्देशिका में जहाँ निर्यात की गई .docxफ़ाइलें स्थित हैं।
प्रत्येक निर्यात की गई .docxफ़ाइल के लिए, इसे मार्कडाउन ( journalअपनी फ़ाइल के नाम के साथ बदलें ) में परिवर्तित करने के लिए निम्न पंडोक कमांड का उपयोग करें :
pandoc --extract-media='' --wrap=preserve '.\journal.docx' -o journal.md
यहाँ कमांड की व्याख्या है: फ़ाइल --extract-media=''से चित्र निकालने .docxऔर उन्हें डिफ़ॉल्ट सबफ़ोल्डर (डिफ़ॉल्ट रूप से 'मीडिया' नाम दिया गया) में डालने के लिए पिंडोक बताता है । --wrap=preserveबताता है कि पैंडोक हार्डब्रीक के साथ आउटपुट फाइल को हार्ड-रैप नहीं करता है (जो कि डिफ़ॉल्ट है)। अगला क्षेत्र इनपुट फ़ाइल नाम है, और -o'आउटपुट' के लिए खड़ा है, इसलिए journal.mdआउटपुट फ़ाइल नाम है।
यदि आप इस फ़ाइल को विभाजित नहीं करना चाहते हैं (उदाहरण के लिए, यदि आपके टैब में केवल एक पृष्ठ है), तो चरण 15 पर जाएं।
(जब आप इनमें से एक गुच्छा बना रहे हैं, तो आप ↑शेल में पिछले कमांड को याद करने के लिए (ऊपर तीर) कुंजी दबा सकते हैं , फिर फ़ाइल नाम संपादित करें।)
टैब में पृष्ठों को संग्रहीत करने के लिए एक नया फ़ोल्डर बनाएँ। इस उदाहरण के लिए, अभी OneNote में हमारे जर्नल टैब के सभी पृष्ठ एक साथ मैश किए हुए हैं journal.md। एक फोल्डर बनाएं, journalजो अंतिम अलग पेजों को अलग-अलग .md फाइलों के रूप में संग्रहित करेगा।
यदि .docxफ़ाइल में कोई चित्र थे , तो उन्हें एक नए फ़ोल्डर में निर्यात किया जाएगा जिसे कहा जाता है media। मीडिया फ़ोल्डर को खींचें, यदि यह मौजूद है, तो आपके द्वारा अभी बनाए गए फ़ोल्डर में। (यही कारण है कि हमें प्रत्येक pandoc ऑपरेशन को अलग-अलग करने की आवश्यकता है, क्योंकि प्रत्येक निर्यात एक अलग मीडिया फ़ोल्डर बनाएगा, और हम इन अलग रखना चाहते हैं ताकि मार्कशीट फ़ाइलों में लिंक सही तरीके से काम करें। हम सभी करने के लिए एक चतुर स्क्रिप्ट लिख सकते हैं। स्वचालित रूप से, लेकिन इसे मैन्युअल रूप से करने में कम समय लगेगा, जब तक कि आपके पास नोटबुक की एक बड़ी संख्या न हो।) (नोट: आप अपने वांछित फ़ोल्डरनाम को --extract-media=''तर्क के एकल उद्धरणों में डालकर एक कदम बचा सकते हैं - .docxछवियों के साथ फ़ाइलों के लिए , आपके लिए एक फ़ोल्डर स्वचालित रूप से बनाया जाएगा।)
.mdफ़ाइल से युक्त निर्देशिका के लिए एक bash टर्मिनल और cd खोलें । चरण 10 में आपके द्वारा बनाया गया फ़ोल्डर इस एक का सबफ़ोल्डर होना चाहिए (जब तक कि आप निम्न कमांड में पथ को ठीक नहीं करते हैं)।
यदि आप पहले से ही नहीं हैं, तो विंडोज बैश विंडो आइकन पर क्लिक करें, गुण पर क्लिक करें, क्विकएडिट मोड की जांच करें, फिर ठीक पर क्लिक करें। अब विंडोज बैश विंडो आइकन पर फिर से क्लिक करें, इस बार Defaults पर क्लिक करें, QuickEdit मोड चेक करें, और फिर OK पर क्लिक करें (ताकि भविष्य में आपके द्वारा बनाई गई नई बैश खिड़कियां इस सेटिंग को याद रखें)। अब आप टर्मिनल में टेक्स्ट का चयन कर सकते हैं और क्लिपबोर्ड में टेक्स्ट को पेस्ट करने के लिए टर्मिनल विंडो को कॉपी करने के लिए Ctrl+ दबा Cसकते हैं। अब हम अपने कमांड को एक अलग स्थान पर तैयार कर सकते हैं, और प्रत्येक संस्करण को जल्द ही बैश में पेस्ट कर सकते हैं।
निम्नलिखित कमांड को कस्टमाइज़ करें और प्रत्येक .mdफ़ाइल के लिए इसे चलाएं जिसे आप अलग-अलग पृष्ठों में विभाजित करना चाहते हैं:
csplit ./journal.md --keep-files --prefix='journal/journalentry '
--suffix-format='%i.md' --elide-empty-files '/^\(Monday\|Tuesday\|Wednesday\|Thursday\|Friday\|Saturday\|Sunday\),/-2' '{*}'
(इसे एक पंक्ति के रूप में लिखें।)
जैसा कि आप देख सकते हैं, journal.mdहमारी मार्कडाउन फाइल का नाम है (वर्तमान निर्देशिका में, इसके द्वारा दर्शाया गया है ./), की दूसरी घटना journal(बाद में --prefix=') हमारे सबफ़ोल्डर का नाम है जिसमें स्प्लिट फाइलें होंगी, और journalentryयह है कि प्रत्येक फ़ाइल का नाम क्या होगा (इसके बाद एक इंडेक्स नंबर)।
यदि आप कमांड को समझना चाहते हैं, तो यहां एक स्पष्टीकरण है: --keep-filesअभी भी फाइलें प्रिंट करता है जब त्रुटियां या फाइल का अंत होता है, तो सुनिश्चित करना कि अंतिम पृष्ठ सही ढंग से आउटपुट होगा (क्योंकि यह हमारी नियमित अभिव्यक्ति के पैटर्न में समाप्त नहीं होता है)। --prefixआउटपुट फ़ाइलों की नामकरण योजना सेट करता है। --suffix-formatहमें अपना फ़ाइल एक्सटेंशन ( .mdइस मामले में) सेट करने की अनुमति देता है , लेकिन हमें %iस्प्रिंटफ बयान के लिए शामिल करना चाहिए जो फ़ाइल के इंडेक्स नंबर को आउटपुट करता है। --elide-empty-filesखाली फ़ाइलों को आउटपुट करता है, जिसकी हमें परवाह नहीं है। अंत में, नियमित अभिव्यक्ति, जिसके साथ शुरू होता है '/और समाप्त होता है/-2', फाइल को विभाजित करने के लिए परिभाषित करता है: यह कहता है "जब आप लाइन की शुरुआत में (/) पाते हैं (^) निम्नलिखित (() सोमवार या (\ |) मंगलवार या बुधवार या गुरुवार या शुक्रवार या शनिवार या रविवार () ) एक अल्पविराम के बाद, दो पंक्तियों (-2) को पीछे छोड़ें और फ़ाइल को वहाँ विभाजित करें, जो अब तक हमारे पास है। अंतिम बिट, '{*}'पिछले कमांड को अनिश्चित काल तक दोहराता है, जब तक कि फाइल का अंत नहीं हो जाता।
एक फ़ोल्डर में फ़ाइलों .docxऔर .mdफ़ाइलों को खींचें , एक फ़ोल्डर बनाएँ जिसे आप अब कहते हैं intermediates। या आप उन्हें हटा सकते हैं। जब तक आप अपने नए फ़ाइल प्रारूप के साथ सहज नहीं होते हैं, तब तक उन्हें सहेजना अच्छा है, यदि आप रूपांतरण प्रक्रिया के दौरान कुछ वापस जाना चाहते हैं और कुछ संदर्भ देना चाहते हैं। इंटरमीडिएट फोल्डर में उन्हें ले जाने से अब यह भूलने की संभावना बढ़ जाएगी कि हम कहां हैं और चरणों को दोहरा रहे हैं।
.docxOneNote से आपके द्वारा निर्यात की गई प्रत्येक फ़ाइल के लिए चरण 9-14 दोहराएं ।
अब आपके पास प्रत्येक टैब के लिए एक फ़ोल्डर है, जिसमें अलग-अलग .mdफ़ाइलों का एक गुच्छा है, प्रत्येक पृष्ठ के लिए एक है! साथ ही mediaप्रत्येक सबफ़ोल्डर में एक फ़ोल्डर जिसमें OneNote टैब में चित्र थे।
मैं आपके प्रत्येक OneNote नोटबुक को .mhtफ़ाइल (सिंगल फ़ाइल वेब पेज) के रूप में निर्यात करने की सलाह देता हूं , या, यदि आप चाहें, तो .pdf। इस तरह, अगर आपकी कुछ मार्कडाउन फ़ाइलों में फॉर्मेटिंग या अन्य जानकारी खो गई थी, तो कई रूपांतरण के कारण, आप हमेशा पीछे जा सकते हैं और आसानी से देख सकते हैं कि .mhtफाइल में कैसे दिखना चाहिए था । इसके अलावा, मैं आपके OneNote नोटबुक में से प्रत्येक को .onepkgफ़ाइल (OneNote पैकेज) के रूप में निर्यात करने की सलाह दूंगा , इसलिए यदि आपके पास कभी भी OneNote में नोटबुक को अपने मूल / मूल फ़ाइल स्वरूप में फिर से खोलना हो तो इसकी एक अच्छी अंतिम निर्यात प्रति है (यह उपयोगी हो सकती है) यदि, उदाहरण के लिए, .mhtफ़ाइल कुछ मूल स्वरूपण को भी याद कर रही है जिसे आप पुनर्प्राप्त करना चाहते हैं)।
जैसा कि आप प्रत्येक नोटबुक को समाप्त करते हैं, OneNote में नोटबुक को राइट-क्लिक करें और "इस नोटबुक को बंद करें" पर क्लिक करें ताकि आप गलती से नोटबुक को संपादित न करें और अपने नए परिवर्तनों को फिर से निर्यात करें। मार्कडाउन फ़ोल्डरों के लिए, मैंने प्रत्येक नोटबुक के लिए एक फ़ोल्डर भी बनाया, और उसमें सभी टैब फ़ोल्डर डाले।
जब आप पूरे निर्यात प्रोजेक्ट के साथ समाप्त हो जाते हैं, तो आप अपने OneDrive पर जा सकते हैं और अपने सभी OneNote नोटबुक के मूल को हटा सकते हैं, जो वहां सिंक हो गए हैं (सुनिश्चित करें कि आप अपनी खुद की फ़ाइलों का बैकअप ले रहे हैं, निश्चित रूप से! Linux के लिए OneDrive है! या आप Syncthing की तरह कुछ कोशिश कर सकता है)।
अंत में, हम अपनी सभी .md फ़ाइलों को उनके OneNote पृष्ठ शीर्षक में बदल सकते हैं, जो प्रत्येक स्क्रिप्ट का उपयोग करके प्रत्येक फ़ाइल में पहली पंक्ति है। निम्नलिखित फाइलें बनाएं:
फ़ाइल 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
फ़ाइल 2: ~/scripts/recurse.sh
CDIR=$(pwd)
for i in $(ls -R | grep :); do
DIR=${i%:} # Strip ':'
cd $DIR
$1 # Your command
cd $CDIR
done
फिर अपने नोट्स फ़ोल्डर में नेविगेट करें और recurse.shकमांड का उपयोग rename-files-to-first-line.shतर्क के रूप में कमांड चलाएं :
$ ~/scripts/recurse.sh ~/scripts/rename-files-to-first-line.sh
आप स्क्रिप्ट को अपनी सभी फ़ाइलों के माध्यम से पुनरावर्ती रूप से देखेंगे, कुछ त्रुटियों को अजीब पहली पंक्तियों के साथ फाइलों पर फेंक देंगे (जो फ़ाइल नाम में परिवर्तित नहीं होंगे) और अन्य किनारे के मामलों पर। हालाँकि, mvकमांड rename-files-to-first-lineको तर्क से निष्पादित किया जाता है -n, जो इसे किसी भी फाइल को ओवरराइट करने से रोक देगा। कुछ नोट हो सकते हैं जिनका नाम नहीं बदला गया है, क्योंकि उनमें पहली पंक्ति खाली है या कुछ और अजीब है, लेकिन आप बस उन कुछ फाइलों को मैन्युअल रूप से ठीक कर सकते हैं।
OneNote से अपने साफ़ भागने में बासक।