4.0.0 • Published 3 years ago

@uttori/plugin-generator-sitemap v4.0.0

Weekly downloads
49
License
MIT
Repository
github
Last release
3 years ago

view on npm npm module downloads Build Status Dependency Status Coverage Status Tree-Shaking Support Dependency Count Minified + GZip Minified

Uttori Sitemap Generator

A plugin to generating a XML sitemap.

Install

npm install --save @uttori/plugin-generator-sitemap

Config

{
  // Registration Events
  events: {
    callback: ['document-save', 'document-delete'],
    validateConfig: ['validate-config'],
  },

  [SitemapGenerator.configKey]: {
    ...
  }
}

API Reference

Classes

Functions

Typedefs

SitemapGenerator

Uttori Sitemap Generator

Generates a valid sitemap.xml file for submitting to search engines.

Kind: global class

SitemapGenerator.configKey ⇒ string

The configuration key for plugin to look for in the provided configuration.

Kind: static property of SitemapGenerator
Returns: string - The configuration key.
Example (SitemapGenerator.configKey)

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

SitemapGenerator.defaultConfig() ⇒ SitemapGeneratorConfig

The default configuration.

Kind: static method of SitemapGenerator
Returns: SitemapGeneratorConfig - The configuration.
Example (SitemapGenerator.defaultConfig())

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

SitemapGenerator.validateConfig(config, _context)

Validates the provided configuration for required entries.

Kind: static method of SitemapGenerator

ParamTypeDescription
configobjectA configuration object.
config.configKeySitemapGeneratorConfigA configuration object specifically for this plugin.
_contextobjectA Uttori-like context (unused).

Example (SitemapGenerator.validateConfig(config, _context))

SitemapGenerator.validateConfig({ ... });

SitemapGenerator.register(context)

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

Kind: static method of SitemapGenerator

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 (SitemapGenerator.register(context))

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

SitemapGenerator.callback(_document, context) ⇒ Promise

Wrapper function for calling generating and writing the sitemap file.

Kind: static method of SitemapGenerator
Returns: Promise - The provided document.

ParamTypeDescription
_documentobjectA Uttori document (unused).
contextobjectA Uttori-like context.
context.configobjectA provided configuration to use.
context.config.configKeySitemapGeneratorConfigA configuration object specifically for this plugin.
context.hooksobjectAn event system / hook system to use.
context.hooks.onfunctionAn event registration function.
context.hooks.fetchfunctionAn event dispatch function that returns an array of results.

Example (SitemapGenerator.callback(_document, context))

const context = {
  config: {
    [SitemapGenerator.configKey]: {
      ...,
    },
  },
  hooks: {
    on: (event) => { ... }
  },
};
SitemapGenerator.callback(null, context);

SitemapGenerator.generateSitemap(context) ⇒ Promise

Generates a sitemap from the provided context.

Kind: static method of SitemapGenerator
Returns: Promise - The generated sitemap.

ParamTypeDescription
contextobjectA Uttori-like context.
context.configobjectA provided configuration to use.
context.config.configKeySitemapGeneratorConfigA configuration object specifically for this plugin.
context.config.eventsobjectAn object whose keys correspong to methods, and contents are events to listen for.
context.hooksobjectAn event system / hook system to use.
context.hooks.onfunctionAn event registration function.
context.hooks.fetchfunctionAn event dispatch function that returns an array of results.

Example (SitemapGenerator.callback(_document, context))

const context = {
  config: {
    [SitemapGenerator.configKey]: {
      ...,
    },
  },
  hooks: {
    on: (event) => { ... },
    fetch: (event, query) => { ... },
  },
};
SitemapGenerator.generateSitemap(context);

debug() : function

Kind: global function

SitemapGeneratorConfig : object

Kind: global typedef
Properties

NameTypeDefaultDescription
urlsArray.<object>A collection of Uttori documents.
url_filtersArray.<RegExp>A collection of Regular Expression URL filters to exclude documents.
base_urlstringThe base URL (ie https://domain.tld) for all documents.
directorystringThe path to the location you want the sitemap file to be written to.
filenamestring"'sitemap'"The file name to use for the generated file.
extensionstring"'xml'"The file extension to use for the generated file.
page_prioritystring"'0.08'"Sitemap default page priority.
xml_headerstringSitemap XML Header, standard XML sitemap header is the default.
xml_footerstringSitemap XML Footer, standard XML sitemap closing tag is the default.

Tests

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

npm install
npm test
DEBUG=Uttori* npm test

Contributors

License

4.0.0

3 years ago

3.1.5

3 years ago

3.1.4

3 years ago

3.1.3

3 years ago

3.1.2

4 years ago

3.1.1

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago