This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Functionality for generating cached output from an executed command.

v1.1 2018-11-08 07:09 UTC

This package is not auto-updated.

Last update: 2021-09-18 20:15:23 UTC


Functionality for generating cached output from an executed command.

This package is primarily intended for use with an instance of \JontyNewman\Oku\IO\Cache from the jontynewman\oku-io package.


composer require 'jontynewman/oku-proc ^1.0'


The following example assumes that rst2html5 is available and that jontynewman\oku-io is installed.


use GuzzleHttp\Psr7\Response;
use JontyNewman\Oku\IO\Cache;
use JontyNewman\Oku\IO\Repository;
use JontyNewman\Oku\Process;
use JontyNewman\Oku\RequestHandler;

require 'vendor/autoload.php';

$dir = '/path/to/io/directory';

// Convert reStructuredText input files to HTML output files.
$process = new Process('rst2html5');

// Cache HTML output in the specified directory.
$cache = new Cache($process, $dir, 'html');

// Persist reStructuredText input in the specified directory (for future edits).
$repository = new Repository($cache, $dir, 'rst');

// Use a simple 404 page as the default response.
$default = new Response(404, ['Content-Type' => 'text/plain'], 'Not Found');

// Set up the request handler.
$handler = new RequestHandler($repository, $default);

// Run the application.

Refer to jontynewman\oku-io for a full example with an editor.