原文連接:https://ssshooter.com/2018-12...javascript
回顧:使用 Gatsby.js 搭建靜態博客 2 實現分頁css
爲了測試樣式,隨便找一個之前的 .md
文件粘貼到 blog 項目中渲染看看效果:html
emmm,問題大了,必備的代碼高亮都沒有...java
可是當我審查元素時發現,這居然是已經被分詞的狀態,又通過一系列的資料蒐集,發現 prismjs 已經預裝到項目中,那麼咱們要作僅僅是引入css文件就好了。node
import 'prismjs/themes/prism-TWILIGHT.css'
成功添加樣式!固然,除了 TWILIGHT,prismjs 還有其餘樣式如 COY、OKAIDIA 等,還有其餘能夠看官網右側的選項。git
大問題解決了而後就按照本身喜愛調整樣式吧~github
typography.js
你能夠經過在 src/utils/typography.js
中的 overrideThemeStyles
添加全局樣式(固然,其更重要的做用是覆蓋原有的主題樣式)。npm
不過比較麻煩的是:segmentfault
// 這是一個 🌰 Wordpress2016.overrideThemeStyles = () => ({ 'a.gatsby-resp-image-link': { boxShadow: 'none', }, 'h1, h2, h3, h4, h5, h6': { fontWeight: 100, }, h1: {}, img: { background: '#fff', padding: '5px', }, body: { backgroundColor: $backgroundColor, color: $fontColor, fontFamily: 'source-han-sans-simplified-c, sans-serif', fontWeight: 400, fontStyle: 'normal', }, })
除了修改 typography.js
,你還能夠添加全局 CSS 文件。sass
由於預想到將來可能須要修改主題,方便起見應該將一些經常使用顏色存爲變量,因此須要先安裝 scss 和 gatsby 對應插件:
npm install --save node-sass gatsby-plugin-sass
並在插件列表添加插件 gatsby-plugin-sass
參考 https://github.com/gatsbyjs/g...
再次運行項目,此時已經能夠正常引入 scss 文件。
$backgroundColor: #434343; $titleColor: #E87A90; body { background-color: $backgroundColor; } .css-title{ color: $titleColor; }
css-title 這種命名方式或許很非主流,可是,不知道你們有沒有這樣的經歷,在全局搜索時,搜一個經常使用詞,就好比 title
,會搜出一大堆東西影響判斷。因此我以 css-title 命名的目的是區分其餘 title,在搜索 css-title 絕對不會出如今 js 中使用的變量,在特殊狀況須要全選修改的時候能夠輕鬆無坑地全選此 class。
其實實際上仍是要兩種方法都用上,由於有的地方須要覆蓋原來的樣式,這個時候最好用 js,而自定義的樣式常常須要嵌套,使用 scss 更方便。
明明開發環境好好的,可是打包後卻出現了樣式不正常的問題(第一次加載全局css失效,刷新纔出現效果)。在 github 提了個 issue,獲得了熱心回答,真的感人 😭。簡單來講這個問題就是上面說的最好用 js 覆蓋原來樣式的緣由。➡️傳送門
字體對於中文用戶是永遠的痛。字符量大致使字體的體積大得可怕,嚴重影響用戶體驗。使用網絡字體是其中一個方法(可是本質來講體積仍是沒有減少的,只是提供商能夠爲你高速提供字體,減小用戶等待)。