Gatsby(免費開源Web框架)是一款基于React的開源框架,可以通過這款框架設計任意程序或者是設計博客類型的網站,內置豐富的插件,可以直接將插件添加到你的網站使用,例如圖像插件功能,可以直接在軟件加載多種圖像或者是視頻到自己的網站,方便添加網絡來源的素材,方便編輯博客的時候引用圖像,提供源文件系統插件。快來統一下載點擊體驗一下吧!
使用Markdown、JSON等語言編輯網站內容,支持離線插件,可以將自己的網站離線運行,也可以配置網站地圖、添加云儲存服務,官方提供2500多個插件幫助用戶擴展網站功能,無論是設計博客還是設計電子商務網站都可以使用Gatsby!
軟件功能
最快的前端現代網絡
借助Gatsby 3.0 for React,創建融合了您喜歡的服務和內容的閃電般的Web體驗。在幾分鐘內建立電子商務站點,登錄頁面,博客等。
蓋茨比令人難以置信的快速和流暢。
一切都感覺...在那里。
Gatsby僅在訪問者需要時加載頁面的關鍵 1部分,而不是很快加載。加載后,Gatsby會預取 其他頁面的資源2,以便在該網站上單擊時感覺很流暢且響應迅速。一切都是在運行時靜態生成的-因此,您的網站會盡快加載。
網絡上最難的部分變得簡單。
如今,前端工程師全力以赴地處理性能,安全性,SEO,可訪問性,數據等等。默認情況下,我們會處理所有這些問題,讓您專注于構建出色的數字體驗。
性能這是關閉的圖表
Gatsby可以自動執行代碼拆分,圖像優化,內聯關鍵樣式,延遲加載,預取資源等操作,以確保您的網站得到完全優化。無需手動調整。
您可以依靠的可擴展性
Gatsby網站不需要復雜的擴展操作或昂貴的托管。它們可以在需要時擴展,但是當流量減少時,您的使用量和成本也會降低。幾分錢的主機。
開箱即用的安全性
Gatsby的無服務器渲染在構建時生成靜態HTML。沒有服務器,沒有可訪問的數據庫,就等于沒有惡意請求,DDOS攻擊或意外暴露。
每個人的可訪問性
作為WebAIM公認的最易訪問的Web框架,我們建立了最佳實踐,例如可訪問路由,漸進式頁面增強以及內置的掉毛工具來查找可訪問性錯誤。幫助所有人使用網絡。
軟件特色
修改頁面,添加圖像,創建頁面,制作組件,發送道具,頁面之間的鏈接以及部署您的網站!
使用全局CSS和組件級CSS設置頁面樣式。使用CSS模塊對組件進行樣式設置。
安裝插件,創建布局組件,然后將其導入頁面以創建統一樣式。
將站點元數據添加到gatsby-config.js并使用GraphQL查詢以將其拉入頁面。
使用GraphiQL(一種GraphQL IDE)。使用源插件將數據從文件系統拉入Gatsby的數據層。用GraphQL查詢
使用轉換器插件在Gatsby的數據層中轉換數據。
創建模板化的頁面,以更改路由并根據傳入的數據進行顯示。
使用Lighthouse審核站點。添加漸進式Web應用程序功能,例如清單文件和脫機支持。
官方教程
使用GIF
如果您要使用Gatsby構建博客,那么您可能會希望包括一些動畫GIF:誰不想包括跳舞的水獺或貓的GIF?
在組件中包含GIF
在Gatsby組件和頁面中,您將要導入動畫GIF而不是使用Gatsby Image,因為它為響應式圖片元素優化了圖像數據的方式。
這是一個例子:
在Markdown中包含GIF
在Markdown帖子和頁面中,包括動畫GIF與靜態圖片相同:
動畫GIF的大小可能非常大,因此請注意不要使用極大的文件來破壞網頁的性能。您可以通過優化幀或將其轉換為視頻來減小文件大小。
動畫GIF的可訪問性問題
請注意,閃爍和自動播放GIF可能會導致對運動敏感的用戶出現問題。出于安全原因,GIF不應盡可能自動播放
創建一個新的Gatsby網站
正如我們在第二部分中提到的那樣,此時最好關閉本教程前面部分的終端窗口和項目文件,以使桌面上的內容保持整潔。然后打開一個新的終端窗口并運行以下命令以在名為目錄的目錄中創建一個新的Gatsby站點tutorial-part-three,然后移至該新目錄:
安裝和配置 gatsby-plugin-typography
使用插件有兩個主要步驟:安裝和配置。
1、安裝gatsby-plugin-typographynpm軟件包。
npm install gatsby-plugin-typography react-typography typography typography-theme-fairy-gates
注意:Typography.js需要一些其他軟件包,因此這些軟件包包含在說明中。每個插件的“安裝”說明中都會列出類似的其他要求。
2、gatsby-config.js將項目根目錄中的文件編輯為以下內容:
這gatsby-config.js是Gatsby會自動識別的另一個特殊文件。您可以在此處添加插件和其他站點配置。
3、Typography.js需要一個配置文件。utils在src目錄中創建一個新目錄。然后添加一個名為新的文件typography.js到utils與以下復制到文件:
4、啟動開發服務器。
gatsby develop
加載網站后,如果您使用Chrome開發人員工具檢查生成的HTML,您會發現版式插件將一個style元素head及其生成的CSS添加到該元素中:
content進行一些內容和樣式更改
將以下內容復制到您src/pages/index.js的文檔中,以便更好地查看Typography.js生成的CSS的效果。
您的網站現在應如下所示:
讓我們進行快速改進。許多站點在頁面中間居中顯示一列文本。要創建此樣式,請在div中添加以下樣式src/pages/index.js。
您已經安裝并配置了第一個Gatsby插件!
創建布局組件
現在讓我們繼續學習布局組件。為了準備好這一部分,請在項目中添加幾個新頁面:“關于”頁面和“聯系”頁面。
讓我們來看看有關頁面的新外觀:
如果兩個新頁面的內容像索引頁面一樣居中,那就太好了。擁有某種全局導航會很好,因此訪問者可以輕松找到并訪問每個子頁面。
您將通過創建第一個布局組件來解決這些更改。
創建您的第一個布局組件
1、在創建新目錄src/components。
2、在以下位置創建一個非常基本的布局組件src/components/layout.js:
3、將此新的布局組件導入到src/pages/index.js頁面組件中:
太好了,布局正在工作!索引頁面的內容仍居中。
但是,請嘗試導航到/about/或/contact/。這些頁面上的內容仍不會居中。
在about.js和中導入布局組件contact.js(如上index.js一步中所述)。
有了這個單一的共享布局組件,您所有三個頁面的內容都居中!
添加網站標題
1、將以下行添加到新的布局組件:
如果您轉到三個頁面中的任何一個,您都會看到添加了相同的標題,例如about頁面:
在頁面之間添加導航鏈接
1、將以下內容復制到布局組件文件中:
在那里,您擁有了!一個三頁的站點,具有基本的全局導航。
挑戰:使用新的“布局組件”功能,嘗試向Gatsby網站添加頁眉,頁腳,全局導航,側邊欄等!
使用視頻
從主機采購視頻
在Gatsby網站上添加視頻的最簡單方法是從Yo*Tub*,Vimeo或Twitch等網站獲取上傳的文件。使用這些主機之一的源URL,您可以使用Remark插件或創建自定義iframe解決方案以將視頻嵌入到Gatsby站點中。
在Markdown中嵌入托管視頻
Markdown帖子和頁面中有許多用于處理托管視頻的Gatsby插件。我們建議您查看gatsby-remark-embed-video插件,以從Yo*Tub*或Vimeo等各種主機進行采購。
為托管視頻編寫自定義組件
如果您想進一步控制Yo*Tub*(或類似的)視頻如何嵌入到Gatsby帖子和頁面中,可以編寫一個可重用的自定義iframe組件,并將其包含在JSX模板中或包含在MDX的內容中。
在此可重用的示例組件中,您可以包括視頻數據的道具,例如URL或標題,用于樣式目的的任何必要標記以及常見的iframe嵌入代碼:
然后,您可以將此組件包含在模板或頁面中,并帶有視頻源URL和標題作為道具傳遞。視頻URL和標題的數據可以多種方式獲得,例如導入JSON或使用GraphQL從Markdown查詢視頻數據。您還可以將視頻數據硬編碼為有趣的內容,例如帶有復活節彩蛋Yo*Tub*視頻的自定義404頁面:
使用GraphQL從Markdown查詢視頻數據
如果Markdown頁面或帖子具有精選視頻,則可能需要在其前題中包括視頻URL和標題。這使您可以將這些值傳遞到自定義組件中: