Esta es la fuente de mi sitio web personal en https://parsiya.net.
Se genera utilizando Hugo y el tema Hugo-Octopress. Porté el tema clásico de Octopress a Hugo.
hugo new post/2018-11-23-post-name/index.markdown
(o index.md
).ctrl+shift+b
en VS Code inicia una tarea que ejecuta el servidor Hugo Watch y lo abre en un navegador. Consulte .vscode/tasks.json.El sitio web está alojado en un depósito AWS S3. CloudFront proporciona CDN y TLS (y certificado). Las páginas de GitHub también son populares (y gratuitas). Consulte la publicación de mi blog Implementación automática de sitios web con dominios personalizados en páginas de GitHub.
Utilizo una acción personalizada de GitHub. Consulte implementar.yml.
Usé s3deploy para implementar el blog en AWS. La configuración está dentro de .s3deploy.yml. Este ejemplo es adecuado (con algunas modificaciones) para la mayoría de los sitios web estáticos.
Los recursos estáticos (fuentes, imágenes, css, etc.) no tienen fechas de caducidad. Todo lo demás usa compresión gzip. Cuando se actualiza un recurso, s3deploy invalida su caché de CloudFront.
Nota : Habilitar gzip compression
para las pruebas de Keybase (ver static/keybase.txt) las rompe.
Utilice la política de IAM de ejemplo de s3deploy. Al momento de escribir este artículo, AWS no admite el abordaje de distribuciones separadas de CloudFront con ARN (nombres de recursos de Amazon), por lo que la clave resultante puede enumerar e invalidar todas las distribuciones.
El blog solía utilizar Travis CI. Consulte @archive/.travis.yml.
language:minimal
reduce el tiempo de compilación en 20 segundos (en comparación con el contenedor predeterminado).AWS_ACCESS_KEY
y AWS_SECRET_ACCESS_KEY
respectivamente. Estos son utilizados por s3deploy.Consulte @archive/deploy.bat para la implementación manual.