You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.1 KiB
78 lines
1.1 KiB
# gemtext-php |
|
|
|
PHP 8 / Composer Library for Gemtext Operations |
|
|
|
This library is lightweight, object-oriented Gemtext replacement to gemini-php |
|
|
|
## Install |
|
|
|
``` bash |
|
composer require yggverse/gemtext:dev-main |
|
``` |
|
|
|
## Example |
|
|
|
### Parse existing document |
|
|
|
``` php |
|
// 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 |
|
|
|
``` php |
|
// 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 |
|
|
|
=> https://github.com/YGGverse/gemtext-php GitHub |