Template Forms
pendingby stbn1699
A form-based templating plugin for notes creation.
Template Forms (WIP)
Template Forms is an upcoming Obsidian plugin that will allow users to create notes through custom HTML/CSS form interfaces instead of sequential prompt dialogs.
The goal is to replace prompt-based workflows (e.g., Templater await ask() chains) with clean, user-defined interfaces containing inputs, buttons, tabs, and validation.
⚠️ The plugin is currently in early development.
Most features are not implemented yet.
🚧 Project Goals (Planned)
-
Add a sidebar icon that opens a dedicated UI inside Obsidian
-
Display a list of available form templates
-
Selecting a template opens its associated HTML/CSS form
-
Support multiple modes inside a single template (e.g. “family / friend / work”)
-
Provide built-in validation for required fields
-
Provide Cancel / Validate buttons
-
On validation:
- Check inputs
- Create a new note
- Apply properties (YAML)
- Use dynamic filename patterns
- Move note to a required target folder
-
Allow automatic creation of new templates:
- Generates
template.html - Generates
template.css - Generates
meta.json
- Generates
📦 Current Status
At this stage, the plugin includes:
- Basic project setup (TypeScript, Obsidian API)
- Manifest configuration
- Skeleton plugin activation
- Development environment ready for expansion
Available features
- Create templates with text, number, textarea, and date fields
- Insert field values in the markdown body with the syntax
${id} - Define automatic variables that can reuse other fields (example:
nomPrenomwith value${nom} ${prenom}) - Built-in variables available everywhere:
${date}(YYYY-MM-DD)${time}(HH:mm)${datetime}(ISO string)- These variables can also be used for filenames and destination folders, with optional formatting such as
${date:YY-MM-DD} - Formatting also supports French month names with
MMM(Janv.…Déc.) andMMMM(Janvier…Décembre), allowing patterns like${date:MM-MMMM}→12-Décembre
- Set a default filename pattern per template (for example
journal-${date:YY-MM-DD})
More features will be added gradually.
🛠️ Development Setup
Clone this repository into:
<your-vault>/.obsidian/plugins/template-forms
Install dependencies:
npm install
Build in watch mode:
npm run dev
Enable the plugin in:
Settings → Community plugins
🤝 Contributing
This project is currently developed by a single author, but contributions and suggestions are welcome as the plugin evolves.
📄 License
MIT License.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.