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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file linky-note-0.4.4.tar.gz.

File metadata

  • Download URL: linky-note-0.4.4.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.8.7 Linux/5.9.16-1-MANJARO

File hashes

Hashes for linky-note-0.4.4.tar.gz
Algorithm Hash digest
SHA256 575124e803c5bd84ecb1226d36e1ca1887b7c1fe7809cf00c1e8995661831366
MD5 db4630005531314ac4493cdd3e608baf
BLAKE2b-256 d5d393b04ab58a61538e84726725b5ecb352759de1a36c98660c9bd60001b2cb

See more details on using hashes here.

File details

Details for the file linky_note-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: linky_note-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.8.7 Linux/5.9.16-1-MANJARO

File hashes

Hashes for linky_note-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 621e1b6dafe3d3e99be8d37ea41d7a87cab2a14c4dbecde37af0983f3fa1c272
MD5 8e8a94d95bfbe652aa9aae5dc3343414
BLAKE2b-256 9ccc180215b18cc9c2cae5d340db942eccb3bc461a3470f95c6a16533e542854

See more details on using hashes here.

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