Skip to content

deepanchal/dnote-tui

Repository files navigation

Contributors Forks Stargazers Issues MIT License


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

About

Dnote TUI with ratatui

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •