pipoduster

контент блога как 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