{% extends "base.html" %} {% block title %}{{ 'New template' if is_new else 'Edit template' }} — Waikiki{% endblock %} {% block content %}

{{ 'New template' if is_new else 'Edit template' }}

← All templates
{# Describe it instead of writing it. The draft lands in the form below rather than being saved: an element ships arbitrary HTML and JS into every page that uses it, so a human reads it here and saves deliberately. #}

It fills the form below — nothing is saved until you press Save, so read it first.

One property per line — name: type, with * after the name for required (the same marker custom elements use). Types: str, int, float, bool, date, list[str], or a choice like player | npc. Pages made from this template are stamped with template: {{ tpl.name or 'Name' }} and checked against it on their Metadata tab. Checking never blocks a save and never rewrites a value — a mismatch is reported, not corrected, and pages made before you wrote this schema are untouched.

Templates accept arbitrary HTML alongside Markdown — paste custom layouts, <details>, tables, iframes, etc. — and it renders. (Raw HTML is on by default because all content is local; you can turn it off per wiki in Settings → Content.) Put {{ '{{title}}' }} where the new page's title should go.

Cancel
{% endblock %}