Static blog platform based on Staticka.

Create Markdown-based pages with a intuitive web-based user interface.

View source code on Github

Expresso is a simple static blog platform based on Staticka which allows creating and building of pages through a web-based user interface.

Installation

Install the Expresso package via Composer:

$ composer require staticka/expresso

Basic Usage

Initialize the Express class to create a new application:

// index.php

use Staticka\Expresso\Express;

// ...

$app = new Express;

// Set the URL of the Expresso app ------
$app->setAppUrl('http://localhost:3977');
// --------------------------------------

// Set the URL of the website ------
$app->setSiteUrl('https://roug.in');
// ---------------------------------

// Set the path to store the pages ----
$app->setPagesPath(__DIR__ . '/pages');
// ------------------------------------

$app->run();

To run the application, the PHP's built-in web server can be used:

$ php -S localhost:3977 -t app/public

Once the application has been served, it is now possible to create pages using Expresso.

Adding fields

Fields in Expresso are the additional data of a page (e.g., name, link, etc.). Use the setFields method to customize the specified fields:

// index.php

use Staticka\Expresso\Express;

// ...

$app = new Express;

$fields = array('name');
$fields[] = 'title';
$fields[] = 'link';
$fields[] = 'description';
$fields[] = 'plate';
$fields[] = 'category';
$fields[] = 'tags';

$app->setFields($fields);

// ...

Building pages using Console

Expresso does not contain a functionality yet to build pages as they introduce performance issues when loading the application. However, an alternative way for building the requested pages is to install the Console package then add the Package class by Expresso:

namespace Staticka\Expresso;

// ...

use Rougin\Slytherin\Integration\IntegrationInterface;

// ...

class Package implements IntegrationInterface
{
    // ...
}

To use the Package class of Expresso by Console, kindly create the required staticka.yml then include the specified class to packages property:

$ composer require staticka/console
$ vendor/bin/staticka initialize
[PASS] "staticka.yml" added successfully!
# staticka.yml

root_path: %%CURRENT_DIRECTORY%%/app

# ...

packages:
  - Staticka\Expresso\Package

Once configured, select the Build site button from the application to compile all pages to HTML.

[!NOTE] Kindly see the Using staticka.yml section from Console for more information on how to configure the requested staticka.yml file.