marko-backlinks

Awesome `marko-backlinks` is a Python cli/package created with https://github.com/TezRomacH/python-package-template


Keywords
markdown, pre-commit, backlink, roamresearch
License
MIT
Install
pip install marko-backlinks==0.3.0

Documentation

linky-note

Build status Python Version Dependencies Status

Code style: black Security: bandit Pre-commit Semantic Versions License

🤔 Description

This project provide a markdown to markdown converter that adds a Bi-Directional Link Section at the end of each markdown files that is converted. It is heavily inspired by the note-link-janitor

The project also provide a pre-commit hook so you can easily integrate it within your own projects easily

It relies heavily on the Marko python package that is the only Markdown Parser with a Markdown Renderer that I know of.

💭 Why

I believe a great amount of information can be extracted from collaborative notes if we take time to structure them correctly.

I wanted:

  • To make collaborative notes
  • To organize the notes in a Roam like manner
  • Everyone to be able to navigate through the notes without installing anything
  • This system to be easily adopted by a software engineering team.

Using git and this converter as a pre-commit, I can easily do all of this ! 🚀

Take a look at the example available in examples/adr

Features

  • Understands both Wikilinks and Markdown links
  • Can use a reference system based on filename as unique Keys or titles as unique key.
  • Can convert wikilinks to markdown links and reciprocally
  • All this, entirely configurable through a simple stepper using linky-note init command

Limitations: If using wikilinks, a filename should be the same as it's title

init

🏃 Getting Started

Installation as a python package with pip

Considering you already have python available. You can simply add th

pip install --user linky-note

Then you can see all the option of the CLI using

linky-note --help

It is advised to start by configuring the CLI using

linky-note init

You can then apply the conversion

linky-note apply <INPUT_DIR> --output-dir <OUTPUT_DIR> 

If no OUTPUT_DIR is given, it will overwrite the files in INPUT_DIR

Installation as a pre-commit hook This pre-commit hook use the [pre-commit](https://pre-commit.com) tool that you will need to install.

Add the following line to your pre-commit configuration (.pre-commit-config.yaml) at the root of your repository.

repos:
-   repo: https://github.com/jb-delafosse/linky-note
    rev: v0.4.3
    hooks:
      - id: linky-note
        args: ['directory-containing-my-markdown']

and install the hook using pre-commit install

You should also run linky-note init at the root of your repo to configure linky-note

I'm also working on a not yet released github app that would make this workflow easier with a better integration with github. Feel free to take a look and let me know if you're interested.

🛡 License

License

This project is licensed under the terms of the MIT license. See LICENSE for more details.

📃 Citation

@misc{linky-note,
  author = {jb-delafosse},
  title = {Awesome `linky-note` is a Python cli/package created with https://github.com/TezRomacH/python-package-template},
  year = {2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/jb-delafosse/linky-note}}
}

Credits

This project was generated with python-package-template.

It is heavily inspired by the note-link-janitor