Att använda en livsstilguide (LSG) för att driva utveckling är en övning som blir mycket populär eftersom den har många fördelar, inklusive kod effektivitet och UI-konsistens. Men hur kan du skapa en? Vad ska du inkludera? Och var börjar du ens? I denna handledning kommer jag att dyka in i de nitty-gritty detaljerna om att skapa en levande stil med DocumentCSS .
På samma sätt som en standardstylguide ger en levande stilguide en uppsättning standarder för användning och skapande av stilar för en applikation. När det gäller en standardstylguide är syftet att upprätthålla varumärkessamhållighet och förhindra missbruk av grafik och designelement. På samma sätt används LSGs för att upprätthålla konsistens i en applikation och att styra implementeringen. Men det som gör en LSG annorlunda och kraftfullare är att mycket av sin information kommer direkt från källkoden, vilket gör det enkelt och effektivt att reflektera det utvecklande tillståndet för en applikation.
Ännu idag är det tänkt att veta att du kan använda källkoden i din ansökan för att bygga din stilguide.
Om du tittar på exemplen nedan ser du de gemensamma beteckningarna för en LSG är:
Lonely Planet Style Guide
Sales Force Style Guide
Ett annat viktigt inslag i en LSG är att du kan använda en stilguidegenerator för att automatisera processen. En stilguidegenerator kommer att använda din källkod för ansökan för att mata huvuddelen av din LSG-dokumentation och titta på eventuella ändringar som görs i din kod, och se till att du uppdaterar din stilvägledningsdokumentation när din ansökan ändras.
Det finns många smaker att välja mellan, beroende på vilket kodsprog du vill dokumentera eller din projektinställning. Här är några ställen att leta efter alternativ:
För denna handledning kommer jag att visa dig hur du kan använda DocumentCSS för att skapa din LSG. Detta verktyg som skapats av Bitovi är öppen källkod och kan användas i alla projekt för att dokumentera CSS (förprocessorer som Less och SASS stöds också). Om du är intresserad av att dokumentera Javascript och andra språk kan du enkelt göra det med DocumentCSS, eftersom det här verktyget är en delmängd av DocumentJS. Jag kommer inte att täcka den delen i denna handledning, men det är bra att komma ihåg.
Innan du dyker på att skapa ditt LSG planerar det första steget vad som kommer att vara i det. Som en bra webbplats är en välstrukturerad informationsarkitektur (IE) nyckeln.
Så låt oss börja med att använda följande uppsättning mönster av vår app som heter "Vintage Shop" och observera de ihållande elementen i användargränssnittet:
Vintage Shop Mockups
Vid denna punkt rekommenderar jag att du börjar med större grupper av element, till exempel navigering, vagn eller formulär. Till exempel separerar vi vår design i dessa tre grupper: stegindikatorn, minikorgen och produkterna i kundvagnen:
Med dessa större grupper av element kan du börja gå in i mer detalj och identifiera "stilar" som kvarstår. Till exempel finns en konvention för typografi i allmänhet, och mer specifikt för rubrikerna, underrubrikerna och länkarna jämfört med vanlig text. Färgen på knapparna fortsätter också över sidorna.
Om vi sätter allt ihop, låt oss skriva ner dessa grupper med hjälp av ett diagram:
Om du tar en djupare titt på dessa grupper kan du finjustera dem och göra dem till kategorier som du kan använda i din stilguide när det växer. Till exempel:
Dessutom kan du tänka på en kategori där du kan inkludera mer generisk information om din stilguide. Ett bra exempel på det skulle vara en "Guides" -sektion där du kan beskriva hur du bidrar till stilguiden eller en "Branding" -sektion där du kan inkludera riktlinjer för ditt varumärke som bör beaktas när du utformar och implementerar din app.
Med detta i åtanke är här vad diagrammet skulle se ut:
Du kan se hur det här diagrammet tar form av en webbplatskarta, vilket är i grund och botten vad du vill använda som en plan när du skapar din levande stilguide.
Dyk nu in i mönstren och skissa upp din egen sajtkarta, inklusive så många kategorier som du tror skulle vara användbar för framtiden. Du kan få idéer från andra stilguider ( styleguides.io/examples är en stor resurs). När du är klar, kolla den här mer omfattande versionen och jämföra.
Du kan nästan tänka på den levande stilguiden som "spelreglerna" för din app. Inne i "reglerna" är all information som behövs för hur man "spelar" spelet: byggstenarna och reglerna för att skapa och bygga nya block. Inkluderar hur andra medlemmar av ditt team kan bidra till det och hjälpa till att upprätthålla det som ett levande dokument.
Installationsprocessen har 3 steg:
Först, se till att du har Nod installerad. Du behöver minst version 6.
Hämta sedan den här zip-filen: sgdd-tutorial.zip till skrivbordet och pakka ut det . Detta är viktigt eftersom en annan plats skulle bryta installationskommandon.
Öppna sedan terminalen och ange följande kommando:
cd ~/Desktop/vintage-shop-sgdd-tutorial && npm install
Det tar några sekunder att installera appen och dess beroenden.
När installationen är klar anger du följande kommandon:
npm run develop
npm run document
Nu, låt oss bryta ner det här:
npm run develop
npm run document
-- -w
npm run document -- -w
.less
och .md
filer) @page
, @stylesheet
eller @styles
.
base/markdown
.md
@page
@page about about
@page
@page
about
About
@page about About@parent index
@parent
@page about About@parent index## Hello World!This is the first page of my style guide. Here I can add any type of content that shouldn’t live with the code. Like who are the main contributors of the style guide or contact info.For example here's an animated gif inside of an `iframe`:
buttons-custom.less
Inne i den här filen och inuti ett kommentarblock lägger du till taggen @stylesheet
följt av två strängar:
/**@stylesheet buttons.less Buttons*/
Observera att dokumentationskommentaren måste börja med /**
för parsern (i detta fall JSDoc ) att erkänna det.
Låt oss nu bryta ner det här:
@stylesheet
Taggen @stylesheet
förklarar filen som ett stilark och berättar DocumentCSS att informationen i den här filen ska visas en sådan i stilguiden. Detta tjänar till att skilja det från andra typer av dokument, t.ex. sidor, komponenter och modeller, bland annat ( Läs här om hela listan med dokumenttyper ).
buttons.less
Detta är det unika namnet för stilarket och används som en hänvisning till andra taggar. Medan du kan använda vilken typ av namn som helst, rekommenderar jag att du använder namnet på formatarkfilen, eftersom det här hjälper till att hitta filen när du refererar till dokumentationen. Tänk på att detta kommer att påverka URL-adressen till ditt dokument. För detta exempel kommer URL: http://localhost: 8080 / skrivregler / buttons.less.html
Buttons
Liknande skapa en sida , det här är titeln på stilarket som ska användas för visning i den genererade webbplatsen. Här kan du använda flera ord med mellanslag eller andra tecken.
Om du vill visa den nyskapade sidan kör följande kommando om du inte har det att titta på för ändringar):
documentjs
Och sedan gå till http://localhost: 8080 / skrivregler / buttons.less.html för att se den nya sidan.
@parent
/*** @stylesheet buttons.less Buttons* @parent styles.base*/
Observera att vi i detta fall har lagt till .base
att ange denna sida ska visas under gruppen "Baseline" som visas i sidofältet (du kan även skapa grupper i din subnav! Vi kommer att gräva in det på en liten bit).
Återställningen av dokumenten och uppdatering av sidan ska se ut så här:
Nu för den köttiga delen! Med vår sida på plats kan vi göra några saker:
Låt oss lägga till en snabb beskrivning och en demo för våra knappar doc:
/*** @stylesheet buttons.less Buttons* @parent styles.base* @description* Global style definitions for all button elements.* @iframe src/base/bootstrap-custom/buttons/buttons-custom.html*/
Som du kan se @iframe
taggen tillåter att lägga till en iframe med en demo till ditt dokument. Denna demo är egentligen bara en enkel html-fil med en skriptikett som importerar CSS till din app vid körning.
Låt oss öppna demoen buttons-custom.html
:
<script src="/node_modules/steal/steal.js" main="can/view/autorender/"><import "vintage-shop/styles.less";script> <a class="btn btn-default" href="#" role="button">Linka><button class="btn btn-default" type="submit">Buttonbutton><input class="btn btn-default" type="button" value="Input"><input class="btn btn-default" type="submit" value="Submit"><hr /><button type="button" class="btn btn-default">Defaultbutton><button type="button" class="btn btn-primary btn-checkout">Primarybutton><button type="button" class="btn btn-success">Successbutton><button type="button" class="btn btn-info">Infobutton><button type="button" class="btn btn-warning">Warningbutton><button type="button" class="btn btn-danger">Dangerbutton><button type="button" class="btn btn-link">Linkbutton>
Det enda som krävs i den här filen är skriptet, vilket borde vara detsamma för alla demo som du skapar i den här appen. Resten av koden är markeringen med de stilar som du vill visa i demo.
Dessutom kan du använda taggen @demo
för att även visa kodens kod som används i den. Så här:
/*** @stylesheet buttons.less Buttons* @parent styles.base** @description* Global style definitions for all button elements.* @demo src/base/bootstrap-custom/buttons/buttons-custom.html*/
Nu, innan du går bananer med det här, finns det ett par mer godsaker som du kan dra nytta av:
För att skapa en stil sektion kan du använda taggen @styles
. Den här taggen är söt eftersom den låter dig bryta ner ditt stilarkdokument till förnuftiga bitar som du kan prata om och förstå bättre.
Till exempel, i vårt exempel har vi stilar för att definiera knappar i allmänhet, oberoende av markeringen som används (antingen a mot
märka). Och då har vi definitioner av färg. Med
@styles
tagg kan vi bryta färgdefinitionerna i sin egen sektion, inte bara för att prata om dem separat, men för att kunna hyperlänk till den sektionen direkt.
Så här fungerar det. I samma fil buttons-custom.less
, vi ska lägga till taggen @styles
strax efter det första blocket av stilar och före färgvariablerna. Så här ska det se ut:
/*** @stylesheet buttons.less Buttons* @parent styles.base** @description* Global style definitions for all button elements.* @demo src/base/bootstrap-custom/buttons/buttons-types.html*/.btn {display: inline-block;...}/*** @styles buttons-colors Button Colors** @description* Buttons can be displayed in the following colors:* @demo src/base/bootstrap-custom/buttons/buttons-color.html*/@btn-default-color: #333;
@styles
märka. Här gav jag det ett unikt namn button-colors
och titeln på Button Colors
. Jag gav också den en @description
och tillade a @demo
för det som bara visar knappfärgerna. Och här är utsignalen:
styles.md
markdown
@group
@page styles Styles@group styles.theme 0 Theme@group styles.base 1 BaselineThe styles shown in this section show how elements are styles with definitions from the Bootstrap framework, in addition to any customizations made for this specific project. Therefore they will be available for use in any part of the application.
@group
De @group
tagg kan du skapa en sektion i sidofältet som visas under överordnad sektion. Till exempel kommer grupperna: "Tema" och "Baslinje" att visas under överordnade avsnittet "Stilar".
styles.theme
Detta är det unika namnet för gruppen. En bra övning att följa här är att använda namnet på föräldraavsnittet, i det här fallet "Styles" som namnrymd. På så sätt, om du vill skapa en annan grupp med samma namn, men under ett annat avsnitt, kommer gruppen att vara unik.
0
Detta är den ordning i vilken gruppen ska visas, vilken börjar med 0. Om ingen order har tilldelats visas listan med grupper i alfabetisk ordning.
Theme
Det här är det faktiska namnet som visas i sidofältet, så du kan använda flera ord med mellanslag och andra tecken.
För att se grupper i åtgärd, låt oss lägga till en ny grupp enligt följande:
@page styles Styles@group styles.theme 0 Theme@group styles.base 1 Baseline@group styles.forms 2 FormsThe styles shown in this section show how elements are styles with definitions from the Bootstrap framework, in addition to any customizations made for this specific project. Therefore they will be available for use in any part of the application.
forms-custom.less
styles.base
styles.forms
/*** @stylesheet forms-custom.less Form Elements* @parent styles.forms**/
dokumentation dokumentera css levande stil guide lsg stil guider