"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Ma configuration de blog Obsidian + Hugo (Publication automatique avec raccourcis clavier)

Ma configuration de blog Obsidian + Hugo (Publication automatique avec raccourcis clavier)

Publié le 2024-08-29
Parcourir:802

My Obsidian   Hugo blogging setup (Auto publishing with hotkeys)

Si vous avez cliqué sur cet article, vous savez probablement ce que sont ces deux technologies mais si ce n'est pas le cas, voici une explication rapide :

Obsidienne

Obsidian est un éditeur de démarques riche en fonctionnalités. Mais ce n’est pas seulement un éditeur de démarques. C’est une façon de gérer les connaissances. C'est idéal pour organiser vos pensées de manière flexible et non linéaire.

Obsidian fonctionne sur toutes les plateformes. Vous pouvez donc rédiger des articles à partir de pratiquement n'importe quelle plateforme.

J'y prends toutes mes notes depuis quelques mois maintenant et c'est incroyable !

Hugo

Hugo est un générateur de sites Web statiques ultra rapide réalisé en Golang. J'utilise Hugo pour mon blog depuis presque 2 ans maintenant. J'ai récemment changé le thème de mon blog. En savoir plus sur le changement New Look, nouveau départ.

Installation

Dans cet article, je ne montrerai pas comment configurer ces deux technologies mais simplement comment les faire fonctionner ensemble.

Si vous ne voulez pas savoir comment j'ai configuré tout ce blog en utilisant Hugo, cloudflare et render.com, lisez :Comment j'ai configuré ce blog gratuitement (domaine, hébergement, SSL) Guide complet

Si vous ne voulez pas un bon guide sur la façon d'utiliser l'obsidienne, lisez : Mise en route - obsidian.md

Objectifs

Mes objectifs pour la configuration sont :

  1. Utiliser un seul coffre-fort en obsidienne
  2. Avoir un modèle d'obsidienne facile à utiliser que je peux utiliser pour mes articles de blog.
  3. Garder mes dossiers de coffre-fort personnels privés.
  4. Publication automatique à l'aide des raccourcis clavier d'obsidienne.
  5. Ayez tous les fichiers de démarque dans un référentiel github public, afin que les gens puissent proposer des modifications

Configuration existante

La façon dont fonctionne mon flux de travail actuel est :

  1. Modifiez les articles du dossier de contenu.
  2. Exécutez la commande Hugo.
  3. Pousser vers github.
  4. Render.com récupère automatiquement les modifications et les diffuse.

Voyage

Si vous souhaitez sauter la partie voyage, vous pouvez accéder directement à The Sauce

Je vais passer en revue quelques erreurs que j'ai commises lors de la configuration.

Erreur n°1

La première idée que j'ai eue était de créer un simple lien symbolique (j'utilise Linux d'ailleurs) qui relierait les deux dossiers entre eux.

En gros, j'ai deux dossiers :

blog/
vault/

Le dossier du blog contient tous les dossiers du blog et le coffre-fort est mon coffre-fort personnel.

Le lien symbolique relierait ces dossiers

blog/content
vault/Blog

Cependant le problème avec un lien symbolique est que le contenu du dossier n'est pas visible dans mon dépôt git. Cela signifie que les gens ne peuvent proposer de modifications à aucun de mes articles

Erreur n°2

Je souhaitais synchroniser mes dossiers. J'ai essayé d'écrire quelques scripts bash qui synchronisaient automatiquement les deux dossiers à l'aide d'une tâche cron. Cependant, avoir cela en permanence en arrière-plan est un gaspillage de ressources lorsque je n'écris pas. Exécuter simplement les scripts via cli n'est tout simplement pas si simple.

La sauce

En gros, la façon dont j'ai configuré cela est que j'ai deux dossiers :

blog
vault

Le dossier du blog contient tous les fichiers Hugo nécessaires et possède également un sous-répertoire appelé contenu qui héberge tous les fichiers du blog markdown.

J'ai créé un nouveau dossier dans mon coffre-fort appelé Blog

blog/content
vault/Blog

Après cela, j'ai copié tous mes fichiers du répertoire de contenu vers le blog.

J'ai ensuite commencé à écrire cet article

Modèles d'obsidienne

J'avais besoin d'un moyen de configurer un modèle simple pour contenir tous les éléments de présentation de Hugo requis.

C'est assez simple.

Découvrez comment configurer des modèles Modèles - obsidian.md

J'ai créé un fichier appelé Article de blog dans mon dossier de modèles

Mon modèle d'article de blog contient les éléments suivants :

---
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)**

J'ai tous les éléments préliminaires requis, y compris un titre, une description et une date dans le format demandé par Hugo.

J'ai également ajouté un petit texte de don que j'inclus au bas de chaque article.

Cela signifie que je peux automatiquement insérer ce modèle dans n'importe quel fichier et commencer à écrire !

Synchronisation des dossiers

Maintenant, je souhaite que tous mes fichiers de mon répertoire Vault/Blog soient copiés vers le blog/content

Grâce à un utilisateur Discord utile, j'ai trouvé le plugin obsidian-shellcommands.

REMARQUE : ce plugin ne fonctionne pas très bien actuellement avec la version flatpak d'obsidian (puisque flatpak isole l'environnement) . L'utilisation d'une autre alternative (.deb ou appimage) semble fonctionner.

Il vous permet d'exécuter des commandes shell en arrière-plan avec un raccourci clavier.

Les étapes pour configurer cela sont les suivantes :

  1. Installer le plugin
  2. Activer le plugin
  3. Aller dans les options du plugin
  4. Cliquez sur Nouvelle commande shell
  5. Vous devrez maintenant entrer une commande shell pour copier les fichiers d'un dossier à l'autre.

Sous Linux/MacOS, c'est :

cp -a ~/dossier1/. ~/dossier2/

dans mon cas, c'est cp -a ~/Documents/vault/Blog/. ~/Documents/blog2/content/

Sous Windows, il s'agit probablement de :

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

Après cela, nous devons définir un raccourci clavier qui exécutera la commande

Cliquez sur l'icône ( ) pour accéder aux paramètres des raccourcis clavier et attribuer un raccourci clavier

Mon raccourci clavier est CTR 0, simplement parce qu'il était disponible.

Maintenant, chaque fois que j'exécute le raccourci clavier, il copie tous mes fichiers dans le dossier Hugo, prêt à être publié

Scripts de publication automatique

Je souhaite également pouvoir publier automatiquement mes articles. Mais je veux que cela se produise en appuyant sur une touche de raccourci.

J'ai écrit un petit script qui fait exactement cela :

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

hugo

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

Ce script construira mon site Web, le validera et le poussera vers mon dépôt github, où il sera récupéré et publié. Lisez Comment configurer ce blog gratuitement (domaine, hébergement, SSL) Guide complet pour apprendre à créer votre propre blog gratuitement.

N'oubliez pas de rendre le script exécutable en exécutant

chmod x ./VOTRESCRIPT.sh

Créez ensuite une nouvelle commande shell pour le plugin shellcommand (comme nous l'avons fait auparavant) et entrez le chemin d'accès à votre script.

Dans mon cas, c'est :

~/Documents/blog2/push.sh

Ensuite, entrez un raccourci clavier et vous avez terminé !

Conclusion

Je peux désormais simplement ouvrir mon coffre-fort d'obsidienne, créer un nouveau fichier, insérer mon modèle et faire saisir automatiquement toutes les informations.

J'écris ensuite mon article à l'intérieur de l'obsidienne

Exécutez mon raccourci clavier et copiez tous les fichiers dans le répertoire Hugo

Appuyez sur une autre touche et mon blog est publié !

Si vous avez apprécié cet article, pensez à me soutenir

Déclaration de sortie Cet article est reproduit à: https://dev.to/4rkal/my-obsidian-hugo-blogging-setup-auto-publishing-with-hotkeys-365d?1 s'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3