summaryrefslogtreecommitdiff
path: root/docs/developer
diff options
context:
space:
mode:
Diffstat (limited to 'docs/developer')
-rw-r--r--docs/developer/SUMMARY.md4
-rw-r--r--docs/developer/client/swatches.md16
2 files changed, 20 insertions, 0 deletions
diff --git a/docs/developer/SUMMARY.md b/docs/developer/SUMMARY.md
index 6b0ce6a..71f85d1 100644
--- a/docs/developer/SUMMARY.md
+++ b/docs/developer/SUMMARY.md
@@ -14,6 +14,10 @@
- [Running Pilcrow locally](server/running.md)
- [Debian packaging](server/debian-packaging.md)
+# The client
+
+- [Swatches](client/swatches.md)
+
# Development tools
- [Formatting](tools/formatting.md)
diff --git a/docs/developer/client/swatches.md b/docs/developer/client/swatches.md
new file mode 100644
index 0000000..df4f643
--- /dev/null
+++ b/docs/developer/client/swatches.md
@@ -0,0 +1,16 @@
+# Swatches
+
+To make it easier to experiment with the client's component framework, the client exposes "swatches" - pages demonstrating individual components in isolation.
+
+Swatches are available from a running client at the `/.swatch/` URL. This URL is not linked in the client; you Just Need To Know.
+
+## Writing Swatches
+
+Swatches are manually curated. When adding a component, add a swatch if you can.
+
+Things to consider:
+
+- For complex values, use a parser, so that the user reading your swatch can edit the structure as text.
+- For freeform values whose meaning is significant, provide buttons to let the user rapidly enter and experiment with interesting values.
+- Be thorough. Let the user experiment with values, even if you think those values may be nonsensical.
+- Try to show the component _without_ supporting markup, as far as is possible. However, if a component generates markup that requires context - a table row component needs a table, for example, or a list element needs a list - then include that markup in the swatch.