Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alxnbl/onenote-md-exporter
ConsoleApp to export OneNote notebooks to Markdown formats
https://github.com/alxnbl/onenote-md-exporter
evernote joplin markdown obsidian onenote pandoc
Last synced: 1 day ago
JSON representation
ConsoleApp to export OneNote notebooks to Markdown formats
- Host: GitHub
- URL: https://github.com/alxnbl/onenote-md-exporter
- Owner: alxnbl
- License: gpl-3.0
- Created: 2021-01-18T21:07:39.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-07-08T10:21:34.000Z (6 months ago)
- Last Synced: 2025-01-03T05:06:43.612Z (8 days ago)
- Topics: evernote, joplin, markdown, obsidian, onenote, pandoc
- Language: C#
- Homepage:
- Size: 173 MB
- Stars: 962
- Watchers: 15
- Forks: 81
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-dendron - OneNote / Office 2016 Markdown Exporter - OneNote Md Exporter is a console application running on Windows that exports your **OneNote 2016** notebooks in different markdown formats. (Dendron Enhancers / Migration tools)
- my-awesome-github-stars - alxnbl/onenote-md-exporter - ConsoleApp to export OneNote notebooks to Markdown formats (C# #)
README
**OneNote Md Exporter** is a console application running on Windows that exports your OneNote notebooks in different markdown formats.
This tool is usefull to :
* evaluate or migrate to an alternative Knowledge Management Software like Joplin, Obsidian or other softwares based on Markdown format
* backup your OneNote Notebooks in an interoperable and open file formatThe tool is easy to install and use, and generally produces better results than other OneNote export methods.
# Requirements
- Windows >=10
- OneNote >= 2013, OneNote for Windows (from the Windows store) is not supported
- Word >= 2013# Getting started
1. Download the last release of OneNoteMdExporter from the [Releases page](https://github.com/alxnbl/onenote-md-exporter/releases)
2. Extract the content of the Zip archive
3. Launch OneNote and be sure that notebooks to export are loaded
4. Export your notebooks :
* Start `OneNoteMdExporter.exe`
* Select the Notebook to export
* Select the export format
* [Optional] Edit advanced settings
* Go take a coffee ☕
* At the end of the export the export folder is open in Windows file explorerCommand line is supported, run `OneNoteMdExporter.exe --help` for instructions.
# Export formats supported
## Markdown
* Sections and section groups are exported as a folder hierarchy containing pages :
```yaml
Notebook1
- Section1
- Section1.1
- Page1.md
- Page2.md
- Section2
```
* Settings
* `ProcessingOfPageHierarchy` : page hierarchy as parent folder of md file (ParentPage\Child Page.md ; default value) or as md file prefix (ParentPage_ChildPage.md)
* `ResourceFolderLocation` : images and file attachments can be stored in a single folder at the root of the export or in a folder next to each md file
* `AddFrontMatterHeader` : add a YAML header containing page metadata at the beginning of each md file
```yaml
---
title: Page title
updated: 2021-11-11 14:55:00Z
created: 2021-11-11 14:54:43Z
---
Page content
```
* `PanDocMarkdownFormat` : choose the markdown syntax to use among [those supported by pandoc](https://pandoc.org/MANUAL.html#general-options). Use *GitHub flavor* by default.## Joplin Raw Directory
* Import format of the [Joplin](https://github.com/laurent22/joplin) app
* More details [available here](/doc/migration-to-joplin.md)# Features and limitations
| Export format: | Markdown | Joplin |
| --- | --- | --- |
| Hierarchy of sections | ✅ Folder hierarchy | ✅ Notebook hierarchy |
| Page ordering inside a section | 🔴 Ordering based on md filename | ✅ |
| Page hierarchy | ✅ Page prefix or folder prefix | ✅ |___
___| All formats : | |
| --- | --- |
| Attachments | ✅ |
| Image | ✅ |
| Table | ✅ |
| Folded paragraphs | ✅ |
| Image nexted into table | 🔴 Known issue [#48](https://github.com/alxnbl/onenote-md-exporter/issues/48) |
| Font color| 🔴 |
| Background color | 🟠 Highlighted text |
| Drawing | 🟠 Flattened as image |
| Handwriting | 🔴 Lost |
| Text tags (task, star...) | 🔴 Lost |
| Password protected sections | 🟠 Lost unless unlocked before export |
| Notebook internal link | 🔴 onenote:// url |# Technical characteristics
* DotNet 8 self-contained console application
* Export page as DocX and translate them in Markdown using PanDoc
* Offline : no call to Microsoft cloud
* Based on Office Interop APIs
* Pre-processing stage of OneNote page XML structure
* Post-processing stage based on Regex to fix formatting issues# Licence
Released under the GPL, version 3.
This software carries no warranty of any kind. Some data can be lost during the export process. I recommend to review your notes after export and keep a backup of your OneNote notebooks just in case.
## Pandoc licence terms
OneNote Md Exporter uses PanDoc universal markup converter.
Pandoc is available at https://github.com/jgm/pandoc
Pandoc is released under the following licence terms, full licence details can be found on the pandoc site.
> © 2006-2021 John MacFarlane ([email protected]). Released under the GPL, version 2 or greater. This software carries no warranty of any kind.
# Build sources
* Install DotNet 8 : https://dotnet.microsoft.com/download/dotnet/8.0
* Clone this repository
* Extract `pandoc.exe` from `pandoc--windows-x86_64.zip` from `/src/OneNoteMdExporter/pandoc/` folder
* Build using Visual Studio 2019 or MSBUILD.exe (`dotnet build` do not currently support COMReference : https://aka.ms/msbuild/MSB4803)# Contribute
Bugs and feature requests can be reported under: https://github.com/alxnbl/onenote-md-exporter/issues.
You can contribute by adding an new feature or add translations. See [this page](/doc/contribute.md) for more details.
# Support
I developed this tool on a voluntary basis, but if you like my work you can [buy me a ☕](https://www.buymeacoffee.com/alxnbl).