Zum Inhalt springen
<?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.