Skip to content

Guide

Introduction

ng2nlm is a simple command line tool designed to turn a Norton Guide file into a single Markdown file that can be uploaded to Google's NotebookLM (or presumably used with other LLM tools for similar purposes).

It's probably fair to say that it's "opinionated" in that I wrote this to serve my specific purpose; but where possible I've attempted to make it generic and configurable.

Installing

ng2nlm is a Python application and is distributed via PyPI. It can be installed with tools such as pipx:

pipx install ng2nlm

or uv:

uv tool install ng2nlm

Also, if you do have uv installed, you can simply use uvx:

uvx ng2nlm

to run ng2nlm.

Command line options

The command is called ng2nlm and all command line options can be found with:

ng2nlm --help

giving output like this:

usage: ng2nlm [-h] [-a ADDITIONAL_INSTRUCTIONS] [-i INSTRUCTIONS] -g GUIDE
              [-s SOURCE] [-v]

Turn a Norton Guide into a NotebookLM source

options:
  -h, --help            show this help message and exit
  -a, --additional-instructions ADDITIONAL_INSTRUCTIONS
                        Additional instructions to pass on to NotebookLM at
                        the top of the source
  -i, --instructions INSTRUCTIONS
                        Override the builtin instructions to pass on to
                        NotebookLM at the top of the source,
  -g, --guide GUIDE     The path to the Norton Guide
  -s, --source SOURCE   The path to the file to create as the source for
                        NotebookLM
  -v, --version         Show version information

v0.0.1

The key options are:

-g, --guide

This tells ng2nlm the name of the guide to convert.

-s, ---source

This tells ng2nlm the name of the source file to create (the name of the file that you will use as a source for NotebookLM). If --source isn't supplied then the name of the guide minus its extension, plus an .md extension, is assumed.

-a, --additional-instructions

This switch lets you provide some optional additional instructions to include at the top of the generated file. By default ng2nlm adds some instructions for the LLM to help and encourage it to "comprehend" the content of the file; using this switch you can add instructions specific to the guide you're generating the file for.

Note

This switch serves two purposes: if the value passed to the switch matches the name of a file in your filesystem, the content of that file will be read and used; otherwise the value given to the switch will be used.

-i, --instructions

This switch is similar to the one above, but it lets you overwrite the instructions that are built into ng2nlm.

Examples

Create a NotebookLM source from a Norton Guide:

ng2nlm --guide ~/Documents/NGs/C52G01B.ng

This will read the contents of C52G01B.ng and create C52G01B.md in the current working directory.

On the other hand, if you wanted to create the notebook source in a different location and with a different name:

ng2nlm --guide ~/Documents/NGs/C52G01B.ng --source ~/sources/clipper52.md

To add a simple additional instruction when creating the output:

ng2nlm --guide mrdebug.ng --additional-instructions "Remember dark black is the best black"

or to do the same but pull the additional instruction from a file:

ng2nlm --guide mrdebug.ng --additional-instructions ~/.llm/rules.md

Getting help

If you need some help using ng2nlm, or have ideas for improvements, please feel free to drop by the discussions and ask or suggest. If you believe you've found a bug please feel free to raise an issue.