From 246c5b3d15a1009aa2d30ad0ccc4ef4cbfa05366 Mon Sep 17 00:00:00 2001
From: serr
Date: Sat, 5 Apr 2025 21:33:24 +0300
Subject: [PATCH] ru vers added
---
main.go | 3 +
mvc/controllers/pages/main_ru.go | 34 ++++++++
mvc/models/pages/main_ru.go | 27 +++++++
mvc/views/pages/main.gohtml | 5 ++
mvc/views/pages/main_ru.gohtml | 129 +++++++++++++++++++++++++++++++
5 files changed, 198 insertions(+)
create mode 100644 mvc/controllers/pages/main_ru.go
create mode 100644 mvc/models/pages/main_ru.go
create mode 100644 mvc/views/pages/main_ru.gohtml
diff --git a/main.go b/main.go
index a10aa7e..b6a7eff 100644
--- a/main.go
+++ b/main.go
@@ -53,6 +53,9 @@ func setupRoutes(a *models.App) *http.ServeMux {
// Обработка статических файлов с кэшированием
router.Handle(a.Config.AssetsPath, controllers.StaticHandler())
+ // Обработка главной страницы
+ router.Handle("/ru/", controllers_pages.MainRuPageHandler(a))
+
// Обработка главной страницы
router.Handle("/", controllers_pages.MainPageHandler(a))
diff --git a/mvc/controllers/pages/main_ru.go b/mvc/controllers/pages/main_ru.go
new file mode 100644
index 0000000..6f67a13
--- /dev/null
+++ b/mvc/controllers/pages/main_ru.go
@@ -0,0 +1,34 @@
+package controllers
+
+import (
+ "main/mvc/models"
+ models_pages "main/mvc/models/pages"
+ "net/http"
+)
+
+// Обработчик главной страницы
+func MainRuPageHandler(a *models.App) http.HandlerFunc {
+ return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ var err error
+
+ // Страничка рендерится только если ее нет в кэше
+ pageData, ok := a.Cache.Get(models_pages.MainRuPageTmplName)
+ if !ok {
+ pageData, err = models_pages.RenderMainRuPage(a.Templates, a.Version)
+ if err != nil {
+ http.Error(w, err.Error(), http.StatusInternalServerError)
+ return
+ }
+ a.Cache.Set(models_pages.MainRuPageTmplName, pageData)
+ }
+
+ SendMainPage(w, pageData.([]byte))
+ })
+}
+
+// Отправляет страницу
+func SendMainRuPage(w http.ResponseWriter, data []byte) {
+ w.Header().Set("Content-Type", "text/html; charset=utf-8")
+ w.WriteHeader(http.StatusOK)
+ w.Write(data)
+}
diff --git a/mvc/models/pages/main_ru.go b/mvc/models/pages/main_ru.go
new file mode 100644
index 0000000..8650fc5
--- /dev/null
+++ b/mvc/models/pages/main_ru.go
@@ -0,0 +1,27 @@
+package models
+
+import (
+ "bytes"
+ "html/template"
+ "time"
+)
+
+const (
+ // Имя соответствующего шаблона
+ MainRuPageTmplName = "main_ru.gohtml"
+)
+
+func RenderMainRuPage(templates *template.Template, version int64) ([]byte, error) {
+ var pageData bytes.Buffer
+
+ context := map[string]any{
+ "version": version,
+ "renderingTimestamp": time.Now().Unix(),
+ }
+
+ if err := templates.ExecuteTemplate(&pageData, MainRuPageTmplName, context); err != nil {
+ return nil, err
+ }
+
+ return pageData.Bytes(), nil
+}
diff --git a/mvc/views/pages/main.gohtml b/mvc/views/pages/main.gohtml
index c9e487b..058c864 100644
--- a/mvc/views/pages/main.gohtml
+++ b/mvc/views/pages/main.gohtml
@@ -20,6 +20,11 @@
you can message me on telegram or mastodon
+
diff --git a/mvc/views/pages/main_ru.gohtml b/mvc/views/pages/main_ru.gohtml
new file mode 100644
index 0000000..7bf01a1
--- /dev/null
+++ b/mvc/views/pages/main_ru.gohtml
@@ -0,0 +1,129 @@
+
+
+
+
hikan.ru
+
+
+
+
+
+
+
+
+
+
+
+ эту страничку на русский переводил DeepSeek, имейте в виду
+
+
+
+
+
+ $whoami
+
+
+ меня зовут serr (мое настоящее имя легко угадать, если вы говорите по-русски :d), и это не я придумал этот никнейм - просто меня стали так называть
+
+
+ я родился в 2003 году, сейчас учусь на специалиста по кибербезопасности
+
+
+ местоимения: он/его
+
+
+
+
+ чем я занимаюсь?
+
+
+ программирование - это моё всё: работа, хобби, пожизненная одержимость
+
+
+ мне нравится развиваться во всех областях программирования - мне буквально интересно всё: кибербезопасность (хаотичный взлом вещей, анализ кода, написание автоматических анализаторов и перекладывание байтов туда-сюда), многопоточность, веб-разработка, низкоуровневое программирование, криптография и многое другое!
+
+
+ мне нравится идея символьного /конколического выполнения и виртуального выполнения кода в целом
+
+
+
+
+ что я люблю
+
+
+ кофе . я ОЧЕНЬ люблю кофе. почти любой. и много
+ фильмы и сериалы (особенно сериалы). я смотрю что-то почти каждый день
+ true crime . я одержим делами о серийных убийцах, таинственных исчезновениях, нераскрытых убийствах - всем этим тёмным материалом
+ русский андерграундный рэп типа Slava KPSS, Zamay, MB Packet, Ovsyankin и т.д.
+ простой и расширяемый код . я считаю, что если ваш код слишком сложен, значит вы делаете что-то не так. большинство вещей проще, чем кажутся
+
+
+
+
+
+ интересные ссылки
+
+
+ Mo , спасибо за идею дизайна!
+ огромная коллекция номеров Xakep - 図書館.きく.コム
+ мне нравится этот сайт о Small Web - smallweb
+ очень атмосферный форум о блэк-метале - lycanthropia
+
+
+
+
+
+
+
+
+
+ а ещё можно подписаться на мой телеграм-канал с картинками!
+
+
+ цифровая деревня
+
+
+
+
+ _немного системной информации_
+
+
+ unix-время генерации страницы - {{ .renderingTimestamp }}
+
+
+
+
+ этот сайт написан на Go без использования фреймворков за несколько часов, хостинг - hostetski , домен куплен по цене банки пива
+
+
+ 2024 - настоящее время
+
+
+
+
+
\ No newline at end of file