Skip to main content

An opinionated HTML/XML soup formatter

Project description

https://travis-ci.org/collective/zpretty.svg?branch=master

A tool to format in a very opinionated way HTML, XML and text containing XML snippets.

It satisfies a primary need: decrease the pain of diffing HTML/XML.

For this reason zpretty formats the markup following these rules of thumb:

  • maximize the vertical space/decrease the line length

  • attributes should be sorted consistently

  • attribute sorting is first semantic and then alphabetic

This tool understands the TAL language and has some features dedicated to it.

See TODO section to know what is forecast for the future.

The source code and the issue tracker are hosted on GitHub.

INSTALL

The suggested instal method is using pip:

$ pip install zpretty

USAGE

Basic usage:

zpretty [-h] [-i] [file [file ...]]

positional arguments:
  file           The list of files to prettify

optional arguments:
  -h, --help     show this help message and exit
  -i, --inplace  format files in place (overwrite)

Example:

zpretty hello_world.html

DEVELOP

$ git clone ...
$ cd zpretty
$ make

RUNNING TESTS

$ make test

TODO

  • [ ] Python 3 support … ;)

  • [ ] Command line options

  • [ ] Improve performances

  • [ ] Valueless attributes are not allowed in XML

  • [ ] Attributes are aligned in a strange way if previous sibling has no spaces

  • [ ] TBD: Style attributes should be multiline

  • [ ] Fix Not Close exception

Changelog

0.9.0 (2017-02-11)

  • Initial release. [ale-rt]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zpretty-0.9.0.tar.gz (22.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page