Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexander-lee/markdown-github-bear-toc

Autogenerated Table of Contents for Github Markdown or Bear Notes
https://github.com/alexander-lee/markdown-github-bear-toc

autogeneration bear bear-notes github-markdown markdown table-of-contents

Last synced: about 1 month ago
JSON representation

Autogenerated Table of Contents for Github Markdown or Bear Notes

Awesome Lists containing this project

README

        

# Autogenerated Table of Contents for Github Markdown or Bear Notes

> Generated by the script ;)
## Table of Contents
* [Overview](#Overview)
* [Installation](#Installation)
* [PyPi (Preferred)](#PyPi-(Preferred))
* [Manually](#Manually)
* [Usage](#Usage)
* [Flags](#Flags)
* [With Bear](#With-Bear)
* [With Markdown Files](#With-Markdown-Files)

## Overview
I love using [Bear Notes](https://bear.app/) for note taking of all sorts. Recently, Bear released a feature that allowed headers to be linked with [x-callback-urls](http://x-callback-url.com/). And thus, I created a script to autogenerate a Table of Contents for your notes based on the headers.

## Installation
*NOTE:* This program is only compatible with Python 3.x

### PyPi (Preferred)
```sh
$ pip3 install markdown-toc --upgrade
```

### Manually
```sh
$ git clone https://github.com/alexander-lee/markdown-github-bear-toc.git

$ cd markdown-github-bear-toc
$ python3 setup.py install
```

## Usage
### Flags
* `-h` or `--header-priority` is the Limiting Header Priority/Strength (whether you limit your Table of Contents to h3s or h4s)
* `-t` or `--type` is the type of anchor you want to use (Github or Bear x-callback-url)
* `--no-write` is a flag on whether you want to disable the feature that automatically injects the ToC into your Markdown file or Bear Note
* `-toc` or `--table-of-contents-style` is the Markdown style for your Table of Contents header

### With Bear
* Add a Table of Contents to a Bear Note with the title "Bear Note Title"
```sh
$ markdown-toc -h -t bear [--no-write] "Bear Note Title"
```

* Add a Table of Contents to a Bear Note with the UUID `20703126-FA33-400A-B98E-F55F57E3EF48-47683-000143B2335758CA`
```sh
$ markdown-toc -h -t bear [--no-write] "20703126-FA33-400A-B98E-F55F57E3EF48-47683-000143B2335758CA"
```

* Add a Table of Contents to two Bear Notes with titles "Bear Note Title 1" and "Bear Note Title 2"
```sh
$ markdown-toc -h -t bear [--no-write] "Bear Note Title 1" "Bear Note Title 2"
```

* Add a Table of Contents to all Bear Notes that contain the tag `#bear` OR tag `#beet`
```sh
$ markdown-toc -h -t bear [--no-write] "#bear" "#beet"
```

* This allows you to take input a list of Bear Note titles, tags, or UUIDs and will inject the ToC into your note whether or not you submit the `--no-write` flag.
* If you have `#tags` at the top of your note (cause I use them to categorize my notes), it will inject the ToC right after any tags.

| **Original Note** | **Note with ToC** |
| :---: | :---: |
|![Original Note](https://github.com/alexander-lee/markdown-github-bear-toc/blob/master/images/Original%20Note.png?raw=true)|![Note with ToC](https://github.com/alexander-lee/markdown-github-bear-toc/blob/master/images/Note%20with%20ToC.png?raw=true)|

### With Markdown Files
* Add of a Table of Contents to README.md (Using Github Anchors)
```sh
$ markdown-toc -h -t github [--no-write] README.md
```

* Add of a Table of Contents to README.md and Folder/README2.md (Using Github Anchors)
```sh
$ markdown-toc -h -t github [--no-write] README.md Folder/README2.md
```