mirror of
https://github.com/YGGverse/yggverse.github.io.git
synced 2025-01-29 16:24:15 +00:00
78 lines
1.1 KiB
Plaintext
78 lines
1.1 KiB
Plaintext
|
# 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
|