From 9cc2d5952ee91e7ec368be790c98ecd38794e433 Mon Sep 17 00:00:00 2001 From: Edward Shen Date: Wed, 1 Jan 2020 00:29:37 -0500 Subject: [PATCH] update readme --- README.md | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 0460a7c..5c05cc7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ _Self-hostable, easy-to-configure, fast search/jump multiplexer service._ bunbun is a pure-[Rust][rust-lang] implementation of [bunny1][bunny1], providing -a customizable search engine and quick-jump tool in one. +a customizable search engine and quick-jump tool in one small binary. After adding it to your web-browser and setting it as your default search engine, you'll gain the ability to quick-jump to a specific page or search from @@ -18,14 +18,35 @@ foo bar // If foo is a defined command, do something with bar // query for the default route ``` +## Reasons to use bunbun + +- Convenient: bunbun watches for config changes and refreshes its routes + automatically, allowing for rapid development. +- Extensible: supports simple route substitution or execution of arbitrary + programs for complex route resolution. +- Portable: bunbun runs off a single binary and config file. +- Small: binary is 1.3MB (after running `strip` and `upx --lzma` on the release + binary). +- Memory-safe: Built with [Rust][rust-lang]. + ## Installation If you have `cargo`, you can simply run `cargo install bunbun`. Once installed, simply run it. A default config file will be created if one does -not exist. You should model your own custom routes after the provided ones. +not exist. -### Building for prod +If you're looking to run this as a daemon (as most would do), you should put the +binary in `/usr/bin` and copy `aux/systemd/bunbun.service` into your preferred +systemd system folder. Then you may run `systemctl enable bunbun --now` to start +a daemon instance of bunbun. + +If running Arch Linux, you may use the provided `PKGBUILD` to install bunbun. +Run `makepkg` followed by `sudo pacman -U bunbun..tar.gz`. This +installs the systemd service for you. Run `systemctl enable bunbun --now` to +start bunbun as a daemon. + +### Building for production If you're looking to build a release binary, here are the steps I use: @@ -43,7 +64,7 @@ If configuring for development, no further configuration is required. If running this for production, you should edit the `public_address` field. the config file is watched, so updates are immediate unless invalid, or if -you're using certain programs such as nvim, which performs updating a file via +you're using certain programs such as `nvim`, which performs updating a file via swapping rather than directly updating the file. ### Adding bunbun as a search engine @@ -51,15 +72,6 @@ swapping rather than directly updating the file. bunbun supports the [OpenSearch Description Format][osdf]. Visit the root page of your desired instance of bunbun to learn more. -## Reasons to use bunbun - -- Portable: bunbun runs off a single binary and config file. -- Small: binary is 1.3MB (after running `strip` and `upx --lzma` on the release - binary). -- Convenient: bunbun watches for config changes and refreshes its routes - automatically, allowing for rapid development. -- Memory-safe: Built with [Rust][rust-lang]. - [rust-lang]: https://www.rust-lang.org/ [bunny1]: http://www.bunny1.org/ [osdf]: https://developer.mozilla.org/en-US/docs/Web/OpenSearch