simple-site-aggregate
v0.0.19
Published
Aggregator plugin for simple-site.
Readme
simple-site-aggregate
A simple-site plugin that aggregates html snippets from other pages.
Installation
Install with npm install -g simple-site-aggregate.
Add _plugins/index.js containing the line require('simple-site-aggregate');.
Usage
Aggregate a page using a handlebars tag:
{{{aggregate "http://my-site/my-page.html" "_parsers/my-site.yaml" "_templates/output.html" 300}}}http://my-site/my-page.html is the page that should be aggregated.
_parsers/my-site.yaml defines how to extract data from the HTML file:
selectors:
title: header.post-header h1
content: article.post-content
image: .blog-meta img [src]
published:
- parseDate
- span.date
- DD.MM.YYYY
static:
name: My NameThe values in selectors are CSS selectors that are applied to the HTML file.
The first matching tag is processed as follows:
- If the value ends with a bracketed value (
.blog-meta img [src]) the result is the value of an attribute (src). - If the value ends with a bracketed dot value (
div [.left]) the result is if the tag has the given CSS class. - If the value is an array, the first entry is a parser function and the second entry a CSS selector. The remaining entries are parameters to the parser function. The result is the tag's content applied to the parser function.
- Otherwise, the result is the content of the tag.
static contains static strings.
_templates/output.html is the template to be used to generate output.
300 is an optional value defining the maximum length of the values.
