You can enable Pagenode's JSON interface by defining the PN_JSON_API_PATH
before including the pagenode.php. Be aware that enabling the JSON Interface makes it possible to load any .md
file under the current directory.
To make the JSON interface available at /json
:
// Enable JSON Interface
define('PN_JSON_API_PATH', '/json');
// Load Pagenode
require_once('pagenode.php');
You can then query the API:
Example Request:
/json?path=nodes&sort=date&order=asc&count=5&fields=title,date,body
Example Response:
{
"nodes": [
{
"title": "JSON Interface",
"date": 1540910835
},
{
"title": "Adding Content",
"date": 1542017904
},
{
"title": "Pagenode",
"date": 1543494733
},
{
"title": "Getting Started",
"date": 1543497516
},
{
"title": "Routing Requests",
"date": 1543502838
}
],
"info": {
"totalRuntime": 0.5369850158691406
}
}
The JSON API for this site is enabled. Give it try:
/json?path=nodes&fields=keyword,title,date,tags&tags=documentation,api
The path from which to select nodes. Default ''
.
A comma separated list of all the Node properties you want to retrieve.
Analogous to select()->query($sort, $order, $count).
Analogous to Selector Params.
To supply arrays for tags
, meta
or date
you can specify &meta[title]=SomeTitle
or &date[0]=2018
.