Ons geestthema met minder stylen

Welkom bij het vierde deel van onze Ghost-thematoespecificatieserie. In de inleidende zelfstudie hebt u geleerd dat er twee fasen zijn om een ​​thema te ontwerpen. Tijdens de afleveringen daarvan zijn we begonnen en voltooid wat we hebben aangeduid als "de eerste fase" van het maken van de sjablonen van uw thema. Dit vierde deel van onze serie neemt ons mee naar de volgende fase van thema-ontwerp, namelijk styling.

In dit deel gaan we onze typografie vormgeven en onze lay-outbesturingselementen maken. In het volgende deel zullen we onze styling voortzetten door ons kleurenschema te blokkeren en de basis leggen voor de responsiviteit van het thema.

Notitie: Deze tutorial veronderstelt een basiskennis van CSS.


Agnostic Responsive Design

Deze tutorial neemt je mee in een benadering van responsief ontwerp waar je misschien nog niet bekend mee bent. De aanpak zorgt ervoor dat ontwerpen reageren op meer dan alleen specifiek gerichte, gemeenschappelijke apparaatresoluties.

In plaats daarvan zullen ontwerpen:

  • Weergave optimaal op ieder resolutie en dus in elk apparaat.
  • Schaal proportioneel samen met elke basislettergrootte die is ingesteld door de browser zelf of door de gebruiker.

Dit wordt gedaan door:

  • Nooit een lettertype-basis instellen, maar de browser / verkoper of de gebruiker laten bepalen wat de meest leesbare tekstgrootte is.
  • Altijd gebruiken em of rem waarden, die flexibel zijn, en geen pixelwaarden, die inflexibel zijn, gedurende het hele ontwerp.
  • Mediaquery's gebruiken, niet om specifieke apparaten te detecteren, maar eerder als een middel om te detecteren wanneer elementen van het ontwerp te groot zijn voor de beschikbare ruimte, zodat ze kunnen worden aangepast.

Aanbevolen lezing

  • De "Erm ..." uit Ems halen
  • De Goldilocks-aanpak
  • Hoe we leerden om de standaard lettertypegrootte alleen te laten en de em te omarmen

Voeg koptagtestinhoud toe

Voordat we aan de styling beginnen, gaan we een aantal titels van de tagtags toevoegen aan je Ghost-site, zodat je kunt zien hoe je H1 tot H6-tags eruit zien.

U moet elke koptekstgrootte één regel onder de andere toevoegen om te zien hoe ze werken wanneer ze dicht bij elkaar worden geplaatst, en dan ook elke kop toevoegen met een regel reguliere tekst ertussen om te zien hoe ze eruit zien in de stroom van normale inhoud.

Voeg de volgende markeringen toe aan de bovenkant van je laatste Ghost-post, (je moet mogelijk lege regels toevoegen tussen elke regel) en deze vervolgens bijwerken:

 Je bent in! Leuk. We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. Ga je gang en bewerk dit bericht om aan de slag te gaan en ontdek hoe het allemaal werkt! #Heading 1 ## Heading 2 ### Heading 3 #### Heading 4 ##### Heading 5 ###### Heading 6 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en te krijgen jij begon. #Heading 1 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. ## Kop 2 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. ### Kop 3 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. #### Heading 4 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. ##### Rubriek 5 We hebben een klein berichtje samengesteld om je kennis te laten maken met de Ghost-editor en je op weg te helpen. ###### Rubriek 6

Installeer en configureer "GhostThemingPackage"

Om je te helpen de meest efficiënte werkstroom te gebruiken met je Ghost-themacreatie, heb ik een klein ontwikkelpakket voor je samengesteld dat je toegang geeft tot enkele echt handige tools en een aantal taken voor je automatiseert. Het is beschikbaar binnen de download van de hoofdbron.

In plaats van codering in ruwe CSS gebruiken we MINDER. Als je minder bekend bent met MINDER, kun je er alles over lezen op http://lesscss.org/

Het GhostThemingPackage zal omgaan met het compileren van uw LESS-code, evenals het verkleinen van uw CSS en het schrijven naar uw themamap.

Het zal ook de "LESSHat" -bibliotheek van mixins downloaden en beschikbaar maken, een fantastische gratis bron die de productie van CSS3 voor meerdere browsers snel en eenvoudig maakt: http://lesshat.com/

Bovendien zal het "normalize.css", "Modernizr" downloaden, plus een aantal responsieve iframe javascript voor u, en alles in uw thema combineren, verkleinen en schrijven.

Normalize.css standaardiseert basisweergave-elementen in alle browsers. Lees er meer over op http://necolas.github.io/normalize.css/

Met Modernizr kunnen oudere browsers moderne markeringen beter begrijpen. Lees er meer over op http://modernizr.com/

Vereisten

U hoeft slechts drie dingen geïnstalleerd om het GhostThemingPackage te gebruiken:

  1. Node.js
  2. Grunt.js
  3. Bower.io

Je hebt Node.js al geïnstalleerd zoals je het hebt gebruikt om Ghost uit te voeren, maar je moet misschien Grunt en Bower installeren als je ze nog niet op je systeem hebt staan.

Grunt installeren

Grunt.js is een javascript task runner die we zullen gebruiken om LESS compileren en CSS-combinatie en -minificatie te automatiseren. Als je nog geen Grunt op je systeem hebt geïnstalleerd, kun je dit heel gemakkelijk via NPM installeren (node ​​package manager, een onderdeel van node.js).

Om Grunt via NPM te installeren open een terminal (op elke locatie) en voer de volgende opdracht uit:

npm install -g grunt-cli

Zorg ervoor dat u de "-g" -markering opneemt, zodat Grunt wereldwijd beschikbaar is op uw systeem, dus op elke locatie waar u in werkt.

Installeer Bower

Bower.io is een geweldige pakketbeheerder die u eenvoudig toegang geeft tot alle verschillende soorten op het webontwerp georiënteerde script- en CSS-pakketten. Je kunt er meer over lezen op http://bower.io/

Net als Grunt kan Bower ook eenvoudig via NPM worden geïnstalleerd.

Notitie: Als je Git nog niet hebt geïnstalleerd, zul je dit moeten doen voordat je bower installeert.

Installatie-instructies voor Git zijn hier te vinden: http://git-scm.com/book/en/Getting-Started-Installing-Git

Belangrijk: Zie de instructies onderaan de pagina van Bower over het installeren van Git onder Windows: http://bower.io/#a-note-for-windows-users

Om Bower via NPM te installeren open een terminal (op elke locatie) en voer de volgende opdracht uit:

npm install -g bower

Nogmaals, zorg ervoor dat u de "-g" -markering opneemt, zodat Bower overal op uw systeem voor u beschikbaar is.


Installeer het "GhostThemingPackage"

Stap 1:

Na het downloaden van "GhostThemingPackage", pak je het ergens gemakkelijk toegankelijk uit, idealiter in dezelfde root-directory waar je Ghost-installatiemap zich in bevindt.

Bijvoorbeeld als je Ghost-installatie is geïnstalleerd C: \ Ghost pak dan het pakket uit naar jouw C: rijd ook, dus het belandt op C: \ GhostThemingPackage. (Plaats het niet in je Ghost-installatiemap).

U zou de volgende map en bestandsstructuur binnen moeten zien:


Stap 2:

Hernoem de map van "GhostThemingPackage" naar "UberThemeStyles".

Stap 3:

Open een terminal in de map "UberThemeStyles".

Stap 4:

Voer het commando uit npm installeren.

Hiermee worden automatisch de vereiste Node.js-pakketten opgehaald die zullen worden gebruikt voor het compileren van LESS en het combineren en verkleinen van CSS en JavaScript.

Je zult veel berichten zoals deze zien terwijl NPM alles ophaalt:


Wacht tot al deze berichten zijn gestopt en je de opdrachtprompt weer ziet verschijnen.

Stap 4:

Voer het commando uit installatie van prieel.

Net als de vorige stap, zal dit de vereiste pakketten van Bower.io ophalen; LESShat, Modernizer en Normalize.css

Nogmaals, u ziet een reeks berichten verschijnen in uw terminal: wacht tot ze klaar zijn en de opdrachtprompt verschijnt.

Stap 5:

Controleer of u nu deze mapstructuur in uw map "UberThemeStyles" ziet:


Let op de aanwezigheid van de nieuwe mappen "bower_components" en "node_modules".

Als er submappen ontbreken in een van de mappen, verwijder dan die map en voer vervolgens de installatieopdracht opnieuw uit, d.w.z.. npm installeren voor de map "node_modules" of installatie van prieel voor de map "bower_components".


Configureer "Gruntfile.js"

Stap 1:

Open in je voorkeurscode-editor "Gruntfile.js" vanuit de hoofdmap van je map "UberThemeStyles".

Dit is het bestand dat alle automatiseringstaken zal vergemakkelijken tijdens het themastylingproces. Om het te laten werken, hoeven we alleen maar te vertellen waar Ghost is geïnstalleerd en wat de naam van je thema is.

Stap 2:

Zoek op lijn 62 en 63 het volgende:

 'ghost_location': '... / Ghost /', 'ghost_theme_name': 'YourThemeName',

Stap 3:

Verander zonodig '… /Geest/' om het relatieve pad naar je Ghost-installatie weer te geven.

U hoeft de instelling niet te wijzigen als de map "UberThemeStyles" zich in dezelfde hoofdmap bevindt als uw Ghost-installatiemap, en je Ghost-installatiemap wordt eigenlijk "Ghost" genoemd.

Stap 4:

Verander "YourThemeName" in "UberTheme".

Stap 5:

Sla het bestand op.

Notitie: Je themapakket is nu geïnstalleerd en je kunt het bovenstaande proces in de toekomst herhalen om je in te stellen voor eventuele extra thema's die je maakt.


CSS Basics toevoegen

Het eerste dat we gaan doen, is om de stijlen van Normalize.css aan de stylesheet van uw thema toe te voegen. Dit zorgt ervoor dat ons thema op een gestandaardiseerde manier wordt weergegeven in alle browsers.

We gaan vervolgens een voorlopige breedte voor uw inhoud instellen, zodat u gemakkelijker typografische keuzes kunt beoordelen en we uw basisstijltyografiestijlen toevoegen.


Voeg Normalize.css toe

Stap 1:

Gebruik de opdracht in uw terminal (nog steeds in uw map "UberThemeStyles") grunt cssmin.

Dit zal het bestand "normalize.css" uit je map "bower_components / normalize-css" halen, comprimeren en in het styles.css-bestand van je thema schrijven..

Als dit lukt, moet u dit in uw terminal zien:


Stap 2:

Verfris je Ghost-frontend. U kunt controleren of "normalize.css" is toegevoegd als u dit ziet

  • De standaardlettertypefamilie is gewijzigd in 'schreefloos' (de schreef ontbreekt in de tekst)
  • De inhoud staat gelijk met de randen van het venster
  • Je achtergrond is weer wit (omdat de CSS van de laatste tutorial is overschreven)

Notitie: Als we verder gaan, zullen we wat aanpassingen aanbrengen aan het bestand normalize.css.

Omdat we veel van onze eigen stijlen gaan maken, willen we dubbele stijlen vermijden voor elementen zoals lichaam en h1 omdat het onnodige overheadkosten met zich meebrengt voor de browser, dus we zullen enkele stijlen overzetten van "normalize.css" naar onze eigen aangepaste MINDER bestanden.


Voorlopige stijlen en typografie

Voordat we de lettertypen kiezen die we in ons thema gaan gebruiken, gaan we een voorlopige breedte voor de inhoud instellen en een aantal standaard typografie-instellingen toevoegen. Het is veel eenvoudiger om lettertypen te testen en te beslissen wanneer ze zich in een smallere ruimte bevinden en worden ingesteld op de lettergrootte die ze waarschijnlijk zullen gebruiken op.

Om dit te doen gaan we beginnen met het bewerken van uw MINDER-bestanden.

Voordat we beginnen met het bewerken van MINDER, neem alsjeblieft een moment de tijd om vertrouwd te raken met het systeem van:

  • Variabelen
  • mixins
  • Geneste regels
  • Functies en bewerkingen

U hoeft op dit moment geen diepgaand begrip te hebben, het zou voldoende moeten zijn om alleen de openingssectie op de LESS-startpagina te lezen, d.w.z. elk van de secties met overeenkomende titels op de lijst met opsommingen hierboven.

Om uw wijzigingen in de LESS-code weer te geven aan de voorkant van uw site, activeren we automatisch LESS compileren en schrijven van CSS in uw thema.

Stap 1:

Gebruik de opdracht in uw terminal (nog steeds in uw map "UberThemeStyles") gegrom horloge.

Hiermee start u de "watch" -taak, waarbij uw LESS-bestanden en uw bestand Normalize.css worden gecontroleerd op eventuele wijzigingen. Wanneer er wijzigingen in de bestanden worden gedetecteerd, wordt LESS automatisch gecompileerd en wordt uw CSS gecombineerd, verkleind en geschreven in het "style.css" -bestand van uw thema.

Notitie: Wanneer u de "kijk" -taak wilt stoppen, gaat u terug naar uw terminal en drukt u op CTRL + C. Wanneer gevraagd type Y en druk vervolgens op ENTER.

Stap 2:

Open in de codebewerker van uw voorkeur het bestand "layout.less" uit de map "UberThemeStyles> LESS".

Stap 3:

Voeg de volgende code toe en sla op:

 .wrapper_uber width: 100%; maximale breedte: 40em; marge: 0 auto; 

Deze code doet een paar dingen:

  • Versmalt de breedte van de inhoud tot een volledig scherm, zodat u gemakkelijker kunt inschatten hoe uw typografische keuzes eruitzien.
  • Centreert die inhoud in het venster.
  • Bepaalt de basis van onze agnostische reactievermogen, zoals beschreven in de inleiding van deze tutorial:
    1. We zetten niet de breedte eigenschap met een expliciete waarde. In plaats daarvan, breedte is ingesteld op 100%, zodat het het hele venster vult in elk apparaat met een resolutie van minder dan 40ems breed.
    2. Wij gebruiken de Maximale wijdte eigenschap om de verpakking te beperken tot niet groter dan 40ems breed op grotere resoluties.
    3. We gebruiken een em waarde, niet een px waarde.

Notitie: We zullen deze breedte later aanpassen voor optimale leesbaarheid zodra we onze lettertypen hebben gekozen en dus weten hoe breed onze letters zullen zijn. De waarde van 40ems is alleen placeholder.

Stap 4:

Ververs je voorkant. Het zou nu als volgt moeten zijn versmald:


Stap 5:

Open het bestand "normalize.css" uit de map "UberThemeStyles> bower_components> normalize-css" om te bewerken.

Stap 6:

Geef commentaar of verwijder de lichaam, h1 en alles een stijlen (regel 76 tot 121), omdat we de onze gaan schrijven en geen dubbele declaraties willen hebben.

Stap 7:

Open het bestand "typography.less" uit de map "UberThemeStyles> LESS" om te bewerken.

Stap 8:

Vervang alle code daarin door de volgende code en sla op:

 // ** // Mixins // ** .HeaderFont () font-family: @header_font; regelhoogte: 1.313em;  // ** // Stijlen // ** hoofdtekst marge: 0; font-family: @default_font; regelhoogte: @golden + 0em; // stel de reguliere regelhoogte in op de gulden snede a background: transparent;  a: link, a: visited  a: focus outline: thin dotted;  a: active, a: hover outline: 0;  // Klassieke typografische schaal: als de standaard schaal van de 16px-totaalgrootte zou zijn: // 9px, 10px, 11px, 12px, 16px, 18px, 21px, 24px, 36px, 48px, 60px, 72px h1 .HeaderFont; lettergrootte: 3em; marge: 0,563em 0;  h2 .HeaderFont; lettergrootte: 2.25em; marge: 0,625em 0;  h3 .HeaderFont; font-size: 1.5em; marge: 1,313em 0;  h4 .HeaderFont; font-size: 1.313em; marge: 1,313em 0;  h5 .HeaderFont; lettergrootte: 1.125em; marge: 1,313em 0;  h6 .HeaderFont; lettergrootte: 1em; marge: 0.75em 0; 

Er is nogal wat code die we daar allemaal tegelijk hebben toegevoegd. Laat me uitleggen wat er aan de hand is.

mixins

Het eerste dat je bovenaan ziet, is de mixin .HeaderFont (). Omdat we voor al onze headingtags dezelfde lettertypefamilie, lettertype en regelhoogte gebruiken, hebben we alle regels voor die eigenschappen in een enkele mixin geplaatst. Als u de stijl voor elke headingtag bekijkt, ziet u de .HeaderFont () mixin callde op de eerste regel.

Op deze manier kunnen we de mixin naar behoefte bijwerken en worden alle headingtagstijlen ook automatisch bijgewerkt.

Variabelen

Je zult ook het gebruik van sommige variabelen in de code opmerken, dat wil zeggen. @header_font, @standaardlettertype en @gouden.

De waarde van elk van deze variabelen wordt ingesteld in het bestand "variables.less" in de map "UberThemeStyles> LESS". Dit bestand wordt eerst gebruikt tijdens het compileren van uw LESS-code, wat betekent dat de variabelen die het bevat, kunnen worden gebruikt in elk van uw andere LESS-bestanden.

We gebruiken de variabelen @header_font en @standaardlettertype om de naam van de lettertypen in te stellen die in uw thema moeten worden gebruikt, zodat het erg gemakkelijk is om van de ene keuze naar de andere te veranderen terwijl u de lettertypen uitprobeert.

De @gouden variabele vertegenwoordigt een waarde van 1.618, de gulden snede. Dit aantal is gebruikt sinds de tijd van de oude Grieken om prachtige lay-outs te maken in alles van kunst tot architectuur, en we zullen het tijdens het ontwerp zwaar gebruiken.

Eenheid toevoegen aan variabelen

Het is de beste methode om in MINDER numerieke variabelen te definiëren zonder toegevoegde eenheden. Dit is om u in staat te stellen om rekenkundige bewerkingen met hun waarden uit te voeren.

Bijvoorbeeld met mijn @gouden variabele ingesteld als 1.618 Ik kan dingen doen zoals die waarde vermenigvuldigen, halveren enzovoort. Als ik dit echter had ingesteld op 1.618em, zou ik problemen ondervinden met sommige berekeningen die ik zou willen uitvoeren.

Het is dus altijd het beste om variabelen alleen als getallen in te stellen en vervolgens eenheden aan te koppelen binnen de eigenlijke stijlen of mixins.

U kunt eenheden op de volgende manier toevoegen:

@variable + 0em

@variable + 0rem

@variable + 0%

Dus in een notendop, voeg gewoon de eenheid toe die u wilt gebruiken alsof u een optelberekening uitvoert, met een waarde van nul ingesteld op die eenheid.

Typografische schaal

De lettergroottes zijn allemaal ingesteld op een klassieke typografische schaal, geconverteerd naar em in plaats van px waarde, op basis van de meest gebruikelijke standaardlettergrootte 16px.

Hierdoor krijgen we de esthetische aantrekkelijkheid en leesbaarheid van de schaal, maar als een leverancier of gebruiker de standaardlettergrootte wijzigt in iets anders dan 16px, verschuift de hele schaal proportioneel mee.

Tagranden marcheren

Met een gestandaardiseerde em op basis van lijnhoogte voor alle rubrieken, is het belangrijk om de marges voor elke kop aan te passen, zodat koppen er mooi uitzien en leesbaar zijn wanneer ze onder elkaar worden geplaatst, evenals wanneer ze in de stroom van reguliere tekst worden geplaatst.

De waarden die in de marges worden gebruikt, zijn de waarden die ik persoonlijk het beste heb gevonden voor elke heading-tag. U zult het effect van deze instellingen in de volgende stap zien.

Stap 9:

Ververs je voorkant. Het zou er nu als volgt uit moeten zien:



Lettertypen kiezen

We gaan nu de lettertypen selecteren die worden gebruikt voor koptekst en reguliere tekst. We maken de rest van de lay-out en het ontwerp van het thema rond deze lettertypeselecties.

In deze benadering beginnen we niet met een Photoshop-mockup, maar je moet nog steeds een essentieel idee hebben van welk type algemene stijl je wilt. Ik ga voor een zacht, lichtkleurenschema, met een platte maar licht gestructureerde stijl, dus ik wil dat er relatief zachte, lichte lettertypen mee gaan.

Ga naar Google Fonts en kies een lettertype voor uw koppen, plus een lettertype voor uw gewone tekst, en zorg ervoor dat u controleert hoe ze naar een paar verschillende formaten en, indien beschikbaar, gewichten kijken: http://www.google.com/ fonts /

Uiteindelijk heb ik Oxygen gekozen als headertekst en Open Sans voor de reguliere tekst.

Zodra uw lettertypen zijn geselecteerd, kunt u deze toevoegen aan uw thema.

Stap 1:

Open het bestand "default.hbs" in de hoofdmap van uw thema.

Stap 2:

Onder de ! Stijlen opmerking en boven de link naar uw stylesheet, voeg de volgende regel toe en sla op:

 

Notitie: Een URL maken voor elk Google-lettertype (s):

  • Gebruik het formaat: http://fonts.googleapis.com/css?family=Font+Name
  • Spaties in lettertypenamen moeten worden vervangen door + tekenen
  • Als u meerdere lettertypen wilt gebruiken, scheidt u lettertypenamen met de | symbool
  • Geef de gewichten en stijlen op die u wilt gebruiken door een : aan het einde van de naam van het lettertype, gevolgd door door komma's gescheiden waarden, bijvoorbeeld. : 300,400,700,300italic, 400italic, 700italic

Stap 3:

Open het bestand "variables.less" uit de map "UberThemeStyles> LESS" om te bewerken.

Stap 4:

Zoek deze twee lijnen:

 @default_font: Arial, Helvetica, sans-serif; @header_font: Arial, Helvetica, sans-serif;

Stap 5:

Bewerk ze om te lezen:

 @default_font: 'Open Sans', Arial, Helvetica, sans-serif; @header_font: 'Oxygen', Arial, Helvetica, sans-serif;

Stap 6:

Voeg in uw bestand "typography.less" a toe lettertype dikte van 400 tot uw .HeaderFont () mixin:

 .HeaderFont () font-family: @header_font; regelhoogte: 1.313em; font-gewicht: 400; 

Stap 7:

Voeg ook een toe in uw "typography.less" -bestand lettertype dikte van 300 tot uw lichaam stijl:

 body marge: 0; font-family: @default_font; regelhoogte: @golden + 0em; // stel de reguliere regelhoogte in op het lettertype-gewicht van de gulden snede: 300; 

Notitie: Dit waren de gewichten die volgens mij het beste voor deze lettertypen leken, en voor de lichte stijl waar ik voor ga.

Stap 8:

Ververs je voorkant. Je zou nu je lettertype keuzes op zijn plaats moeten zien:



Komende Volgende

Voordat we naar het laatste deel van onze tutorialserie gaan, hebben we een of twee stijldetails om voor te zorgen. In de volgende aflevering bekijken we de kleur en definiëren we enkele standaardlay-outstandaarden.