staticka/expresso

Static blog platform based on Staticka.

v0.1.0 2024-11-09 16:32 UTC

This package is auto-updated.

Last update: 2024-12-09 16:51:44 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Total Downloads

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.

Changelog

Please see CHANGELOG for more information what has changed recently.

Testing

The PHP's built-in web server can be used for running the project:

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

After running, open a web browser then proceed to http://localhost:3977.

Warning

This command should only be used for development purposes.

Credits

License

The MIT License (MIT). Please see LICENSE for more information.