blob: ec8812c228c7d59bb09bbfef5afe59d4d27e2310 (
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
(import-macros {:compile-html HTML} :macros)
(fn improve-typography [text]
(var result
(-> text
(string.gsub "(\n|\r)" " ")
(string.gsub "%s+" " ")))
(let [nbsp-replaces ["на" "На" "и" "И" "в" "В" "о" "О" "с" "С" "со" "Со" "до"
"До" "для" "Для" "а" "А" "но" "Но" "на" "На" "я" "Я" "мы"
"Мы" "над" "Над" "под" "Под" "г." "Г." "ул." "Ул."
"д." "Д." "%d+"]]
(each [_ v (ipairs nbsp-replaces)]
(set result
(-> result
(string.gsub (.. "( " v ") ") "%1 ")
(string.gsub (.. "(%s" v ") ") " %1 ")
(string.gsub (.. "^(" v ") ") "%1 ")))))
result)
(fn header [current-path]
(local logo
(HTML [:img {:class "logo" :src "/static/logo.svg"
:alt "Белая жаба в мультяшном стиле с чайником на голове"}]))
(HTML [:article {:class "article"}
(if (~= current-path "") (HTML [:a {:href "/"} logo]) logo)
[:h1 {} "Чайная комната «Белая жаба»"]
[:nav {}
[:a {:href "/shop" :class "active"}
"магазин"]
[:span {} "~"]
[:a {:href "https://t.me/whitetoadtea"}
"телеграм"]
[:span {} "~"]
[:a {:href "https://vk.com/whitetoadtea"}
"вконтакте"]]]))
(local texts {
:address
(improve-typography
"г. Омск, ул. Пушкина, д. 133/9, этаж 2. Вход с крыльца Магнита, дверь
слева, домофон 4")
:individual-ceremony
(improve-typography
"Индивидуальная чайная церемония: мастер готовит для вас чай на ваш выбор.
О времени встречи договариваемся. Стоимость 1000 рублей с человека,
до 5 человек.")
:weekly-meetings
(improve-typography
"Еженедельное мероприятие: каждую субботу в 15:00 мы собираемся и пьем
чай из нашей коллекции. Для посещения необходима запись в комментариях
под соответствующим постом в нашей группе в телеграме. Стоимость 500
рублей с человека.")})
(print
(HTML [:div (fn [] {:huemoe nil :hello "world" :required true}) "whatever"]))
; (macrodebug
; (HTML [:div (fn [] {:hello "world" :required true}) "whatever"]))
; (macrodebug
; (HTML
; [:div {:class "side"}
; (unpack [])]))
; (macrodebug
; (HTML
; [:div {:class "side"}
; [:article {:class "article"}
; (header "")
; [:h2 {} "Адрес"]
; [:p {} "test!"]]]))
; (print (HTML
; [:img {:class "side"}]))
; (local hello {:world "test"})
; (print
; (fennel.view
; [(HTML [:div {:class "first"} "11111"])
; (HTML [:div {:class "second"} "22222"])]))
; (print (HTML
; [:div {:class "side"}
; [:article {:class "article"}
; (header "")
; [(if true :h2 :h3) {(if true "hello" "world") "test"} "Адрес"]
; [:else {:test hello.world} "Адрес"]
; [:NO-ESCAPE "<script>works!</script>"]
; [:p {} "<script>doesnt work!</script>"]]]))
; (macrodebug
; (HTML
; [:div {:class "side"}
; (header "")
; [:article {:class "article"}
; [:h2 {} "Адрес"]
; [:p {} [:NO-ESCAPE texts.address]]]
; [:article {:class "article"}
; [:h2 {} "Форматы участия"]
; [:ol {}
; [:li {}
; [:NO-ESCAPE texts.individual-ceremony]
; [:div {:class "button-wrapper"}
; [:a {:href "https://t.me/whitetoadvlad" :class "button"} "Записаться"]]]
; [:li {}
; [:NO-ESCAPE texts.weekly-meetings]
; [:div {:class "button-wrapper"}
; [:a {:href "https://t.me/whitetoadtea" :class "button"} "Подписаться"]]]]]]))
|