Skip to content
kevindurston21 edited this page Aug 28, 2021 · 27 revisions

Welcome to the YANOM Note-O-Matic wiki!

YANOM stands for Yet Another Note-O-Matic, and yes and that means it is also named "Yet Another Note-O-Matic Note-O-Matic" Which if you are a programmer is terrible, as you are supposed to try and follow the 'DRY' principle and 'Don't Repeat Yourself'!

Sections on this page are

What is YANOM-Note-O-Matic

YANOM - stands for Yet Another Note-O-Matic.

YANOM is a file converter to support the use of non-proprietary open file formats for note-taking systems.

It achieves this by converting proprietary note system formats into Markdown or HTML files.

Additionally, YANOM has the capability to add support for modified Markdown formats used by specific Markdown note-taking system, for example Obsidian image tags are formatted to support image sizing.

Yanom can be used in the following systems:

  • Windows10 64 bit.
  • Mac OSX to 10.15.7 which is code signed and notarised by apple.
  • Linux. The package is amd64 and built in Debian10 "buster". It has been tested as working in Ubuntu 20.04 and Manjaro 21.0.1
  • Docker.
  • Any python 3.6-3.9 capable system when used from source code, though the system also needs to have a working pandoc installation package.

YANOM's Goals

  1. To be a user-friendly tool anybody can use, with documentation that is detailed enough for any user to install and use.
  2. Incrementally support additional proprietary formats and open file formats when possible.

Available conversions

  • Conversion of Synology Note-Station files to markdown or html. Supported features and examples.
  • Conversion between markdown formats.
  • HTML to Markdown and Markdown to HTML

YANOM only exports to HTML or Markdown.

Future versions will support conversion from additional proprietary file formats.

If you have a preparatory note-talking file that you would like to see converted to html or markdown submit a request detailing the need, and it may be possible to add support for that file.

The next major version of YANOM wil be targeting support for Microsoft One-Note conversions.

What is Markdown?

"Markdown is a lightweight markup language for creating formatted text using a plain-text editor." source Wikipedia. Unfortunately there are many formats of markdown and so YANOM was written to support several and allow conversion between them.

What formats can be converted?

YANOM Currently can take these inputs:-

  • NSX file exported from Synology Note-Station.
  • HTML files
  • CommonMark (used by Joplin)
  • GFM - Git Flavoured Markdown (used by Typora, Git Hub, Haroopad)
  • Obsidian formatted markdown
  • MultiMarkdown
  • Pandoc markdown
  • Pandoc markdown-strict
  • QOwnNotes optimised markdown

YANOM will take any of the above inputs and output them to one of these output formats:-

  • HTML files
  • CommonMark (Used by Joplin)
  • GFM - Git Flavoured Markdown (Typora, Git Hub, Haroopad)
  • Obsidian formatted markdown
  • MultiMarkdown (MultiMarkdown Composer)
  • Pandoc markdown
  • Pandoc markdown-strict
  • QOwnNotes optimised markdown

The formatting for QOwnNotes and Obsidian are variations on common Markdown formats. If your note system or editor has a combination of formats that is not met by the current options please feel free to submit an enhancement request detailing the system to be targeted, and the format that is needed.

Current functionality

  • Convert Note-Station .nsx export files to Markdown or HTML
  • Convert HTML to Markdown
  • Convert Markdown to HTML
  • Convert Markdown to a different format of Markdown
  • List of available Markdown formats that can be used as inputs or outputs
    • CommonMark (Used by Joplin)
    • GFM - Git Flavoured Markdown (Typora, Git Hub, Haroopad)
    • Obsidian formatted markdown
    • MultiMarkdown (MultiMarkdown Composer)
    • Pandoc markdown
    • Pandoc markdown-strict
    • QOwnNotes optimised markdown
  • Note content that will be converted successfully
    • Headers
    • Bulleted lists
    • Numbered lists
    • Checklists
      • Checklists with links will maintain those links in the converted content
    • Tables
    • Images
    • Image width where supported in Markdown
    • IFrames
    • Metadata - support JSON, TOML or YAML front matter, and meta tags in HTML
    • Tags
      • included in front matter, html header or as plain text with an optional prefix character
      • option to split grouped tags photography/landscape/winter becomes #photography, #landscape, #winter
      • option to remove spaces from tag names
    • File attachments are maintained
    • Note-Station specific features
      • Charts are recreated. An image is placed on the page, along with a data table of the chart data, and a link to a csv file of the data.
      • Links between note pages.
      • Note-Station audio notes - are attached as an attachment
      • Option to include creation time in file name
      • Add file extension for filenames, for common file types, where extension is missing. This may occur when there are sync issues between desktop and server note station versions.
      • File name cleaning options - in manual mode user can choose to keep/remove spaces, unicode characters, uppercase characters, choose what character to replace spaces with.
      • File name lengths - User can set a maximum file name length. Long note titles can cause issues on Windows where long paths are not enabled, on these systems YANOM restricts file names to 64 characters.
      • Retrieve meta data
      • Some ability to handle nsx files from systems with synchronisation issues - final exported content will be variable quality.

The formatting for QOwnNotes and Obsidian are variations on common Markdown formats optimised for those note systems.

A very quick how to use!

Uncompress the downloaded distribution file. Place your files to be converted in the folder data inside the folder where you extracted the distribution files.

  • Windows double click on the yanom.exe shortcut
  • Mac and Linux
    • From the command line / Terminal change to the unzipped distribution directory
    • Run the yanom program by typing ./yanom

Follow the text based interface as it asks you to make choices for your conversion.

Linux users - follow the above but also install pandoc.

Docker users - even easier spool up a docker container.

A detailed how to use

Installing YANOM-Note-O-Matic

The easiest and perhaps cleanest way to use YANOM is, probably, to use the available docker image. This only requires docker to be installed and once you are done with YANOM you can cleanly delete the container and image files.

The YANOM pre-built executables run in 64bit Windows 10, amd64 Linux and Mac OSX. Windows and Mac-OSX come with pandoc. Linux users will need to install pandoc.

If your system is not supported by a prebuilt package you can try using the source code install and running as Python code.

If you wish to use the source code you will need to install pandoc, a link is included in the YANOM installation instructions.

Installing on Windows10 64 bit

Installing on Linux amd64 bit

Installing on Mac OSX

Using Docker

Installation using source code

Using YANOM-Note-O-Matic

Please check this page for notes on using YANOM.

Troubleshooting issues

The hope is there will be no problems making your file conversions, however the trouble shooting page may be of help if you run into a problem.

For Note station yanom has been used with nsx files from the web version 2.60-1406 and 2.6.0.1407, and the desktop client versions 2.2.0-524 and 2.2.1-553. Older versions may also work. Form YANOM version 1.3.3 if a data vale is not found in the nsx file YANOM will attempt to continue processing the note, and if it can not continue it will move to the next note or nsx file, logging warnings in warning.log if this happens.

Join in YANOM development

Thanks for your interest in contributing to YANOM. You can contribute in many ways and do not even have to know anything about writing code as without real users' feedback we cannot improve or simplify how YANOM works.

If you're not a coder, you can contribute through Discussions, adding feature requests which a programmer could take up and implement, or make suggestions to improve this WIKI to help others use YANOM.