dnote-tui

Crates.iodnote-tui
lib.rsdnote-tui
version0.5.10
sourcesrc
created_at2023-08-20 17:22:37.203509
updated_at2024-10-07 14:55:18.255791
descriptionTUI for dnote
homepagehttps://github.com/deepanchal/dnote-tui
repositoryhttps://github.com/deepanchal/dnote-tui
max_upload_size
id949467
size1,752,112
Deep Panchal (deepanchal)

documentation

https://docs.rs/dnote-tui

README

Contributors Forks Stargazers Issues MIT License


Dnote TUI

TUI for dnote (https://www.getdnote.com/)
Explore the docs ยป

Report Bug ยท Request Feature

๐ŸŒŸ About The Project

A TUI (Terminal User Interface) for dnote.

Demo

(back to top)

๐Ÿ—๏ธ Built With

(back to top)

๐Ÿš€ Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

๐Ÿ› ๏ธ Prerequisites

  1. Install rust: https://www.rust-lang.org/
  2. Install dnote: https://github.com/dnote/dnote#installation

๐Ÿ“ฅ Installing

Direct download

You can download the tar.xz file matching your operating system from the releases page, extract it and execute the dnote-tui binary.

Cargo

cargo install dnote-tui

If you wish to install from the main branch directly, use

cargo install --git https://github.com/deepanchal/dnote-tui

Once it's installed, simply run

dnote-tui

I will offer additional installation methods once the project reaches a more stable state.

๐Ÿƒ Running project locally

  1. Clone the repo.
git clone https://github.com/deepanchal/dnote-tui.git
  1. cd into repo.
cd dnote-tui
  1. Run tui
cargo run

๐Ÿณ Try with Docker

Get started with dnote-tui quickly using Docker! This setup comes with pre-loaded test data so you can dive right into exploring the TUI features.

  1. Clone the repository and navigate to the project directory
git clone https://github.com/deepanchal/dnote-tui.git
cd dnote-tui
  1. To build the Docker image and run the dnote-tui container using Docker Compose, execute the following command:
docker compose run --rm dnote-tui

Or if you prefer to use Docker directly without Docker Compose, you can follow these steps:

# Build the docker image
docker build --build-arg RUST_VERSION=1.76.0 --build-arg DNOTE_VERSION=0.15.1 -t dnote-tui .
# Run the docker container
docker run --rm -it dnote-tui

(back to top)

๐Ÿ“ Usage

๐Ÿƒ Run

cargo run

๐Ÿ—๏ธ Build

cargo build

๐Ÿงช Run Tests

cargo test

(back to top)

๐ŸŽฏ Roadmap

  • Show basic TUI with three sections (Books, Pages, & Content)
  • Create a dnote client
    • Parse output from dnote cli to structs used by dnote client
    • Add methods to perform write operations with dnote cli in dnote client
  • Features
    • Read Operations
      • Read books from dnote cli into tui
      • Read pages from dnote cli into tui
      • Read pages content from dnote cli into tui
      • Show truncated pages content beside page id in pages section
    • Write Operations
      • Create a new book with page #19
      • Edit a page's content #37
      • Add new page to a book #49
      • Move page to another book #60
      • Delete a book's page #51
      • Delete a book and all its pages #52
      • Rename book with popup input field #59
    • Search and Navigation
      • Find note within a book #61
      • Global note search #47
      • Make page content scrollable #54
    • Misc (Nice to have)
      • Allow note syncing with dnote server #50
      • Parse keybindings for active mode from current config file and show on footer #64
      • Add ASCII art in header pane #57
      • Show command log pane to show user what commands are being run just like lazygit #63
      • Render note's markdown content with glow and make it toggleable #53

See the open issues for a full list of proposed features (and known issues).

(back to top)

๐Ÿค Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feat/amazing-feature)
  3. Commit your Changes (git commit -m 'feat: add some amazing-feature')
  4. Push to the Branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

(back to top)

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Commit count: 287

cargo fmt