some changes

posts
serr 2025-04-12 16:59:45 +03:00
parent 5082221d78
commit 980df5179a
5 changed files with 105 additions and 11 deletions

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
config.json config.json
restart.sh restart.sh
eye.sh
hikan.ru

View File

@ -26,11 +26,11 @@ main {
header > div, header > div,
footer > div, footer > div,
main > div { main > div {
text-align: left;
box-shadow: 5px 5px 0 0 lightgrey; box-shadow: 5px 5px 0 0 lightgrey;
box-sizing: border-box; box-sizing: border-box;
border: 1px solid; border: 1px solid;
width: 100%; width: 100%;
text-align: center;
color: black; color: black;
padding-left: 10px; padding-left: 10px;
padding-right: 10px; padding-right: 10px;
@ -45,18 +45,12 @@ main > div > ul {
header > div > h1, header > div > h1,
footer > div > h1, footer > div > h1,
main > div > h1 { main > div > h1 {
text-align: center;
box-sizing: border-box; box-sizing: border-box;
border-top: 1px solid; border-top: 1px solid;
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%;

98
eye.sh Executable file
View File

@ -0,0 +1,98 @@
#!/bin/bash
stty -echoctl # Отключает вывод управляющих символов по типу ^C
# НАСТРОЙКА СКРИПТА ТУТ ###########################################################
DURATION=1 # Задержка между проверками в секундах
WATCH_DIRS=("posts" "mvc" "assets") # Массив директорий для наблюдения
BINARY_PATH="./main" # Путь до бинарного файла
BUILD_CMD="go build -o $BINARY_PATH main.go" # Команда для сборки
###################################################################################
# Массивы для хранения информации о директориях
declare -A LAST_MODS
declare -A LAST_COUNTS
CLEANUP_DONE=0
#
# Вывод в синем цвете
blue() {
echo -e "\033[34m$1\033[0m"
}
# Очистка при завершении работы скрипта
cleanup() {
[ $CLEANUP_DONE -eq 1 ] && exit 0
blue "EYE | cleanup..."
kill_proc $1
rm -f $BINARY_PATH
blue "EYE | see you later!"
CLEANUP_DONE=1
exit 0
}
# Убийство процесса по его pid
kill_proc() {
local pid=$1
if [ -n "$pid" ] && kill -0 $pid 2>/dev/null; then
kill $pid
blue "EYE | process killed (PID: $pid)"
fi
}
# Проверка изменений в директориях
check_changes() {
local changed=0
for dir in "${WATCH_DIRS[@]}"; do
local current_mod=$(find "$dir" -type f -exec stat -c %Y {} \; | sort -nr | head -1)
local current_count=$(find "$dir" -type f 2>/dev/null | wc -l)
if { [ -n "$current_mod" ] && [ "$current_mod" -gt "${LAST_MODS[$dir]}" ]; } || [ "$current_count" -ne "${LAST_COUNTS[$dir]}" ]; then
changed=1
LAST_MODS["$dir"]=$current_mod
LAST_COUNTS["$dir"]=$current_count
[ -n "$1" ] && blue "EYE | changes detected in \033[94m$dir\033[0m"
fi
done
return $changed
}
# Основная функция
main() {
local pid=""
# Ловушка для сигналов завершения
trap 'cleanup $pid' SIGINT SIGTERM SIGHUP SIGQUIT EXIT
#
# Инициализация массивов
for dir in "${WATCH_DIRS[@]}"; do
LAST_MODS["$dir"]=0
LAST_COUNTS["$dir"]=$(find "$dir" -type f 2>/dev/null | wc -l)
blue "EYE | started watching the directory \033[94m$dir\033[0m"
done
#
# Основной цикл работы скрипта
while true; do
check_changes $pid
if [ $? -eq 1 ]; then
blue "EYE | rebuilding..."
eval $BUILD_CMD 2>/dev/null
if [ $? -eq 0 ]; then
blue "EYE | build successful. restarting..."
kill_proc $pid
$BINARY_PATH &
pid=$!
blue "EYE | started new process (PID: $pid)"
else
blue "EYE | build failed"
fi
fi
sleep $DURATION
done
}
main

View File

@ -13,7 +13,7 @@
</div> </div>
<div> <div>
<p> <p>
_some system information_ <strong>some system information</strong>:
</p> </p>
<ul> <ul>
<li>unix timestamp of page rendering - <strong>{{ .renderingTimestamp }}</strong></li> <li>unix timestamp of page rendering - <strong>{{ .renderingTimestamp }}</strong></li>