Support for block annotations. Option to use endnotes in PDF.
[librarian.git] / src / librarian / elements / __init__.py
1 from lxml import etree
2 from . import (blocks, comments, drama, figures, footnotes, front, headers,
3                masters, paragraphs, poetry, ref, root, separators, styles, themes)
4
5
6 WL_ELEMENTS = {
7     'meta': etree.ElementBase,
8     'coverClass': etree.ElementBase,
9     "developmentStage": etree.ElementBase,
10     "coverBarColor": etree.ElementBase,
11     "coverBoxPosition": etree.ElementBase, 
12     "coverLogoUrl": etree.ElementBase,
13     "contentWarning": etree.ElementBase,
14     "endnotes": etree.ElementBase,
15
16     "utwor": root.Utwor,
17     "dramat_wierszowany_l": masters.Master,
18     "dramat_wierszowany_lp": masters.Master,
19     "dramat_wspolczesny": masters.Master,
20     "liryka_l": masters.Master,
21     "liryka_lp": masters.Master,
22     "opowiadanie": masters.Master,
23     "powiesc": masters.Master,
24
25     "autor_utworu": front.AutorUtworu,
26     "dzielo_nadrzedne": front.DzieloNadrzedne,
27     "nazwa_utworu": front.NazwaUtworu,
28     "podtytul": front.Podtytul,
29
30     "lista_osob": drama.ListaOsob,
31     "lista_osoba": drama.ListaOsoba,
32     "naglowek_osoba": drama.NaglowekOsoba,
33     "osoba": drama.Osoba,
34
35     "dlugi_cytat": blocks.DlugiCytat,
36     "poezja_cyt": blocks.PoezjaCyt,
37     "dlugi_cyt": blocks.DlugiCytat,  ### ???
38     "ramka": blocks.Ramka,
39     
40     "slowo_obce": styles.SlowoObce,
41     "tytul_dziela": styles.TytulDziela,
42     "wyroznienie": styles.Wyroznienie,
43
44     "akap": paragraphs.Akap,
45     "akap_cd": paragraphs.Akap,
46     "akap_dialog": paragraphs.Akap,
47
48     "motto_podpis": front.MottoPodpis,
49
50     "strofa": poetry.Strofa,
51
52     "motto": front.Motto,
53
54     "didaskalia": drama.Didaskalia,
55     "kwestia": drama.Kwestia,
56     "didask_tekst": drama.DidaskTekst,
57
58     "dedykacja": blocks.Dedykacja,
59     "miejsce_czas": drama.MiejsceCzas,
60
61     "uwaga": comments.Uwaga,
62
63     "wers": poetry.Wers,
64     "wers_wciety": poetry.WersWciety,
65     "wers_cd": poetry.WersCd,
66     "wers_akap": poetry.WersAkap,
67     "zastepnik_wersu": poetry.ZastepnikWersu,
68     "wers_do_prawej": poetry.WersDoPrawej,
69     
70     "pa": footnotes.PA,
71     "pe": footnotes.PE,
72     "pr": footnotes.PR,
73     "pt": footnotes.PT,
74
75     "ref": ref.Ref,
76
77     "begin": themes.Begin,
78     "end": themes.End,
79     "motyw": themes.Motyw,
80
81     "nota": blocks.Nota,
82
83     "nota_red": comments.NotaRed,
84     "extra": comments.Abstrakt,
85     "abstrakt": comments.Abstrakt,
86
87     "naglowek_czesc": headers.NaglowekCzesc,
88     "naglowek_akt": headers.NaglowekCzesc,
89     "naglowek_scena": headers.NaglowekScena,
90     "naglowek_rozdzial": headers.NaglowekRozdzial,
91     "naglowek_podrozdzial": headers.NaglowekPodrozdzial,
92     "srodtytul": headers.NaglowekCzesc,
93     "podtytul_czesc": headers.PodtytulCzesc,
94     "podtytul_akt": headers.PodtytulCzesc,
95     "podtytul_scena": headers.PodtytulRozdzial,
96     "podtytul_rozdzial": headers.PodtytulRozdzial,
97     "podtytul_podrozdzial": headers.PodtytulPodrozdzial,
98
99     "naglowek_listy": drama.NaglowekListy,
100
101     "sekcja_asterysk": separators.SekcjaAsterysk,
102     "sekcja_swiatlo": separators.SekcjaSwiatlo,
103     "separator_linia": separators.SeparatorLinia,
104
105     "wieksze_odstepy": styles.WiekszeOdstepy,
106     "mat": styles.Mat,
107     "www": styles.WWW,
108     "indeks_dolny": styles.IndeksDolny,
109
110     "tabela": figures.Tabela,
111     "tabelka": figures.Tabela,
112     "wiersz": figures.Wiersz,
113     "kol": figures.Kol,
114
115     "animacja": figures.Animacja,
116     "ilustr": figures.Ilustr,
117
118     "ref": etree.ElementBase,
119     # Section
120     "wywiad_pyt": blocks.WywiadPyt,
121     "wywiad_odp": blocks.WywiadOdp,
122
123     # Inline MathML, should really be namespaced.
124     "mrow": etree.ElementBase,
125     "mi": etree.ElementBase,
126     "mo": etree.ElementBase,
127     "msup": etree.ElementBase,
128     "mn": etree.ElementBase,
129     "mfrac": etree.ElementBase,
130     "mfenced": etree.ElementBase,
131 }