Skip to content

Latest commit

 

History

History
118 lines (90 loc) · 3.97 KB

File metadata and controls

118 lines (90 loc) · 3.97 KB

HTMLHint Config for HTML Academy Codeguide

npm version test license

HTMLHint configuration for HTML markup validation according to HTML Academy Codeguide.

Requirements

  • Node.js >= 24
  • HTMLHint >= 1.8.0

Installation

npm install -D htmlhint htmlhint-config-htmlacademy

Usage

Via npm package (recommended)

Add script to package.json:

{
  "scripts": {
    "lint:html": "htmlhint -c ./node_modules/htmlhint-config-htmlacademy/.htmlhintrc src/**/*.html"
  }
}

Config updates automatically via npm.

Copy config

  1. Copy .htmlhintrc to project root
  2. Add script to package.json:
{
  "scripts": {
    "lint:html": "htmlhint src/**/*.html"
  }
}
  1. Customize rules in .htmlhintrc as needed

Rules

Document

Rule Value Description
doctype-first true DOCTYPE must be first
doctype-html5 true HTML5 DOCTYPE required
html-lang-require true lang attribute required on <html>
head-script-disabled true No <script> in <head>
style-disabled false <style> tag allowed
title-require true <title> tag required
meta-charset-require true <meta charset> required
meta-viewport-require true <meta viewport> required
main-require true <main> tag required
h1-require true <h1> tag required

Attributes

Rule Value Description
attr-lowercase ["viewBox", "preserveAspectRatio"] Lowercase attributes, except SVG
attr-no-duplication true No duplicate attributes
attr-no-unnecessary-whitespace true No unnecessary whitespace in attributes
attr-unsafe-chars true No unsafe characters
attr-value-double-quotes true Double quotes for values
attr-value-not-empty false Empty values allowed
attr-sorted false Attribute sorting disabled
alt-require true alt required for images
input-requires-label true <label> required for <input>

Tags

Rule Value Description
tags-check false Tag checking disabled
tag-pair true Paired tags must be closed
tag-self-close false Self-closing tags disabled
tagname-lowercase true Lowercase tags
empty-tag-not-self-closed true Void tags without /
src-not-empty true No empty src
href-abs-or-rel false Link type checking disabled
button-type-require true type required on <button>
form-method-require true method required on <form>

IDs and Classes

Rule Value Description
id-class-ad-disabled false Ad name checking disabled
id-class-value false Name format checking disabled
id-unique true IDs must be unique

Formatting

Rule Value Description
inline-script-disabled false Inline scripts allowed
inline-style-disabled false Inline styles allowed
space-tab-mixed-disabled "space" Spaces only for indentation
spec-char-escape true Special characters must be escaped

Links