From 5f52a4dd7b828024e12449355b30aa874562177d Mon Sep 17 00:00:00 2001
From: serr
Date: Sun, 13 Apr 2025 16:26:57 +0300
Subject: [PATCH] some changes
---
eye.sh | 2 +-
mvc/models/models_pages/post.go | 18 +++++++++---------
mvc/models/models_pages/posts.go | 6 +++---
mvc/views/blocks/footer.gohtml | 2 +-
mvc/views/pages/posts.gohtml | 8 ++++++--
posts/post-upload-system.md | 4 ++--
6 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/eye.sh b/eye.sh
index d2db1e4..2c0e2e5 100755
--- a/eye.sh
+++ b/eye.sh
@@ -3,7 +3,7 @@ stty -echoctl # Отключает вывод управляющих симво
# НАСТРОЙКА СКРИПТА ТУТ ###########################################################
DURATION=1 # Задержка между проверками в секундах
-WATCH_DIRS=("posts" "mvc" "assets") # Массив директорий для наблюдения
+WATCH_DIRS=("posts" "mvc" "assets" "tools") # Массив директорий для наблюдения
BINARY_PATH="./main" # Путь до бинарного файла
BUILD_CMD="go build -o $BINARY_PATH main.go" # Команда для сборки
###################################################################################
diff --git a/mvc/models/models_pages/post.go b/mvc/models/models_pages/post.go
index 4be95d9..1562852 100644
--- a/mvc/models/models_pages/post.go
+++ b/mvc/models/models_pages/post.go
@@ -14,10 +14,10 @@ const (
)
type Post struct {
- Link PostLink
- Preview template.HTML
- Data template.HTML
- ModTimestamp int64
+ Link PostLink
+ Preview template.HTML
+ Data template.HTML
+ Timestamp int64
}
func RenderPostPage(templates *template.Template, version int64, data template.HTML) ([]byte, error) {
@@ -36,7 +36,7 @@ func RenderPostPage(templates *template.Template, version int64, data template.H
return pageData.Bytes(), nil
}
-func newPost(link string, data []byte, modTimestamp int64) *Post {
+func newPost(link string, data []byte, timestamp int64) *Post {
previewBuf := make([]byte, 0, 503)
if len(data) > 500 {
@@ -47,9 +47,9 @@ func newPost(link string, data []byte, modTimestamp int64) *Post {
}
return &Post{
- Link: PostLink(link),
- Preview: template.HTML(previewBuf),
- Data: template.HTML(data),
- ModTimestamp: modTimestamp,
+ Link: PostLink(link),
+ Preview: template.HTML(previewBuf),
+ Data: template.HTML(data),
+ Timestamp: timestamp,
}
}
diff --git a/mvc/models/models_pages/posts.go b/mvc/models/models_pages/posts.go
index db13b12..c4806df 100644
--- a/mvc/models/models_pages/posts.go
+++ b/mvc/models/models_pages/posts.go
@@ -42,8 +42,8 @@ func LoadPosts(dir string) (Posts, error) {
html := tools.MdToHTML(md)
link := fmt.Sprintf("/%s/", strings.TrimSuffix(filepath.Base(path), ".md"))
- modTimestamp := f.ModTime().Unix()
- posts[PostLink(link)] = newPost(link, html, modTimestamp)
+ timestamp := f.ModTime().Unix()
+ posts[PostLink(link)] = newPost(link, html, timestamp)
}
return nil
})
@@ -65,7 +65,7 @@ func (p *Posts) RenderPostsPage(templates *template.Template, version int64) ([]
// Сортирую по ModTimestamp (новые сначала)
sort.Slice(postsSlice, func(i, j int) bool {
- return postsSlice[i].ModTimestamp > postsSlice[j].ModTimestamp
+ return postsSlice[i].Timestamp > postsSlice[j].Timestamp
})
context := map[string]any{
diff --git a/mvc/views/blocks/footer.gohtml b/mvc/views/blocks/footer.gohtml
index 8a438c9..15dee7b 100644
--- a/mvc/views/blocks/footer.gohtml
+++ b/mvc/views/blocks/footer.gohtml
@@ -13,7 +13,7 @@
some system information:
- - unix timestamp of page rendering - {{ .renderingTimestamp }}
+ - unix timestamp of page rendering:
{{ .renderingTimestamp }}
curl -X COUNT https://hikan.ru
- 24-hour server request count
curl -X LIMINAL https://hikan.ru
- what do you know about liminal spaces?
- this site code repository - git.hikan.ru/serr/hikan.ru
diff --git a/mvc/views/pages/posts.gohtml b/mvc/views/pages/posts.gohtml
index d935ecb..57c79f8 100644
--- a/mvc/views/pages/posts.gohtml
+++ b/mvc/views/pages/posts.gohtml
@@ -4,7 +4,11 @@
{{ template "header" . }}
-
+
+
+ posts sorted by last mod time
+
+
{{ range $ind, $post := .posts }}
@@ -14,7 +18,7 @@
read more
- changed at: {{ $post.ModTimestamp }}
+ mod time: {{ $post.Timestamp }}
{{ end }}
diff --git a/posts/post-upload-system.md b/posts/post-upload-system.md
index c1a6442..7f22747 100644
--- a/posts/post-upload-system.md
+++ b/posts/post-upload-system.md
@@ -9,8 +9,8 @@
Подумал, что неплохо было бы написать hot-reloader, чтобы посты менялись на сайте если я как-то их меняю в папке на сервере.
-**Идея выглядит следующим образом:** есть команда для сборки бинарника (может быть абсолютно любой, хоть cargo, хоть make, хоть gcc и тд., главное чтобы соответствующая система сборки была установлена на устройстве), путь до собранного бинарника, и список директорий, за которыми надо следить.
+**Идея выглядит так:** есть команда для сборки бинарника (может быть абсолютно любой, хоть cargo, хоть make, хоть gcc и тд., главное чтобы соответствующая система сборки была установлена на устройстве), путь до собранного бинарника, и список директорий, за которыми надо следить.
Далее, запускается скрипт, собирает указанной командой бинарник и начинает следить за директориями. При каких-либо изменениях в директориях, бинарник пересобирается и перезапускается.
-На чем писать? Я хочу чтобы никаких зависимостей у скрипта не было вообще. Чтобы можно было его скачать, настроить за пару секунд и все. Решил писать на bash. Который я кстати **вообще не знаю**. Посидел пару часов, спрашивая непонятные моменты у deepseek. Скрипт в итоге [получился](https://git.hikan.ru/serr/eye-hot-reloader) ровно таким, какой был мне нужен, и уже контролирует работу серверной программы этого сайта.
\ No newline at end of file
+На чем писать? Я хочу чтобы никаких зависимостей у скрипта не было вообще. Чтобы можно было его скачать, настроить за пару секунд и все. Решил писать на bash script. Который я кстати **вообще не знаю**. Посидел пару часов, спрашивая непонятные моменты у deepseek. Скрипт в итоге [получился](https://git.hikan.ru/serr/eye-hot-reloader) ровно таким, какой был мне нужен, и уже контролирует работу серверной программы этого сайта.
\ No newline at end of file