blob: 0f744e9088c3f6b7a5b188307333bd3b8ec74c33 (
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
|
#!/usr/bin/env python3
#******************************************************************************
# Copyright (C) 2018 Thomas "Cakeisalie5" Touhey <thomas@touhey.fr>
# This file is part of the textoutpc project, which is MIT-licensed.
#******************************************************************************
from .. import BlockTag as _BlockTag
__all__ = ["TitleTag"]
class TitleTag(_BlockTag):
""" The title tag.
Example uses:
[title]Some title[/title]
[subtitle]Some subtitle[/subtitle]
"""
aliases = ('[title]', '[subtitle]')
raw = True
def prepare(self, name, value):
level = self.tweak("title_level", "1").casefold()
if isinstance(level, str) and level[0] == "h":
level = level[1:]
level = int(level)
assert 1 <= level <= 5
# Name.
self._level = name[1:-1]
# HTML tag.
level += self._level == "subtitle"
self._tag = f"h{level}"
def begin_html(self):
return f'<{self._tag} class="{self._level}">'
def end_html(self):
return f'</{self._tag}>'
def begin_lightscript(self):
return '#' * ((self._level == "subtitle") + 1) + ' '
# End of file.
|