mirror of
https://github.com/kvazar-network/geminiapp.git
synced 2025-08-26 05:22:02 +00:00
add gemtext mode
This commit is contained in:
parent
d3d810ee9c
commit
fa2bb2bd77
@ -36,7 +36,8 @@
|
||||
"view":
|
||||
{
|
||||
"raw":"Raw data",
|
||||
"reader":"Reader"
|
||||
"reader":"Reader",
|
||||
"gemtext":"Gemtext"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -496,6 +496,48 @@ $server->setHandler(
|
||||
|
||||
break;
|
||||
|
||||
case 'gemtext':
|
||||
|
||||
// Key
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'# %s',
|
||||
trim(
|
||||
preg_replace( // single-line
|
||||
'/[\s]+/',
|
||||
' ',
|
||||
$record['key']
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
// Value
|
||||
$result[] = null;
|
||||
$result[] = trim(
|
||||
preg_replace(
|
||||
[
|
||||
'/[\n\r]{3,}/', // remove extra breaks
|
||||
],
|
||||
[
|
||||
PHP_EOL . PHP_EOL,
|
||||
],
|
||||
$record['value']
|
||||
)
|
||||
);
|
||||
|
||||
// Time
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'%s in %d',
|
||||
date(
|
||||
'Y-m-d',
|
||||
$record['time']
|
||||
),
|
||||
$record['block']
|
||||
);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
// Key
|
||||
@ -546,18 +588,53 @@ $server->setHandler(
|
||||
$config->geminiapp->string->navigation
|
||||
);
|
||||
|
||||
if ('raw' == $request->getQuery())
|
||||
switch ($request->getQuery())
|
||||
{
|
||||
case 'raw':
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s?gemtext %s',
|
||||
$record['transaction'],
|
||||
$config->geminiapp->string->view->gemtext
|
||||
);
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s %s',
|
||||
$record['transaction'],
|
||||
$config->geminiapp->string->view->reader
|
||||
);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
break;
|
||||
|
||||
case 'gemtext':
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s %s',
|
||||
$record['transaction'],
|
||||
$config->geminiapp->string->view->reader
|
||||
);
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s?raw %s',
|
||||
$record['transaction'],
|
||||
$config->geminiapp->string->view->raw
|
||||
);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s?gemtext %s',
|
||||
$record['transaction'],
|
||||
$config->geminiapp->string->view->gemtext
|
||||
);
|
||||
|
||||
$result[] = null;
|
||||
$result[] = sprintf(
|
||||
'=> /%s?raw %s',
|
||||
|
Loading…
x
Reference in New Issue
Block a user