summaryrefslogtreecommitdiff
path: root/pages/index.fnl
diff options
context:
space:
mode:
authorunwox <me@unwox.com>2025-04-28 12:07:48 +0600
committerunwox <me@unwox.com>2025-04-28 12:11:38 +0600
commitd8039a77d582f696ab98b2a6d02ce924fbacfa41 (patch)
tree75fa7503747d0eca275685ae9f752773ed0d52ec /pages/index.fnl
parent334367bac51fda43952fe24c1d38048e39f67be9 (diff)
improve workflow around texts
Diffstat (limited to 'pages/index.fnl')
-rw-r--r--pages/index.fnl65
1 files changed, 49 insertions, 16 deletions
diff --git a/pages/index.fnl b/pages/index.fnl
index d6a1d2e..4d8af80 100644
--- a/pages/index.fnl
+++ b/pages/index.fnl
@@ -1,6 +1,52 @@
(local templates (require :templates))
(local html (require :vendor.html))
+(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 (.. "(&nbsp;" v ") ") "%1&nbsp;")
+ (string.gsub (.. "(%s" v ") ") " %1&nbsp;")
+ (string.gsub (.. "^(" v ") ") "%1&nbsp;")))))
+ result)
+
+(fn test-improve-typography []
+ (assert (= (improve-typography "Я лежу на пляжу!")
+ "Я&nbsp;лежу на&nbsp;пляжу!"))
+ (assert (= (improve-typography "500 рублей мы сняли со счета!")
+ "500&nbsp;рублей мы&nbsp;сняли со&nbsp;счета!"))
+ (assert (= (improve-typography "500 рублей мы
+ сняли со счета!")
+ "500&nbsp;рублей мы&nbsp;сняли со&nbsp;счета!")))
+
+(local texts {
+ :address
+ (improve-typography
+ "г. Омск, ул. Пушкина, д. 133/9, этаж 2. Вход с крыльца Магнита, дверь
+ слева, домофон 4")
+
+ :individual-ceremony
+ (improve-typography
+ "Индивидуальная чайная церемония: мастер готовит для вас чай на ваш выбор.
+ О времени встречи договариваемся. Стоимость 1000 рублей с человека,
+ до 5 человек.")
+
+ :weekly-meetings
+ (improve-typography
+ "Еженедельное мероприятие: каждую субботу в 15:00 мы собираемся и пьем
+ чай из нашей коллекции. Для посещения необходима запись в комментариях
+ под соответствующим постом в нашей группе в телеграме. Стоимость 500
+ рублей с человека.")
+})
+
(fn pick-gallery-photo [list]
(let [chosen (. list (math.random (# list)))]
[:div {}
@@ -19,29 +65,16 @@
[:a {:href "https://vk.com/whitetoadtea"} "вконтакте"]]]
[:article {:class "article"}
[:h2 {} "Адрес"]
- [:p {}
- [:NO-ESCAPE
- (..
- "г.&nbsp;Омск, ул.&nbsp;Пушкина, д.&nbsp;133/9, этаж&nbsp;2. "
- "Вход с&nbsp;крыльца Магнита, дверь слева, домофон&nbsp;4")]]]
+ [:p {} [:NO-ESCAPE texts.address]]]
[:article {:class "article"}
[:h2 {} "Форматы участия"]
[:ol {}
[:li {}
- [:NO-ESCAPE
- (..
- "Индивидуальная чайная церемония: мастер готовит для&nbsp;вас чай "
- "на ваш выбор. О&nbsp;времени встречи договариваемся. "
- "Стоимость 1000&nbsp;рублей с&nbsp;человека, до&nbsp;5&nbsp;человек.")]
+ [:NO-ESCAPE texts.individual-ceremony]
[:div {:class "button-wrapper"}
[:a {:href "https://t.me/whitetoadvlad" :class "button"} "Записаться"]]]
[:li {}
- [:NO-ESCAPE
- (..
- "Еженедельное мероприятие: каждую субботу в&nbsp;15:00 мы&nbsp;собираемся "
- "и&nbsp;пьем чай из&nbsp;нашей коллекции. Для&nbsp;посещения необходима запись "
- "в&nbsp;комментариях под&nbsp;соответствующим постом в&nbsp;нашей группе "
- "в&nbsp;телеграме. Стоимость 500&nbsp;рублей с&nbsp;человека.")]
+ [:NO-ESCAPE texts.weekly-meetings]
[:div {:class "button-wrapper"}
[:a {:href "https://t.me/whitetoadtea" :class "button"} "Подписаться"]]]]]]
[:div {:class "gallery"}