add examples

This commit is contained in:
yggverse 2024-06-24 21:52:09 +03:00
parent 2643878aae
commit 588a8750fb

63
README.md Normal file → Executable file
View file

@ -9,3 +9,66 @@ This library is lightweight, object-oriented [Gemtext](https://geminiprotocol.ne
``` bash ``` bash
composer require yggverse/gemtext:dev-main composer require yggverse/gemtext:dev-main
``` ```
## Examples
### 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()
);
}
```
### Make 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 to document
$document->append(
$link
);
// Get gemtext result
print(
$document->toString()
);
// Save to file
file_put_contents(
'/path/to/file.gmi',
$document->toString()
)
```