mirror of
https://github.com/YGGverse/bdoku.git
synced 2025-01-25 22:34:24 +00:00
implement related links
This commit is contained in:
parent
aa70644e46
commit
c60d0e80a8
@ -20,6 +20,7 @@
|
||||
},
|
||||
"string":
|
||||
{
|
||||
"links":"Links",
|
||||
"actions":"Actions",
|
||||
"main":"Main page",
|
||||
"source":"Source",
|
||||
|
@ -125,11 +125,48 @@ $server->setHandler(
|
||||
{
|
||||
if ($path = $filesystem->getPagePathByUri($matches[1]))
|
||||
{
|
||||
// Append extra data
|
||||
// Init reader
|
||||
$reader = new \Yggverse\Gemini\Dokuwiki\Reader();
|
||||
|
||||
// Define base URL
|
||||
$reader->setMacros(
|
||||
'~URL:base~',
|
||||
sprintf(
|
||||
'gemini://%s%s/%s',
|
||||
$config->gemini->server->host,
|
||||
$config->gemini->server->port == 1965 ? null : ':' . $config->gemini->server->port,
|
||||
'' // @TODO append relative prefix (:)
|
||||
)
|
||||
);
|
||||
|
||||
// Convert
|
||||
$gemini = $reader->toGemini(
|
||||
file_get_contents(
|
||||
$path
|
||||
)
|
||||
);
|
||||
|
||||
$lines = [
|
||||
PHP_EOL
|
||||
$gemini
|
||||
];
|
||||
|
||||
// Get page links
|
||||
if ($links = $reader->getLinks($gemini))
|
||||
{
|
||||
$lines[] = sprintf(
|
||||
'## %s',
|
||||
$config->string->links
|
||||
);
|
||||
|
||||
foreach ($links as $link)
|
||||
{
|
||||
$lines[] = sprintf(
|
||||
'=> %s',
|
||||
$link
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Append actions header
|
||||
$lines[] = sprintf(
|
||||
'## %s',
|
||||
@ -161,26 +198,9 @@ $server->setHandler(
|
||||
$lines
|
||||
);
|
||||
|
||||
// Read document
|
||||
$reader = new \Yggverse\Gemini\Dokuwiki\Reader();
|
||||
|
||||
// Define base URL
|
||||
$reader->setMacros(
|
||||
'~URL:base~',
|
||||
sprintf(
|
||||
'gemini://%s%s/',
|
||||
$config->gemini->server->host,
|
||||
$config->gemini->server->port == 1965 ? null : ':' . $config->gemini->server->port
|
||||
)
|
||||
);
|
||||
|
||||
// Return converted response
|
||||
$response->setContent(
|
||||
$reader->toGemini(
|
||||
file_get_contents(
|
||||
$path
|
||||
) . $data
|
||||
)
|
||||
$gemini . $data
|
||||
);
|
||||
|
||||
return $response;
|
||||
|
Loading…
x
Reference in New Issue
Block a user