Performance
A strong foundation starts with speed. Deliver content quickly and create better experiences for your audience.
CondationCMS
CondationCMS combines structured content, fast templates, and extensible logic into a platform that makes editorial work easy while keeping technical teams close to the code.
---
title: "CondationCMS Landing Page"
template: "landing.html"
---
# Built for great content.
CondationCMS
"CondationCMS is an open-source, Markdown-first CMS that helps developers create fast, flexible and extensible content platforms."
The Pillars of Great Content
A strong foundation starts with speed. Deliver content quickly and create better experiences for your audience.
Content should adapt to your ideas, not the other way around. Shape your workflows and structures to fit your project.
Great foundations support future growth. Extend and customize CondationCMS as your requirements evolve.
Extend CondationCMS
Shortcodes let you extend Markdown with reusable, dynamic content elements while keeping content simple and readable.
import { $hooks } from 'system/hooks.mjs';
// register component via js extensions
$hooks.registerAction("system/content/shortCodes", ({shortCodes}) => {
shortCodes.put(
"hello",
({name}) => `Hello ${name}`
)
return null;
})
// register component via java module
@ShortCode("hello")
public void hello_shortcode (String name) {
return "Hello " + name;
}
[[hello name="CondationCMS" /]]
Extend CondationCMS
Template components let you create reusable building blocks that keep templates clean, consistent, and easy to maintain.
import { $hooks } from 'system/hooks.mjs';
// register component via js extensions
$hooks.registerAction("system/template/component", ({components}) => {
components.put(
"hello",
({name}) => `<div><h3>Hello</h3> <p>${name}</p></div>`
)
return null;
})
// register component via java module
@TemplateComponent("hello")
public void hello_compnent (String name) {
return "<div><h3>Hello</h3> <p>%s</p></div>".format(name);
}
{[hello name="CondationCMS" ]}
{[ /hello ]}
Extend CondationCMS
Template functions add reusable logic and custom functionality directly to your templates.
import { $hooks } from 'system/hooks.mjs';
// register function via js extensions
$hooks.registerAction("system/template/function", ({functions}) => {
functions.put(
"hello",
({name}) => `Hello ${name}`
)
return null;
})
// register function via java module
@TemplateFunction("hello")
public void hello_function (String name) {
return "Hello " + name;
}
{{ hello({"name" : "CondationCMS"}) }}
Naechster Schritt
Starte mit einer schlanken Struktur und erweitere sie genau dort, wo dein Projekt es braucht.