diff options
Diffstat (limited to 'test.fnl')
| -rw-r--r-- | test.fnl | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/test.fnl b/test.fnl new file mode 100644 index 0000000..df0df6d --- /dev/null +++ b/test.fnl @@ -0,0 +1,113 @@ +(import-macros {:compile-html <>} :macros) +(local fennel (require :vendor.fennel)) + +(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 + (<> [:img {:class "logo" :src "/static/logo.svg" + :alt "Белая жаба в мультяшном стиле с чайником на голове"}])) + + (<> [:article {:class "article"} + (if (~= current-path "") (<> [: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 + (<> [:div (fn [] {:huemoe nil :hello "world" :required true}) "whatever"])) + +; (macrodebug +; (<> [:div (fn [] {:hello "world" :required true}) "whatever"])) + +; (macrodebug +; (<> +; [:div {:class "side"} +; (unpack [])])) + +; (macrodebug +; (<> +; [:div {:class "side"} +; [:article {:class "article"} +; (header "") +; [:h2 {} "Адрес"] +; [:p {} "test!"]]])) + +; (print (<> +; [:img {:class "side"}])) + +; (local hello {:world "test"}) + +; (print +; (fennel.view +; [(<> [:div {:class "first"} "11111"]) +; (<> [:div {:class "second"} "22222"])])) + +; (print (<> +; [: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 +; (<> +; [: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"} "Подписаться"]]]]]])) |
