getquotes is a powerful command-line tool written in Rust that fetches and displays inspirational quotes directly from Wikiquote. Whether you're looking for motivation, wisdom, or just a quick pick-me-up, GetQuotes has got you covered. π
- π Features
- π₯ Installation
- π§ Configuration
- π‘ Usage
- π€ Contributing
- π License
- π Acknowledgments
- π Show Your Support
- Fetch Quotes: Get random quotes from Wikiquote. π
- Custom Authors: Specify authors to fetch quotes from. ποΈ
- Rainbow Mode: Display quotes in random colors. π
- Offline Mode: Use cached quotes when offline. π΄
- Configurable: Customize theme color, log file, and more via a TOML configuration file. π οΈ
- Lightweight: Fast and efficient, written in Rust. β‘
Repository | Command To Install | Version |
---|---|---|
Crates.io | cargo install getquotes |
|
AUR | yay -S getquotes |
|
AUR (Git) | yay -S getquotes-git |
|
Homebrew | brew install MuntasirSZN/programs/getquotes |
Note
You can install getquotes from the AUR using yay
or paru
, or any other AUR helper.
You can clone the repository and build it from source:
git clone https://github.com/MuntasirSZN/getquotes.git
cd getquotes
cargo build --release
Then, copy the binary to your PATH
:
cp target/release/getquotes /usr/local/bin
Manpages are included in the repository and can be installed using:
sudo cp man/getquotes.1 /usr/share/man/man1
sudo mandb # To update the manpage database
If you are on windows, you can use the ps1xml file, which is a like a manpage for windows powershell. Use the Get-Help
command to view the manpage.
copy .\man\getquotes.ps1xml $env:PSModulePath\getquotes.ps1xml
Get-Help getquotes
Important
If you are building for android from source, you need the Android NDK installed and the ANDROID_NDK_HOME
environment variable set to the NDK path.
getquotes can be configured using a TOML configuration file. The configuration file should adhere to the schema defined in config.schema.toml
, which can be validated using Taplo. Here's an example of a configuration file:
# List of authors to fetch quotes from
authors = [
"Albert Einstein",
"Isaac Newton"
]
# Theme color in hex format
theme_color = "#FF5733"
# Maximum number of attempts to fetch a quote
max_tries = 50
# Log file path
log_file = "custom_getquotes.log"
# Enable rainbow mode for random colors
rainbow_mode = false
- authors: An array of author names to fetch quotes from. At least one author must be specified.
- theme_color: A hex color code (with or without a leading #) for theming the output.
- max_tries: The maximum number of attempts to find a quote (between 1 and 100, default is 30).
- log_file: The path to the log file (default is "getquotes.log").
A simple cli tool to get quotes in your terminal using WikiQuotes
Usage: getquotes [OPTIONS]
Options:
-a, --authors <AUTHORS> Specify a list of authors to fetch quotes from
-t, --theme-color <THEME_COLOR> Set the theme color for the displayed quotes
-m, --max-tries <MAX_TRIES> Set the maximum number of tries to fetch a quote
-l, --log-file <LOG_FILE> Specify the log file path
-r, --rainbow-mode Enable rainbow mode for random quote colors
-i, --init-cache Initialize the quote cache for offline mode
-o, --offline Run in offline mode, using cached quotes
-v, --version Print version information
-C, --config <CONFIG> Use a custom TOML configuration file
-c, --completion <COMPLETION> Generate shell completion script [possible values: bash, elvish, fish, powershell, zsh, nushell]
-M, --migrate-config Migrate JSON config to TOML format (will be removed in next major release)
-h, --help Print help
MuntasirSZN <[email protected]>
We welcome contributions from the community! If you'd like to contribute, please follow these steps:
- Fork the repository. π΄
- Create a new branch. πΏ
- Make your changes. βοΈ
- Submit a pull request. π
Please make sure to follow our Code of Conduct and Contribution Guidelines.
The configuration schema is defined in config.schema.toml
. Any contributions affecting the configuration should update this schema accordingly.
This project is licensed under the MIT License - see the LICENSE file for details.
- Wikiquote: For providing the quotes. π
- Rust Community: For the amazing ecosystem and tools. π¦
- Inspiration: This project was inspired by the need for a simple, daily dose of inspiration. π
If you find this project useful, please give it a βοΈ on GitHub!