• ♡ Sponsor

    Developer Guide

    #Development

    Extensibility is one of the most important features of any software. Basically there are two types of packages to extend the functionality of Automad: themes and extensions. While Automad's template language allows beginners to develop their own themes, it is also possible to use plain PHP to develop extensions of any complexity.

    It is recommended to disable caching during development!

    Theme Development

    Depending on how deep you want to dive into the development of themes for Automad, you can choose between the following guides below.

    Theme Skeleton

    To get started right away with developing your own theme, please check out the theme skeleton. It is a good and simple example for a basic file structure, how snippets for navbars and menus are implemented and what are the other essential parts of the Automad template language. Please also take a look at the included README file.

    Get the Skeleton

    In-Depth Guide

    In case you want to learn about all the features of the template language and how theme packages work, check out the building themes guide.

    A Full Guide for Developers

    Cheat Sheets

    To get started quickly without reading the full documentation, you can find a collection of the most common snippets, function calls and tricks in the cheat sheets.

    Check out the Cheat Sheets

    Extensions

    Aside from themes, extension are building the second group of Automad packages and allow for extending the feature set that can be used in templates. Extensions are not more than little PHP classes that can be called in templates in several ways.

    Learn More

    Share Your Creation

    When you are done with the development of a theme or an extension, don't hesitate to make your creation public and share it with others. Follow this guide for more information about publishing packages.

    Editor Plugins

    Note that there are plugins available for some common text editors to help you developing themes for Automad.


    More in Developer Guide

    • Building Themes
    • Developing Extensions
    • Publishing Packages
    • Editor Plugins
    • Cheat Sheets
    • API Reference

    Related

    System  ⁄
    Debugging — System

    During development of extensions it can be handy to see what Automad is doing. Therefore it is possible to send logging information to your browser's console. You can log any item, object or just a text notice using the following method in your extension or theme.

    Developer Guide  ⁄
    Building Themes — Developer Guide

    Themes are an essential part of a content management system. They define the way your content is presented to the visitors of your website. Automad's flexible and intuitive template language enables also inexperienced developers or beginners to create themes and templates on ...

    Developer Guide  ⁄
    Developing Extensions — Developer Guide

    The extension interface provides a convenient way of extending Automad's core functionality with custom PHP code while still offering Automad's template syntax. There are basically two types of template language extensions: generic extensions and custom pipe functions. Check out ...

    Developer Guide  ⁄
    Editor Plugins — Developer Guide

    To make the development of themes more efficient, it is recommended to install one of the Automad plugins for the editors listed below. Those plugins will add syntax highlighting for the Automad template engine as well as the most common snippets for autocompletion.

    Developer Guide  ⁄
    Cheat Sheets — Developer Guide

    In case you prefer to start developing a theme or extension without reading the full documention, the cheat sheets below are a good point to start. In addition to this page there is also the theme skeleton package available to help you getting started.

    Headless Mode

    Activating the headless mode turns Automad into a back-end only content management system without a presentation layer that focuses entirely on content creation. While the Dashboard can still be used to manage content, all data and files are made accessible via a read-only JSON ...

    • Automad
    • Developer Guide
    Discuss
    Packages
    Release Notes
    Support
    Terms of Use
      Become a Sponsor
      GitHub
      Twitter
      Facebook
      Instagram
      2013-2022 by Marc Anton Dahmen
    Released under the MIT license

    A faceless machine, creating one's portrait in the internet.
  • Automad
  • Getting Started
  • System
  • User Guide
  • Developer Guide
  • Headless Mode
  • Discuss
  • Packages
  • Building Themes →
  • Developing Extensions →
  • Publishing Packages
  • Editor Plugins
  • Cheat Sheets →
  • API Reference