«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Моя настройка ведения блога Obsidian + Hugo (автоматическая публикация с помощью горячих клавиш)

Моя настройка ведения блога Obsidian + Hugo (автоматическая публикация с помощью горячих клавиш)

Опубликовано 29 августа 2024 г.
Просматривать:779

My Obsidian   Hugo blogging setup (Auto publishing with hotkeys)

Если вы нажали на эту статью, вы, вероятно, знаете, что это за две технологии, но если нет, вот краткое объяснение:

Обсидиан

Obsidian — это многофункциональный редактор уценок. Но это не просто редактор уценок. Это способ управления знаниями. Он отлично подходит для гибкой и нелинейной организации ваших мыслей.

Obsidian работает на всех платформах. Таким образом, вы можете писать статьи практически с любой платформы.

Я делаю в нем все свои заметки уже пару месяцев, и это потрясающе!

Хьюго

Hugo — это сверхбыстрый генератор статических веб-сайтов, созданный на golang. Я использую Hugo для своего блога уже почти 2 года. Недавно я сменил тему своего блога. Узнайте больше об изменениях New Look, новый старт.

Настраивать

В этой статье я не буду показывать, как настроить эти две технологии, а просто как заставить их работать вместе.

Если вы не хотите узнавать, как я настраиваю весь этот блог с помощью Hugo, Cloudflare и render.com, прочтите:Как я настраиваю этот блог бесплатно (домен, хостинг, SSL). Полное руководство

Если вам не нужно хорошее руководство по использованию обсидиана, прочтите: Начало работы — obsidian.md

Цели

Мои цели при настройке:

  1. Использование одного обсидианового хранилища
  2. У меня есть простой в использовании шаблон из обсидиана, который я могу использовать для своих сообщений в блоге.
  3. Держите мои личные папки в хранилище конфиденциальными.
  4. Автоматическая публикация с помощью горячих клавиш обсидиана.
  5. Поместите все файлы уценки в общедоступный репозиторий GitHub, чтобы люди могли предлагать изменения

Существующая установка

Мой текущий рабочий процесс работает следующим образом:

  1. Редактировать статьи из папки содержимого.
  2. Выполните команду Хьюго.
  3. Отправьте на github.
  4. Render.com автоматически улавливает изменения и отображает их.

Путешествие

Если вы хотите пропустить часть путешествия, вы можете сразу пойти в The Sauce

Я расскажу о нескольких ошибках, которые я допустил при настройке.

Ошибка №1

Первой идеей, которая у меня возникла, было создать простую символическую ссылку (кстати, я использую Linux), которая связывала бы две папки вместе.

По сути у меня есть две папки:

blog/
vault/

Папка блога содержит все папки блога, а хранилище является моим личным хранилищем.

Символическая ссылка свяжет эти папки

blog/content
vault/Blog

Однако проблема с символической ссылкой заключается в том, что содержимое папки не отображается в моем репозитории git. Это означает, что люди не могут предлагать изменения ни в одной из моих статей

Ошибка №2

Я хотел синхронизировать свои папки. Я попробовал написать пару bash-скриптов, которые автоматически синхронизировали две папки с помощью cronjob. Однако постоянная работа в фоновом режиме — это пустая трата ресурсов, когда я не пишу. Просто запустить скрипты через cli не так уж и гладко.

Соус

По сути, я это настроил так: у меня есть две папки:

blog
vault

Папка блога содержит все необходимые файлы Hugo, а также имеет подкаталог Content, в котором хранятся все файлы блога с уценкой.

Я создал в своем хранилище новую папку под названием «Блог»

blog/content
vault/Blog

После этого я скопировал все свои файлы из каталога контента в блог.

Тогда я начал писать эту самую статью

Обсидиановые шаблоны

Мне нужен был способ настроить простой шаблон, который бы содержал все необходимое.

Это довольно просто.

Читайте о том, как настраивать шаблоны Шаблоны - obsidian.md

Я создал файл под названием «Сообщение в блоге» в папке «Шаблоны»

Шаблон сообщения в моем блоге содержит следующее:

---
title: "{{Title}}"
description: 
date: "{{date:YYYY-MM-DD}}T{{time:HH:mm:ss}} 00:00"
draft: true
---

**If you enjoyed this article consider [supporting me](https://4rkal.eu.org/donate)**

У меня есть все необходимое, включая заголовок, описание и дату в формате, который запрашивает Хьюго.

Я также добавил небольшой текст пожертвования, который размещаю внизу каждой статьи.

Это значит, что я могу автоматически вставить этот шаблон в любой файл и начать писать!

Синхронизация папок

Теперь я хочу, чтобы все мои файлы из моего каталога хранилища/блога были скопированы в блог/контент

Благодаря полезному пользователю Discord я нашел плагин obsidian-shellcommands.

ПРИМЕЧАНИЕ: этот плагин в настоящее время не очень хорошо работает с версией obsidian в формате Flatpak (поскольку Flatpak изолирует среду). Использование другой альтернативы (.deb или appimage), похоже, работает.

Он позволяет запускать команды оболочки в фоновом режиме с помощью горячей клавиши.

Для настройки выполните следующие действия:

  1. Установить плагин
  2. Включить плагин
  3. Перейти к настройкам плагина
  4. Нажмите «Новая команда оболочки».
  5. Теперь вам нужно будет ввести команду оболочки, чтобы скопировать файлы из одной папки в другую.

В Linux/MacOS это:

cp -a ~/folder1/. ~/folder2/

в моем случае это cp -a ~/Documents/vault/Blog/. ~/Documents/blog2/content/

В Windows, скорее всего, это:

robocopy "%USERPROFILE%\folder1" "%USERPROFILE%\folder2" /E /COPYALL

После этого нам нужно установить горячую клавишу, которая будет запускать команду

Нажмите значок ( ), чтобы перейти к настройкам горячих клавиш и назначить горячую клавишу

Моя горячая клавиша — CTR 0 просто потому, что она была доступна.

Теперь каждый раз, когда я запускаю горячую клавишу, она копирует все мои файлы в папку Hugo, готовую к публикации

Автоматическая публикация скриптов

Я также хочу иметь возможность автоматически публиковать свои статьи. Но я хочу, чтобы это происходило нажатием горячей клавиши.

Я написал небольшой скрипт, который делает именно это:

#!/bin/bash
cd ~/Documents/blog

hugo

git add .
git commit -m "new"
git push -u origin main

Этот скрипт создаст мой веб-сайт, зафиксирует его и отправит в репозиторий GitHub, где он будет взят и опубликован. Прочтите «Как я бесплатно настроил этот блог (домен, хостинг, SSL)» Полное руководство, чтобы узнать, как бесплатно настроить свой собственный блог.

Не забудьте сделать скрипт исполняемым, запустив

chmod x ./ВАШСКРИПТ.sh

Затем создайте новую команду оболочки для плагина командной оболочки (как мы делали раньше) и введите путь к вашему скрипту.

В моем случае это:

~/Documents/blog2/push.sh

Затем введите горячую клавишу, и все готово!

Заключение

Теперь я могу просто открыть свое обсидиановое хранилище, создать новый файл, вставить свой шаблон, и вся информация будет введена автоматически.

Затем я пишу свою статью внутри обсидиана

Запустите мою горячую клавишу и скопируйте все файлы в каталог Hugo

Нажмите еще одну клавишу, и мой блог опубликован!

Если вам понравилась эта статья, поддержите меня

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/4rkal/my-obsidian-hugo-blogging-setup-auto-publishing-with-hotkeys-365d?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3