Skip to content
This repository has been archived by the owner before Nov 9, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Katana static site & blog generator

Latest Version on Packagist Software License Total Downloads

PHP static site & blog generator with markdown support.

Using the power of laravel's Blade templating engine.

Katana static site & blog generator

Katana was inspired by Jigsaw by Adam Wathan and the folks at Tighten.


  • PHP 5.5.9+ or newer
  • Apache or Nginx server
  • Composer


To install a fresh Katana installation you need to install composer & run the following command:

composer create-project themsaid/katana my-new-site

Once the installation is done you may build your website using the command:

php katana build

Katana is shipped with sample content to help you get started immediately, and after this command runs your site will be generated in the /public directory.


The complete Katana documentation can be found here:

Blog generator

Katana is shipped with a static blog generator, all you need to do is create a new .blade.php file in the /content/_blog directory and Katana will compile all the posts and present them in a view of your choice.

Blog posts list is paginated based on the configuration options in config.php. There's also a $blogPosts variable available in all your blade views that contains an array of posts.

Blade templating engine

Blade is a simple yet powerful templating engine built for laravel, you need to check Blade's documentation if you're not already familiar with it.

Using with GitHub Pages

You can use Katana to publish a website over GitHub Pages using subtrees, the idea is to deploy the public directory as the master branch of your user GitHub pages repository or the gh-pages branch of your project repository.

You can find the full details in the documentation.


Contributions are welcomed in this repository where all source files exist.