uttori-analytics-provider-json-file

Analytics provider for Uttori that uses JSON files.

Usage no npm install needed!

<script type="module">
  import uttoriAnalyticsProviderJsonFile from 'https://cdn.skypack.dev/uttori-analytics-provider-json-file';
</script>

README

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-analytics-provider-json-file

Config

{
  directory: '',
  name: 'visits',
  extension: 'json',
}

API Reference

AnalyticsProvider

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.

new AnalyticsProvider(config)

Creates an instance of AnalyticsProvider.

Param Type Description
config Object A configuration object.
config.directory string The directory to store the JSON file containing the page view analytics.
[config.name] string The file name of the file containing the page view analytics.
[config.param] string The file extension of the file containing the page view analytics.

Example (Init AnalyticsProvider)

const analyticsProvider = new AnalyticsProvider({ directory: 'data' });

analyticsProvider.update(slug)

Updates the view count for a given document slug.

Kind: instance method of AnalyticsProvider

Param Type Description
slug string The slug ofthe document to be updated.

Example

analyticsProvider.update('faq');

analyticsProvider.get(slug) ⇒ Number

Returns the view count for a given document slug.

Kind: instance method of AnalyticsProvider
Returns: Number - View count for the given slug.

Param Type Description
slug string The slug of the document to be looked up.

Example

analyticsProvider.get('faq');
➜ 10

analyticsProvider.getPopularDocuments(limit) ⇒ Array

Returns the most popular documents.

Kind: instance method of AnalyticsProvider
Returns: Array - View count for the given slug.

Param Type Description
limit limit The number of documents to return.

Example

analyticsProvider.getPopularDocuments(10);
➜ [ { 'faq': 10 } ]

Tests

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

npm install
npm test
DEBUG=Uttori* npm test

Contributors

License