This project is not covered by Drupal’s security advisory policy.

Say goodbye to your Drupal theme. Say hello to Catalyst!

Catalyst supplements a Drupal theme allowing front-end developers to create and modify themes like a content editor edits content.

Instead of theme templates, images, stylesheets, and javascripts being files in the code base, they become entities in the database. Exportable, of course and manageable through an easy-to-use interface.

Developer Friendly

  • All Catalyst templates presently utilize Twig
  • The Ace (browser) Editor allows editing code assets in a familiar manner.
    • Syntax highlighting for HTML, PHP, Twig, CSS, and Javascript.
    • Line numbers, code collapsing, and more.
    • Configurable per user (some day).
  • Use Drupal or not. You can build on Catalyst without knowing how to spell Drupul.
  • Utilizes the navbar module for navigation and responsive_preview for conveniencee

Doctypes (catalyst_doctype)

Doctypes allow defining the basics of pages in a reusable way, much like html.tpl.php. Doctypes are rendered as #theme_wrappers by layouts. A catalyst doctype includes:

  • Template for wrapping, prepending, or appending to layouts
  • Preprocessing
    Perform queries and provide variables to the doctype template using PHP
  • Application type for the page’s response header - Eg. “text/html”
  • Charset for the page’s response header - Eg. “utf8”

Layouts (catalyst_layout)

A layout in catalyst is much like the page.tpl.php

  • Define regions for blocks to be placed
  • Disable or enable Drupal Javascript/CSS
  • Start with a clean slate or include Javascript/CSS added by Drupal.
  • Manage Javascript, CSS, and file assets in place.

Blocks (catalyst_block)

Replaces the core block system. Use twig templates, php preprocessing, and the media management provided by Catalyst for all of your blocks.

Even if you’re just trying to pull in a core block that a module defines, by using Catalyst’s preprocessing and twig templates to do it, you gain the ability to attach custom css, javascript, and files to the block, all on the same form, neatly organized together.

Blocks can be assigned to regions in layouts or they can be embedded directly into a twig template.

Asset/media management (catalyst_media)

Provides the cut and dry management of Javascripts, Stylesheets, and Files within Catalyst. Assets can be attached to exactly what they belong to or they be shared for reuse throughout the system.

For example, in Catalyst you’re likely to have a layout for which you upload the logo. This logo might be referenced in the template, in a stylesheet, or both. It can be attached directly to the layout or directly to a stylesheet, or it can be it’s own entity, thus reused and easily referenced.

These assets can be uploaded or authored in the UI and you can also reference existing local files and remote files.

  • Reference remote files, leverage a CDN for CSS or Javascript libraries
  • Reference local files that already reside in the codebase (like a compiled SASS/SCSS .css file)
  • Files (images, etc.) can be uploaded, Javascript and CSS can be authored in the UI

Catalyst files can be easily referenced in the templates without regard to the actual file path.

Advanced Pages (catalyst_page)

Advanced pages are nodes that are intended to incorporate with menus and can do most anything other nodes do, including node access, etc. An advanced page can include PHP preprocessing, and the body (template) is rendered with Twig. Assets related to the page (Javascript, CSS, files, etc.) can be attached and managed with each page as described above.

Entity Templates (catalyst_template)

Define default templates for each entity type (node, taxonomy term, user, custom, etc). Javascript, CSS, and files can be attached to entity templates in the same way they can be attached to layouts and advanced pages.

Content Publishing System (coming soon)

In Catalyst, templates and related assets are now represented as entities in Drupal. Catalyst will include a content publishing system that uses centralized site revisions to allow making changes without affecting what’s live, while also providing the ability to reliably preview multiple versions of the entire site.

Export/Import (catalyst_export)

  • Extensible export api built in
  • Custom export interface with import utility
  • Features support planned

Project information

  • Created by lee20 on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases