From b64faf55df1d72cb551ac53ed2226a83cf1cfe2a Mon Sep 17 00:00:00 2001 From: Dan Anglin Date: Sat, 29 Jun 2024 00:22:42 +0100 Subject: [PATCH] checkpoint: moved installation instructions to docs/install.md --- README.asciidoc | 129 +++--------------------------------------------- docs/install.md | 115 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 122 deletions(-) create mode 100644 docs/install.md diff --git a/README.asciidoc b/README.asciidoc index 15f4427..ccbcc07 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -10,89 +10,21 @@ == Overview Enbas is a https://docs.gotosocial.org/en/latest/[GoToSocial] client for your terminal written -in https://go.dev[Go]. The project is in its experimental stages of development so bugs and breaking -changes may appear. Enbas has limited functionality at the moment and it is **not** recommended for use -with your production GoToSocial servers. +in https://go.dev[Go]. + +The project is in its early stages of development so expect bugs, breaking changes and limited functionality at this time +It is **not** recommended for use this with your production GoToSocial servers. This project is licensed under the GNU General Public License V3 or later which you can view link:LICENSES/GPL-3.0-or-later.txt[here]. === Repository mirrors -- **Code Flow:** https://codeflow.dananglin.me.uk/apollo/enbas -- **Codeberg:** https://codeberg.org/dananglin/enbas -- **GitHub:** https://github.com/dananglin/enbas +Enbas is primarily developed in Code Flow https://codeflow.dananglin.me.uk/apollo/enbas[here] with the `main` branch pushed to +https://codeberg.org/dananglin/enbas[Codeberg] and https://github.com/dananglin/enbas[GitHub] == Installation -=== Download - -Pre-built binaries will be available on the release page on both Codeberg and GitHub when the first -release is made. - -=== Build from source - -==== Requirements - -===== Go - -A minimum version of Go 1.22.0 is required for installing spruce. -Please go https://go.dev/dl/[here] to download the latest version. - -===== Mage (Optional) - -The project includes mage targets for building and installing the binary. -The main advantage of using mage over `go install` is that the build information is baked into the binary -during compilation. You can visit the https://magefile.org/[Mage website] for instructions on how to install Mage. - -==== Install with mage - -You can install Enbas with Mage using the following commands: - -[source,console] ----- -git clone https://github.com/dananglin/enbas.git -mage install ----- - -By default Mage will attempt to install Enbas to `/usr/local/bin/enbas` which will most likely fail as you won't -the permission to write to `/usr/local/bin/`. You will need to either run `sudo mage install`, or you can -(preferably) change the install prefix to a directory that you have permission to write to using -the `ENBAS_INSTALL_PREFIX` environment variable. For example: - -[source,console] ----- -ENBAS_INSTALL_PREFIX=${HOME}/.local mage install ----- - -This will install Enbas to `~/.local/bin/enbas`. - -===== Environment variables you can use with Mage - -[%header,cols=2*] -|=== -|Environment Variable -|Description - -|`ENBAS_INSTALL_PREFIX` -|Set this to your preferred the installation prefix (default: `/usr/local`). - -|`ENBAS_BUILD_REBUILD_ALL` -|Set this to `1` to rebuild all packages even if they are already up-to-date. - -|`ENBAS_BUILD_VERBOSE` -|Set this to `1` to enable verbose logging when building the binary. -|=== - -==== Install with go - -If your `GOBIN` directory is included in your `PATH` then you can install Enbas with Go. - -[source,console] ----- -git clone https://github.com/dananglin/enbas.git -cd enbas -go install ./cmd/enbas ----- +(Moved) == Configuration @@ -112,53 +44,6 @@ the current working directory. == Usage -=== Check the build information - -You can view the application's version and build information using the `--version` flag. -The build information is correctly displayed if you've downloaded the binary from Codeberg or GitHub, -or if you've built it with Mage. - -[source,console] ----- -$ enbas version --full -Enbas - Version: v0.0.0-13-g26a909d - Git commit: 26a909d - Go version: go1.22.0 - Build date: 2024-02-25T15:22:55Z ----- - -=== Check out the help documentation - -You can view the help documentation with the `--help` flag. -You can also use this flag to view the help documentation for any of the commands. - -[source,console] ----- -$ enbas --help -SUMMARY: - enbas - A GoToSocial client for the terminal. - -VERSION: - v0.0.0-13-g26a909d - -USAGE: - enbas [flags] - enbas [command] - -COMMANDS: - login login to an account on GoToSocial - show print details about a specified resource - switch switch to an account - version print the application's version and build information - -FLAGS: - --help - print the help message - -Use "enbas [command] --help" for more information about a command. ----- - === Log into your GoToSocial account Enbas uses the Oauth2 authentication flow to log into your account on GoToSocial. diff --git a/docs/install.md b/docs/install.md new file mode 100644 index 0000000..b84fdf4 --- /dev/null +++ b/docs/install.md @@ -0,0 +1,115 @@ +# Installation + +## Download + +Pre-built binaries will soon be available on the release page on both Codeberg and GitHub. + +## Build from source + +### Build requirements + +- **Go:** A minimum version of Go 1.22.0 is required for installing spruce. + Please go [here](https://go.dev/dl/) to download the latest version. + +- **Mage (Optional):** The project includes mage targets for building and installing the binary. The main + advantage of using mage over `go install` is that the build information is baked into the binary during + compilation. You can visit the [Mage website](https://magefile.org/) for instructions on how to install Mage. + +### Install with mage + +You can install Enbas with Mage using the following commands: + +```bash +git clone https://github.com/dananglin/enbas.git +mage install +``` + +By default Mage will attempt to install Enbas to `/usr/local/bin/enbas` which will most likely fail as you won't +the permission to write to `/usr/local/bin/`. You will need to either run `sudo mage install`, or you can +(preferably) change the install prefix to a directory that you have permission to write to using +the `ENBAS_INSTALL_PREFIX` environment variable. For example: + +```bash +ENBAS_INSTALL_PREFIX=${HOME}/.local mage install +``` + +This will install Enbas to `~/.local/bin/enbas`. + +===== Environment variables you can use with Mage + +| Environment Variable | Description | +|--------------------------|------------------------------------------------------------------------------| +|`ENBAS_INSTALL_PREFIX` | Set this to your preferred the installation prefix (default: `/usr/local`). | +|`ENBAS_BUILD_REBUILD_ALL` | Set this to `1` to rebuild all packages even if they are already up-to-date. | +|`ENBAS_BUILD_VERBOSE` | Set this to `1` to enable verbose logging when building the binary. | + +### Install with go + +If your `GOBIN` directory is included in your `PATH` then you can install Enbas with Go. + +```bash +git clone https://github.com/dananglin/enbas.git +cd enbas +go install ./cmd/enbas +``` + +### Verify the installation + +Type `enbas` from your terminal to verify that the installation was successful. You should see the help documentation. + +```bash +$ enbas +SUMMARY: + enbas - A GoToSocial client for the terminal. + +VERSION: + v0.1.0 + +USAGE: + enbas [flags] + enbas [flags] [command] + +COMMANDS: + accept Accept a request (e.g. a follow request) + add Add a resource to another resource + block Block a resource (e.g. an account) + create Create a specific resource + delete Delete a specific resource + edit Edit a specific resource + follow Follow a resource (e.g. an account) + init Create a new configuration file in the specified configuration directory + login Login to an account on GoToSocial + mute Mute a resource (e.g. an account) + reject Reject a request (e.g. a follow request) + remove Remove a resource from another resource + show Print details about a specified resource + switch Perform a switch operation (e.g. switch logged in accounts) + unblock Unblock a resource (e.g. an account) + unfollow Unfollow a resource (e.g. an account) + unmute Unmute a resource (e.g. an account) + version Print the application's version and build information + whoami Print the account that you are currently logged in to + +FLAGS: + --help + print the help message + --config-dir + Specify your config directory + --no-color + Disable ANSI colour output when displaying text on screen + +Use "enbas [command] --help" for more information about a command. +``` + +You can also view the application's version and build information using the `version` command. +The build information is correctly displayed if you've downloaded the binary from Codeberg or GitHub, +or if you've built it with Mage. + +```bash +Enbas + +Version: v0.1.0 +Git commit: c8892a6 +Go version: go1.22.4 +Build date: 2024-06-28T21:57:37Z +```