Git Product home page Git Product logo

html2less's Introduction

html2less.py

html2less.py takes a HTML5 document and outputs nested rulesets (compatible with LESS) kickstarting the work on a CSS stylesheet.

What it does?

./html2less.py --help

Usage: html2less.py [options] [input files]
This program will read from stdin if no input files are specified.

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -d DELIMITER, --delimiter=DELIMITER
                        Delimiter: tabs or spaces? Default: spaces
  -c, --clean           Give me clean rulesets (no comments)

How it works?

Sample HTML5 document:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Sample HTML5 Document</title>
</head>
<body>
    <div id="container">
        <header>
            <h1>Sample HTML5 Structure</h1>
            <nav class="navigation">
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">About</a></li>
                </ul>
            </nav>
        </header>
        <section class="page-content">
            <hgroup>
                <h1>Main Section</h1>
                <h2>This is a sample HTML5 Page</h2>
            </hgroup>
            <article>
                <p>This is the content for the first article</p>
            </article>
        </section>
        <footer class="page-footer">
            <p>This is the Footer</p>
        </footer>
    </div>
</body>
</html>

Let's extract CSS rulesets from the document:

./html2less.py test.html

Resulting test.less stylesheet:

#container {
  /* enter your CSS here... */
  header {
    /* enter your CSS here... */
    h1 {
      /* enter your CSS here... */
    }
    .navigation {
      /* enter your CSS here... */
      ul {
        /* enter your CSS here... */
        li {
          /* enter your CSS here... */
          a {
            /* enter your CSS here... */
          }
        }
        li {
          /* enter your CSS here... */
          a {
            /* enter your CSS here... */
          }
        }
      }
    }
  }
  .page-content {
    /* enter your CSS here... */
    hgroup {
      /* enter your CSS here... */
      h1 {
        /* enter your CSS here... */
      }
      h2 {
        /* enter your CSS here... */
      }
    }
    article {
      /* enter your CSS here... */
      p {
        /* enter your CSS here... */
      }
    }
  }
  .page-footer {
    /* enter your CSS here... */
    p {
      /* enter your CSS here... */
    }
  }
}

Dependencies

This script depends on lxml.

html2less's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.