Metadata-Version: 2.1
Name: simplestyle
Version: 1.1.2
Summary: Handling of simple stylesheets (subset of CSS)
Home-page: https://github.com/rotula/simplestyle
Author: Clemens Radl
Author-email: clemens.radl@googlemail.com
Maintainer: Clemens Radl
Maintainer-email: clemens.radl@googlemail.com
License: MIT
Keywords: CSS styles stylesheets
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Intended Audience :: Developers
Classifier: Topic :: Text Processing :: Markup

***********
simplestyle
***********

This package was originally part of a Python tool to extract text data
from PDFs into TEI XML. Some of the style information that was extracted
from the PDF had to be recorded in the resulting TEI file. Among these
were fontname, fontsize, italics, boldface, superscript, subscript.
These were included as simple CSS statements into the ``tagsDecl`` of
the TEI document.

Later it seemed approporiate to remove this very simple style library
from the PDF extraction package and offer it as a little standalone
package, which can be useful in different contexts.

NB: This package might be useful for some people, hence it is published
as an open source package, but it is still very much tailored to some
very special needs for text processing. It is not very likely that this
package will be developed into a general CSS library. If you need this,
you will find plenty of helpful libraries on PyPI.

Download, Installation
======================

simplestyle is available on PyPI
<https://pypi.python.org/pypi/simplestyle>.

Install with ``pip install simplestyle``.

The source code is on GitHub: <https://github.com/rotula/simplestyle>.

Simplified CSS
==============

The simplified CSS grammar understood by this package is as follows::

    css := declaration (";" declaration)* ';'?
    declaration := property ":" expr
    property := [a-zA-Z-]+
    expr := (string | [^;"']+)
    string := string1 | string2
    string1 := "'" [^'\n\r\f] "'"
    string2 := '"' [^"\n\r\f] '"'

Usage
=====

.. code:: pycon

    >>> from simplestyle import Style
    >>> css = "font-size: 10pt"
    >>> style = Style()
    >>> style.from_css(css)
    >>> style.size
    10.0
    >>> style.get_css()
    'font-size: 10.0pt'
    >>> style.italics
    False
    >>> style.from_css("font-style:italic", merge=True)
    >>> style.italics
    True
    >>> style.size
    10.0
    >>> style.get_css()
    'font-size: 10.0pt; font-style: italic'
    >>> style.reset()
    >>> style.get_css()
    ''



