some changes

posts
serr 2025-04-11 11:32:05 +03:00
parent cb0358dbb4
commit 5082221d78
11 changed files with 16 additions and 199 deletions

View File

@ -50,6 +50,13 @@ main > div > h1 {
border-bottom: 1px solid; border-bottom: 1px solid;
} }
.post {
text-align: left;
}
.post h1 {
text-align: center;
}
@media (max-width: 1200px) { @media (max-width: 1200px) {
header, footer, main { header, footer, main {
flex: 1 100%; flex: 1 100%;

View File

@ -47,8 +47,6 @@ func setupRoutes(app *models.App) *http.ServeMux {
// Главные странички // Главные странички
{ {
// Обработка главной страницы (русская версия)
router.Handle("/ru/", m(controllers_pages.MainRuPageHandler(app)))
// Обработка главной страницы // Обработка главной страницы
router.Handle("/", m(controllers_pages.MainPageHandler(app))) router.Handle("/", m(controllers_pages.MainPageHandler(app)))
// Обработка страницы со списком постов // Обработка страницы со списком постов

View File

@ -1,34 +0,0 @@
package controllers_pages
import (
"main/mvc/models"
"main/mvc/models/models_pages"
"net/http"
)
// Обработчик главной страницы
func MainRuPageHandler(app *models.App) http.HandlerFunc {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
var err error
// Страничка рендерится только если ее нет в кэше
pageData, ok := app.PagesCache.Get(models_pages.MainRuPageTmplName)
if !ok {
pageData, err = models_pages.RenderMainRuPage(app.Templates, app.Version)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
app.PagesCache.Set(models_pages.MainRuPageTmplName, pageData)
}
sendMainRuPage(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)
}

View File

@ -1,27 +0,0 @@
package models_pages
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
}

View File

@ -1,34 +0,0 @@
{{ define "footer_ru" }}
<footer>
<div>
<img src="/assets/pic/footer.webp?v={{ .version }}" width="100%" height="100%">
</div>
<div>
<p>
а ещё можно подписаться на мой телеграм-канал с картинками!
</p>
<p>
<a href="https://t.me/lolistack" target="_blank">цифровая деревня</a>
</p>
</div>
<div>
<p>
емного системной информации_
</p>
<ul>
<li>unix-время генерации страницы - <strong>{{ .renderingTimestamp }}</strong></li>
<li><code>curl -X COUNT https://hikan.ru</code> - количество завпросов, обработанных сервером за 24ч</li>
<li><code>curl -X LIMINAL https://hikan.ru</code> - что ты знаешь о лиминальных пространствах?</li>
<li>репозиторий с кодом этого сайта - <a href="https://git.hikan.ru/serr/hikan.ru" target="_blank">git.hikan.ru/serr/hikan.ru</a></li>
</ul>
</div>
<div>
<p>
этот сайт написан на Go без использования фреймворков, хостинг - <a href="https://htk.ge" target="_blank">hostetski</a>, домен куплен по цене банки пива
</p>
<p>
<code>2024 - настоящее время</code>
</p>
</div>
</footer>
{{ end }}

View File

@ -13,7 +13,8 @@
</div> </div>
<div> <div>
<ul> <ul>
<li><a href="/ru">switch to ru version (AI translation)</a></li> <li><a href="/">main page</a></li>
<li><a href="/posts/">posts section</a></li>
</ul> </ul>
</div> </div>
</header> </header>

View File

@ -1,20 +0,0 @@
{{ define "header_ru" }}
<header>
<div>
<img src="/assets/pic/header.webp?v={{ .version }}" width="100%" height="100%">
</div>
<div>
<h1>
контакты
</h1>
<p>
вы можете написать мне в <a href="https://t.me/semaphoreslover" target="_blank">telegram</a> или <a href="https://mastodon.ml/@serr" target="_blank">mastodon</a>
</p>
</div>
<div>
<ul>
<li><a href="/">английская версия</a></li>
</ul>
</div>
</header>
{{ end }}

View File

@ -1,78 +0,0 @@
<!DOCTYPE html>
<html lang="ru">
{{ template "head" . }}
<body>
{{ template "header_ru" . }}
<main>
<div>
<p>
<code style="color: #0E53FF">
эту страничку на русский частично переводил DeepSeek, имейте в виду
</code>
</p>
</div>
<div>
<h1>
$whoami
</h1>
<p>
меня зовут serr (мое настоящее имя легко угадать, если вы говорите по-русски :d), и это не я придумал этот никнейм - просто меня стали так называть
</p>
<p>
я родился в 2003 году, сейчас учусь на специалиста по кибербезопасности
</p>
<p>
<code>местоимения: он/его</code>
</p>
</div>
<div>
<h1>
чем я занимаюсь?
</h1>
<p>
программирование - это моё всё: работа, хобби, стиль жизни
</p>
<p>
мне нравится развиваться во всех областях программирования - мне буквально интересно всё: кибербезопасность (хаотичный взлом вещей, анализ кода, написание автоматических анализаторов и перекладывание байтов туда-сюда), многопоточность, веб-разработка, низкоуровневое программирование, криптография и многое другое!
</p>
<p>
мне нравится идея <a href="https://en.wikipedia.org/wiki/Symbolic_execution" target="_blank">символьного</a>/конколического выполнения и виртуального выполнения кода в целом
</p>
</div>
<div>
<h1>
что я люблю
</h1>
<ul>
<li><strong>кофе</strong>. я ОЧЕНЬ люблю кофе. почти любой. и много</li>
<li><strong>фильмы и сериалы</strong> (особенно сериалы). я смотрю что-то почти каждый день</li>
<li><strong>true crime</strong>. я одержим делами о серийных убийцах, таинственных исчезновениях, нераскрытых убийствах - всем этим тёмным материалом</li>
<li><strong>русский андерграундный рэп</strong> типа Slava KPSS, Zamay, MB Packet, Ovsyankin и т.д.</li>
<li><strong>простой и расширяемый код</strong>. я считаю, что если ваш код слишком сложен, значит вы делаете что-то не так. большинство вещей проще, чем кажутся</li>
</ul>
</div>
<div>
<h1>
проекты
</h1>
<ul>
<li><a href="https://git.hikan.ru/serr" target="_blank">git.hikan.ru/serr</a> - мои репозитории</li>
<li><del>телеграм-бот с расписанием для СПбПУ - <a href="https://t.me/polysched_bot" target="_blank">polysched_bot</a></del> (передан более активному владельцу)</li>
<li><del>телеграм-бот с расписанием для Горного - <a href="https://t.me/gornischedule_bot" target="_blank">gornischedule_bot</a></del> (закрыт)</li>
</ul>
</div>
<div>
<h1>
интересные ссылки
</h1>
<ul>
<li><a href="https://mo.rijndael.cc/" target="_blank">Mo</a>, спасибо за идею дизайна!</li>
<li>огромная коллекция номеров Xakep - <a href="https://図書館.きく.コム/" target="_blank">図書館.きく.コム</a></li>
<li>мне нравится этот сайт о Small Web - <a href="https://smallweb.cc/" target="_blank">smallweb</a></li>
<li>очень атмосферный форум о блэк-метале - <a href="https://www.lycanthropia.net/" target="_blank">lycanthropia</a></li>
</ul>
</div>
</main>
{{ template "footer_ru" . }}
</body>
</html>

View File

@ -4,7 +4,7 @@
<body> <body>
{{ template "header" . }} {{ template "header" . }}
<main> <main>
<div> <div class="post">
{{ .data }} {{ .data }}
</div> </div>
</main> </main>

View File

@ -6,7 +6,7 @@
<main> <main>
{{ range $key, $post := .posts }} {{ range $key, $post := .posts }}
<div> <div class="post">
<p> <p>
{{ $post.Preview }} {{ $post.Preview }}
</p> </p>

View File

@ -1,2 +1,6 @@
# Это тестовый пост # Это тестовый пост
[Этот](/test/) пост был *написан* в файле **формата** .md [Этот](/test/) пост был *написан* в файле **формата** .md.
Тестирую систему загрузки постов на сайт, исходно находящихся в .md.
Используемый фреймворк: [github.com/gomarkdown/markdown](https://github.com/gomarkdown/markdown)