#+title: gsearch gsearch is a command-line tool based on gscite that allows you to quickly search for citations. It provides a convenient way to retrieve references based on a search term and display them in BibTeX format. * Installation To use gsearch, you need to have Rust and Cargo installed on your system. If you don't have them installed, you can follow the official Rust installation guide at [[https://www.rust-lang.org/tools/install][https://www.rust-lang.org/tools/install]]. Once you have Rust and Cargo set up, you can clone the gsearch repository from GitHub: #+begin_src shell git clone https://github.com/your_username/gsearch.git #+end_src Change to the project directory: #+begin_src shell cd gsearch #+end_src Build the project using Cargo: #+begin_src shell cargo build --release #+end_src After a successful build, you can find the gsearch binary in the target/release directory. * Usage To search for citations using gsearch, you need to provide a search term as a command-line argument. Here's an example: #+begin_src shell $ ./gsearch --search_term "machine learning" $ @book{zhou2021machine, title={Machine learning}, author={Zhou, Zhi-Hua}, year={2021}, publisher={Springer Nature} } #+end_src #+end_src The above command will search for references related to "machine learning" and display the first reference in BibTeX format. * Command-Line Arguments gsearch supports the following command-line arguments: - ~--search_term~ or ~-s~: The search term to be used for retrieving references. It is a required argument. * Dependencies gsearch depends on the following libraries: - [[https://crates.io/crates/gscite][gscite]]: A Rust library for retrieving citations from Google Scholar. - [[https://crates.io/crates/futures_util][futures_util]]: A collection of utility functions and combinators for working with asynchronous Rust. - [[https://crates.io/crates/clap][clap]]: A powerful command-line argument parsing library for Rust. * Contributing Contributions to gsearch are welcome! If you find a bug or want to suggest an enhancement, you can open an issue on the [[https://gitlab.com/TuDatTr/gsearch/-/issues][GitLab Repository]]. If you would like to contribute code, feel free to submit a pull request. When contributing to gsearch, please follow the existing code style and conventions. Make sure to write clear commit messages and add appropriate tests for your changes. * License This project is licensed under the MIT License. See the [[LICENSE][LICENSE]] file for more information. * Disclaimer gsearch is a personal project created for educational and personal use only. It is not affiliated with or endorsed by Google Scholar. Use it responsibly and at your own risk.