Classificateurs | Description |
---|---|
Constructions | |
Emballer | |
Méta |
Binaires pour l' édition extended
+ withdeploy
du générateur de site statique Hugo, installable via pip
Ce projet fournit des roues pour Hugo afin qu'il puisse être utilisé avec pip
sur macOS, Linux et Windows ; pour Python 3.9 et versions ultérieures.
Note
Seules les versions EOL Python les plus récentes, stables et à venir sont testées régulièrement. Si vous rencontrez des problèmes avec le package sur une version spécifique de Python, n'hésitez pas à ouvrir un ticket.
Hugo est un générateur de sites statiques écrit en Go. Il est conçu pour être rapide et flexible, et il est utilisé par de nombreuses personnes et organisations pour leurs sites Web, leur documentation et leurs blogs personnels.
Note
Cette distribution de Hugo
n'est actuellement pas affiliée au projet officiel Hugo
. Veuillez vous référer à la documentation Hugo pour plus d'informations sur Hugo.
hugo
dois-je installer ? Ce projet, hugo
est versionné parallèlement aux versions de Hugo et est aligné sur le versionnage de Hugo lui-même, qui utilise SemVer
– mais est probablement versionné selon les normes logicielles 0ver en fonction de leur historique de version.
Les binaires pour hugo
via ces roues sont disponibles pour les versions Hugo 0.121.2 et supérieures, via PyPI ou via les versions sur GitHub. Si vous avez besoin d'une ancienne version de hugo
qui n'est pas disponible via ce package, veuillez envisager d'utiliser les binaires officiels de Hugo.
Veuillez vous référer à la section sur les plates-formes prises en charge pour une liste des roues disponibles pour les plates-formes et les architectures prises en charge. Si tel est le cas, passez à la section Démarrage rapide pour commencer.
Avertissement
En raison des limitations de taille globale disponibles sur PyPI pour hugo
, seules les versions les plus récentes de Hugo sont disponibles au téléchargement via pip
, et les anciennes versions de ces roues seront supprimées pour laisser de la place aux versions plus récentes. Si vous avez besoin d'une ancienne version de Hugo, pensez à utiliser les roues qui ont été téléchargées sur la page des versions de GitHub ou sur les binaires officiels de Hugo. Le premier peut être effectué via pip
en téléchargeant le fichier .whl
, ou via pipx
en utilisant directement l'URL (recommandé). Par exemple, si vous avez besoin de Hugo 0.122.0, vous pouvez exécuter pipx install "https://github.com/agriyakhetarpal/hugo-python-distributions/releases/download/v0.122.0/hugo-0.122.0-cp311-cp311-win_amd64.whl"
pour télécharger et installer la roue pour Hugo 0.122.0 sous Windows pour Python 3.11.
Créez un environnement virtuel et installez le package (ou installez-le globalement sur votre système) :
python -m virtualenv venv # (or your preferred method of creating virtual environments)
pip install hugo
Cela place une installation hugo
avec un exécutable dans votre environnement virtuel et lui ajoute un point d'entrée dans le répertoire bin
de votre environnement virtuel. Vous pouvez utiliser la commande hugo
comme vous le feriez normalement :
hugo version
hugo env --logLevel info
Alternativement, vous pouvez installer le package globalement sur votre système :
python3.X -m pip install hugo # Unix
py -m pip install hugo # Windows
Conseil
C'est une excellente idée d'utiliser pipx
pour installer ou utiliser Hugo dans un emplacement isolé sans avoir à créer un environnement virtuel, ce qui vous permettra d'exécuter Hugo comme outil de ligne de commande sans avoir à l'installer globalement sur votre système. c'est à dire,
pipx install hugo # install and run Hugo through pipx
ou
pipx run hugo==0.121.2 # run a specific version of Hugo through pipx, even if a different version is installed in whatever environment you are in
Veuillez vous référer à la documentation pipx
pour plus d'informations.
Ensuite, vous pouvez utiliser les commandes hugo
comme vous le feriez normalement :
hugo version
hugo env --logLevel info
et
hugo new site mysite
hugo --printI18nWarnings server
# and so on
...
Les environnements virtuels standard peuvent permettre d'installer et d'utiliser plusieurs versions de Hugo côte à côte. Pour utiliser une version spécifique de Hugo, vous pouvez spécifier la version lors de l'installation du package (veuillez vous référer à la section Quelle version de hugo
dois-je installer ? pour plus d'informations) :
pip install " hugo==0.X.Y "
Pour plus d'informations sur l'utilisation de Hugo et de son interface de ligne de commande, veuillez vous référer à la documentation Hugo et à la documentation Hugo CLI.
Un sous-ensemble des plates-formes prises en charge par Hugo lui-même est pris en charge par ces roues pour hugo
via hugo-python-distributions
. Le plan est de prendre en charge autant de plates-formes que possible avec des roues Python et des balises de plate-forme. Veuillez vous référer au tableau suivant pour obtenir une liste des plates-formes et des architectures prises en charge :
Plate-forme | Architecture | Soutien |
---|---|---|
macOS | x86_64 (Intel) | ✅ macOS 10.13 (High Sierra) et versions ultérieures |
macOS | arm64 (silicium) | ✅ macOS 11.0 (Big Sur) et versions ultérieures |
Linux | amd64 | ✅ glibc 2.24 et versions ultérieures |
Linux | bras64 | ✅ glibc 2.24 et versions ultérieures |
Linux | s390x | ✅ glibc 2.17 et versions ultérieures |
Linux | ppc64le | ✅ glibc 2.17 et versions ultérieures |
Fenêtres | x86_64 | ✅ |
Fenêtres | bras64 | ✅ Support expérimental 1 |
Fenêtres | x86 | ✅ Support expérimental 1 |
DragonFlyBSD | amd64 | Ne recevra pas de support 2 |
GratuitBSD | amd64 | Ne recevra pas de support 2 |
OpenBSD | amd64 | Ne recevra pas de support 2 |
NetBSD | amd64 | Ne recevra pas de support 2 |
Solaris | amd64 | Ne recevra pas de support 2 |
Construire l'édition étendue + withdeploy de Hugo à partir des sources nécessite les dépendances suivantes :
Les utilisateurs Windows peuvent utiliser le gestionnaire de packages Chocolatey afin d'utiliser le compilateur MinGW. Après avoir installé Chocolatey, exécutez la commande suivante dans une invite de terminal avec élévation de privilèges :
choco install mingw
Ensuite, clonez le référentiel et exécutez le script de build :
git clone https://github.com/agriyakhetarpal/hugo-python-distributions@main
python -m venv venv
source venv/bin/activate # on Unix-based systems
venv S cripts a ctivate.bat # on Windows
pip install -e . # editable installation
pip install . # regular installation
Note
La compilation croisée est expérimentale et peut ne pas être stable ou fiable pour tous les cas d'utilisation. Si vous rencontrez des problèmes avec la compilation croisée, n'hésitez pas à ouvrir un problème.
Ce projet est capable de compiler de manière croisée les binaires Hugo pour diverses plates-formes et architectures et il peut être utilisé comme suit. La compilation croisée est fournie pour les plateformes suivantes :
arm64
et amd64
via la chaîne d'outils Xcode,arm64
, amd64
, s390x
et ppc64le
via la chaîne d'outils Zig, etamd64
, arm64
et x86
via la chaîne d'outils Zig.Veuillez vous référer aux exemples ci-dessous pour plus d'informations sur la façon de compiler de manière croisée Hugo pour différentes architectures :
Disons, sur une machine macOS basée sur Intel (x86_64) :
export GOARCH= " arm64 "
pip install . # or pip install -e .
Cela créera une distribution binaire macOS arm64
de Hugo qui pourra être utilisée sur les machines macOS basées sur Apple Silicon ( arm64
). Pour créer une distribution binaire pour la plate-forme macOS cible basée sur Intel ( x86_64
) sur la machine macOS hôte basée sur Apple Silicon ( arm64
), vous pouvez utiliser la commande suivante :
export GOARCH= " amd64 "
pip install . # or pip install -e .
Tout d'abord, installez Zig sur votre machine Linux et définissez les variables d'environnement USE_ZIG
, GOOS
et GOARCH
avant d'installer le package :
Disons, sur une machine Linux amd64
:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " arm64 "
pip install . # or pip install -e .
compilera de manière croisée une distribution binaire Linux arm64 de Hugo qui peut être utilisée sur les machines Linux arm64 ciblées. Pour créer une distribution binaire pour la plate-forme Linux amd64
cible sur la machine Linux hôte arm64
, définissez les cibles différemment :
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " amd64 "
pip install . # or pip install -e .
Cela crée un lien dynamique pour le binaire Hugo construit avec un GLIBC fourni par le système. Si vous souhaitez lier statiquement le binaire à MUSL, modifiez les variables d'environnement CC
et CXX
comme suit :
export CC= " zig cc -target x86_64-linux-musl "
export CXX= " zig c++ -target x86_64-linux-musl "
La liaison avec MUSL n’est pas testée dans CI pour le moment, mais elle devrait fonctionner en théorie. Les binaires officiels de Hugo ne sont pas liés à MUSL pour diverses raisons, notamment la taille du binaire et la popularité de la bibliothèque standard GLIBC C et de ses conventions.
Tout d'abord, installez Zig sur votre machine Windows et définissez ces variables d'environnement avant d'installer le package :
Disons, sur une machine Windows amd64
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " arm64 "
pip install . # or pip install -e .
va compiler de manière croisée une distribution binaire Windows arm64
de Hugo qui peut être utilisée sur les machines Windows arm64
ciblées (notez l'utilisation de set
au lieu export
sous Windows), et ainsi de suite pour l'architecture x86
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " 386 "
pip install . # or pip install -e .
Pour obtenir la liste des distributions prises en charge pour Go, veuillez exécuter la commande go tool dist list
sur votre système. Pour une liste des cibles prises en charge pour Zig, veuillez vous référer à la documentation de Zig pour plus d'informations ou exécutez la commande zig targets
sur votre système.
Conseil
La compilation croisée pour une plate-forme et une architecture cibles à partir d'une plate-forme et d'une architecture hôte différentes est également possible, mais elle reste largement non testée à l'heure actuelle. Actuellement, la chaîne d'outils du compilateur Zig est connue pour fonctionner pour la compilation multiplateforme et multiarchitecture.
Les binaires du générateur de site statique Hugo sont disponibles en téléchargement à partir de la page des versions Hugo. Ces binaires doivent être téléchargés et placés manuellement à un emplacement approprié sur le système et la variable d'environnement PATH doit être mise à jour pour inclure ledit emplacement.
Ce projet fournit des roues pour Hugo à utiliser avec pip
sur macOS, Linux et Windows. Cela permet à Hugo d'être installé et utilisé dans un environnement virtuel, ce qui permet d'installer et d'utiliser plusieurs versions de Hugo côte à côte dans différents environnements virtuels, où Hugo peut être utilisé comme outil de ligne de commande (une API Python est pas fourni pour le moment étant donné l’absence d’une telle demande).
Ce projet est conçu pour être utilisé dans les scénarios suivants :
pip install --upgrade hugo
, et mises à jour automatiques également possibles si vous utilisez un gestionnaire de packages tel que Poetry ou PDM pour gérer vos dépendances Python ou un outil tel que pipx pour gérer vos outils de ligne de commandeCe projet est sous licence selon les termes de la licence Apache 2.0. Hugo est également disponible sous Apache 2.0 (voir la licence Hugo).
Veuillez vous référer à la politique de sécurité de ce projet pour plus d'informations.
Ce référentiel vise à suivre le projet Hugo en s'efforçant de fournir un environnement accueillant et inclusif à tous les contributeurs, quelles que soient leur origine et leur identité. Veuillez vous référer au Code de conduite pour plus d'informations qui s'appliquent à toutes les interactions dans ce référentiel et ses espaces associés. Il s'appuie sur le Contributor Covenant pour ses directives et est conforme à la version 2.1.
Pour demander de l'aide, signaler des bugs ou demander des fonctionnalités spécifiques aux fonctionnalités de Hugo, veuillez vous référer au forum Hugo Discourse. Pour demander de l'aide pour hugo-python-distributions
, n'hésitez pas à ouvrir un ticket dans ce référentiel.
Hugo
sur PyPI (@nariman) pour son aimable geste d'accorder l'accès pour reprendre le nom du package avec les dispositions sous-jacentes du PEP 541. De cette façon, cela permet aux utilisateurs d'installer le package en utilisant le même nom que le projet officiel Hugo, ce qui offre sans aucun doute une meilleure expérience utilisateur et une meilleure commodité pour les utilisateurs de ce package par rapport au nom du package précédent, python-hugo
. La prise en charge des architectures 32 bits (i686) et arm64 sous Windows est rendue possible grâce à l'utilisation de la chaîne d'outils du compilateur Zig qui utilise l'écosystème LLVM. Ces roues sont expérimentales en raison de l'utilisation de la compilation croisée et peuvent ne pas être stables ou fiables pour tous les cas d'utilisation, et ne sont pas officiellement prises en charge par le projet Hugo pour le moment. Par conséquent, bien que ceux-ci soient publiés sur PyPI pour une disponibilité générale, ils sont considérés comme expérimentaux. Veuillez vous référer à la section Construire à partir des sources pour plus d'informations sur la façon de créer localement Hugo pour ces plates-formes et architectures. Si vous avez besoin d'un support officiel pour ces plates-formes ou si vous rencontrez des bugs, veuillez envisager de contacter les auteurs Hugo par [https://github.com/gohugoio/hugo/issues/new] (ouverture d'un numéro). ↩ ↩ 2
La prise en charge de ces plates-formes n'est pas possible à cause de i. le manque de ressources pour les tester et les construire et ii. le manque de prise en charge de ces spécifications de plate-forme dans les normes et outils d'emballage Python. Si vous avez besoin d'assistance pour ces plates-formes, pensez à télécharger les binaires officiels Hugo pour leurs éditions non étendues. ↩ ↩ 2 ↩ 3 ↩ 4 ↩ 5