📜 GetQuotes - Fetch Inspirational Quotes from the Command Line 🚀
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. 🌟
📥 Installation
| Repository | Command To Install | Version |
|---|---|---|
| Crates.io | cargo install getquotes |
|
| AUR | yay -S getquotes |
|
| AUR (Git) | yay -S getquotes-git |
[!Note] If you are on Arch Linux, you can install GetQuotes from the AUR using
yayorparu.
Manual Installation
You can clone the repository and build it from source:
Then, copy the binary to your PATH:
Manpages are included in the repository and can be installed using:
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_HOMEenvironment variable set to the NDK path.
🛠️ Configuration
GetQuotes can be configured using a JSON configuration file. The configuration file should adhere to the schema defined in config.schema.json. Here's an example of a configuration file:
Properties
- 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").
🛠️ Usage
Basic Usage
To fetch and display a random quote, simply run:
Customizing Quotes
You can specify authors to fetch quotes from:
Theme Color
Set the theme color using the configuration file or environment variables. Command-line options for theme color are not available.
Log File
Specify the log file path in the configuration file or use the default "getquotes.log".
Rainbow Mode 🌈
Enable rainbow mode for a colorful display:
Offline Mode
Run in offline mode using cached quotes:
Initialize Cache
Initialize the quote cache for offline mode:
Configuration File
Specify the path to the configuration file using the --config option:
Help
Display help information:
🚀 Features
- 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 JSON configuration file. 🛠️
- Lightweight: Fast and efficient, written in Rust. ⚡
🤝 Contributing
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.
Configuration Schema
The configuration schema is defined in config.schema.json. Any contributions affecting the configuration should update this schema accordingly.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- 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. 🌟
📬 Contact
If you have any questions, feel free to reach out:
🌟 Show Your Support
If you find this project useful, please give it a ⭐️ on GitHub!
Happy quoting! 🎉