blob: 247658ab259229d80f7073435aa61e3bc84dd74b (
plain)
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
|
title: SmartyPants Extension
prev_title: Sane Lists Extension
prev_url: sane_lists.html
next_title: Table of Contents Extension
next_url: toc.html
SmartyPants
===========
Summary
-------
The SmartyPants extension converts ASCII dashes, quotes and ellipses to
their HTML entity equivalents.
ASCII symbol | Replacements | HTML Entities | Substitution Keys
------------ | --------------- | ------------------- | ----------------------------------------
`'` | ‘ ’ | `‘` `’` | `'left-single-quote'`, `'right-single-quote'`
`"` | “ ” | `“` `”` | `'left-double-quote'`, `'right-double-quote'`
`<< >>` | « » | `«` `»` | `'left-angle-quote'`, `'right-angle-quote'`
`...` | … | `…` | `'ellipsis'`
`--` | – | `–` | `'ndash'`
`---` | — | `—` | `'mdash'`
Using the configuration option 'substitutions' you can overwrite the
default substitutions. Just pass a dict mapping (a subset of) the
keys to the substitution strings.
For example, one might use the following configuration to get correct quotes for
the German language:
extension_configs = {
'markdown.extensions.smarty': {
'substitutions': {
'left-single-quote': '‚', # sb is not a typo!
'right-single-quote': '‘',
'left-double-quote': '„',
'right-double-quote': '“'
}
}
}
!!! note
This extension re-implements the Python [SmartyPants]
library by integrating it into the markdown parser.
While this does not provide any additional features,
it does offer a few advantages. Notably, it will not
try to work on highlighted code blocks (using the
[CodeHilite] Extension) like the third party library
has been known to do.
[SmartyPants]: http://pythonhosted.org/smartypants/
[CodeHilite]: code_hilite.html
Usage
-----
See [Extensions](index.html) for general extension usage, specify
`markdown.extensions.smarty` as the name of the extension.
See the [Library Reference](../reference.html#extensions) for information about
configuring extensions.
The following options are provided to configure the output:
Option | Default value | Description
------ | ------------- | -----------
`smart_dashes` | `True` | whether to convert dashes
`smart_quotes` | `True` | whether to convert straight quotes
`smart_angled_quotes` | `False` | whether to convert angled quotes
`smart_ellipses` | `True` | whether to convert ellipses
`substitutions` | `{}` | overwrite default substitutions
Further reading
---------------
SmartyPants extension is based on the original SmartyPants implementation
by John Gruber. Please read it's [documentation][1] for details.
[1]: http://daringfireball.net/projects/smartypants/
|