контент блога как git submodule и удобный git push
два небольших улучшения которые сделали работу с блогом удобнее.
content как отдельный репо#
изначально весь блог жил в одном репо — и hugo, и статьи. неудобно когда хочешь открыть vault в obsidian и видеть только посты, а не themes/, archetypes/ и прочее техническое.
решение — вынести content/ в отдельный репо и подключить как git submodule:
blog/ # основной репо — hugo, конфиги, темы
└── content/ # отдельный репо — только статьи
cd ~/blog
git rm -r --cached content
rm -rf content
git submodule add git@forgejo:/mkuznetsoff/blog-content.git content
git add .
git commit -m "content as submodule"
git push origin main
теперь в obsidian открываю только blog-content как vault — вижу просто папки со статьями. hugo при сборке берёт контент оттуда же.
webhook при деплое обновляет оба репо:
git pull git@forgejo:/mkuznetsoff/blog.git main
git submodule update --remote --merge
удобный git push#
раньше каждый раз приходилось писать:
GIT_SSH_COMMAND="ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no" git push origin main
теперь через ssh config:
# ~/.ssh/config
Host forgejo-local
HostName localhost
Port 2222
User git
IdentityFile ~/.ssh/deploy_key
StrictHostKeyChecking no
remote переключил на этот хост:
git remote set-url origin forgejo-local:/mkuznetsoff/blog-content.git
теперь просто:
git push origin main