File: api_reference.rst

package info (click to toggle)
python-tinycss2 1.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 844 kB
  • sloc: python: 2,811; makefile: 21
file content (141 lines) | stat: -rw-r--r-- 3,469 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
API Reference
=============


Parsing
-------

tinycss2 is “low-level” in that it doesn’t parse all of CSS: it doesn’t know
about the syntax of any specific properties or at-rules. Instead, it provides
a set of functions that can be composed to support exactly the parts of CSS
you’re interested in, including new or non-standard rules or properties,
without modifying tinycss2 or having a complex hook/plugin system.

In many cases, parts of the parsed values (such as the
:attr:`~tinycss2.ast.AtRule.content` of a :class:`~tinycss2.ast.AtRule`) is
given as :term:`component values` that can be parsed further with other
functions.

.. module:: tinycss2
.. autofunction:: parse_stylesheet_bytes
.. autofunction:: parse_stylesheet
.. autofunction:: parse_rule_list
.. autofunction:: parse_one_rule
.. autofunction:: parse_blocks_contents
.. autofunction:: parse_declaration_list
.. autofunction:: parse_one_declaration
.. autofunction:: parse_component_value_list
.. autofunction:: parse_one_component_value


Serialization
-------------

In addition to each node’s a :meth:`~tinycss2.ast.Node.serialize` method, some
serialization-related functions are available:

.. autofunction:: serialize
.. autofunction:: serialize_identifier


Color Level 3
-------------

.. module:: tinycss2.color3
.. autofunction:: parse_color
.. autoclass:: RGBA


Color Level 4
-------------

.. module:: tinycss2.color4
.. autofunction:: parse_color
.. autoclass:: Color
   :members:
.. autodata:: COLOR_SPACES
.. autodata:: D50
.. autodata:: D65

Color Level 5
-------------

.. module:: tinycss2.color5
.. autofunction:: parse_color
.. autoclass:: Color
   :show-inheritance:
.. autodata:: COLOR_SPACES
.. autodata:: D50
.. autodata:: D65


<An+B>
------

.. module:: tinycss2.nth
.. autofunction:: parse_nth


AST nodes
---------

.. module:: tinycss2.ast

Various parsing functions return a **node** or a list of nodes. Some types of
nodes contain nested nodes which may in turn contain more nodes, forming
together an **abstract syntax tree**.

Although you typically don’t need to import it, the :mod:`tinycss2.ast` module
defines a class for every type of node.

.. autoclass:: Node()

.. autoclass:: QualifiedRule()
.. autoclass:: AtRule()
.. autoclass:: Declaration()

.. autoclass:: ParseError()
.. autoclass:: Comment()
.. autoclass:: WhitespaceToken()
.. autoclass:: LiteralToken()
.. autoclass:: IdentToken()
.. autoclass:: AtKeywordToken()
.. autoclass:: HashToken()
.. autoclass:: StringToken()
.. autoclass:: URLToken()
.. autoclass:: UnicodeRangeToken()
.. autoclass:: NumberToken()
.. autoclass:: PercentageToken()
.. autoclass:: DimensionToken()
.. autoclass:: ParenthesesBlock()
.. autoclass:: SquareBracketsBlock()
.. autoclass:: CurlyBracketsBlock()
.. autoclass:: FunctionBlock()


Glossary
--------

.. currentmodule:: tinycss2.ast
.. glossary::

    component value
    component values
        A :class:`ParseError`,
        :class:`WhitespaceToken`,
        :class:`LiteralToken`,
        :class:`IdentToken`,
        :class:`AtKeywordToken`,
        :class:`HashToken`,
        :class:`StringToken`,
        :class:`URLToken`,
        :class:`NumberToken`,
        :class:`PercentageToken`,
        :class:`DimensionToken`,
        :class:`UnicodeRangeToken`,
        :class:`ParenthesesBlock`,
        :class:`SquareBracketsBlock`,
        :class:`CurlyBracketsBlock`,
        :class:`FunctionBlock`,
        or :class:`Comment`
        object.