MCPSERV.CLUB
W-CMS

W-CMS

Self-Hosted

Spontaneous lightweight CMS for artists and experimental sites

Active(86)
44stars
0views
Updated 10 days ago
W-CMS screenshot 1
1 / 5

Overview

Discover what makes W-CMS powerful

**W** is a lightweight, PHP‑based CMS that blends wiki functionality with personal knowledge management. It allows developers to create and host small to medium‑sized sites where pages can be authored in Markdown, HTML, CSS, or JavaScript on the fly. The core idea is to keep the surface area minimal while exposing a flexible API and extensibility points that can be leveraged by advanced users. Because it relies on a flat‑file database, the runtime footprint is low and deployment can be as simple as dropping a zip archive into a web‑root.

Language

Frameworks

Templating

Storage

Overview

W is a lightweight, PHP‑based CMS that blends wiki functionality with personal knowledge management. It allows developers to create and host small to medium‑sized sites where pages can be authored in Markdown, HTML, CSS, or JavaScript on the fly. The core idea is to keep the surface area minimal while exposing a flexible API and extensibility points that can be leveraged by advanced users. Because it relies on a flat‑file database, the runtime footprint is low and deployment can be as simple as dropping a zip archive into a web‑root.

Technical Stack & Architecture

  • Language: PHP 8.x (object‑oriented, with type hints and namespaces).
  • Frameworks: No heavy framework; a custom micro‑framework handles routing, middleware, and view rendering.
  • Templating: Twig‑like syntax is used for page templates, but developers can inject raw PHP or JavaScript when needed.
  • Storage: All content lives in the filesystem—each page is a file, metadata stored in YAML front‑matter. This design removes the need for an external RDBMS and simplifies backups.
  • Database‑like Layer: A lightweight query interface abstracts the flat file system, allowing developers to write “SQL‑like” queries against page collections.
  • Authentication: LDAP support (beta) and a simple file‑based user store are available.
  • WebSocket / Live Reload: Optional WebSocket support for real‑time collaboration and live preview.

Core Capabilities & APIs

  • URL‑Based Command Interface: Append commands such as ../edit to a page URL to trigger editor modes or other actions without navigating menus.
  • REST‑like API (v0): Exposes CRUD operations on pages, media, and users. Endpoints return JSON and support pagination, filtering, and search via query parameters.
  • Media Manager: Handles file uploads, automatic web‑optimisation (JPEG/PNG compression), and provides URLs for embedding.
  • Geolocation: Pages can contain latitude/longitude metadata; the frontend automatically renders a map using Leaflet or similar libraries.
  • Graph View: Generates an interactive graph of page links, useful for visualising knowledge structures.
  • Extensibility: Plugins are simple PHP classes that hook into lifecycle events (onPageLoad, onRender, etc.). Developers can create custom commands, modify the editor toolbar, or inject new UI components.

Deployment & Infrastructure

  • Self‑Hosting: Requires a standard LAMP/LEMP stack. The application is stateless; any web server that can serve PHP files will work.
  • Containerization: A Dockerfile is provided, making it trivial to spin up a container for CI/CD pipelines or cloud deployments.
  • Scalability: While designed for small projects (under ~1,000 pages), horizontal scaling is possible by sharing the underlying filesystem or using a network‑attached storage. The lack of a central database reduces bottlenecks, but concurrent writes may need locking mechanisms.
  • Backup & Migration: Since data is file‑based, simple tar or Git can be used for version control. The API also supports exporting/importing page collections.

Integration & Extensibility

  • Webhooks: Developers can register callbacks that fire on page creation, update, or deletion.
  • CLI Sync Client: A lightweight command‑line tool (w sync) synchronises local edits with the server, useful for offline workflows.
  • Custom Themes: CSS/JS themes are drop‑in; the editor automatically loads theme assets, allowing rapid UI iteration.
  • Third‑Party Auth: LDAP and basic auth are supported; OAuth or SAML can be added via plugins.
  • RSS/Atom Feeds: Auto‑generated feeds expose recent updates, facilitating integration with external aggregators.

Developer Experience

  • Configuration: A single config.php file holds database paths, authentication settings, and feature toggles.
  • Documentation: The README, MANUAL.md, API.md, and rendering diagram (RENDER.md) provide comprehensive guidance.
  • Community: Maintained by a small but active team; issues and pull requests are handled promptly.
  • License: AGPLv3 encourages open‑source contributions while protecting the freedom of derivatives.

Use Cases

  • Personal Knowledge Bases: Artists or researchers can rapidly document concepts and link ideas.
  • Experimental Websites: The editor’s support for inline JavaScript makes it ideal for interactive fiction or data visualisations.
  • Micro‑CMS: Small teams can manage a handful of pages without the overhead of WordPress or Drupal.
  • Educational Projects: The flat‑file nature is perfect for teaching web development fundamentals without setting up a database.

Advantages

  • Performance: Minimal dependencies and flat‑file storage mean low latency for page loads.
  • Flexibility: Developers can inject custom logic at almost every stage of the request cycle.
  • Licensing: AGPLv3 ensures that any derivative work remains open, aligning with many community projects.
  • Rapid Prototyping: The URL‑based command interface and live editor reduce the friction of iterative design.

In summary, W offers a developer‑friendly, lightweight platform for building dynamic yet simple web spaces. Its architecture balances performance with extensibility, making it a compelling choice for projects that need quick iteration

Open SourceReady to get started?

Join the community and start self-hosting W-CMS today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
44
Technical Specs
Pricing
Open Source
Database
None
Supported OS
Linux
Author
vincent-peugnet
vincent-peugnet
Last Updated
10 days ago