Skip to content

A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.

License

Notifications You must be signed in to change notification settings

threedaymonk/htmlbeautifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 13, 2024
3d75d9b · Feb 13, 2024
Feb 13, 2024
Feb 13, 2024
Feb 13, 2024
Nov 26, 2021
Jan 19, 2015
Feb 13, 2024
Feb 23, 2015
Nov 25, 2021
May 4, 2017
Feb 13, 2024
Apr 15, 2015
May 4, 2017
Feb 13, 2024

Repository files navigation

HTML Beautifier

A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.

What it does

  • Normalises hard tabs to spaces (or vice versa)
  • Removes trailing spaces
  • Indents after opening HTML elements
  • Outdents before closing elements
  • Collapses multiple whitespace
  • Indents after block-opening embedded Ruby (if, do etc.)
  • Outdents before closing Ruby blocks
  • Outdents elsif and then indents again
  • Indents the left-hand margin of JavaScript and CSS blocks to match the indentation level of the code

Usage

From the command line

To update files in-place:

$ htmlbeautifier file1.html.erb [file2.html.erb ...]

or to operate on standard input and output:

$ htmlbeautifier < untidy.html.erb > formatted.html.erb

In your code

require 'htmlbeautifier'

beautiful = HtmlBeautifier.beautify(untify_html_string)

You can also specify how to indent (the default is two spaces):

beautiful = HtmlBeautifier.beautify(untidy_html_string, indent: "\t")

Installation

This is a Ruby gem. To install the command-line tool (you may need sudo):

$ gem install htmlbeautifier

To use the gem with Bundler, add to your Gemfile:

gem 'htmlbeautifier'

Contributing

  1. Follow these guidelines when writing commit messages (briefly, the first line should begin with a capital letter, use the imperative mood, be no more than 50 characters, and not end with a period).
  2. Include tests.

About

A normaliser/beautifier for HTML that also understands embedded Ruby. Ideal for tidying up Rails templates.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages