Skip to content

Latest commit

 

History

History
115 lines (78 loc) · 2.4 KB

theme-validator.md

File metadata and controls

115 lines (78 loc) · 2.4 KB

Drupal theme validator

A checklist with rules to validate commercial and free Drupal themes (and distributions).

Checklist

  • Technical support
  • Documentation (online or manual)
  • Lisence valid for Drupal (GPL2+ compatible)

  • Following Drupal Standards
  • Following best practices (eg folder structure, sass etc)

  • Translations, multilingual (if needed)

  • Demo content works
  • Tied with demo content - ability to change content

  • Mobile, tablet and small screen displays support

  • Is a final product
  • Is a theming base tool

  • Customization ability
  • Source code is provided (not only compiled assets)
  • Design assets provided (eg Figma, Sketch, PSD etc)
  • Methods to compile assets (eg npm, gulp, grunt etc)
  • Development dependencies (eg nodejs, bash, ruby)
  • Component based design (eg Storybook, Patternlab etc)
  • Has a styleguide

  • Typography supports non English languages

  • Extra modules used (custom)
  • Contrib modules used (D.O.)
  • Hardcoded (eg code inside templates)
  • Hooks vs templates usage

  • SCSS/CSS structure
  • CSS methodology or library used (eg bootstrap)
  • Is CSS reusable
  • Does CSS adds utility classes (like TailwindCSS)
  • 3rd party CSS libraries used

  • JS code and files structure
  • JS methodology used
  • 3rd party JS libraries used

  • Twig templates code and files structure
  • No unused twig templates exist

  • Base theme (from Drupal, if exists)
  • Libraries override
  • Breakpoints available
  • Right to left support (if needed)

  • Is using css variables
  • Is using grid/flexbox properties for layout
  • Is using variable fonts (if needed)
  • Fonts used (custom or from online service. Prefer the 2nd)

  • Errors and warnings
  • W3C validation (Valid HTML)
  • A11y validation
  • Browser Compatible (screenshots)
  • Performance
  • SEO friendly
  • Security
  • UX (can we measure it?)

  • Easy to enable local development (npm packages, browsersync, linters etc)

  • Does what it says
  • Price vs Value

ToDo

  • Make this checklist more granular/detailed
  • Add grades for each item (eg percent)
  • Add specific standards per item
  • Create a webpage with the list
  • Validate several free themes
  • Create table with themes vs validations