diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml index 9722d9e..1bde0c6 100644 --- a/.forgejo/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -69,7 +69,7 @@ jobs: cd _site netlify deploy --dir docs --prod - 'Release': + 'Release MacOS': needs: Build runs-on: macos steps: @@ -79,9 +79,6 @@ jobs: uses: actions/setup-go@v3 with: go-version: 1.25 - - name: Setup Dependencies - run: | - brew install gpg - name: Configure run: | git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika" @@ -90,12 +87,30 @@ jobs: go install github.com/goreleaser/goreleaser/v2@v2.12.7 - name: Release run: | - goreleaser release -f goreleaser.yml --skip=validate --clean + goreleaser publish -f macos.goreleaser.yml --skip=validate --clean env: - GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HOMEBREW_TAP_PRIVATE_KEY: ${{ secrets.HOMEBREW_TAP_PRIVATE_KEY }} - MACOS_SIGN_P12: ${{ secrets.MACOS_SIGN_P12 }} - MACOS_SIGN_PASSWORD: ${{ secrets.MACOS_SIGN_PASSWORD }} - MACOS_NOTARY_KEY: ${{ secrets.MACOS_NOTARY_KEY }} - MACOS_NOTARY_KEY_ID: ${{ secrets.MACOS_NOTARY_KEY_ID }} - MACOS_NOTARY_ISSUER_ID: ${{ secrets.MACOS_NOTARY_ISSUER_ID }} + +# release-linux: +# needs: build +# runs-on: ubuntu-latest +# steps: +# - name: Checkout +# uses: actions/checkout@v2 +# - name: Setup Go +# uses: actions/setup-go@v3 +# with: +# go-version: 1.22 +# - name: Configure +# run: | +# git config --global url."https://${{ secrets.GO_MODULES_TOKEN }}:x-oauth-basic@github.com/lmika".insteadOf "https://github.com/lmika" +# - name: Release +# uses: goreleaser/goreleaser-action@v1 +# if: startsWith(github.ref, 'refs/tags/') +# with: +# version: latest +# args: release -f linux.goreleaser.yml --skip=validate --clean +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# HOMEBREW_GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_TOKEN }} \ No newline at end of file diff --git a/_certs/.gitignore b/_certs/.gitignore deleted file mode 100644 index 27fdaaf..0000000 --- a/_certs/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.key -*.p8 -*.certSigningRequest -*.cer -*.p12 -*.txt \ No newline at end of file diff --git a/_certs/README.md b/_certs/README.md deleted file mode 100644 index 2d7fbab..0000000 --- a/_certs/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Certs - -These hold the certificates for MacOS notarisation. As such they are not checked into the repository. - -List of files is as follows: - -- ALDsigning.key : private key -- csr3072ALDSigning.certSigningRequest : certificate signing request -- developerID_application.p12 : signed certificate -- keyStore.p12 : pkcs12 keystore holding both the certificate and private key -- AthKey_UD4...p8 : private key granting API access to AppStore connect - -## Producing These Files - -To produce the keys, run the following command: - -```bash -# create the private key. It must be RSA 2048 -$ openssl genrsa -out ALDsigning.key 2048 - -# create the CSR -$ openssl req -new -key ALDsigning.key -out csr3072ALDSigning.certSigningRequest -subj "/emailAddress=lmika@lmika.org, CN=dev.lmika.dynamo-browse, C=IE" -``` - -These are based on [these instructions](https://developer.apple.com/help/account/certificates/create-a-certificate-signing-request). -The instructions are incorrect though. They claim that the key lenght should be 3096, but AppStore connect only supports 2048. - -Then, upload the CSR to AppStore Connect, choosing the "Developer ID Application" certificate type. If successful, -you will be given a signed certificate, which will have the filename `developerID_application.signing.cer`. - -Then, produce a PKCS12 (.p12) file by running the following command ([source](https://stackoverflow.com/questions/21141215/creating-a-p12-file)): - -```bash -openssl pkcs12 -export -out keyStore.p12 -inkey ALDsigning.key -in developerID_application.signing.cer -``` - -## Getting the .p8 file - -To download the .p8 file, go to the [Apple Developer Portal](https://appstoreconnect.apple.com/access/integrations/api/new), -and download a new API key for AppStore Connect. The role of the new key should be "Developer". - -## Configuring the CI/CD secrets - -The following secrets correspond to the given secrets: - -- `MACOS_SIGN_P12`: base64 of keyStore.p12 -- `MACOS_SIGN_PASSWORD` the p12 password -- `MACOS_NOTARY_ISSUER_ID`: see the UUID on this page: https://appstoreconnect.apple.com/access/integrations/api -- `MACOS_NOTARY_KEY_ID`: the ID of the .p8 file - `U4....` -- `MACOS_NOTARY_KEY`: base64 of the .p8 file \ No newline at end of file diff --git a/_site/.gitignore b/_site/.gitignore deleted file mode 100644 index 5a35c8d..0000000 --- a/_site/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -docs/ -node_modules/ -resources/ -themes/ \ No newline at end of file diff --git a/_site/.hugo_build.lock b/_site/.hugo_build.lock deleted file mode 100644 index e69de29..0000000 diff --git a/_site/content/_index.md b/_site/content/_index.md index ef82dc1..d68fcc7 100644 --- a/_site/content/_index.md +++ b/_site/content/_index.md @@ -1,6 +1,7 @@ ---- -weight: 10 ---- ++++ +title = "Dynamo-Browse" +bookToc = false ++++
@@ -16,31 +17,15 @@ With it, you can quickly connect to and browse the contents of a DynamoDB table
in your AWS account or local machine. There are some basic facilities for
editing as well.
+
+
## Getting Started
+Instructions for installing Dynamo-Browse can be found on the [Downloads page](/download).
+
This video gives a brief introduction of how to use Dynamo-Browse to view the items of a DynamoDB table:
{{< youtube cQnTIg1_tfg >}}
More information about the tool can be found within the [Dynamo-Browse user manual](/docs).
-## Download
-
-Binary packages for MacOS and Linux can be [found at Forgejo](https://lmika.dev/cmd/dynamo-browse/releases).
-
-### MacOS Using Homebrew
-
-If you have Homebrew, you can install Dynamo-Browse using the following command:
-
-```
-brew tap lmika/dynamo-browse https://lmika.dev/casks/dynamo-browse
-brew install dynamo-browse
-```
-
-### Go
-
-If you have Go installed, you can install Dynamo-Browse using the following command:
-
-```
-go install lmika.dev/cmd/dynamo-browse/cmd/dynamo-browse@latest
-```
diff --git a/_site/content/docs/_index.md b/_site/content/docs/_index.md
new file mode 100644
index 0000000..ee4c39b
--- /dev/null
+++ b/_site/content/docs/_index.md
@@ -0,0 +1,35 @@
+# User Guide
+
+## Table Of Contents
+
+- [Launching and Quitting](/docs/launching)
+ - [Selecting a Table](/docs/launching#selecting-a-table)
+ - [Selecting a Workspace](/docs/launching#selecting-a-workspace)
+ - [Quitting](/docs/launching#quitting)
+- [Getting Around](/docs/getting-around)
+ - [The Back-stack](/docs/getting-around#the-back-stack)
+ - [Adjusting The Layout](/docs/getting-around#adjusting-the-layout)
+ - [Adjusting The Displayed Columns](/docs/getting-around#adjusting-the-displayed-columns)
+ - [Entering Commands](/docs/getting-around#entering-commands)
+- [Filtering and Querying](/docs/filtering-querying)
+ - [Filtering](/docs/filtering-querying#filtering)
+ - [Querying](/docs/filtering-querying#querying)
+- [Editing Items](/docs/editing-items)
+ - [Marking Items](/docs/editing-items#marking-items)
+ - [Modifying Attributes](/docs/editing-items#modifying-attributes)
+ - [Deleting Attributes](/docs/editing-items#deleting-attributes)
+ - [Adding Items](/docs/editing-items#adding-items)
+ - [Deleting Items](/docs/editing-items#deleting-items)
+ - [Committing Changes](/docs/editing-items#committing-changes)
+ - [Backing Out of Changes](/docs/editing-items#backing-out-of-changes)
+- [Customising Dynamo-Browse](/docs/customising)
+ - [The RC File](/docs/customising#rc-file)
+ - [Rebinding Keys](/docs/customising#rebinding-keys)
+
+References
+
+- [Key Bindings](/docs/reference/key-bindings)
+- [Commands](/docs/reference/commands)
+- [Query Expressions](/docs/reference/query-expressions)
+- [Launch Flags](/docs/reference/launch-flags)
+- [Settings](/docs/reference/settings)
diff --git a/_site/content/docs/user-guide/customising.md b/_site/content/docs/customising.md
similarity index 53%
rename from _site/content/docs/user-guide/customising.md
rename to _site/content/docs/customising.md
index 879ab82..34e4a3a 100644
--- a/_site/content/docs/user-guide/customising.md
+++ b/_site/content/docs/customising.md
@@ -1,24 +1,22 @@
----
-title: Customising Dynamo-Browse
-weight: 50
----
# Customising Dynamo-Browse
Some commands can be used to customise Dynamo-Browse, such as modify key bindings.
The effect of these commands will only be applied for the duration of the session: they are currently not
-tracked within the workspace file. To keep customisations across relaunches, these commands
+tracked within the workspace file. So in order to keep customisations across relaunches, these commands
can be added to an RC file.
-## RC Files
+## The RC File
-RC files are text files containing commands that will be executed by Dynamo-Browse upon launch.
-By default, RC files are located in `$HOME/.config/dynamo-browse/` and have the suffix `.ucl`. For example:
+The RC file is a text file containing commands that will be executed by Dynamo-Browse upon launch.
+By default, the RC file is located at the following path:
```
-$HOME/.config/dynamo-browse/init.ucl
+$HOME/.config/audax/dynamo-browse/init.rc
```
-Any number of RC files can be present in this directory, and they are executed in lexicographical order.
+This file is primarily intended for commands that customise Dynamo-Browse in a particular way, but any
+command can be entered here. If this file is found, Dynamo-Browse will invoke each command before loading
+or prompting the table.
## Rebinding Keys
@@ -40,11 +38,4 @@ At the moment each binding name can only be mapped to a single key. It's also c
to setup bindings for commands. These may be supported in the future.
A list of available binding names can be found the the [reference](/docs/reference/key-bindings)
-(check the "Show binding names" checkbox). Note that some bindings may not have default key bindings.
-
-## Extensions
-
-The RC files are primarily intended for commands that customise Dynamo-Browse in a particular way, but any
-command can be entered here, including those for defining new commands or running predefined queries. These
-are generally known as extensions, although act as any other RC file located within that directory. More
-information on extensions can be found in the [reference](/docs/reference/script-api).
\ No newline at end of file
+(check the "Show binding names" checkbox). Note that some bindings may not have default key bindings.
\ No newline at end of file
diff --git a/_site/content/docs/user-guide/editing-items.md b/_site/content/docs/editing-items.md
similarity index 98%
rename from _site/content/docs/user-guide/editing-items.md
rename to _site/content/docs/editing-items.md
index d58d70e..e7d38b0 100644
--- a/_site/content/docs/user-guide/editing-items.md
+++ b/_site/content/docs/editing-items.md
@@ -1,7 +1,3 @@
----
-title: Editing Items
-weight: 40
----
# Editing Items
Dynamo-Browse offers some basic facilities for editing items — such as creating items, deleting items,
diff --git a/_site/content/docs/user-guide/filtering-querying.md b/_site/content/docs/filtering-querying.md
similarity index 59%
rename from _site/content/docs/user-guide/filtering-querying.md
rename to _site/content/docs/filtering-querying.md
index 1cf0a09..87096cd 100644
--- a/_site/content/docs/user-guide/filtering-querying.md
+++ b/_site/content/docs/filtering-querying.md
@@ -1,8 +1,4 @@
----
-title: Querying and Filtering Results
-weight: 30
----
-# Querying and Filtering Results
+# Querying And Viewing Results
## Querying
@@ -12,24 +8,7 @@ weight: 30
A query or scan over the table can be performed by entering a _Query Expression_.
Query expressions are a built-in expression language which translates to either a DynamoDB query
-or scan, depending on the expression.
-
-Query expressions are entered as expressions, with most being of the form `attribute operator value`.
-For example, the expression for selecting records where `color` equals `red` is:
-
-```
-color = "red"
-```
-
-The `color` attribute can either be a partition key, sort key, or a regular attribute. Dynamo Browse
-will do it's best to run the query as a DynamoDB query if possible. Usually query expressions of the
-form `pk =