Welcome to Ctxt

docs/{filename}
index
docu/
about/cheat/ctxt/engine/indexmysql/start/
examples/
blocks/client_data/hello-world/if-else/indexMdViewer/mysql/tree_menu/

ctxt

is a system for building websites. Two parts:

constructs the site.

It starts elementary: a few lines make a page. It can grow into a database-driven, responsive website with user groups, conditions and forms - and at every step it stays comprehensible. The system grows by adding small layers, never by getting complicated.

Not a platform, not a service, not a tool that makes files for something else. The folder IS the website: copy it to any PHP host and it runs.

The idea

Less is more. A page is described in a plain-text file that reads like a list of simple instructions:

elem:h1
value:hello world
place:main

That is real ctxt: make a heading, with this text, put it in the main part of the page. No programming knowledge needed to read it - and not much more to write it.

Under the hood

Websites are usually built on an overload of code, grown larger and larger over time. The web developer ends up depending on third parties to keep it all safe and up to date - and no longer understands everything that runs on their own site.

This project takes the other road.

A small PHP engine reads the ctxt files and builds the page. Small means small: a handful of files, each doing one job, each readable in one sitting. Everything that runs can be understood by one person - that is the design goal, not a side effect.

Nothing is imported. No package manager, no build step, no third party. The system runs fully independent on PHP and MySQL - the standard of nearly every hosting provider, for decades now. Built future-proof on that foundation.

Javascript, jQuery, Bootstrap and such can be added by own preference. They are the builder's choice, never a requirement of the system.

And keeping things up to date? There is almost nothing to keep up to date. No stack of packages that ages, no monthly security patches from elsewhere. The engine is a small set of readable files: what PHP itself changes over the years is the only maintenance there is - and small means such a change is a small job.

And safe? Safety here is not a product to install - it is a property of small. Every line that runs can be read, and has been. All visitor input passes one door, with one set of rules. More about how this works: [can something this small be safe?](concerns)

Need is demonstrated, never assumed: a tool enters this project only when a page has failed without it.

Independence

With this, anyone can build a fully independent website: no platform, no subscription, no company between the builder and the visitor. The site is files in a folder, owned whole.

The next step under construction: a fully self-hosted database. Guest posts, votes, content - stored on the same server, in the builder's own hands. Our data stays ours.