Rumah > Artikel > pembangunan bahagian belakang > Persediaan blog Obsidian + Hugo saya (Penerbitan automatik dengan kekunci pintas)
Jika anda mengklik pada artikel ini, anda mungkin tahu apakah kedua-dua teknologi ini tetapi jika anda tidak melakukannya, berikut adalah penjelasan ringkas:
Obsidian ialah editor penurunan harga padat ciri. Tetapi ia bukan sekadar editor penurunan harga. Ia satu cara untuk menguruskan pengetahuan. Ia bagus untuk mengatur pemikiran anda dengan cara yang fleksibel dan tidak linear.
Obsidian berfungsi pada semua platform. Jadi anda boleh menulis artikel pada asasnya dari mana-mana platform.
Saya telah mencatat semua nota saya di dalamnya selama beberapa bulan sekarang dan ia sangat mengagumkan!
Hugo ialah penjana laman web statik ultra pantas yang dibuat dalam golang. Saya telah menggunakan hugo untuk blog saya selama hampir 2 tahun sekarang. Saya baru-baru ini menukar tema blog saya. Baca lebih lanjut tentang perubahan Rupa Baharu, permulaan baharu.
Dalam artikel ini saya tidak akan menunjukkan cara untuk menyediakan kedua-dua teknologi ini tetapi semata-mata cara untuk menjadikannya berfungsi bersama.
Jika anda tidak mahu mengetahui cara saya menyediakan keseluruhan blog ini menggunakan hugo, cloudflare dan render.com baca:Cara saya menyediakan blog ini secara percuma (domain, hosting, ssl) Panduan Lengkap
Jika anda tidak mahu panduan yang baik tentang cara menggunakan obsidian, baca:Bermula - obsidian.md
Matlamat saya untuk persediaan ialah:
Cara aliran kerja semasa saya berfungsi ialah:
Jika anda ingin melangkau bahagian perjalanan anda boleh terus ke The Sauce
Saya akan melalui beberapa kesilapan yang saya lakukan semasa menyediakannya.
Idea pertama yang saya ada ialah mencipta symlink mudah (saya menggunakan linux btw) yang akan memautkan kedua-dua folder bersama.
Pada asasnya saya mempunyai dua folder:
blog/ vault/
Folder blog mengandungi semua folder blog dan bilik kebal adalah bilik kebal peribadi saya.
Pautan sym akan memautkan folder ini
blog/content vault/Blog
Walau bagaimanapun masalahnya dengan symlink ialah kandungan folder tidak kelihatan dalam repo git saya. Ini bermakna orang tidak boleh mencadangkan perubahan pada mana-mana artikel saya
Saya mahu folder saya disegerakkan. Saya cuba menulis beberapa skrip bash yang menyegerakkan dua folder secara automatik menggunakan cronjob. Walau bagaimanapun, mempunyai yang sentiasa menjalankan latar belakang adalah pembaziran sumber apabila saya tidak menulis. Hanya menjalankan skrip melalui cli tidak begitu lancar.
Pada asasnya cara saya menyediakan ini ialah saya mempunyai dua folder:
blog vault
Folder blog mengandungi semua fail hugo yang diperlukan dan juga mempunyai sub direktori yang dipanggil kandungan yang menempatkan semua fail blog markdown.
Saya mencipta folder baharu di dalam peti besi saya yang dipanggil Blog
blog/content vault/Blog
Selepas itu saya menyalin semua fail saya daripada direktori kandungan ke Blog.
Saya kemudian mula menulis artikel ini
Saya memerlukan beberapa cara untuk menyediakan templat mudah untuk mengandungi semua perkara hadapan hugo yang diperlukan.
Itu agak mudah.
Baca tentang cara menyediakan templat Templat - obsidian.md
Saya mencipta fail bernama Blog Post dalam folder templat saya
Templat Catatan Blog Saya mengandungi yang berikut:
--- 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)**
Saya mempunyai semua perkara hadapan yang diperlukan termasuk tajuk, penerangan dan tarikh dalam format yang hugo tanya.
Saya juga menambah teks derma kecil yang saya sertakan di bahagian bawah setiap artikel.
Ini bermakna saya boleh memasukkan templat ini secara automatik ke dalam mana-mana fail dan mula menulis!
Sekarang saya mahu semua fail saya dalam bilik kebal/direktori Blog saya disalin ke blog/kandungan
Terima kasih kepada pengguna perselisihan yang membantu saya menjumpai pemalam obsidian-shellcommands.
NOTA: pemalam ini tidak berfungsi dengan baik pada masa ini dengan versi flatpak obsidian (memandangkan flatpak mengasingkan persekitaran) . Menggunakan alternatif lain (.deb atau appimage) nampaknya berfungsi.
Ia membolehkan anda menjalankan arahan shell di latar belakang dengan kekunci pintas.
Langkah-langkah untuk menyediakan ini adalah seperti berikut:
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
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!
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
Atas ialah kandungan terperinci Persediaan blog Obsidian + Hugo saya (Penerbitan automatik dengan kekunci pintas). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!