Teie avatud lĂ€htekoodiga projekt vĂ”ib olla suurepĂ€rane, kuid kui tal puudub hea dokumentatsioon, on tĂ”enĂ€olisus, et ta kunagi ei Ă”nnestu. Hea dokumentatsioon kontoris aitab vĂ€ltida pidevat samu kĂŒsimusi. Samuti tagab dokumentatsioon, et inimesed saavad projektist aru, isegi kui vĂ”tmeisikud lahkuvad ettevĂ”ttest vĂ”i rollid muutuvad. Elavad juhised aitavad tagada andmete jĂ€rjepidevuse.
Kui peate kirjutama pika teksti, on Markdown suurepĂ€rane alternatiiv HTML-ile. MĂ”nikord ei piisa Markdowni sĂŒntaksist. Sellisel juhul saame kasutada HTML-i selle sees. NĂ€iteks kohandatud elemendid. Seega, kui loote disainisĂŒsteemi koos natiivsete veebikomponentidega, on neid lihtne oma tekstidokumentatsioonis kasutada. Kui kasutate Reacti (vĂ”i mĂ”nda muud JSX raamistikku, nĂ€iteks Preact vĂ”i Vue), saate sama teha MDX abil.
See artikkel on lai ĂŒlevaade dokumentatsiooni kirjutamise ja juhendite loomiseks mĂ”eldud tööriistadest. Mitte kĂ”ik siin loetletud tööriistad ei kasuta MDX-i, kuid see muutub ĂŒha sagedamini dokumenteerimisvahendites.
Mis on MDX?
Fail .mdx kasutab sama sĂŒntaksit nagu Markdown, kuid vĂ”imaldab importida interaktiivseid JSX-komponente ja integreerida neid teie sisusse. Vue'i komponentide tugi on veel alfa-etapis. MDX-iga töötamiseks piisab "Create React App" installimisest. Next.js ja Gatsby jaoks on olemas pluginaid. Docusaurus jĂ€rgmine versioon (versioon 2) toetab samuti sisseehitatud tuge.
Dokumentatsiooni kirjutamine Docusaurusega
Docusauruse lÔi Facebook. Nad kasutavad seda iga avatud lÀhtekoodiga projekti puhul, vÀlja arvatud React. VÀljaspool ettevÔtet kasutavad seda Redux, Prettier, Gulp ja Babel.
Projektid, mis kasutavad Docusaurust.
Docusaurust saab kasutada dokumentatsiooni kirjutamiseks, mitte ainult frontendi kirjeldamiseks. Selle all on React, kuid selle kasutamiseks ei ole hÀdavajalik sellega tuttav olla. See vÔtab teie Markdown-failid, veidi maagiat ja hÀsti struktureeritud, vormindatud ning loetav dokumentatsioon kauni disainiga on valmis. (mÔelgem kÔrgesse ametisse olevatele inimestele), siis on see halb Reduxi saidilt saab vaadata Docusauruse standardset ƥablooni.

Reduxi veebisaidilt on vÔimalik nÀha Docusauruse standardset ƥablooni.
Docusaurusiga loodud saidid vĂ”ivad sisaldada ka MarkdownipĂ”hist blogi. SĂŒntaksi esiletĂ”stmiseks on juba ĂŒhendatud Prism.js. Kuigi Docusaurus on suhteliselt uus, tunnustati seda 2018. aasta parima tööriistana StackShare'is.
Teised sisuloomise vÔimalused
Docusaurus on spetsiaalselt loodud dokumentatsiooni loomiseks. Loomulikult on miljon ja ĂŒks vĂ”imalus veebisaidi loomiseks â saate vĂ€lja arendada oma lahenduse igasugustes keeltes, CMS-ides vĂ”i kasutada staatilise saidi genereerijat.
NĂ€iteks kasutavad Reacti dokumentatsioon, IBM-i disainisĂŒsteem, Apollo ja Ghost CMS Gatsby't â see on staatiliste veebisaitide genereerija, mida sageli kasutatakse blogide jaoks. Kui töötate Vue'iga, on VuePress teile hea valik. Teine variant on kasutada Pythoni kirjutatud genereerijat â MkDocs. See on avatud ja konfigureeritav ĂŒhe YAML-failiga. GitBook on samuti hea variant, kuid see on tasuta vaid avatud ja mittetulunduslikele meeskondadele. Samuti saab lihtsalt laadida markdown-failid ĂŒles, kasutades git'i, ja nendega töötada GitHubis.
Komponentide dokumenteerimine: Docz, Storybook ja Styleguidist
Juhised, disainisĂŒsteemid, komponentide raamatukogud â olenemata sellest, kuidas te neid nimetate, on need viimasel ajal muutunud vĂ€ga populaarseks. Komponentide raamistike, nagu React, ja siin mainitud tööriistade ilmumine on muutnud need tĂŒhjadesse projektidesse kasulikeks tööriistadeks.
Storybook, Docz ja Styleguidist teevad kĂ”ik sama: nad kuvavad interaktiivseid elemente ja dokumenteerivad nende API-d. Projekt vĂ”ib sisaldada kĂŒmneid vĂ”i isegi sadu komponente â kĂ”ik erinevate olekute ja stiilidega. Kui soovite, et komponente saab uuesti kasutada, peab olema selge, et need eksisteerivad. Selleks piisab komponentide kataloogist. Juhised pakuvad mugavat ĂŒlesehitust, et nĂ€ha kĂ”iki teie komponente. See aitab sĂ€ilitada visuaalset jĂ€rjepidevust ja vĂ€ltida korduvat tööd.
Need tööriistad pakuvad mugavat viisi erinevate olekute vaatamiseks. Iga komponendi oleku taasilmutamine reaalses rakenduse kontekstis vÔib olla keeruline. Selle asemel, et klÔpsata reaalses rakenduses, on mÔistlik vÀlja töötada eraldi komponent. Saate mudelida raskesti ligipÀÀsetavaid olekuid (nÀiteks laadimisolekut).
Koos visuaalse esituse erinevate olekute ja omaduste loetelu, on sageli vajalik kirjutada sisu ĂŒldine kirjeldus â disaini Ă”igustus, kasutusjuhud vĂ”i kasutajate testimise tulemuste kirjeldus. Markdown on vĂ€ga lihtne Ă”ppida â ideaalis peaks juhend olema koostööresurss disaineritele ja arendajatele. Docz, Styleguidist ja Storybook pakuvad vĂ”imalust lihtsalt segada Markdowni komponente.
Docz
Praegu toetab Docz ainult Reacti, kuid aktiivselt töötatakse Preacti, Vue ja veebikomponentide toe kallal. Docz on kolmest tööriistast uusim, kuid on GitHubis kogunud ĂŒle 14 000 tĂ€he. Docz esindab kahte komponenti â <Playground> ja < Props >. Need imporditakse ja kasutatakse failides .mdx.
import { Playground, Props } from "docz";
import Button from "..\/src\/Button";
## Sa vÔid _kirjutada_ **markdowni**
### Sa vÔid importida ja kasutada komponente
Sa saad oma React komponendid mĂ€hkida <Playground>, et luua sisseehitatud CodePen vĂ”i CodeSandbox kogemusele sarnane â see tĂ€hendab, et sa nĂ€ed oma komponenti ja saad seda redigeerida.
<Props> nÀitab kÔiki saadaval olevaid omadusi selle React komponendi jaoks, vaikimisi vÀÀrtusi ja kas omadus on vajalik.
<Props of={Button} />Isiklikult leian, et see MDX-pÔhine lÀhenemine on kÔige arusaadavam ja lihtsaim töödelda.

Kui oled staatiliste veebilehtede generaatori Gatsby fÀnn, pakub Docz suurepÀrast integratsiooni.
Styleguidist
Nagu Doczis, kirjutatakse nĂ€idised kasutades Markdowni sĂŒntaksit. Styleguidist kasutab tavainfote failides Markdowni koodiblokke (kolm jutumĂ€rki) .md failides, mitte MDX-is.
```js
Markdowni koodiblokid nĂ€itavad tavaliselt lihtsalt koodi. Styleguidisti kasutamisel kuvab iga koodiblokk, millel on keele silt js, jsx vĂ”i javascript , kui Reacti komponent. Nagu Doczis, on kood redigeeritav â sa saad omadusi muuta ja kohe tulemusi nĂ€ha.

Styleguidist loob automaatselt omaduste tabeli PropTypes, Flow vÔi Typescripti deklaratsioonidest.

Styleguidist toetab praegu Reacti ja Vue-d.
Storybook
Storybook positsioneerib end kui âUI komponentide arenduskeskkondâ. Selle asemel, et kirjutada komponentide nĂ€idiseid Markdowni vĂ”i MDX failides, kirjutad lood JavaScripti failides. Ajalugu dokumenteerivad konkreetset komponenti olekut. NĂ€iteks vĂ”ib komponendil olla laadimise ja vĂ€lja lĂŒlitatud oleku ajalugu (vĂ€lja lĂŒlitatud).
storiesOf('Button', module)
.add('vĂ€lja lĂŒlitatud', () => (
<Button disabled>loremi ipsum<\/Button>
))Storybook on palju keerulisem kui Styleguidist ja Docz. KĂŒll aga on see kĂ”ige populaarsem valik, GitHubis on projektile ĂŒle 36 000 tĂ€he. See on avatud lĂ€htekoodiga projekt, kus osaleb 657 kaaslast ja toetatakse töötajate poolt. Seda kasutavad Airbnb, Algolia, Atlassian, Lyft ja Salesforce. Storybook toetab rohkem raamistikku kui konkurendid â React, React Native, Vue, Angular, Mithril, Ember, Riot, Svelte ja tavaline HTML.
JĂ€rgmises versioonis on funktsioone Doczist ja MDX rakendamine.
# Button
Some _notes_ about your button written with **markdown syntax**.
<Story name="disabled">
<Button disabled>lorem ipsum</Button>
</Story>Uued Storybooki funktsioonid ilmuvad jÀrk-jÀrgult jÀrgmise paari kuu jooksul ja nÀib, et see on suur samm edasi.
Summary
Musterraamatute eelised on kajastatud miljonites artiklites Mediumis. Kui kĂ”ik on hĂ€sti tehtud, lihtsustavad nad seotud toodete loomist ja identiteedi sĂ€ilitamist. Loomulikult ei tunne ĂŒkski neist tööriistadest maagiliselt disainisĂŒsteemi loomiseks. See nĂ”uab hoolikat disaini ja CSS-i kavandamist. Kuid kui tuleb aeg teha disainisĂŒsteem kergesti kĂ€ttesaadavaks kogu ettevĂ”ttele, on Docz, Storybook ja Styleguidist suurepĂ€rased valikud.
TĂ”lkijalt. See on minu esimene kogemus Habras. Kui leidsite mingeid ebatĂ€psusi vĂ”i on teil ettepanekuid artikli parandamiseks â kirjutage mulle isiklikult.
Allikas: habr.com
