npm

Need private packages and team management tools?Check out npm Orgs. »

sitemap-to-array

4.0.0 • Public • Published

Build Status Coverage Status js-standard-style

sitemap-to-array

Convert a sitemap.xml to an array or stream of objects.

Installation

From npm

$ npm install sitemap-to-array

From GitHub

$ git clone git@github.com:zrrrzzt/sitemap-to-array.git

cd into directory and run setup

$ npm run setup

Usage - callback

Pass a sitemap, either as data or an URL to the sitemap.xml.

Example with data

'use strict'
 
var fs = require('fs')
var smta = require('sitemap-to-array')
var data = fs.readFileSync('test/data/sitemap.xml', 'utf-8')
 
smta(data, function (stream) {
  stream.on('error', function (error) {
    console.error(error)
  })
  stream.on('data', function (data) {
    console.log(data.toString())
  })
})

Returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

Example with URL

'use strict'
 
var smta = require('sitemap-to-array')
var sitemapUrl = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'
 
smta(sitemapUrl, function (stream) {
  stream.on('error', function (error) {
    console.error(error)
  })
  stream.on('data', function (data) {
    console.log(data.toString())
  })
})

Returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

Usage - callback - without stream

'use strict'
var smta = require('sitemap-to-array')
var options = {
  returnOnComplete: true
}
var sitemapUrl = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'
 
smta(sitemapUrl, options, function (error, list) {
  if (error) {
    console.error(error)
  } else {
    console.log(list)
  }
})

Returns

[ 
  { loc: 'http://www.telemark.no/Vaare-tjenester',
    lastmod: '2015-05-06T10:51:03+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser',
    lastmod: '2014-10-06T11:40:22+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse',
    lastmod: '2015-03-13T07:35:30+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen',
    lastmod: '2015-05-24T15:56:56+00:00' },
  { loc: 'http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler',
    lastmod: '2015-05-22T13:46:26+00:00' } 
]

Usage - stream through

pipe a stream of sitemap.xml to the module

- Example from url

'use strict'
 
var smtaStream = require('sitemap-to-array').stream
var http = require('http')
var sitemap = 'https://raw.githubusercontent.com/zrrrzzt/sitemap-to-array/master/test/data/sitemap.xml'
 
smtaStream.on('data', function (data) {
  console.log(data.toString())
})
 
http.get(sitemap, function (response) {
  response
    .pipe(smtaStream)
})
 

returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"}

- Example from file

'use strict'
 
var smtaStream = require('sitemap-to-array').stream
var fs = require('fs')
var sitemap = fs.createReadStream('test/data/sitemap.xml')
 
smtaStream.on('data', function (data) {
  console.log(data.toString())
})
 
sitemap
  .pipe(smtaStream)
 

returns

{"loc":"http://www.telemark.no/Vaare-tjenester","lastmod":"2015-05-06T10:51:03+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Kurs-og-konferanser","lastmod":"2014-10-06T11:40:22+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse","lastmod":"2015-03-13T07:35:30+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Paa-farta-til-skolen","lastmod":"2015-05-24T15:56:56+00:00"}
{"loc":"http://www.telemark.no/Vaare-tjenester/Folkehelse/Tilbud-HEFRES/Alle-barn-sykler","lastmod":"2015-05-22T13:46:26+00:00"} 

install

npm i sitemap-to-array

Downloadsweekly downloads

256

version

4.0.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability