I den här sista handledningen i vår serie genomför vi en navbar och en hjältesektion för branding av vår podcasts webbplats. En enkel, icke-klumpig pagination runda upp den första versionen av detta projekt och ger dig allt du behöver för att komma igång med att publicera dina podcastsepisoder.
Varför lägger vi inte till en liten hjältesektion ovanpå indexsidan? Jag vill ha något som ger oss möjlighet att märka podcasts webbplatsen utan att gå på fullskaliga marknadsföringssidor. Jag litar starkt på "mindre är mer" och dessutom "inte förolämpa dina användare genom att bombardera dem med nonsens". Låt oss hålla det trevligt och enkelt.
I den här sista artikeln kommer vi att använda en annan del av Bourbon-familjen och implementera ett par mönster från Refills-som tillhandahåller ett mönster / komponentbibliotek (styled and unstyled) och är byggt med Bourbon och Neat. Varför uppfinna hjulet när vi nu och då kan justera befintliga till våra behov?
Notera: Refills-projektet upprätthålls av designers på thoughtbot-så det är i mycket bra händer kvalitetsvisande.
Gå till http://refills.bourbon.io/ och kopiera markeringen för "Hero Unit". Den angivna märkningen placeras i vår indexfil - precis ovanför den del där vi itererar över vårt page_articles
. I "source / index.html.erb":
...<% page_articles.each_with_index do |article, i| %><%= article.date.strftime('%b %e') %> <%= link_to article.title, article %>
...Här kopierade jag också stilar från Refills 'mönsteravsnitt, och placerade dem i en ny fil tillägnad denna bannersektion. De angivna stilar finns i
.SCSS
syntax och så går jag med flödet-det finns ingen anledning att konvertera detta till.sass
verkligen.I "source / stylesheets / _hero_banner.scss":
.hjälte $ basgräns-radie: 3px! default; $ action-color: # 477DCA! default; $ storskärm: em (860)! default; $ hjälte-bakgrunds-topp: # 7F99BE; $ hjälte-bakgrundsbotten: # 20392B; $ hjältefärg: vit; $ gradientvinkel: 10deg; $ hjältebild: 'https://raw.githubusercontent.com/thoughtbot/refills/master/source/images/mountains.png'; @include background (url ($ hero-image), linjär gradient ($ gradient-vinkel, $ hjälte-bakgrundsbottna, $ hjälte-bakgrunds-topp), ingen repetition $ hjälte-bakgrunds-topprulle); bakgrundsfärg: # 324766; bakgrundsställning: topp; background-repeat: no-repeat; bakgrundsstorlek: omslag; padding-bottom: 3em; .hero-logo img height: 4em; marginal-botten: 1em; .hero-inner @ include outer-container; @include clearfix; marginal: auto; vaddering: 3.5em; text-align: center; .hero-copy text-align: center; h1 färg: $ hjältefärg; fontstorlek: 1.6em; marginal-botten: 0.5em; @include media ($ large-screen) font-size: 1.8em; p färg: $ hjältefärg; linjehöjd: 1.4em; marginal: 0 auto 3em auto; @ inkludera media ($ storskärm) font-size: 1.1em; maxbredd: 40%;Vi kommer att justera detta på en sekund men låt oss ta en titt först:
Det passar rätt in-det är hur jag gillar det! Låt oss tweak detta till våra behov genom att bli av med bilden och ikonen. Men låt oss börja med texten, så i "source / index.html.erb":
Du kan finjustera det som du vill. Jag vill göra det snabbt och bara öka storleken på
h1
för både stora skärmar och mindre enheter. Hjälteenhetshuvudet är nu2em
och3em
respektive inte för mycket. Vadderingen på.hjälte inre
behöver också flytta en nudge.Återigen i "source / stylesheets / _hero_banner.scss":
.hjälte-inre // padding: 3.5em; padding-top: 1.2em; .hero-copy text-align: center; h1 färg: $ hjältefärg; typsnittstorlek: 2em; marginal-botten: 0.5em; @ inkludera media ($ storskärm) font-size: 3em;Låt oss döda logotypen. Jag tycker ofta att de är lite irriterande. I "source / index.html.erb":
MATCHA NERDZ
Podcast för grönt tefiskare
Det är allt vi behöver. Eftersom vi inte använder hjältelogotypen, låt oss bli av med sina stilar - dödsvikt, så i "source / stylesheets / _hero_banner.scss":
//.hero-logo img // höjd: 4em; // margin-bottom: 1em; //Bakgrundsbild
Den generiska bakgrundsbilden måste också gå. Jag först visar hur jag vill att den ska se ut, då ska jag förklara hur man kommer dit.
Ignorera typografi för nu, du kan justera det senare. Jag bytte ut bilden och lägger en liten gradient ovanpå den. Eftersom typen är vit behövde jag lite mer kontrast för en bättre läsupplevelse. Om du väljer en bild som inte behöver en ytterligare gradient, gå till den!
Jag justerade Refills-koden med några ändringar. Först lade jag till en bild till "source / images" och sparade den här bilden i variabeln
$ Hjältebild
. Sedan återanvändade jag denna variabel ibakgrund
mixin från Bourbon och omordnade bilden ochlinjär-gradient
(en Bourbon mixin också). Eftersom gradienten kommer först är den överlagd ovanpå Matcha_Nerdz.png. Än en gång, i "source / stylesheets / _hero_banner.scss":.hjälte $ hjälte-image: '... /images/Matcha_Nerdz.png'; $ hjälte-bakgrunds-topp: mörkare ($ matcha-grön, 65%); $ hjälte-bakgrundsbotten: rgba (ljusare ($ matcha-grön, 10%), .3); @ inkludera bakgrund (linjär-gradient ($ gradient-vinkel, $ hjälte-bakgrundsbotten, $ hjälte-bakgrunds-topp), url ($ hero-image), ingen upprepning $ hjälte-bakgrunds-topprulle); marginalbotten: 2em; // bakgrundsfärg: # 324766; // bakgrundsstorlek: omslag;För gradienten själv, återanvände jag vår
$ Matcha gröna
som vi lagrade i "source / stylesheets / base / _variables.scss". Toppfärgen är mörkad med 65% med en Sass-funktion; den andra lyser med 10% och görs även transparent via en annan Sass-funktion som kallasRGBA
. Vi använder sedan dessa variabler i vårtbakgrund
blanda i. Degradient-vinkel
förblev detsamma. Jag har också lagt till en liten marginal på2em
att trycka indexlistan lite ner. De stilar jag kommenterade för dig är dödsvikt och så tog jag bort dem.Du kan naturligtvis spela med en sådan gradient direkt i Photoshop, men jag ville visa dig hur du kan använda dem i Sass. Nedan visas en skärmdump som inte har någon linjär gradient till hjälteenheten. Som en liten övning lämnar jag uppreningen av de stilar vi kopierade till dig. Om du hittar dubbletter eller oanvända stilar rekommenderar jag att du åtgärdar det innan du går vidare.
Kommit och distribuera
Tiden för en annan begå och distribuera.
git add --all git commit -m 'Lägger hjälte enhet till index.html.erb Lägger hjälte bild med gradient Lägger till _hero_banner Sass partiell import Sass partiell "mellanUtan det visuella nätet ser det inte ut att du har mycket arbete kvar för att justera denna sida för dina podcastingbehov. Några saker som jag skulle rekommendera dig att göra är att hitta ett typsnitt som kommunicerar ditt projekt tydligt utan att vara för exotiskt och justera storleken och avståndet på din text så att den passar din hjälteenhetens bakgrundsbild. Eftersom det här är en del av din branding, föreslår jag att du tar dig tid och har roligt!
Navigering
Det är en bra tid att lägga till en navbar. Återigen använder vi ett befintligt mönster från Refills och anpassar det för våra egna behov. Jag valde "Centered Navigation" som du hittar under "Patterns". För det här måste vi kopiera HTML, SCSS och CoffeeScript-koden. Jag börjar först genom att lägga till markeringen i vår globala "layout.erb" -fil
Bloggtitel<%= ' - ' + current_article.title unless current_article.nil? %> <%= feed_tag :atom, "#blog.options.prefix.to_s/feed.xml", title: "Atom Feed" %> <%= stylesheet_link_tag "all" %> <%= javascript_include_tag "all" %> MENY<%= yield %><%= partial "partials/footer" %>Oj! Det är ganska en bit av kod. Tror du på samma sätt som jag? Det här ser otäckt ut, inte sant? Låt oss sätta detta in i en partiell. Vi ändrar "källa / layouter / layout.erb" till:
... <%= partial "partials/navbar" %><%= yield %><%= partial "partials/footer" %>