You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
wpetit e587d00265 Merge branch 'release/0.0.6' 1 year ago
.chglog chore: add release preparation tasks with changelog generation 1 year ago
.githooks chore: tailwindcss theme + goreleaser basic recipe 2 years ago
.github/workflows chore: add basic github workflows 2 years ago
cmd/frmd feat: use --debug flag for error more verbose output 1 year ago
internal feat: aggregate defaults and values 1 year ago
misc feat(install): fix script execution on alpine 1 year ago
.env.dist chore: use .env file in make tasks 2 years ago
.gitignore chore: add release preparation tasks with changelog generation 1 year ago
.goreleaser.yaml chore: generate assets before release 2 years ago
CHANGELOG.md chore: update changelog for version 0.0.6 1 year ago
Makefile chore: fix start-release task 1 year ago
README.md feat: add null:// update handler 1 year ago
commitlint.config.js chore: tailwindcss theme + goreleaser basic recipe 2 years ago
go.mod feat: aggregate defaults and values 1 year ago
go.sum feat: aggregate defaults and values 1 year ago
modd.conf chore: disable install script tests in watch mode 1 year ago
package-lock.json feat: aggregate defaults and values 1 year ago
package.json chore: bump to version 0.0.6 1 year ago
tailwind.config.js chore: tailwindcss theme + goreleaser basic recipe 2 years ago

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