ArcMoon
1.1.0
Home
Docs
Playground
Packages
Tools
Versions
GitHub
Search
/
Esc
Start
Getting started
Install ArcMoon, write a page and build it.
Install
Your first page
Build it
Add a component
Make it interactive
Set up a project
Next
Installation
Requirements, installing the arcm command and checking that it works.
Requirements
Install the command
Install in one project
Check that it works
Update
Editor support
Language
Syntax
The whole language on one page: blocks, props, code, loops, components and styles.
Blocks
Props
Comments
Escaping and raw text
Build-time code
Loops
Runtime code
Components
Styles
Lines with no output
Blocks
What a block becomes, closing, names, brackets as text and arcm- props.
What a block becomes
Closing
On one line or many
Names
Brackets as text
arcm- props
Self-closing blocks
Blocks with no body: [name!], elements with no content, components.
Writing one
Elements with no content
Empty elements
Components
Always self-closing
Built-in blocks
[doctype!], [for-each], [import] and [slot]: what each does, its rules and its errors.
[doctype!]
[for-each]
[import]
[slot]
HTML blocks with extra work
Props
name: value, value types, quotes, names and style props.
Writing props
Values
Quotes inside a value
Multi-line values
Names
Style props
arcm- props
Props on components
Mistakes
Comments
# and ### comments, where # is not a comment, and writing # in text.
Single-line comments
Multi-line comments
Between props
Where # is not a comment
Writing # in text
Keeping comments in the HTML
Escaping
Writing [, #, ${ and \ as plain text, quoted values, and arcm-raw.
Why escape
In text
What needs no escape
The backslash itself
In quoted values
The word runtime
Lots of code: arcm-raw
In code and CSS
Mistakes
Raw text
arcm-raw: true writes a body exactly as it is: code samples, inline scripts, JSON.
What it does
What stays as written
Where the body ends
Inline scripts
No need in [style]
On a component
Rules
Loops
[for-each]: lists, the index i, objects, data from files, nested loops, and live loops that follow a signal.
[for-each]
The index: i
Lists of objects
Data from a file
Nested loops
What you can loop over
Live loops
Mistakes
Build-time code
${ }$: Node.js that runs while the page is built.
What it is
How it works
Rules
What it outputs
Variables
Imports and files
Waiting for data
The ArcMoon object
Tips
Errors and limits
Runtime code
runtime ${ }$: JavaScript in the browser, events, refs, URL imports, await, and optional reactivity.
What it is
How it works
Rules
Code blocks and live values
Events
Refs
Values from build time
npm packages
Waiting for data
Reactivity (optional)
Tips
Mistakes
Reactivity
arcmoon/reactive: signal, computed and effect, lists that change, and sharing state.
What it is
Why reactivity
signal
computed
effect
Which one to use
Lists that change
Sharing between components
The first value is in the HTML
Mistakes
Components
[import], props, slots and props that fall through.
What a component is
Importing
Import aliases
Props
Props that pass through
Slots
Layouts
Styles
Runtime code
Mistakes
Styles
[style], scoped component styles, --name and css. props.
Three ways to style
[style] blocks
Scoped component styles
css. props
--name props
Styles that change
Stylesheets and files
Mistakes
Reference
CLI
arcm commands, build flags, what the build writes, and messages.
Commands
arcmoon.config.js
What the build writes
Templates and trust
Messages
Configuration
Every arcmoon.config.js key and every JavaScript API option: defaults, examples, when to use them.
Two ways to set options
arcmoon.config.js
The options
Options only in the JavaScript API
Options of build() and buildPages()
In the browser
JavaScript API
compile(), build(), buildPages() and loadGraph(): ArcMoon from your own code.
When to use it
Everything ArcMoon exports
new ArcMoon(options)
buildPages(pages, options)
loadGraph(options)
Page props
Warnings
Errors
arcmoon/core
Browser build
Compile ArcMoon in the browser: render(), compile(), files, baseUrl and packages.
What it is
Getting it
render()
compile()
Files in memory
Files from a server
npm packages
Props and env
What build-time code can use
What the worker can\'t touch
All options
Warnings and errors
Size
Protector
Templates you didn't write never run until you trust them: the report, trust, and changes.
Why it exists
Your files and templates
The report
What each row means
Trusting a template
When a template changes
Listing and removing trust
Checking your own files
In code and CI
Tips
Nothing matches “
”.
↑
↓
move
Enter
open
Esc
close
Version
1.1.0
latest
1.0.0
0.0.0
← All versions
ArcMoon
0.0.0
Released 2026-10-01
A placeholder release, not a real ArcMoon version.
Newer
1.0.0