<?php
/**
* Plugin Name: menzel.works
* Description: compile a blog-first system from clean routes.
*/
final class MW_Workbench {
public function boot(): void {
add_action( 'init', [ $this, 'routes' ] );
add_filter( 'body_class', [ $this, 'surface' ] );
}
public function routes(): void {
mw_route( '/blog', 'Blog.' );
mw_route( '/wordpress', 'WordPress' );
mw_route( '/ki', 'KI.' );
mw_route( '/workflows', 'Workflows.' );
}
public function render(): string {
$latest = mw_posts( type: 'post', limit: 7 );
$tools = mw_posts( type: 'plugin_product', limit: 3 );
$stack = [ 'domains', 'projects' ];
return mw_view( 'front-page', compact( 'latest', 'tools', 'stack' ) );
}
public function surface( array $classes ): array {
$classes[] = 'mw-site';
$classes[] = 'mw-blog-first';
return $classes;
}
}
( new MW_Workbench() )->boot();
// build: clean, fast, readable.
// output: Blog. WordPress KI. Workflows.
// hydrate: latest posts, plugin cards, domain rows.
// compile menu: Blog | Plugins | Domains | Projekte.
// ship surface.
Aktuell
Archiv
11.08.2026
OpenAI baut ChatGPT Business zur Kapazitaetsstaffel aus: Warum Premium-Sitze fuer Teams wichtiger sind als nur mehr Limits
08.08.2026
OpenAI macht GPT-5.6 Luna zum Gratis-Standard in ChatGPT: Warum unbegrenzte Text-Chats wichtiger sind als der Think-Button
07.08.2026
OpenAI zieht bei Astra die Cyber-Notbremse vor dem Launch: Warum kritische Agentenfaehigkeit jetzt zur Entwicklungsgrenze wird
07.08.2026
Google schiebt jetzt auch die Plugin-Verpackung in den Agenten-Stack: Warum plugin.json wichtiger wird als noch ein neues Skill-Format
07.08.2026
Meta startet Muse Code: Warum persistente Subagenten jetzt zum Produkt fuer Coding-Agenten werden
06.08.2026
Anthropic baut DLP direkt in den Agentenpfad: Warum Inference Hooks fuer Claude Enterprise wichtiger sind als ein normales Security-Feature
06.08.2026
Google macht MCP zustandslos: Warum Agenten-Infrastruktur jetzt erwachsenere Web-Prinzipien bekommt
Weitere Artikel
Archiv
Plugins
ArchivDomains
ArchivProjekte
Archiv