summaryrefslogtreecommitdiff
path: root/content/posts/2025-11-03-blog-deploy/index.md
blob: 34041b362c6ee03fb448fdd798da91b0ab92a0b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
---
title: Деплой блога
date: "2025-11-03"
categories:
    - блог
---

А ещё, я решил поделиться тем как я пишу в блог. Потому что, почему бы и нет.

<!--more-->

Во-первых, у меня есть такой вот Makefile просто в корне home:

```Makefile
new-post:
	@printf "Введите имя поста (латиницей, без пробелов) [new-post]: "; \
	read postname; \
	if [ -z "$$postname" ]; then \
		postname="new-post"; \
	fi; \
	date=$$(date +%Y-%m-%d); \
	file="neonxp.ru/posts/$$date-$$postname.md"; \
	echo "---" > "$$file"; \
	echo "title: " >> "$$file"; \
	echo "date: $$date" >> "$$file"; \
	echo "tags: []" >> "$$file"; \
	echo "---" >> "$$file"; \
	echo "" >> "$$file"; \
	echo "---" >> "$$file"; \
	echo "Комментариев в блоге не предусмотрено, но вы всегда можете написать мне на e-mail [i@neonxp.ru](mailto:i@neonxp.ru) или в джаббер [i@neonxp.ru](xmpp:/i@neonxp.ru)" >> "$$file"; \
	nvim "$$file"

publish-post:
	yassg generate
	scp -r /home/neonxp/.local/share/yassg/* neonxp.ru:/var/www/neonxp.ru/
```

И, соответственно, когда я хочу написать новый пост, я вызываю `make new-post`,
скрипт у меня спрашивает имя файла, а затем открывает любимый neovim, в котором
я уже и пишу сам текст поста.

Затем я вызываю `make publish-post` и сначала мой генератор статических сайтов
[YASSG](http:/gitverse.ru/neonxp/yassg/) собирает сайт в статический HTML, а
потом отправляет всё на сервер в директорию, из которой сайт раздаётся.

Очень просто!