2024-01-30 11:46:07 +02:00
2024-01-30 11:46:07 +02:00
2024-01-30 11:40:28 +02:00

gemini-php

PHP 8 Library for Gemini Protocol

DokuWiki

Toolkit provides DokuWiki integration API for Gemini.

Allows to simple deploy new apps or make existing website mirror.

Examples

Reader

Read DokuWiki and convert to Gemini

$reader = new \Yggverse\Gemini\Dokuwiki\Reader(
    // optional regex rule set array
);

Reader::getRules

Reader::setRules

Reader::getRule

Reader::setRule

Get or change existing regex rule (or just skip by using build-in set)

echo $reader->setRule(
    '/subject/ui',
    'replacement'
);

Reader::toGemini

Convert DokuWiki to Gemini markup

echo $reader->toGemini(
    file_get_contents(
        '/host/data/pages/index.txt'
    )
);

Reader::getH1

Get document title

echo $reader->getH1(
    file_get_contents(
        '/host/data/pages/index.txt'
    )
);

Filesystem

Provides methods for simple and secure interaction with DokuWiki file storage

$filesystem = new \Yggverse\Gemini\Dokuwiki\Filesystem(
    '/host/data' // storage location
);

Filesystem::getList

Return simple array of all files in storage

var_dump (
    $filesystem->getList(
        'hello:world'
    )
)

Filesystem::getTree

Return all files under the storage folder in tree format

var_dump (
    $filesystem->getTree(
        'hello:world'
    )
)

Filesystem::getPagePathByUri

Return absolute path to stored page file

var_dump (
    $filesystem->getPagePathByUri(
        'hello:world'
    )
)

Filesystem::getPageUriByPath

Return page URI in dokuwiki:format

var_dump (
    $filesystem->getPageUriByPath(
        '/full/path/to/page.txt'
    )
)
Description
PHP 8 Library for Gemini Protocol
Readme MIT 291 KiB
Languages
PHP 100%