搜尋
首頁web前端css教學前端文檔,樣式指南和MDX的興起

前端文檔,樣式指南和MDX的興起

即使沒有全面的文檔,即使是最佳的開源項目也可能會失敗。內部文檔同樣至關重要,即使隨著員工的變化,也可以防止重複的問答和確保知識連續性。有據可查的編碼指南促進了代碼庫的一致性。

對於大量文檔,Markdown提供了與RAW HTML的優越替代品。但是,可以通過將HTML直接嵌入Markdown文件(包括使用Web組件的設計系統的自定義元素)來克服MARKDOWN的限制。對於React(和JSX兼容的框架),MDX提供了無縫集成。

本文提供了有關文檔和样式指南創建工具的高級概述。雖然並非全部利用MDX,但其採用率正在迅速增加。

了解MDX

.mdx文件鏡像標準標記語法,但允許導入和嵌入交互式JSX組件。 VUE組件支持當前在Alpha中。 MDX可以輕鬆地與Create React App集成,並且Next.js和Gatsby存在插件。 Docusaurus版本2還將具有內置支持。

Docusaurus:文檔強國

由Facebook開發(不包括React),由許多主要的開源項目(Redux,Priptier,Gulp,Babel)使用。它的多功能性超出了前端文檔。雖然在內部利用反應時,Docusaurus不需要使用反應知識才能使用。它將Markdown文件轉換為結構良好,視覺上吸引人的文檔網站。

Docusaurus網站可以合併基於Markdown的博客,並包括用於無縫語法突出顯示的Prism.js。它的受歡迎程度很明顯,已被評選為StackShare 2018年的最佳新工具。

替代文檔解決方案

雖然Docusaurus專門從事文檔,但仍有許多替代方案。使用各種後端語言,CMS或靜態站點生成器可行自定義解決方案。 React,IBM的設計系統,Apollo和Ghost CMS,例如,Leverage Gatsby是一種經常用於博客的多功能靜態站點生成器。 Vuepress在Vue生態系統中獲得了吸引力。 MKDOCS是用Python編寫的開源靜態站點生成器,提供了直接的YAML配置。 Gitbook是一種受歡迎的付費選項,可免費訪問開源和非營利團隊。對於更簡單的內部文檔,GitHub的Markdown渲染功能是可行的選擇。

組件文檔:Docz,Storybook和StyleGuidist

風格指南和設計系統已獲得巨大的知名度。組件驅動的框架(例如React)和相關工具將它們從虛榮項目轉變為基本資源。

Storybook,Docz和StyleGuidist的目的類似:顯示交互式UI組件並記錄其API。用各種狀態和样式管理眾多組件需要一個集中的目錄,以發現和重複使用。樣式指南提供易於搜索的概述,促進視覺一致性並防止冗餘工作。

這些工具簡化了對不同組件狀態的審查,克服了重現實時應用程序中所有狀態的挑戰。孤立的組件開發允許嘲笑難以到達的狀態(例如,加載狀態)。

丹·格林(Dan Green)對故事書的好處的評論同樣適用於Docz和Styleguidist:

“故事書已經簡化了設計和工程之間的協作。它消除了對複雜的設置(Docker容器等)的需求。對於Wave,我們僅在短暫的,複雜的過程中可見組件(例如,在Storybook中)。在故事書之前,在管理這些組件之前,管理這些組件很難。

- 丹·格林(Dan Green),波浪財務

除了可視化狀態和列表道具外,書面內容(設計理由,用例,用戶測試結果)增強了組件文檔。 Markdown的可訪問性使其非常適合設計師和開發人員之間的協作文檔。 Docz,Styleguidist和Storybook將Markdown與組件無縫整合。

Docz

目前,Docz(14,000 GitHub Stars)目前僅反應(計劃支持preaxct,vue和Web組件),提供用戶友好的功能。它提供<playground></playground><props></props>組件,直接在.mdx文件中使用。

從“ docz”導入{playground,props};
從“ ../ src/button”導入按鈕;

##您可以_write_ ** Markdown **
###您可以導入和使用組件

<playground>
  <button>點擊</button>
</playground>

包裝反應組件與<playground></playground>創建嵌入式交互式預覽。<props></props>顯示組件道具,默認值和所需狀態。

<props of="{Button}"></props>

DOCZ的基於MDX的方法是直觀有效的,提供了出色的蓋茨比集成。

StyleGuidist

StyleGuidist在標準.md文件而不是MDX中使用Markdown Code塊(三重背部)。

 ``JS
 console.log(“單擊”)
<code></code>
 <code>>Push Me</code>

代碼塊標記為jsjsxjavascript渲染作為交互式React組件。該代碼可編輯,提供即時視覺反饋。 StyleGuidist會自動從Proptypes,Flow或Typescript聲明中生成支柱表。它支持反應和vue。

故事書

Storybook(36,000 GitHub星)是一個UI組件開發環境。它使用JavaScript文件而不是Markdown/MDX代替故事(表示組件狀態)。

故事(“按鈕”,模塊)
  .add('disabled',()=>(
    <button disabled>lorem ipsum</button>
  ))

Storybook的方法不如DOCZ和StyleGuidist直觀。然而,它的受歡迎程度和廣泛的框架支持(React,React,Vue,Angular,Mithril,Ember,Riot,Svelte,Svelte,HTML)是值得注意的。文檔當前需要插件,但未來版本將合併受DOCZ啟發的MDX。

 # 按鈕

關於您的按鈕寫的一些_notes_用** Markdown語法**編寫。


<button>lorem ipsum</button>

Storybook即將到來的文檔功能有望進行重大改進。

結論

圖案庫的價值被廣泛認可。執行良好的文庫促進了視覺一致性和產品凝聚力。儘管這些工具不能取代設計和CSS專業知識,但DOCZ,Storybook和StyleGidist提供了出色的解決方案,可在組織內有效地溝通設計系統。

以上是前端文檔,樣式指南和MDX的興起的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
@KeyFrames vs CSS過渡:有什麼區別?@KeyFrames vs CSS過渡:有什麼區別?May 14, 2025 am 12:01 AM

@keyframesandCSSTransitionsdifferincomplexity:@keyframesallowsfordetailedanimationsequences,whileCSSTransitionshandlesimplestatechanges.UseCSSTransitionsforhovereffectslikebuttoncolorchanges,and@keyframesforintricateanimationslikerotatingspinners.

使用頁面CMS進行靜態站點內容管理使用頁面CMS進行靜態站點內容管理May 13, 2025 am 09:24 AM

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y&#039;知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接HTML中CSS文件的最終指南鏈接HTML中CSS文件的最終指南May 13, 2025 am 12:02 AM

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

CSS Flexbox與網格:全面評論CSS Flexbox與網格:全面評論May 12, 2025 am 12:01 AM

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

如何包括CSS文件:方法和最佳實踐如何包括CSS文件:方法和最佳實踐May 11, 2025 am 12:02 AM

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

Flexbox vs Grid:我應該學習兩者嗎?Flexbox vs Grid:我應該學習兩者嗎?May 10, 2025 am 12:01 AM

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

軌道力學(或我如何優化CSS KeyFrames動畫)軌道力學(或我如何優化CSS KeyFrames動畫)May 09, 2025 am 09:57 AM

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSS動畫:很難創建它們嗎?CSS動畫:很難創建它們嗎?May 09, 2025 am 12:03 AM

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能