← 所有消息

A CMS written in the language it serves

The CMS is 140 files now, and the interesting thing about them is that none of them are special. Thirteen modules, a large set of themes, nineteen page transitions and five dashboard widgets, all ordinary .phlo with the same routes, props and views any application uses.

A theme is one style block:

<style ns=theme.neon>
:root {
    $background: #000000
    $primary: #00ffea

A widget is a view and a script. A transition is a style block. There is no plugin API to learn, no registration step, no manifest describing what you contributed, because being a file in the tree is the registration.

That is the practical benefit of a platform where the tooling and the applications share a language. Extending the CMS uses the knowledge you already have from building an app on it, and reading its source is a way of learning the language rather than a detour into a second one.

The CRUD layer itself is schema-driven, resolving a model and a mode into the class that renders it, so a list, a record and a form are three views of one declaration rather than three things to write.

The cost of making something this cheap to add is that plenty gets added. A hundred themes is a good problem, and the answer to it is curation rather than a harder API.

我们使用必要的cookie来使该网站正常工作。在您的许可下,我们还使用分析工具来改善网站。