npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

pipeline-validate-html

v0.1.0

Published

Gulp pipeline to validate html files

Downloads

5

Readme

pipeline-validate-html

Information

| Package | Description | Version| | ------------- |:-------------:| -----:| | pipeline-validate-html| This pipeline validates HTML files using HTML Hint | 0.1.0 |

Overview

A pipeline for validating HTML files using HTML Hint.

Install

$ npm install pipeline-validate-html --save-dev

Usage

Options

The following options are available to customize linting. They can be passed via an object or by storing within a .htmllintrc file and providing a path to the pipeline method.

These options are provided to gulp-htmllint. Please refer to that project's Options for more information.

|Name | Type | Default | Description |-----|------|---------|------------| |rules|Object|see the included .htmllintrc|Object containing htmllint options, which are merged with the default rules within the .htmllintrc file.| |config|String|path/pipeline-validate-html/.htmllintrc|A path to a custom config file.| |plugins|Array|[]|An array of plugins that should be utilized during linting.| |failOnError|Boolean|false|Determine whether the pipeline exits with an error code|

Examples

Using default rules

// using default rules

var gulp = require('gulp');
var validateHtmlPipeline = require('pipeline-validate-html');


gulp.task('validate:html', function() {
  return gulp
    .src(['src/**/*.html'])
    .pipe(validateHtmlPipeline.validateHTML());
});

Custom file path

A custom file path can be provided which points to a config file with a complete or partial list of linting rules. These rules will be merged with the default rules found in the .htmllintrc file provied with this repo. This allows for a partial list of overrides to be provied, while retaining the default settings for those rules not provied.

NOTE: When providing a String, all additional options are kept as default

// using a custom file path

var gulp = require('gulp');
var validateHtmlPipeline = require('pipeline-validate-html');


gulp.task('validate:html', function() {
  return gulp
    .src(['src/**/*.html'])
    .pipe(validateHtmlPipeline.validateHTML('path/to/another/.htmllintrc'));
});

Config Object

// using a config object

var gulp = require('gulp');
var validateHtmlPipeline = require('pipeline-validate-html');

var lintOpts = {
  plugins: ['lint-plugin-name'],
  failOnError: true,
  rules: { /* rule definitions to override default */ },
  /* -- OR -- */
  config: 'path/to/.htmllintrc'
}

gulp.task('validate:html', function() {
  return gulp
    .src(['src/**/*.html'])
    .pipe(validateHtmlPipeline.validateHTML(lintOpts));
});

Providing Rules and a Config

Passing both rules and a config path will first merge the provided rules with the config file rules, then merged with the default options. Rules will follow the following priority:

options.rules <- options.config <- default config

This priority order allows for a custom config to be utilized across projects, while providing a means of tweaking rules on a per use basis.

// using a config object with both rules and config properties

var gulp = require('gulp');
var validateHtmlPipeline = require('pipeline-validate-html');

var lintOpts = {
  plugins: ['lint-plugin-name'],
  failOnError: true,
  rules: { /* rule definitions to override custom config */ },
  config: 'path/to/.htmllintrc' // this file will override the default options
}

gulp.task('validate:html', function() {
  return gulp
    .src(['src/**/*.html'])
    .pipe(validateHtmlPipeline.validateHTML(lintOpts));
});

Results

This pipeline returns a stream object. This object receives a stream with the HTML files to validate. You can call the validateHTML method to run the validation. The method will report if any issues were found during the process. If no issues are present, it will return the stream.

LICENSE

Copyright (c) 2017 Kenzan http://kenzan.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.