一键导入
paroicms-website
Guidelines for working on a ParoiCMS website directory. Use when developing or debugging website themes, templates, and configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guidelines for working on a ParoiCMS website directory. Use when developing or debugging website themes, templates, and configuration.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
| name | paroicms-website |
| description | Guidelines for working on a ParoiCMS website directory. Use when developing or debugging website themes, templates, and configuration. |
| license | CC0 1.0 |
| metadata | {"author":"Paleo","version":"0.1.0","repository":"https://github.com/paleo/skills"} |
A ParoiCMS website is a directory containing configuration files, a theme with Liquid templates, and static assets.
Documentation:
Annotated type definitions:
npm start # Run the server
npm run build # Build CSS bundle
npm run dev # Run `css:watch` and `start:dev` concurrently (watch modes)
npm run start:dev # Run the server - watch mode
npm run css:watch # Build CSS bundle - watch mode
When the server is running, the website is available at http://localhost:8080.
Note: PostCSS is used to bundle CSS. The entry point is theme/assets/css/index.css, output is theme/assets/bundle.css.
A Site Schema defines the types of:
Note: A document always contains a title, publish date, and featured image. These are not fields in the site-schema.
The main database of a website stores a tree of nodes: site -> home -> (other documents & parts).
Important identifiers:
nodeId:language - localized node identifier - use parseLNodeId() and encodeLNodeId() for conversion (sparingly)A routing cluster (or cluster) groups nodes of routing documents. It contains the cluster root node (the home node or a regular document) and a tree of routing nodes attached to the root.
Key points:
Any routing document can be used as a taxonomy, then the regular child documents are the taxonomy terms.
A taxonomy is used in a labeling field. Labeling fields can reference taxonomy from the same cluster or a parent cluster only.
my-website/
├── config.json # Server configuration (standalone sites only)
├── package.json # Dependencies (plugins) and scripts
├── site-schema.json # Document types, parts, fields, plugins
├── site-schema.l10n.*.json # UI labels for Admin-UI (one per language)
├── postcss.config.js # PostCSS configuration for CSS bundling
├── static-files/ # Files served as-is (robots.txt, etc.)
└── theme/
├── theme.json # Image resize rules, pixel ratio
├── .theme-check.yml # VS Code Shopify extension config (ignore)
├── templates/ # Liquid templates
│ ├── layouts/ # Layout templates
│ ├── partials/ # Reusable partial templates
│ ├── home.liquid # One template per document type
│ ├── 404.liquid # Error page
│ └── ...
├── locales/ # Theme translations (JSON files per language)
│ ├── en.json
│ └── fr.json
└── assets/
├── css/ # CSS source files
├── js/ # JavaScript files
├── bundle.css # Generated CSS bundle
└── icons/ # SVG icons, images
{
"fTextImages": ["700x350", "700x", "x400x"],
"pixelRatio": 1.5
}
fTextImages: Image resize rules for HTML content fieldspixelRatio: Default pixel ratio for responsive imagessite-schema.l10n.{lang}.json - Labels for document types and fields displayed in Admin-UI:
{
"nodeTypes": {
"home": { "label": "Home page" },
"post": {
"label": "Post",
"fields": { "tags": { "label": "Tags" } }
}
}
}
theme/locales/{lang}.json - Translations for the t filter in templates:
{
"Read more": "Lire la suite",
"Home": "Accueil"
}