💾 Archived View for yggverse.cities.yesterweb.org › gemini › gemtext-php › index.gmi captured on 2024-07-08 at 23:24:07. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

gemtext-php

PHP 8 / Composer Library for Gemtext Operations

This library is lightweight, object-oriented Gemtext replacement to gemini-php

Install

composer require yggverse/gemtext:dev-main

Example

Parse existing document

// Load document from file
$document = new \Yggverse\Gemtext\Document(
    file_get_contents(
        'tests/data/document.gmi'
    )
);

// Get links
foreach ($document->getLinks() as $link)
{
    print(
        $link->toString()
    );
}

Create new document

// Init new document
$document = new \Yggverse\Gemtext\Document;

// Append header
$document->append(
    new \Yggverse\Gemtext\Entity\Header(
        'Hello world'
    )
);

// Init new link
$link = new \Yggverse\Gemtext\Entity\Link(
    'gemini://geminiprotocol.net',
    'The Gemini Program',
    '1965-01-19'
);

// Change link date
$link->setDate(
    date('Y-m-d')
);

// Append link
$document->append(
    $link
);

// Get gemtext
print(
    $document->toString()
);

// Save to file
file_put_contents(
    '/path/to/file.gmi',
    $document->toString()
)

Download

GitHub