Skip to main content

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

Project description

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.4
    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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linky-note-0.4.4.tar.gz (17.1 kB view hashes)

Uploaded Source

Built Distribution

linky_note-0.4.4-py3-none-any.whl (22.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page