Classificadores | Descrição |
---|---|
Construções | |
Pacote | |
meta |
Binários para a edição extended
+ withdeploy
do gerador de site estático Hugo, instalável via pip
Este projeto fornece rodas para Hugo para que ele possa ser usado com pip
no macOS, Linux e Windows; para Python 3.9 e posterior.
Observação
Somente as versões mais recentes, estáveis e futuras do EOL Python são testadas regularmente. Se você encontrar algum problema com o pacote em uma versão específica do Python, sinta-se à vontade para abrir um problema.
Hugo é um gerador de sites estáticos escrito em Go. Ele foi projetado para ser rápido e flexível e é usado por muitas pessoas e organizações em seus sites, documentação e blogs pessoais.
Observação
Esta distribuição do Hugo
atualmente não está afiliada ao projeto oficial Hugo
. Consulte a documentação do Hugo para obter mais informações sobre o Hugo.
hugo
eu instalo? Este projeto, hugo
é versionado junto com os lançamentos do Hugo e está alinhado com o versionamento do próprio Hugo, que usa SemVer
– mas provavelmente é versionado de acordo com os padrões de software 0ver com base em seu histórico de versionamento.
Binários para hugo
por meio dessas rodas estão disponíveis para versões Hugo 0.121.2 e superiores, por meio de PyPI ou por meio de lançamentos no GitHub. Se você precisar de uma versão mais antiga do hugo
que não esteja disponível neste pacote, considere usar os binários oficiais do Hugo.
Consulte a seção Plataformas suportadas para obter uma lista de rodas disponíveis para plataformas e arquiteturas suportadas. Se isso acontecer, vá para a seção Início rápido para começar.
Aviso
Devido às limitações de dimensionamento geral disponíveis no PyPI para hugo
, apenas as versões mais recentes do Hugo estão disponíveis para download através pip
, e as versões mais antigas dessas rodas serão excluídas para abrir espaço para lançamentos mais recentes. Se você precisar de uma versão mais antiga do Hugo, considere usar as rodas que foram carregadas na página de lançamentos do GitHub ou os binários oficiais do Hugo. O primeiro pode ser feito via pip
baixando o arquivo .whl
, ou através pipx
usando a URL diretamente (recomendado). Por exemplo, se você precisar do Hugo 0.122.0, poderá executar pipx install "https://github.com/agriyakhetarpal/hugo-python-distributions/releases/download/v0.122.0/hugo-0.122.0-cp311-cp311-win_amd64.whl"
para baixar e instalar o wheel para Hugo 0.122.0 no Windows para Python 3.11.
Crie um ambiente virtual e instale o pacote (ou instale-o globalmente no seu sistema):
python -m virtualenv venv # (or your preferred method of creating virtual environments)
pip install hugo
Isso coloca uma instalação hugo
com um executável em seu ambiente virtual e adiciona um ponto de entrada a ela no diretório bin
do seu ambiente virtual. Você pode usar o comando hugo
como faria normalmente:
hugo version
hugo env --logLevel info
Alternativamente, você pode instalar o pacote globalmente em seu sistema:
python3.X -m pip install hugo # Unix
py -m pip install hugo # Windows
Dica
É uma ótima ideia usar pipx
para instalar ou usar o Hugo em um local isolado sem a necessidade de criar um ambiente virtual, o que permitirá executar o Hugo como uma ferramenta de linha de comando sem precisar instalá-lo globalmente em seu sistema. ou seja,
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
Consulte a documentação pipx
para obter mais informações.
Então, você pode usar os comandos hugo
como faria normalmente:
hugo version
hugo env --logLevel info
e
hugo new site mysite
hugo --printI18nWarnings server
# and so on
...
Ambientes virtuais padrão podem permitir que múltiplas versões do Hugo sejam instaladas e usadas lado a lado. Para usar uma versão específica do Hugo, você pode especificar a versão ao instalar o pacote (consulte a seção Qual versão do hugo
devo instalar? para mais informações):
pip install " hugo==0.X.Y "
Para obter mais informações sobre como usar o Hugo e sua interface de linha de comando, consulte a documentação do Hugo e a documentação do Hugo CLI.
Um subconjunto das plataformas suportadas pelo próprio Hugo são suportadas por essas rodas para hugo
via hugo-python-distributions
. O plano é oferecer suporte a tantas plataformas quanto possível com rodas Python e tags de plataforma. Consulte a tabela a seguir para obter uma lista de plataformas e arquiteturas suportadas:
Plataforma | Arquitetura | Apoiar |
---|---|---|
macOS | x86_64 (Intel) | ✅ macOS 10.13 (High Sierra) e posterior |
macOS | arm64 (silício) | ✅ macOS 11.0 (Big Sur) e posterior |
Linux | amd64 | ✅ glibc 2.24 e posterior |
Linux | braço64 | ✅ glibc 2.24 e posterior |
Linux | s390x | ✅ glibc 2.17 e posterior |
Linux | ppc64le | ✅ glibc 2.17 e posterior |
Windows | x86_64 | ✅ |
Windows | braço64 | ✅ Suporte experimental 1 |
Windows | x86 | ✅ Suporte experimental 1 |
LibélulaBSD | amd64 | Não receberá suporte 2 |
FreeBSD | amd64 | Não receberá suporte 2 |
OpenBSD | amd64 | Não receberá suporte 2 |
NetBSD | amd64 | Não receberá suporte 2 |
Solaris | amd64 | Não receberá suporte 2 |
Construir a edição estendida + withdeploy do Hugo a partir do código-fonte requer as seguintes dependências:
Os usuários do Windows podem usar o gerenciador de pacotes Chocolatey para usar o compilador MinGW. Depois de instalar o Chocolatey, execute o seguinte comando em um prompt de terminal elevado:
choco install mingw
Em seguida, clone o repositório e execute o script de construção:
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
Observação
A compilação cruzada é experimental e pode não ser estável ou confiável para todos os casos de uso. Se você encontrar algum problema com a compilação cruzada, sinta-se à vontade para abrir um problema.
Este projeto é capaz de compilar binários Hugo para diversas plataformas e arquiteturas e pode ser utilizado da seguinte forma. A compilação cruzada é fornecida para as seguintes plataformas:
arm64
e amd64
por meio do conjunto de ferramentas Xcode,arm64
, amd64
, s390x
e ppc64le
por meio do conjunto de ferramentas Zig eamd64
, arm64
e x86
por meio do conjunto de ferramentas Zig.Consulte os exemplos abaixo para obter mais informações sobre como compilar o Hugo para diferentes arquiteturas:
Digamos, em uma máquina macOS baseada em Intel (x86_64):
export GOARCH= " arm64 "
pip install . # or pip install -e .
Isso criará uma distribuição binária macOS arm64
do Hugo que pode ser usada em máquinas macOS baseadas em Apple Silicon ( arm64
). Para criar uma distribuição binária para a plataforma macOS baseada em Intel ( x86_64
) de destino na máquina macOS host baseada em Apple Silicon ( arm64
), você pode usar o seguinte comando:
export GOARCH= " amd64 "
pip install . # or pip install -e .
Primeiro, instale o Zig em sua máquina Linux e defina as variáveis de ambiente USE_ZIG
, GOOS
e GOARCH
antes de instalar o pacote:
Digamos, em uma máquina Linux amd64
:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " arm64 "
pip install . # or pip install -e .
irá compilar uma distribuição binária Linux arm64 do Hugo que pode ser usada nas máquinas Linux arm64 alvo. Para construir uma distribuição binária para a plataforma Linux amd64
de destino na máquina host arm64
Linux, defina os destinos de maneira diferente:
export USE_ZIG= " 1 "
export GOOS= " linux "
export GOARCH= " amd64 "
pip install . # or pip install -e .
Isso cria uma ligação dinâmica para o binário Hugo construído com um GLIBC fornecido pelo sistema. Se você deseja vincular estaticamente o binário ao MUSL, altere as variáveis de ambiente CC
e CXX
da seguinte forma:
export CC= " zig cc -target x86_64-linux-musl "
export CXX= " zig c++ -target x86_64-linux-musl "
A ligação contra o MUSL não foi testada no CI neste momento, mas deveria funcionar em teoria. Os binários oficiais do Hugo não se vinculam ao MUSL por vários motivos, incluindo, entre outros, o tamanho do binário e a popularidade da biblioteca padrão GLIBC C e suas convenções.
Primeiro, instale o Zig em sua máquina Windows e defina estas variáveis de ambiente antes de instalar o pacote:
Digamos, em uma máquina Windows amd64
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " arm64 "
pip install . # or pip install -e .
fará a compilação cruzada de uma distribuição binária Windows arm64
do Hugo que pode ser usada nas máquinas Windows arm64
alvo (observe o uso de set
em vez de export
no Windows) e assim por diante para a arquitetura x86
:
set USE_ZIG= " 1 "
set GOOS= " windows "
set GOARCH= " 386 "
pip install . # or pip install -e .
Para obter uma lista de distribuições suportadas para Go, execute o comando go tool dist list
em seu sistema. Para obter uma lista de alvos suportados para Zig, consulte a documentação do Zig para obter mais informações ou execute o comando zig targets
em seu sistema.
Dica
A compilação cruzada para uma plataforma e arquitetura de destino a partir de uma plataforma e arquitetura host diferentes também é possível, mas ainda não foi testada no momento. Atualmente, sabe-se que o conjunto de ferramentas do compilador Zig funciona para compilação entre plataformas e arquiteturas.
Binários para o gerador de site estático Hugo estão disponíveis para download na página de lançamentos Hugo. Esses binários devem ser baixados e colocados manualmente em um local apropriado no sistema e a variável de ambiente PATH deve ser atualizada para incluir esse local.
Este projeto fornece rodas para o Hugo ser usado com pip
no macOS, Linux e Windows. Isso permite que o Hugo seja instalado e usado em um ambiente virtual, o que permite que múltiplas versões do Hugo sejam instaladas e usadas lado a lado em diferentes ambientes virtuais, onde o Hugo pode ser usado como uma ferramenta de linha de comando (uma API Python é não fornecido neste momento devido à falta de tal demanda).
Este projeto foi projetado para ser usado nos seguintes cenários:
pip install --upgrade hugo
, e atualizações automáticas também são possíveis se você usar um gerenciador de pacotes como Poetry ou PDM para gerenciar suas dependências Python ou uma ferramenta como pipx para gerenciar suas ferramentas de linha de comandoEste projeto está licenciado sob os termos da licença Apache 2.0. Hugo também está disponível no Apache 2.0 (veja a licença Hugo).
Consulte a política de segurança deste projeto para obter mais informações.
Este repositório pretende acompanhar o projeto Hugo no esforço de proporcionar um ambiente acolhedor e inclusivo para todos os colaboradores, independentemente da sua origem e identidade. Consulte o Código de Conduta para obter mais informações que se aplicam a todas as interações neste repositório e seus espaços associados. Ele depende do Contributor Covenant para suas diretrizes e está em conformidade com a versão 2.1.
Para solicitar ajuda, relatar bugs ou solicitar recursos específicos das funcionalidades do Hugo, consulte o fórum Hugo Discourse. Para solicitar ajuda para hugo-python-distributions
, sinta-se à vontade para abrir um problema neste repositório.
Hugo
no PyPI (@nariman) por seu gentil gesto de conceder acesso para assumir o nome do pacote com as disposições subjacentes do PEP 541 Desta forma, permite aos usuários instalar o pacote com o mesmo nome do projeto oficial Hugo, o que sem dúvida proporciona uma melhor experiência de uso e comodidade aos usuários deste pacote quando comparado ao nome do pacote anterior, python-hugo
. O suporte para arquiteturas de 32 bits (i686) e arm64 no Windows é possível através do uso da cadeia de ferramentas do compilador Zig que usa o ecossistema LLVM. Estas rodas são experimentais devido ao uso de compilação cruzada e podem não ser estáveis ou confiáveis para todos os casos de uso, e não são oficialmente suportadas pelo projeto Hugo neste momento. Portanto, embora sejam publicados no PyPI para disponibilidade geral, eles são considerados experimentais. Consulte a seção Construindo a partir da fonte para obter mais informações sobre como construir o Hugo para essas plataformas e arquiteturas localmente. Se você precisar de suporte oficial para essas plataformas ou enfrentar algum bug, considere entrar em contato com os autores do Hugo por [https://github.com/gohugoio/hugo/issues/new](abrindo um problema). ↩ ↩ 2
Não é possível incluir suporte para essas plataformas devido ao i. a falta de recursos para testar e construir para eles e ii. a falta de suporte para essas especificações de plataforma nos padrões e ferramentas de empacotamento do Python. Se precisar de suporte para essas plataformas, considere baixar os binários oficiais do Hugo para suas edições não estendidas. ↩ ↩ 2 ↩ 3 ↩ 4 ↩ 5