• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

.github/workflows/23-Nov-2023-8280

bench/23-Nov-2023-7247

docs/23-Nov-2023-314213

requirements/23-Nov-2023-9991

src/markupsafe/23-Nov-2023-693566

tests/23-Nov-2023-307214

.editorconfigD23-Nov-2023243 1713

.gitignoreD23-Nov-2023147 1918

.pre-commit-config.yamlD23-Nov-2023715 2726

.readthedocs.yamlD23-Nov-2023131 98

Android.bpD23-Nov-2023681 3431

CHANGES.rstD23-Nov-20231.8 KiB10259

LICENSE.rstD23-Nov-20231.4 KiB2923

MANIFEST.inD23-Nov-2023125 87

README.rstD23-Nov-20231.9 KiB6946

setup.cfgD23-Nov-20231.7 KiB7164

setup.pyD23-Nov-20232.2 KiB8064

tox.iniD23-Nov-2023440 2016

README.rst

1MarkupSafe
2==========
3
4MarkupSafe implements a text object that escapes characters so it is
5safe to use in HTML and XML. Characters that have special meanings are
6replaced so that they display as the actual characters. This mitigates
7injection attacks, meaning untrusted user input can safely be displayed
8on a page.
9
10
11Installing
12----------
13
14Install and update using `pip`_:
15
16.. code-block:: text
17
18    pip install -U MarkupSafe
19
20.. _pip: https://pip.pypa.io/en/stable/quickstart/
21
22
23Examples
24--------
25
26.. code-block:: pycon
27
28    >>> from markupsafe import Markup, escape
29
30    >>> # escape replaces special characters and wraps in Markup
31    >>> escape("<script>alert(document.cookie);</script>")
32    Markup('&lt;script&gt;alert(document.cookie);&lt;/script&gt;')
33
34    >>> # wrap in Markup to mark text "safe" and prevent escaping
35    >>> Markup("<strong>Hello</strong>")
36    Markup('<strong>hello</strong>')
37
38    >>> escape(Markup("<strong>Hello</strong>"))
39    Markup('<strong>hello</strong>')
40
41    >>> # Markup is a str subclass
42    >>> # methods and operators escape their arguments
43    >>> template = Markup("Hello <em>{name}</em>")
44    >>> template.format(name='"World"')
45    Markup('Hello <em>&#34;World&#34;</em>')
46
47
48Donate
49------
50
51The Pallets organization develops and supports MarkupSafe and other
52libraries that use it. In order to grow the community of contributors
53and users, and allow the maintainers to devote more time to the
54projects, `please donate today`_.
55
56.. _please donate today: https://palletsprojects.com/donate
57
58
59Links
60-----
61
62*   Website: https://palletsprojects.com/p/markupsafe/
63*   Documentation: https://markupsafe.palletsprojects.com/
64*   Releases: https://pypi.org/project/MarkupSafe/
65*   Code: https://github.com/pallets/markupsafe
66*   Issue tracker: https://github.com/pallets/markupsafe/issues
67*   Test status: https://dev.azure.com/pallets/markupsafe/_build
68*   Official chat: https://discord.gg/t6rrQZH
69