From 588a8750fbba483e06ebcb0446e36022a9548e6f Mon Sep 17 00:00:00 2001 From: yggverse Date: Mon, 24 Jun 2024 21:52:09 +0300 Subject: [PATCH] add examples --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) mode change 100644 => 100755 README.md diff --git a/README.md b/README.md old mode 100644 new mode 100755 index c51ccec..d611b5b --- a/README.md +++ b/README.md @@ -8,4 +8,67 @@ This library is lightweight, object-oriented [Gemtext](https://geminiprotocol.ne ``` bash 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() +) ``` \ No newline at end of file