Introduction
Last updated
Last updated
"A new way to organize, edit, and deliver the web, one component at a time."
Powering , , , . Created by New York Media.
Composes components into renderable pages
Uses any key-value store of your choice (e.g., Mongo, Redis, LevelDB, etc.)
Provides an API for managing instances of components, uris, and pages
Amphora is a core part of New York Media's Clay project, an open-source content management system.
It follows semver and is stable as of v1.0.0.
Clay separates concerns into two main areas: components and sites. Create two new directories in your project:
In your project's main server file (e.g. app.js
), instantiate a new Amphora instance.
For additional configuration, you may pass in an Express app / router. You can also override the default templating engine(s) with your own.
Components in Clay have the following structure:
All of these files are optional.
Fork the project and submit a PR on a branch that is not named master
. We use linting tools and unit tests, which are built constantly using continuous integration. If you find a bug, it would be appreciated if you could also submit a branch with a failing unit test to show your case.
Amphora is a mixin for that:
The template you create is dependent on whichever renderer you'd like to use. The Clay Core team supports an using template, but the choice is yours. Either request a renderer or build one on your own!
uses a component's schema.yml to determine how it is edited. for examples of how to write schema files for your components.