Go to file
wpetit 1c770b7413 feat: prevent stdout close 2022-09-27 22:23:18 +02:00
.chglog chore: add release preparation tasks with changelog generation 2022-08-01 10:37:08 +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 feat: use --debug flag for error more verbose output 2022-09-27 22:23:18 +02:00
internal feat: prevent stdout close 2022-09-27 22:23:18 +02:00
misc feat(install): fix script execution on alpine 2022-06-15 21:14:23 +02:00
.env.dist chore: use .env file in make tasks 2022-05-10 22:40:20 +02:00
.gitignore chore: add release preparation tasks with changelog generation 2022-08-01 10:37:08 +02:00
.goreleaser.yaml chore: generate assets before release 2022-05-12 18:36:57 +02:00
CHANGELOG.md chore: update changelog for version 0.0.5 2022-08-01 10:34:32 +02:00
Makefile chore: inject build info on development build 2022-09-27 22:23:18 +02:00
README.md feat: add null:// update handler 2022-09-27 22:23:18 +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: disable install script tests in watch mode 2022-09-27 22:23:18 +02:00
package-lock.json chore: tailwindcss theme + goreleaser basic recipe 2022-05-04 16:56:07 +02:00
package.json chore: bump to version 0.0.5 2022-08-01 10:34:31 +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.

⚠ Formidable is currently in a very alpha stage ! Expect breaking changes...

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

null://

TODO: Write doc + example

file://

TODO: Write doc + example

exec://

TODO: Write doc + example

Changelog

See CHANGELOG.md

Licence

AGPL-3.0