mirror of
https://github.com/YGGverse/yggverse.github.io.git
synced 2025-01-28 07:44:17 +00:00
78 lines
1.1 KiB
Plaintext
Executable File
78 lines
1.1 KiB
Plaintext
Executable File
# 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 |