🚀 Powerful while effortless Markup-driven and Extendable forms.

SmarkForm enhances HTML forms with advanced features like dynamic list manipulation and context-based interactions, without requiring specific layout or complex JavaScript code. [More...]
- Subforms: Nested forms to any depth.
- Lists: Sortable and variable-length arrays either of scalars or subforms.
- Conigurable hot keys: Context-driven keyboard shortcuts.
- Low code: No manual wiring between controls and fields.
- JSON format: Data is imported / exported as JSON.
- Lightweight: Only ~38KB minified.
- Flexible, extendable and more....
-
As NPM package:
npm install smarkform
. -
Alternatively you can get SmarkForm through several other resources such as CDN and more...
For detailed usage instructions and API reference check out 📔 SmarkForm Reference Manual.
-
See our Live Examples.
- You can download each one and modify as you like.
-
See also interactive code snippets across the Reference Manual.
- They show relevant HTML, JS (and sometimes CSS).
- Try them out in the Preview tab.
- Don't miss the Notes tabs for relevant insights.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request.
Before contributing, make sure to read our contribution guidelines.
You can find official SmarkForm documentation at:
👉 https://smarkform.bitifet.net
Documentation source can be found in /docs directory of this repository.
It uses Jekyll and just-the-docs Jekyll layout and it is automatically deployed by GitHub infrastructure anytime new revision is pushed..
To build SmarkForm documentation localloy you first need to install follow this instructions:
-
Execute
gem install jekyll bundler
. -
Run
npm run doc
.
Then you will be able to see the documentation at http://localhost:4000
or
http://<your-ip>:4000
.
We would like to express our gratitude to the open source community for their valuable contributions and feedback.