私の Obsidian + Hugo ブログ設定 (ホットキーによる自動公開)

PHPz
リリース: 2024-08-19 20:30:50
オリジナル
811 人が閲覧しました

My Obsidian + Hugo blogging setup (Auto publishing with hotkeys)

この記事をクリックした方は、おそらくこれら 2 つのテクノロジーが何であるかをご存知でしょう。しかし、ご存じない方のために簡単に説明します:

黒曜石

Obsidian は、機能満載のマークダウン エディターです。しかし、これは単なるマークダウンエディタではありません。知識を管理する方法です。柔軟かつ非直線的な方法で考えを整理するのに最適です。

Obsidian はすべてのプラットフォームで動作します。したがって、基本的にどのプラットフォームからでも記事を書くことができます。

私はここ数か月間、すべてのメモをこのノートに取っていますが、それは素晴らしいことです!

ヒューゴ

Hugo は、golang で作られた超高速静的ウェブサイトジェネレーターです。私はほぼ 2 年間ブログに Hugo を使用しています。最近ブログのテーマを変えました。変更について詳しくは、新しい外観、新しいスタートをご覧ください。

設定

この記事では、これら 2 つのテクノロジーをセットアップする方法を説明するのではなく、単にそれらを連携させる方法を説明します。

hugo、cloudflare、render.com を使用してこのブログ全体をセットアップする方法を知りたくない場合は、このブログを無料でセットアップする方法 (ドメイン、ホスティング、SSL) 完全ガイドをお読みください

黒曜石の使用方法に関する適切なガイドが必要ない場合は、「はじめに - obsidian.md」をお読みください

目標

私のセットアップの目標は次のとおりです:

  1. 単一の黒曜石保管庫の使用
  2. ブログ投稿に使用できる使いやすい黒曜石テンプレートを用意しました。
  3. 個人保管庫フォルダーを非公開にしてください。
  4. 黒曜石ホットキーを使用して自動公開します。
  5. すべてのマークダウン ファイルを公開 Github リポジトリに置き、人々が変更を提案できるようにします

既存のセットアップ

私の現在のワークフローは次のとおりです:

  1. コンテンツフォルダーから記事を編集します。
  2. hugo コマンドを実行します。
  3. github にプッシュします。
  4. Render.com は変更を自動的に取得して提供します。

旅の部分をスキップしたい場合は、The Sauce に直接アクセスできます

これを設定する際に犯したいくつかの間違いについて説明します。

間違いその1

私が最初に思いついたアイデアは、2 つのフォルダーをリンクする簡単なシンボリックリンク (ちなみに Linux を使用しています) を作成することでした。

基本的に 2 つのフォルダーがあります:

リーリー

ブログ フォルダーにはすべてのブログ フォルダーが含まれており、保管庫は私の個人保管庫です。

シンボリックリンクはこれらのフォルダーにリンクします

リーリー

しかし、シンボリックリンクの問題は、フォルダーの内容が Git リポジトリに表示されないことです。これは、人々が私の記事への変更を提案できないことを意味します

間違いその2

フォルダーを同期したかったのです。 cronjob を使用して 2 つのフォルダーを自動的に同期する bash スクリプトをいくつか書いてみました。ただし、執筆していないときにバックグラウンドで常に実行しているのはリソースの無駄です。単に CLI 経由でスクリプトを実行するだけでは、それほどスムーズではありません。

ソース

基本的にこれを設定する方法は、2 つのフォルダーがあります:

リーリー

ブログ フォルダーには、必要なすべての Hugo ファイルが含まれており、すべてのマークダウン ブログ ファイルを格納する content と呼ばれるサブディレクトリもあります。

Vault 内に Blog という新しいフォルダーを作成しました

リーリー

その後、すべてのファイルをコンテンツ ディレクトリからブログにコピーしました。

それからこの記事を書き始めました

黒曜石テンプレート

必要な Hugo の前付け部分をすべて含むシンプルなテンプレートをセットアップする何らかの方法が必要でした。

それはとても簡単です。

テンプレートのセットアップ方法について読む テンプレート - obsidian.md

テンプレートフォルダーにブログ投稿というファイルを作成しました

私のブログ投稿テンプレートには以下が含まれます:

リーリー

タイトル、説明、日付など、必要な前付がすべて、hugo が要求する形式で用意されています。

各記事の下部に少額の寄付のテキストも追加しました。

これは、このテンプレートを任意のファイルに自動的に挿入して書き込みを開始できることを意味します!

フォルダーの同期

今度は、vault/Blog ディレクトリ内のすべてのファイルを blog/content にコピーしたいと思います

obsidian-shellcommands プラグインを見つけてくれた親切な Discord ユーザーに感謝します。

注:このプラグインは現在、黒曜石の flatpak バージョンではあまりうまく機能しません ( flatpak は環境を分離するため)。別の代替手段 (.deb または appimage) を使用すると機能するようです。

ホットキーを使用してバックグラウンドでシェルコマンドを実行できます。

これを設定する手順は次のとおりです:

  1. Install the plugin
  2. Enable the plugin
  3. Go to the plugin options
  4. Click on New shell command
  5. Now you will need to enter a shell command to copy the files from the one folder to the other.

On Linux/MacOS that is:

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

in my case that is cp -a ~/Documents/vault/Blog/. ~/Documents/blog2/content/

On windows it most probably is:

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

After that we need to set a hotkey that will run the command

Click on the (+) icon to go to the hotkey settings and assign a hotkey

My hotkey is CTR + 0, simply because that was available.

Now every time that I run the hotkey it copies over all of my files to the hugo folder ready to be published

Auto publishing scripts

I also want to be able to automatically publish my articles. But I want it to happening by hitting a hotkey.

I wrote a small script that does exactly that:

#!/bin/bash cd ~/Documents/blog hugo git add . git commit -m "new" git push -u origin main
ログイン後にコピー

This script will build my website, commit and push to my github repo, where it is picked up and published. Read How I setup this blog for free (domain, hosting, ssl) Complete Guide to learn how to setup your own blog for free.

Don’t forget to make the script executable by running

chmod +x ./YOURSCRIPT.sh

Then create a new shell command for the shellcommand plugin (as we did before) and enter the path to your script.

In my case that is:

~/Documents/blog2/push.sh

Then enter a hotkey and you’re done!

Conclusion

I can now simply open my obsidian vault, create a new file, insert my template and have all the info automatically entered.

I then write my article inside of obsidian

Run my hotkey and copy all the files into the hugo directory

Hit another key and my blog is published!

If you enjoyed this article consider supporting me

以上が私の Obsidian + Hugo ブログ設定 (ホットキーによる自動公開)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!