Go to file
wpetit d8490627dc chore: generate assets before release 2022-05-12 18:36:57 +02:00
.chglog chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
.githooks chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
.github/workflows chore: add basic github workflows 2022-05-12 18:33:02 +02:00
cmd/frmd Initial commit 2022-05-03 18:04:11 +02:00
internal feat: values updaters 2022-05-10 22:31:17 +02:00
misc chore: fix install script 2022-05-11 09:32:21 +02:00
.env.dist chore: use .env file in make tasks 2022-05-10 22:40:20 +02:00
.gitignore chore: remove changelog from repo 2022-05-10 22:37:27 +02:00
.goreleaser.yaml chore: generate assets before release 2022-05-12 18:36:57 +02:00
Makefile chore: generate assets before build 2022-05-12 18:33:02 +02:00
README.md chore: update README 2022-05-12 18:33:02 +02:00
commitlint.config.js chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
go.mod feat: url based multi-format loaders/decoders 2022-05-09 14:23:01 +02:00
go.sum feat: url based multi-format loaders/decoders 2022-05-09 14:23:01 +02:00
modd.conf chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
package-lock.json chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
package.json chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
tailwind.config.js chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00

README.md

Formidable

Web-based - but terminal compatible ! - little form editor using JSONSchema models.

Terminal compatible ?

The generated web UI does not use Javascript and can be used with terminal browsers like w3m or lynx.

Install

Manually

Download the pre-compiled binaries from the releases page and copy them to the desired location.

Bash script

curl -sfL https://raw.githubusercontent.com/Bornholm/formidable/master/misc/script/install.sh | bash

It will download frmd to your current directory.

Install script environment variables

Name Description Default
FORMIDABLE_VERSION Formidable version to download latest
FORMIDABLE_DESTDIR Formidable destination directory .

URLs

Formidable uses URLs to define how to handle schemas/defaults/values.

For example, to edit with Firefox a schema (in YAML) from an HTTPS server, while readig default values from stdin (in JSON) and using effective values from the local file system (in HCL), outputing updates to stdout:

echo '{}' | FORMIDABLE_BROWSER="firefox" frmd \
    edit
    --schema 'https://example.com/my-schema.yml' \
    --defaults 'stdin://local?format=json' \
    --values 'file:///my/file/absolute/path.hcl' \
    --output 'stdout://local?format=json'

Available loaders

stdin://

TODO: Write doc + example

http:// and https://

TODO: Write doc + example

file://

TODO: Write doc + example

Available formats

JSON

  • URL Query: ?format=json
  • File extension: .json
  • As input: yes
  • As output: yes

YAML

  • URL Query: ?format=yaml
  • File extension: .yaml or .yml
  • As input: yes
  • As output: yes

HCL

  • URL Query: ?format=hcl
  • File extension: .hcl
  • As input: yes
  • As output: no

Available outputs

stdout:// (default)

TODO: Write doc + example

file://

TODO: Write doc + example

exec://

TODO: Write doc + example

Licence

AGPL-3.0