1.1.1 • Published 4 years ago

uttori-plugin-analytics-json-file v1.1.1

Weekly downloads
5
License
MIT
Repository
github
Last release
4 years ago

view on npm npm module downloads Build Status Dependency Status Coverage Status

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

NameTypeDescription
configObjectThe configuration object.

AnalyticsPlugin.configKey ⇒ String

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.defaultConfig(), ...context.config[AnalyticsPlugin.configKey] };

AnalyticsPlugin.defaultConfig() ⇒ Object

The default configuration.

Kind: static method of AnalyticsPlugin
Returns: Object - The configuration.
Example (AnalyticsPlugin.defaultConfig())

const config = { ...AnalyticsPlugin.defaultConfig(), ...context.config[AnalyticsPlugin.configKey] };

AnalyticsPlugin.validateConfig(config, _context)

Validates the provided configuration for required entries.

Kind: static method of AnalyticsPlugin

ParamTypeDescription
configObjectA configuration object.
config[AnalyticsPlugin.configKeyObjectA configuration object specifically for this plugin.
configAnalyticsPlugin.configKey.urlsArray.<Object>A collection of Uttori documents.
configAnalyticsPlugin.configKey.url_filtersArray.<RegExp>A collection of Regular Expression URL filters.
configAnalyticsPlugin.configKey.base_urlStringThe base URL (ie https://domain.tld) for all documents.
configAnalyticsPlugin.configKey.directoryStringThe path to the location you want the sitemap file to be writtent to.
_contextObjectA Uttori-like context (unused).

Example (AnalyticsPlugin.validateConfig(config, _context))

AnalyticsPlugin.validateConfig({ ... });

AnalyticsPlugin.register(context)

Register the plugin with a provided set of events on a provided Hook system.

Kind: static method of AnalyticsPlugin

ParamTypeDescription
contextObjectA Uttori-like context.
context.hooksObjectAn event system / hook system to use.
context.hooks.onfunctionAn event registration function.
context.configObjectA provided configuration to use.
context.config.eventsObjectAn object whose keys correspong to methods, and contents are events to listen for.

Example (AnalyticsPlugin.register(context))

const context = {
  hooks: {
    on: (event, callback) => { ... },
  },
  config: {
    [AnalyticsPlugin.configKey]: {
      ...,
      events: {
        updateDocument: ['document-save', 'document-delete'],
        validateConfig: ['validate-config'],
      },
    },
  },
};
AnalyticsPlugin.register(context);

AnalyticsPlugin.updateDocument(analytics) ⇒ Object

Wrapper function for calling update.

Kind: static method of AnalyticsPlugin
Returns: Object - The provided document.

ParamTypeDescription
analyticsObjectAn AnalyticsProvider instance.

Example (AnalyticsPlugin.updateDocument(analytics))

const context = {
  config: {
    [AnalyticsPlugin.configKey]: {
      ...,
    },
  },
};
AnalyticsPlugin.updateDocument(document, null);

AnalyticsPlugin.getCount(analytics) ⇒ Object

Wrapper function for calling update.

Kind: static method of AnalyticsPlugin
Returns: Object - The provided document.

ParamTypeDescription
analyticsObjectAn AnalyticsProvider instance.

Example (AnalyticsPlugin.getCount(analytics, slug))

const context = {
  config: {
    [AnalyticsPlugin.configKey]: {
      ...,
    },
  },
};
AnalyticsPlugin.getCount(analytics, slug);

AnalyticsPlugin.getPopularDocuments(analytics) ⇒ Object

Wrapper function for calling update.

Kind: static method of AnalyticsPlugin
Returns: Object - The provided document.

ParamTypeDescription
analyticsObjectAn AnalyticsProvider instance.

Example (AnalyticsPlugin.updateDocument(analytics))

const context = {
  config: {
    [AnalyticsPlugin.configKey]: {
      ...,
    },
  },
};
AnalyticsPlugin.getPopularDocuments(analytics);

Tests

To run the test suite, first install the dependencies, then run npm test:

npm install
npm test
DEBUG=Uttori* npm test

Contributors

License