Strona jest oparta o generator statycznego contentu hexo.
Wymagany jest zainstalowany node.js, najlepiej w wersji LTS.
git clone [email protected]:girlsjs/www.git
cd www
npm install
lubyarn
- instalacja zależnościcd pl
- przejście do katalogu z polską wersją językowąnpm install
lubyarn
- instalacja zależności konkretnej wersji językowejcd themes
- przejście do katalogu templatekgit clone [email protected]:girlsjs/www-theme.git
- instalacja templatkicd ..
- wracamy do katalogupl
yarn hexo server
- z poziomu katalogu pl
, wystartuje serwer developerski pod adresem http://localhost:4000
Hexo wykorzystuje 2 typy treści
posts
- posty wyświetlane zbiorczo np. na stronie głównejpages
- osobne podstrony, np.zespół
Poniższa grafika prezentuje poglądową informację, co jest postem na stronie głównej (na zielono)
pl/
source/ - główny katalog z treścią strony
_posts/ - katalog z postami
blog/ - katalog z postami blogowymi (newsy)
galleries/ - katalog z postami galerii
materials/
media/
panel-faq/
panel-proud/
panel-workshop/
team/ - katalog z członkami zespołu
images/ - katalog obrazków
gallery/ - galerie
partners/ - partnerzy do stopki
posts/ - zdjęcia do postów
team/ - członkowie zespołu
team/ - podstrona zespołu
Posty muszą znajdować się wewnątrz katalogu _posts
. Katalogi wewnątrz są tylko i wyłącznie dla uporządkowania treści, gdyż
hexo nie bierze ich pod uwagę.
Strony umieszczane są we własnych katalogach wewnatrz katalogu source/
Każdy plik treści składa się z metadanych opisanych w formacie YAML oraz contentu strony opisanego w formacie markdown.
Przykładowy plik wygląda w ten sposób
---
title: Tytuł strony lub postu
date: 2017-04-15
categories: blog
description: Krótki opis (np. zajawka postu)
---
Tutaj treść strony lub postu w formacie markdown
Przy dodawaniu nowych postów, bardzo ważne są 2 rzeczy
-
Prawidłowe dodanie kategorii - ponieważ to na podstawie kategorii rozpoznawany jest typ postu i gdzie ma on zostać umieszczony na stronie, tzn, czy jest to news, czy galeria, czy element faqu. Dostępne kategorie to:
blog
,gallery
,media
,panel-materials
,panel-faq
,panel-proud
,panel-workshop
,team
-
Odpowiednia nazwa pliku, tak aby pasowała do pozostałych plików, tzn:
YYYY-MM-DD-tytul-postu.md
- dla kategoriiblog
orazmedia
nazwa-postu-NR.md
- dla pozostałych kategorii - tutaj bardzo istotne jest podanie numeruNR
na podstawie którego content będzie sortowany
W zależności od typu postu lub strony, wykorzystywane są różne metadane. Najprościej, przy tworzeniu nowego wpisu, użyć istniejącego już podobnego wpisu, jako szablonu. Poniżej znajdują się wyszegółowione metadane przyjmowane przez konkretne typy wpisów:
title
- tytułdate
- data wpisu (sortowanie po dacie)categories: blog
description
- którki opis do wyświetlenia na stronie głównejimage
- nazwa obrazka do newsa, brany z katalogusource/images/posts
title
- tytułdate
- data (sortowanie po dacie)categories: gallery
directory
- nazwa katalogu wsource/images/galleries
np:poznan-1
description
- opiscollage
- lista 4 nazw zdjęć do kolażu na str. głównej
Dodatkowo, galerie używają w treści znacznika autogallery do automatycznego budowania galerii:
{% autogallery autogallery images/galleries/poznan-1 %}
Pierwszy post z tej kategorii zostanie wyświetlony jako główny post (Interaktywna galeria [190MB]!
)
title
- tytułcategories: panel-materials
url
- odnośnik do materiału
title
- tytułdate
- data wpisu (sortowanie po dacie)categories: media
description
- którki opis do wyświetlenia na stronie głównejimage
- nazwa obrazka do newsa, brany z katalogusource/images/posts
title
- tytułcategories: panel-faq
columns
- liczba kolumn w wierszu FAQa, dostępne1
- cały wiersz,2
oraz3
panel-proud
ma tylko jedną instancję, nie posiada treści właściwej tylko metadane.
title
- tytułPowody do dumy
categories: panel-proud
cities
- ile miasteditions
- ile edycjitrainers
- ile trenerówhours
- ile gordzinattendees
- ile uczestniczek
title
- tytułcategories: panel-workshop
description
- podtytuł
Posty z kategorii team
nie są wykorzystywane na stronie głównej tylko na podstronie zespołu.
title
- imię i nazwiskocategories: team
image
- nazwa pliku z katalogusource/images/team/
city
- miasto, jedno z:warsaw
,poznan
,cracow
,lodz
,szczecin