Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

devuri/twigit

Open more actions menu

Repository files navigation

A Streamlined Templating Approach

Modern development increasingly leans toward mono repo architectures that centralize application code, dependencies, and templates in a unified repository. This approach simplifies collaboration, version control, and deployment—making it ideal for large-scale and maintainable web projects.

Embrace the Hybrid CMS:

A hybrid-cms approach allows you to keep WordPress’ as your back end while bypassing the default theme system in favor of a templating engine like Twig.

1. Install Twigit via Composer

In your project root (mysite), install Twigit using Composer:

composer require devuri/twigit

This installs Twigit and Twig in the vendor directory.

2. Configure Twigit to Use the templates Directory

Twigit can be configured via an mu-plugin or programmatically to locate templates in mysite/templates. For example:

// Recommended to define constants upstream for flexibility.
if (\defined('USE_TWIGIT') && true === \constant('USE_TWIGIT')) {
    $twig = Twigit\Twigit::init('path/to/mysite', ['autoescape' => 'html']);

    // Apply a template filter that overrides traditional theme handling.
    $twig->templateFilter();
}

If using Raydium, many configuration steps are already handled. Learn more here: Raydium GitHub Repository.

3. Organize Your Templates

Create a templates directory in your project root:

mysite/
└── templates/
    ├── base.twig
    ├── header.twig
    └── footer.twig

You can copy and adapt Twigit's base templates from its GitHub repository: Twigit Base Templates

4. Example Twig Template

Here’s a simple example of a base Twig template:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>{{ title }}</title>
</head>
<body>
    {% block content %}
    {% endblock %}
</body>
</html>

About

Twigit brings a modern, decoupled approach to your development

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Generated from devuri/dot-access
Morty Proxy This is a proxified and sanitized view of the page, visit original site.