]> git.ipfire.org Git - ipfire.org.git/blame - src/web/ui_modules.py
wiki: Remove superfluous slash when creating user links
[ipfire.org.git] / src / web / ui_modules.py
CommitLineData
81675874 1#!/usr/bin/python
2
feb02477 3import tornado.web
81675874 4
a95c2f97 5from .. import database
494d80e6 6
81675874 7class UIModule(tornado.web.UIModule):
7e64f6a3
MT
8 @property
9 def backend(self):
10 return self.handler.backend
11
5a1018ab 12
6c6de80a
MT
13class IPFireLogoModule(UIModule):
14 def render(self, suffix=None):
15 return self.render_string("modules/ipfire-logo.html", suffix=suffix)
16
17
82dbe5a5
RH
18class OpenGraphModule(UIModule):
19 def render(self, title, **kwargs):
20 properties = {
21 "site_name" : "IPFire.org",
22 "title" : title,
23 "type" : "website",
24 "url" : self.request.full_url(),
25 "image" : self.handler.static_url("img/ipfire-tux.png", include_host=True),
26 "logo" : self.handler.static_url("img/ipfire-tux.png", include_host=True),
27 "locale" : self.locale.code,
28 } | kwargs
29
30 return self.render_string("modules/open-graph.html", properties=properties)
31
32
1c4522dc
MT
33class MarkdownModule(UIModule):
34 def render(self, markdown):
35 return self.backend.blog._render_text(markdown)
36
37
9068dba1 38class MapModule(UIModule):
cf503f2b
MT
39 def render(self, search):
40 return self.render_string("modules/map.html", search=search)
41
42 def css_files(self):
43 return (
44 "css/leaflet.css",
45 "css/Control.Geocoder.css",
46 )
47
48 def javascript_files(self):
49 return (
50 "js/leaflet.min.js",
51 "js/Control.Geocoder.min.js",
52 "js/maps.js",
53 )
9068dba1
MT
54
55
66862195
MT
56class ProgressBarModule(UIModule):
57 def render(self, value, colour=None):
58 value *= 100
59
60 return self.render_string("modules/progress-bar.html",
61 colour=colour, value=value)