mirror of
https://github.com/YGGverse/gemini-php.git
synced 2026-03-31 17:05:29 +00:00
drop Dokuwiki features from future release
This commit is contained in:
parent
639f384f29
commit
8a895adbdf
4 changed files with 0 additions and 1106 deletions
263
README.md
263
README.md
|
|
@ -109,269 +109,6 @@ var_dump(
|
|||
);
|
||||
```
|
||||
|
||||
## DokuWiki
|
||||
|
||||
Toolkit provides DokuWiki API for Gemini.
|
||||
|
||||
Allows to simple deploy new apps or make existing website mirror
|
||||
|
||||
### Examples
|
||||
|
||||
* [β-Doku](https://github.com/YGGverse/bdoku) - DokuWiki Satellite for Gemini Protocol
|
||||
|
||||
### Reader
|
||||
|
||||
Read DokuWiki and convert to Gemini
|
||||
|
||||
``` php
|
||||
$reader = new \Yggverse\Gemini\Dokuwiki\Reader(
|
||||
// optional regex rule set array
|
||||
);
|
||||
```
|
||||
|
||||
#### Reader::getRules
|
||||
#### Reader::setRules
|
||||
#### Reader::getRule
|
||||
#### Reader::setRule
|
||||
|
||||
Get or change existing regex rule (or just skip by using build-in set)
|
||||
|
||||
``` php
|
||||
echo $reader->setRule(
|
||||
'/subject/ui',
|
||||
'replacement'
|
||||
);
|
||||
```
|
||||
|
||||
#### Reader::getMacroses
|
||||
#### Reader::setMacroses
|
||||
#### Reader::getMacros
|
||||
#### Reader::setMacros
|
||||
|
||||
``` php
|
||||
echo $reader->setMacros(
|
||||
'~my-macros-key~',
|
||||
'~my-macros-value~',
|
||||
);
|
||||
```
|
||||
|
||||
#### Reader::toGemini
|
||||
|
||||
Convert DokuWiki text to Gemini markup
|
||||
|
||||
As wiki has lot of inline links, to make converted document well-readable, this method does not replace links with new line `=>` macros, but uses inline context: `Name ( URL )`. This model useful with `Reader::getLinks` method, that for example appends all those related links to the document footer.
|
||||
|
||||
If you don't like this implementation, feel free to change it by `Reader::setRule` method!
|
||||
|
||||
``` php
|
||||
echo $reader->toGemini(
|
||||
file_get_contents(
|
||||
'/host/data/pages/index.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Reader::getH1
|
||||
|
||||
Get document title
|
||||
|
||||
``` php
|
||||
$gemini = $reader->toGemini(
|
||||
file_get_contents(
|
||||
'/host/data/pages/index.txt'
|
||||
)
|
||||
);
|
||||
|
||||
echo $reader->getH1(
|
||||
$gemini
|
||||
);
|
||||
```
|
||||
|
||||
#### Reader::getLinks
|
||||
|
||||
Get document links
|
||||
|
||||
``` php
|
||||
$gemini = $reader->toGemini(
|
||||
file_get_contents(
|
||||
'/host/data/pages/index.txt'
|
||||
)
|
||||
);
|
||||
|
||||
echo $reader->getLinks(
|
||||
$gemini
|
||||
);
|
||||
```
|
||||
|
||||
### Filesystem
|
||||
|
||||
Provides methods for simple and secure interaction with DokuWiki file storage
|
||||
|
||||
``` php
|
||||
$filesystem = new \Yggverse\Gemini\Dokuwiki\Filesystem(
|
||||
'/host/data' // storage location
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getList
|
||||
|
||||
Return simple array of all files in storage
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getList(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getTree
|
||||
|
||||
Return all files under the storage folder in tree format
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getTree(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getPagePathsByPath
|
||||
|
||||
Return pages under the given data directory
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getPagePathsByPath(
|
||||
// absolute path to target data directory (e.g. Filesystem::getDirectoryPathByUri)
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getDirectoryPathByUri
|
||||
#### Filesystem::getPagePathByUri
|
||||
|
||||
Return absolute path to stored page file
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getPagePathByUri(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getDirectoryUriByPath
|
||||
#### Filesystem::getPageUriByPath
|
||||
|
||||
Return page URI in `dokuwiki:format`
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getPageUriByPath(
|
||||
'/full/path/to/page.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getMediaPathByUri
|
||||
|
||||
Return absolute path to stored media file
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getMediaPathByUri(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getMimeByPath
|
||||
|
||||
Return file MIME if path match storage item
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getMimeByPath(
|
||||
'/full/path/to/page.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::getDataByPath
|
||||
|
||||
Return file content if path match storage item
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->getDataByPath(
|
||||
'/full/path/to/page.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::isPath
|
||||
|
||||
Check path exist and match storage item
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$filesystem->isPath(
|
||||
'/full/path/to/page.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
### Helper
|
||||
|
||||
Useful methods to minify controller codebase
|
||||
|
||||
``` php
|
||||
$helper = new \Yggverse\Gemini\Dokuwiki\Helper(
|
||||
new \Yggverse\Gemini\Dokuwiki\Filesystem(),
|
||||
new \Yggverse\Gemini\Dokuwiki\Reader()
|
||||
);
|
||||
```
|
||||
|
||||
#### Helper::getChildrenSectionLinksByUri
|
||||
|
||||
Return simple array of children section links in Gemini format
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$helper->getChildrenSectionLinksByUri(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Helper::getChildrenPageLinksByUri
|
||||
|
||||
Return simple array of children page links in Gemini format
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$helper->getChildrenPageLinksByUri(
|
||||
'hello:world'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
#### Helper::getPageLinkByPath
|
||||
|
||||
Return page link (that contain document name) in Gemini format
|
||||
|
||||
``` php
|
||||
var_dump (
|
||||
$helper->getPageLinkByPath(
|
||||
$filesystem->getPagePathByUri(
|
||||
'hello:world'
|
||||
)
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
## Integrations
|
||||
|
||||
* [β-Doku is DokuWiki Satellite for Gemini Protocol](https://github.com/YGGverse/bdoku)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue