Nowe, potężne narzędzia do tworzenia stron internetowych pojawiają się niemal codziennie. My w zespole postanowiliśmy jednak cofnąć się o krok i postawić na to co proste, ale użyteczne. Efekt? Korzyści dla zespołu i dla klienta. Podczas prezentacji opowiem o tym, co zyskaliśmy oraz wprowadzę słuchaczy w świat Hugo – nowoczesnego generatora stron statycznych.
21. Instalacja
Ubuntu> sudo apt install hugo
MacOS> brew install hugo
Windows:
- ściągnij odpowiednie archiwum z
https://github.com/gohugoio/hugo/releases
- rozpakuj plik do folderu na dysku
- zmień nazwę pliku wykonywalnego na hugo.exe
- dodaj hugo.exe do PATH w zmiennych środowiskowych
39. lectures/hugo.md
+++
date = "2017-06-19T14:06:54+02:00"
title = "hugo"
draft = true
+++
front matter
# Abstrakt
Nowe *potężne* narzędzia do
tworzenia _stron internetowych_
pojawiają się codziennie. My
jednak postanowiliśmy _cofnąć się
o krok_ i postawić na to co
proste. Efekt?
+ korzyści dla zespołu
+ korzyści dla klienta
treść w
markdown
40. Front matter w TOML
+++
date = "2017-06-19T14:06:54+02:00"
title = "hugo"
draft = true
+++
41. Front matter w JSON
{
date: "2017-06-19T14:06:54+02:00"
title: "hugo"
draft: true
}
42. Front matter w YAML
---
date: "2017-06-19T14:06:54+02:00"
title: hugo
draft: true
---
43. Front matter w YAML
---
date: "2017-06-19T14:06:54+02:00"
title: Hugo - make webdev fun again!
draft: true
slug: hugo-static-website-engine
aliases:
- /2017/06/hugo-make-webdev-fun-again
speaker: Marcin Gajda
time: 60min
---
44. Front matter w YAML
---
date: "2017-06-19T14:06:54+02:00"
title: Hugo - make webdev fun again!
draft: true
slug: hugo-static-website-engine
aliases:
- /2017/06/hugo-make-webdev-fun-again
speaker: Marcin Gajda
time: 60min
---
http://uszanowanko.pl/lectures/hugo-static-website-engine
48. Wpisu z archetypu
> hugo new lecture/grid.md
/projects/uszanowanko/content/lecture/grid.md created
49. Wpisu z archetypu
> hugo new lecture/grid.md
/projects/uszanowanko/content/lecture/grid.md created
> cat content/lecture/grid.md
50. Wpisu z archetypu
> hugo new lecture/grid.md
/projects/uszanowanko/content/lecture/grid.md created
> cat content/lecture/grid.md
---
date: 2017-06-19T16:48:32+02:00
title: grid
time: time in minutes
speaker: Speaker name
---
58. Co jest wbudowane w HUGO i Szablony GO?
- dziesiątki filtrów i funkcji
- warunki, iteratory, magazyn danych
- bloki i “partiale”
- generowanie linków
- taksonomie
- paginacja
- tworzenie menu nawigacyjnego
- kanał RSS
- komentarze Disqus
- informacje o repozytorium GIT
- generowanie robots.txt
a także…
76. Lunr.js
+ Indeks to zwykła tablica JS z treścią
+ Istnieją generatory indeksów
- Wymaga załadowania całego indeksu do przeglądarki
- Trzeba zaprogramować wyświetlanie wyników w JS
77. hugoidx (Bleve)
+ Szybsze przeszukiwanie
+ Żądanie AJAX będzie zwracać tylko wyniki
- Wymaga backendu do uruchomienia Bleve
- Wymaga znajomości środowiska GO
- Trzeba zaprogramować wyświetlanie wyników w JS
85. Jak to wygląda u nas?
- Korzystamy z BitBucket Pipelines
- Generujemy konfigurację z użyciem confd
- Generujemy stronę z HUGO
- Czyścimy bucket na AWS S3
- Wysyłamy nowe pliki na AWS S3
- Gotowe
86. Ewentualnie...
> hugo server --baseURL=http://example.com/
--port=80
--appendPort=false
--disableLiveReload=true
--bind=87.245.198.50