Les sites statiques sont populaires pour plusieurs raisons. Éviter les solutions excessives et garder un projet simple sans bases de données, trop de dépendances ou des configurations spécifiques côté serveur (pas de PHP, pas de MySQL / MSSQL, .NET, Python, Ruby, etc.), il est très simple de déployer et d'être robuste contre de nombreuses vulnérabilités possibles. En fin de compte, ces pages deviennent des pages HTML de base servies à l'utilisateur.
Dans ce guide, je vais vous montrer comment configurer votre environnement de développement avec Hugo et créer votre premier site web Hugo statique..
L'acronyme de design légendaire KISS - Keep It Simple, Stupid - peut être appliqué à Hugo et comment il aborde l'espace de générateur de site Web statique.
Construit en Go, Hugo compile rapidement vos pages statiques (il faut des fractions de millisecondes pour compiler un petit site - et peut faire des milliers de pages en quelques secondes).
Hugo fournit également des outils essentiels au flux de travail statique du site Web (y compris des outils de déploiement et de migration), permettant aux développeurs et aux concepteurs de se concentrer sur des aspects amusants, tels que l'exercice de leur créativité et la mise en œuvre de cette créativité dans la construction du site Web..
Lorsque nous construisons des sites Web basés sur le contenu, nous pouvons assumer certaines généralités sur tous les sites et Hugo fournit un cadre pour cela. Plus précisément, nous pouvons prendre des types de contenu tels que des articles, des catégories, des critiques ou des produits et organiser les données. Ensuite, nous pouvons donner à chacun un look spécifique via des modèles et des feuilles de style.
À l'avenir, nous pourrons alors vraiment le conduire n'importe où dans l'espace Web statique HTML / CSS / JS. Quand on y pense de manière pragmatique, c'est un grand espace qui laisse beaucoup de place à la créativité..
jQuery fonctionnera correctement et rien ne vous empêchera d'utiliser des services tiers sur votre page statique, si vous en avez besoin. Alors, ne vous limitez pas en pensant que vous ne pouvez pas intégrer d’autres bibliothèques ou applications dans vos sites statiques. Ce n'est vraiment pas le cas - vous pouvez utiliser l'une des bibliothèques JavaScript disponibles.
Donc, pour quelques pages d'un site Web de type brochure d'entreprise, avec un lien vers une page Google Forms pour une page Contactez-nous. Et si vous avez besoin d'afficher d'autres types de données, vous pouvez utiliser JavaScript pour cet aspect de votre site..
Prenons, par exemple, un petit magasin ou un pigiste proposant quelques produits ou services ne nécessitant pas une solution de commerce électronique complète. Au lieu de cela, ils exigent uniquement des informations sur le produit et un lien "contact" sur la page. Hugo peut le faire d'ici la fin de la matinée. L'hébergement n'est même pas un gros problème - c'est une réflexion après coup, vraiment, parce que nous ne servons que des pages HTML de base.
Hugo fonctionne également bien pour la documentation de projet sur les projets GNU. Par exemple, pensez aux start-ups ou aux PME qui ont besoin d’une simple présence.
Ce que Hugo ne peut pas faire, c'est dynamique contenu, par exemple, formulaires gérés par base de données, systèmes de recherche ou utilisateurs. Si c'est ce que vous cherchez, alors Hugo est certainement ne pas ce que tu veux. Mais pour les autres fois, quand vous dites que vous ne pouvez pas simplement afficher une page de base pour cela? Les générateurs de sites Web statiques sont une option solide. De plus, sachez que Hugo n'est pas le seul générateur de site statique. Il y en a beaucoup et ça fait longtemps, en voici une liste.
Hugo pourrait être une excellente solution pour créer rapidement des blogs de contenu en direct, tels que des sites d'actualités, afin de créer rapidement une page pour que cette couverture soit liée à votre site principal. très rapidement. Mais pour faire un site de nouvelles entier avec la recherche et de nombreux auteurs, il ne serait vraiment pas approprié d'utiliser Hugo.
Hugo manque également d'utiliser des outils plus avancés pour son portefeuille d'actifs tels que ES6 et Sass. Si vous souhaitez utiliser cette technologie, vous devez inclure Gulp ou Grunt pour que le travail soit effectué. sinon, CSS et JavaScript à la vanille fonctionnent mieux.
Hugo est écrit en Go et supporte de nombreuses plateformes. Pour voir toutes les versions, cliquez ici.
Pour les utilisateurs de macOS avec HomeBrew, l’installation peut être effectuée comme suit:
mise à jour et installation du brassage hugo
Plus d'informations sur l'installation pour Mac OSX et Windows
Une fois Hugo installé, nous pouvons tester l’installation en exécutant hugo aide
dans l'invite de commande ou hugo version
Maintenant que Hugo est installé, nous pouvons commencer à créer le site Web. Exécutez la commande suivante en remplaçant "your-sitename-here" par votre nom de projet:
$ hugo nouveau site votre-site-ici
Cela créera un échafaudage pour votre site que vous pourrez visualiser dans votre viseur.
ou dans votre terminal via le arbre
commander
Hugo a créé 5 sous-répertoires et 1 fichier, qu'il utilise pour créer le site Web final, voici ce qu'ils signifient tous:
contenu / produits
pour le contenu de vos produits par exempleNous devons ajouter un article pour voir le site que nous venons de créer. Pour ce faire, utilisez la commande suivante:
$ hugo new post / first-post.md
Maintenant, éditez le fichier dans content / post / first-post.md, il contiendra quelque chose de similaire au suivant par défaut:
+++ date = "2016-09-26T13: 19: 03 + 07: 00" titre = "premier message" +++
Le contenu à l'intérieur +++
est la configuration TOML pour le post. Cette configuration s'appelle matière première. Il vous permet de définir la post-configuration avec son contenu. Par défaut, chaque publication aura les propriétés de configuration indiquées ci-dessus.
Ajoutez du texte après le +++
ainsi:
+++ date = "2016-09-26T13: 19: 03 + 07: 00" title = "premier message" +++ Bonjour tout le monde!
Pour que nous puissions voir la fonctionnalité de rechargement en direct intégrée à Hugo, apportons quelques modifications au site et voyons ce qui se passe..
Commencez par démarrer le serveur en exécutant
serveur $ hugo
Maintenant, si vous apportez des modifications à votre fichier, vous verrez Hugo recharger instantanément.
Votre site Web sera disponible à l'adresse http: // localhost: 1313 mais attendez - vous ne verrez toujours qu'un page blanche vierge à ce stade, car nous n'avons pas défini de thème!
Hugo a une bibliothèque de thèmes très robuste et polyvalente car il utilise Go html / template
bibliothèque. Les thèmes sont faciles à utiliser, l’installation se fait simplement en clonant le référentiel d’un thème dans le des thèmes
répertoire pour votre site Hugo.
Hugo ne vient pas avec un thème par défaut, donc vous doit mettre un.
Il y a une multitude de thèmes open source parmi lesquels choisir.
Ajoutons des tonnes de thèmes à notre site pour pouvoir jouer avec tous et voir ce que nous aimons. Faites-le en lançant ce qui suit dans notre répertoire Hugo:
$ git clone --recursive https://github.com/spf13/hugoThemes.git themes Clonage en «thèmes»… à distance: Comptage d'objets: 880, terminé. remote: Compression d'objets: 100% (5/5), c'est fait. à distance: Total 880 (delta 1), réutilisé 0 (delta 0), paquet réutilisé 875 Réception d'objets: 100% (880/880), 669,20 Ko | 288.00 KiB / s, c'est fait. Résolution des deltas: 100% (506/506), terminé. Vérification de la connectivité… terminée.
Vous verrez maintenant tout un tas de thèmes clonés sur votre site. Il y en a beaucoup, vous aurez donc le temps de faire une pause pendant que ça clone…
Pour utiliser un thème, il suffit de commencer Hugo avec le -t
ou --thème
paramètre comme si
$ hugo -t ThemeName
Ou vous pouvez ajouter à votre config.toml
:
thème: "Nom du thème"
le ThemeName doit correspondre au nom du répertoire à l'intérieur / thèmes
.
Lorsque vous avez choisi un nom de thème dans le répertoire, démarrez votre serveur avec hugo server --theme = Nom du thème
et jetez un oeil sur http: // localhost: 1313
Voici quelques exemples de certains des thèmes que nous avons clonés et que j'ai utilisés mendier
, croustillant
etcactus
regardez autour de vous, il y a tellement de choix!
Donc, vous avez maintenant généré un site Web avec un bonjour post du monde, que pouvons-nous faire d'autre?
Faire un blog de base est très facile à faire avec Hugo. Tout d’abord, vous devrez définir un archétype pour la publication par défaut. Créez donc un nouveau fichier dans archetypes / default.md
et ajoutez ce qui suit comme matière avant:
+++ tags = ["soudage", "travail du métal"] categories = ["posts"] +++
Ici, nous définissons des balises par défaut. Pour un blog sur le soudage, nous pouvons être sûrs de vouloir ces balises sur tous nos posts, et nous créons une catégorie appelée posts juste pour que nous ayons un défaut lorsque nous créons un post..
Maintenant, ajoutez votre premier message via le terminal comme suit:
$ hugo new post / tig-welding-a-bike-frame.md
Cela créera une publication avec l'archétype que vous avez défini auparavant, vous pouvez maintenant l'ouvrir dans un éditeur de texte et commencer à écrire au format Markdown.!
Ajoutons quelques articles supplémentaires:
$ hugo new post / soudage-a-roll-cage.md
Encore une fois, pour ajouter du contenu, il suffit d’ouvrir le fichier créé par Hugo et d’ajouter du contenu à la fin du fichier après l’avant-propos.
Pour construire une galerie de photos avec Hugo, nous allons utiliser l'excellent outil hugo-galerie
disponible sur GitHub.
Son utilisation est comme telle:
hugo-galerie
le hugo-galerie
L'outil créera un nouveau répertoire de messages contenant un fichier de démarques pour chaque image du répertoire source, permettant ainsi la présentation d'un diaporama. Il lira tous les fichiers de la Chemin source
répertoire et enregistrez-les dans le répertoire statique du site Hugo.
Il créera un nouveau répertoire à l'intérieur du répertoire de contenu en fonction de la Titre
fourni par exemple contenu / soudure
Par exemple:
$ hugo-gallery statique / images / soudage-photos soudure "Photos de mes compétences en soudage insensé"
Visite localhost: 1313 / soudure
voir le contenu.
Hugo dispose de plusieurs outils de déploiement, tels que hugomac, qui est une application de barre de menu OSX permettant à l'utilisateur de publier facilement sur un hébergement EC2. Aucune ligne de commande nécessaire.
Hugodeploy fournit également une configuration SFTP à déployer, ou vous pouvez simplement utiliser les déploiements automatisés livrés avec Hugo..
Les générateurs de sites statiques existent depuis un certain temps, et Hugo s’appuie vraiment sur les outils permettant de rapidement et facilement supprimer des sites, voire de migrer un site existant de WordPress vers Hugo. Hugo dispose de nombreux outils, y compris des éditeurs frontaux, consultez-les.
À l'avenir, il sera agréable de voir plus de modules pour Hugo offrant une assistance pour des éléments tels qu'un formulaire de contact et une assistance pour la galerie, ou des publications connexes, par exemple..
La feuille de route Hugo contient de nombreuses idées intéressantes telles que le redimensionnement d'image dynamique, la prise en charge de l'importation de rsync et d'images auprès de fournisseurs d'hébergement et l'hébergement plus facile avec l'intégration AWS EC2 et GitHub..
Si vous n’utilisez pas encore Hugo, revenez sur le projet à mesure qu’il se développe.!