Uttori Analytics Provider - JSON File
Uttori analytics provider using JSON files on disk.
Install
npm install --save uttori-plugin-analytics-json-file
Config
// Registration Events events: getCount: 'document-view-count' getPopularDocuments: 'popular-documents' updateDocument: 'document-save' 'document-delete' validateConfig: 'validate-config' // Directory files will be uploaded to. directory: '' // Name of the JSON file. name: 'visits' // File extension to use for the JSON file. extension: 'json'
API Reference
AnalyticsPlugin
Page view analytics for Uttori documents using JSON files stored on the local file system.
Kind: global class
Properties
Name | Type | Description |
---|---|---|
config | Object |
The configuration object. |
- AnalyticsPlugin
- .configKey ⇒
String
- .defaultConfig() ⇒
Object
- .validateConfig(config, _context)
- .register(context)
- .updateDocument(analytics) ⇒
Object
- .getCount(analytics) ⇒
Object
- .getPopularDocuments(analytics) ⇒
Object
- .configKey ⇒
String
AnalyticsPlugin.configKey ⇒ The configuration key for plugin to look for in the provided configuration.
Kind: static property of AnalyticsPlugin
Returns: String
- The configuration key.
Example (AnalyticsPlugin.configKey)
const config = ...AnalyticsPlugin ...contextconfigAnalyticsPluginconfigKey ;
Object
AnalyticsPlugin.defaultConfig() ⇒ The default configuration.
Kind: static method of AnalyticsPlugin
Returns: Object
- The configuration.
Example (AnalyticsPlugin.defaultConfig())
const config = ...AnalyticsPlugin ...contextconfigAnalyticsPluginconfigKey ;
AnalyticsPlugin.validateConfig(config, _context)
Validates the provided configuration for required entries.
Kind: static method of AnalyticsPlugin
Param | Type | Description |
---|---|---|
config | Object |
A configuration object. |
config[AnalyticsPlugin.configKey | Object |
A configuration object specifically for this plugin. |
config[AnalyticsPlugin.configKey].urls | Array.<Object> |
A collection of Uttori documents. |
config[AnalyticsPlugin.configKey].url_filters | Array.<RegExp> |
A collection of Regular Expression URL filters. |
config[AnalyticsPlugin.configKey].base_url | String |
The base URL (ie https://domain.tld) for all documents. |
config[AnalyticsPlugin.configKey].directory | String |
The path to the location you want the sitemap file to be writtent to. |
_context | Object |
A Uttori-like context (unused). |
Example (AnalyticsPlugin.validateConfig(config, _context))
AnalyticsPlugin;
AnalyticsPlugin.register(context)
Register the plugin with a provided set of events on a provided Hook system.
Kind: static method of AnalyticsPlugin
Param | Type | Description |
---|---|---|
context | Object |
A Uttori-like context. |
context.hooks | Object |
An event system / hook system to use. |
context.hooks.on | function |
An event registration function. |
context.config | Object |
A provided configuration to use. |
context.config.events | Object |
An object whose keys correspong to methods, and contents are events to listen for. |
Example (AnalyticsPlugin.register(context))
const context = hooks: { ... } config: AnalyticsPluginconfigKey: ... events: updateDocument: 'document-save' 'document-delete' validateConfig: 'validate-config' ;AnalyticsPlugin;
Object
AnalyticsPlugin.updateDocument(analytics) ⇒ Wrapper function for calling update.
Kind: static method of AnalyticsPlugin
Returns: Object
- The provided document.
Param | Type | Description |
---|---|---|
analytics | Object |
An AnalyticsProvider instance. |
Example (AnalyticsPlugin.updateDocument(analytics))
const context = config: AnalyticsPluginconfigKey: ... ;AnalyticsPlugin;
Object
AnalyticsPlugin.getCount(analytics) ⇒ Wrapper function for calling update.
Kind: static method of AnalyticsPlugin
Returns: Object
- The provided document.
Param | Type | Description |
---|---|---|
analytics | Object |
An AnalyticsProvider instance. |
Example (AnalyticsPlugin.getCount(analytics, slug))
const context = config: AnalyticsPluginconfigKey: ... ;AnalyticsPlugin;
Object
AnalyticsPlugin.getPopularDocuments(analytics) ⇒ Wrapper function for calling update.
Kind: static method of AnalyticsPlugin
Returns: Object
- The provided document.
Param | Type | Description |
---|---|---|
analytics | Object |
An AnalyticsProvider instance. |
Example (AnalyticsPlugin.updateDocument(analytics))
const context = config: AnalyticsPluginconfigKey: ... ;AnalyticsPlugin;
Tests
To run the test suite, first install the dependencies, then run npm test
:
npm installnpm testDEBUG=Uttori* npm test