I dette, den siste opplæringen i serien vår, implementerer vi en navbar og en helt-seksjon for merkevarebygging av vårt podcast-nettsted. En enkel, ikke-omfangsrik paginering runder opp den første versjonen av dette prosjektet og gir deg alt du trenger for å komme i gang med publisering av podcast-episodene dine.
Hvorfor legger vi ikke til en liten helt-seksjon på toppen av indekssiden? Jeg vil ha noe som gir oss en mulighet til å merke podcastsiden uten å gå i full-splashy-marketing-side-nøtter. Jeg stoler sterkt på "mindre er mer" og i tillegg "ikke fornærme brukerne dine ved å bombardere dem med tull". La oss holde det fint og enkelt.
I denne siste artikkelen vil vi gjøre bruk av en annen del av Bourbon-familien og implementere et par mønstre fra Refills-som gir et mønster / komponentbibliotek (stylet og unstyled) og er bygget med Bourbon og Neat. Hvorfor gjenoppfinne hjulet når vi nå og da kan tilpasse eksisterende til våre behov?
Merk: Refills-prosjektet vedlikeholdes av designere på thoughtbot-så det er i meget gode hender kvalitetsmessige.
Gå til http://refills.bourbon.io/ og kopier merket for "Hero Unit". Den angitte merkingen er plassert i vår indeksfil - rett over den delen der vi itererer over vår page_articles
. I "kilde / index.html.erb":
...<% page_articles.each_with_index do |article, i| %><%= article.date.strftime('%b %e') %> <%= link_to article.title, article %>
...Her kopierte jeg også stilene fra Refills 'mønsterseksjon, og plasserte dem i en ny fil dedikert til denne bannerseksjonen. De angitte stilene er i
.SCSS
syntaks og så går jeg med strømmen - det er ikke nødvendig å konvertere dette til.sass
egentlig.I "kilde / stylesheets / _hero_banner.scss":
.helt $ base-border-radius: 3px! default; $ action-color: # 477DCA! default; $ storskjerm: em (860)! standard; $ helt-bakgrunnsbilde: # 7F99BE; $ helt-bakgrunnsbunn: # 20392B; $ hero-farge: hvit; $ gradient-vinkel: 10deg; $ helt-bilde: 'https://raw.githubusercontent.com/thoughtbot/refills/master/source/images/mountains.png'; @include background (url ($ hero-image), lineær gradient ($ gradient-vinkel, $ helt-bakgrunnsbunn, $ heltbakgrunns-topp), ikke gjentatt $ helt-bakgrunnsrulle); bakgrunnsfarge: # 324766; bakgrunnsposisjon: topp; bakgrunn-gjentak: ikke-gjenta; bakgrunnsstørrelse: deksel; polstring-bunn: 3em; .hero-logo img height: 4em; margin-bunn: 1em; .hero-inner @include ytterbeholder; @include clearfix; margin: auto; polstring: 3.5em; tekst-align: center; .hero-copy text-align: center; h1 color: $ hero-color; skriftstørrelse: 1.6em; margin-bunn: 0.5em; @include media ($ storskjerm) font-size: 1.8em; p color: $ hero-color; linjehøyde: 1.4em; margin: 0 auto 3em auto; @include media ($ storskjerm) font-size: 1.1em; maksimal bredde: 40%;Vi vil justere dette på et sekund, men la oss ta en titt først:
Det passer rett inn - det er slik jeg liker det! La oss tilpasse dette til våre behov ved å kvitte seg med bildet og ikonet. Men la oss starte med teksten, så i "source / index.html.erb":
Du kan finjustere dette slik du vil. Jeg vil gjøre dette raskt og bare øke størrelsen på
h1
for både store skjermer og mindre enheter. Heltenhetens header er nå2em
og3em
henholdsvis - ikke for mye. Padding på.helt-indre
trenger også å flytte en pute.Igjen i "kilde / stylesheets / _hero_banner.scss":
.helten-indre // polstring: 3.5em; polstring: 1.2em; .hero-copy text-align: center; h1 color: $ hero-color; skriftstørrelse: 2em; margin-bunn: 0.5em; @include media ($ storskjerm) font-size: 3em;Neste, la oss drepe logoholderen. Jeg finner dem ofte litt irriterende. I "kilde / index.html.erb":
MATCHA NERDZ
Podcast for grønn te-kjennere
Det er alt vi trenger. Siden vi ikke bruker heltenes logo, la oss bli kvitt stilene deres - dødvekt, så i "kilde / stylesheets / _hero_banner.scss":
//.hero-logo img // høyde: 4em; // margin-bunn: 1em; //Bakgrunnsbilde
Det generiske bakgrunnsbildet må også gå. Jeg vil først vise deg hvordan jeg vil se den, så skal jeg forklare hvordan jeg kommer dit.
Ignorer typografien for nå, du kan justere den senere. Jeg erstattet bildet og satte en liten gradient på toppen av det. Siden typen er hvit, trengte jeg litt mer kontrast for en bedre leseropplevelse. Hvis du velger et bilde som ikke trenger en ekstra gradient, går du etter det!
Jeg justerte Refills-koden med et par endringer. Først har jeg lagt til et bilde til "kilde / bilder" og lagret dette bildet i variabelen
$ Hero-bilde
. Deretter brukte jeg denne variabelen på nytt ibakgrunn
mixin fra Bourbon og reordered bildet oglineær-gradient
(en Bourbon mixin også). Fordi gradienten kommer først, er den overlagt på toppen av Matcha_Nerdz.png. Igjen, i "kilde / stylesheets / _hero_banner.scss":.helten $ hero-image: '... /images/Matcha_Nerdz.png'; $ helt-bakgrunns-topp: mørkere ($ matcha-grønn, 65%); $ helten-bakgrunnsbunn: rgba (lysere ($ matcha-grønn, 10%), .3); @include background (lineær gradient ($ gradient-vinkel, $ helt-bakgrunnsbunn, $ heltbakgrunns-topp), url ($ hero-image), ingen gjentatt $ helt-bakgrunnsrulle); margin-bunn: 2em; // bakgrunnsfarge: # 324766; // bakgrunnsstørrelse: deksel;For gradienten selv, brukte jeg igjen
$ Matcha-grønne
som vi lagret i "kilde / stylesheets / base / _variables.scss". Toppfargen er mørkere med 65% med en Sass-funksjon; den andre er opplyst med 10% og også gjort gjennomsiktig via en annen Sass-funksjon kaltRGBA
. Vi bruker deretter disse variablene i vårbakgrunn
mixin. Degradient-vinkel
ble det samme. Jeg har også lagt til en liten margin på2em
å skyve indekslisten litt ned. Stilene jeg kommenterte for deg er dødvekt, og så slettet jeg dem.Du kan selvfølgelig spille med en slik gradient direkte i Photoshop, men jeg vil vise deg hvordan du kan bruke dem i Sass. Nedenfor er et skjermbilde som ikke har noen lineær gradient lagt til heltenheten. Som en liten øvelse forlater jeg opprydding av stilene vi kopierte til deg. Hvis du finner duplikater eller ubrukte stiler, anbefaler jeg at du fikser dette før du fortsetter.
Forplikte og distribuere
Tid for en annen forplikte og distribuere.
git add --all git commit -m 'Legger til hero-enhet til index.html.erb Legger til helten bilde med gradient Legger til _hero_banner Sass delvis Importer Sass delvis' mellommann distribuereUten det visuelle nettet ser det ikke ut til du har mye arbeid igjen for å justere denne siden for podcasting-behovene dine. Noen ting jeg vil anbefale deg, er å finne et skrifttegn som kommuniserer prosjektet ditt særegent uten å være for eksotisk og justere størrelsen og avstanden på teksten din slik at den passer til bakgrunnen til heltenhetens bakgrunnsbilde. Siden dette er en del av din merkevarebygging, foreslår jeg at du tar deg tid og har det gøy!
Navigasjon
Det er en god tid å legge til en navbar. Igjen vil vi bruke et eksisterende mønster fra Refills og tilpasse det til våre egne behov. Jeg valgte "Centered Navigation" som du finner under "Patterns". For dette må vi kopiere HTML, SCSS og CoffeeScript-koden. Jeg starter først ved å legge til markeringen i vår globale "layout.erb" -fil
bloggtittel<%= ' - ' + 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" %>Jøss! Det er ganske en del av koden. Synes du det samme som meg? Dette ser ekkel ut, ikke sant? La oss sette dette inn i en delvis. Vi endrer "kilde / layouts / layout.erb" til:
... <%= partial "partials/navbar" %><%= yield %><%= partial "partials/footer" %>