Kevin Heil
@stockimarschmünchbremberger, grafikcoder & clownfisch
münchbremberger, grafikcoder & clownfisch
Frontend enthusiast, coffee addicted & videogame junkie.
Video: http://vimeo.com/67476280
Quelle: http://joshduck.com/periodic-table.html
H2 + O = H2O
Überschrift + Text + Link + Bild = Teaserelement
Überschrift
Hier steht Content. Mit vielen Untermodulen
patterns/molecules/01-navigation/10-main-navigation.mustache
- {{> atoms-link-elem }}
- {{> atoms-link-elem }}
- {{> atoms-link-elem }}
patterns/organisms/01-globals/10-header.mustache
patterns/templates/10-index.mustache
{{> organisms-header }}
{{> atoms-headline-big }}
{{> molecules-paragraph}}
...
{{> molecules-slideshow}}
{{> molecules-otherthings}}
{{> organisms-footer}}
Überschrift
Hier steht Content. Mit vielen Untermodulen
data/data.json
{
"headline" : {
"short" : "Lorem ipsum dolor sit (37 characters)",
"medium" : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. (72 characters)"
},
"nav":{
"linkname" : "Link",
"linksource" : "http://www.hmmh.de"
}
}
patterns/atoms/03-text/01-link-elem.mustache
{{ nav.linkname }}
patterns/01-template/01-index.mustache
...
...
patterns/01-pages/01-index.mustache
...
{{# real-navigation}}
- {{> atoms-link-elem }}
{{/ real-navigation}}
...
patterns/01-pages/01-index.json
{
"real-navigation" : [
{
"nav":{
"linkname" : "Startseite",
"linksource" : "index.html"
}
},
{
"nav":{
"linkname" : "Portfolio",
"linksource" : "projects.html"
}
},
{
"nav":{
"linkname" : "About",
"linksource" : "about.html"
}
}
]
}
...
...
Parameter sind eine weitere Möglichkeit dynamisch Patterns einzupflegen. Hier bei wird bei der Mustache Inkludierung ein Parameter mitgegeben, der Werte füllt oder Booleanwerte ändern kann.
{{> patternType-pattern(attribute1: value, attribute2: "value string") }}
Siehe: Dokumentation
{{> atoms-message }}
A bunch of extra information
{{> atoms-message }}
Beispielaufruf mit Parametern
{{> atoms-message(message: "this is an alert message") }}
A bunch of extra information
{{> atoms-message(message: "this is an informational message") }}
Beispiel
{{# emergency }}
Emergency!!!
{{/ emergency }}
... stuff ...
Aufruf
{{> organisms-header }}
{{> organisms-header(emergency: true) }}
inprogress, inreview, complete
Standard
source/_patterns/01-molecules/02-blocks/00-media-block.mustache
Mit Status:
source/_patterns/01-molecules/02-blocks/00-media-block@inprogress.mustache
source/_patterns/01-molecules/02-blocks/00-media-block@inreview.mustache
source/_patterns/01-molecules/02-blocks/00-media-block@complete.mustache
.person{}
.person__hand{}
.person--female{}
.person--female__hand{}
.person__hand--left{}
Ein Konzept um Modulares SASS zu schreiben. Hier gehts zum Artikel.
Patternlab downloaden - pattern-lab.info oder Github
// Einmalige Generierung der Patterns
php core/builder.php -g
// Einmalige Generierung der Patterns, mit CSS
php core/builder.php -gc
// Generierung der Seite mit anschließenden Watch Task
php core/builder.php -w
// Generierung der Seite, Watch Task und Auto-Reload
php core/builder.php -wr
// Startet nur Autoreload
php core/autoReloadServer.php
// Auto Reload für alle offenen Browserfenster (auch mobil)
php core/pageFollowServer.php
Hinweis: Für OS X gibt es noch direkt klickbare Command Dateien
Wir nutzen im Patternlab Grunt.js (Gulp, Coming Soon) anstelle der Kommandozeilen. Dies bietet den Vorteil dass wir zusätzliche Tasks mitausführen können, wie z.B. Minimierung, Sass Compiling oder Konkatinierung.