Gatsbyでシンタックスハイライトをキメるまでの手順
Gatsby 上でシンタックスハイライトをきかせる
gatsby-starter-blog
を使用している場合、
余計な設定は不要で使用可能。
4.
,5.
だけ読んどいたほうがいいかも。
1. 以下のモジュールをインストールする
prismjs
gatsby-remark-prismjs
gatsby-remark-prismjs-title
npm install -S prismjs gatsby-remark-prismjs gatsby-remark-prismjs-title
2. gatsby-config.js
の書き換え
※ gatsby-starter-blog
を使用しているのでこの手順はスキップ可能。
resolve: `gatsby-transformer-remark`,
options: {
plugins: [
`gatsby-remark-prismjs-title`,
`gatsby-remark-prismjs`,
]
},
3. gatsby-browser.js
の書き換え
Prism を参考に好きなテーマで設定します。
例えばデフォルトなら、
// Highlighting for code blocks
import "prismjs/themes/prism.css"
例えばTomorrownight
を適用させたいなら、
// Highlighting for code blocks
import "prismjs/themes/prism-tomorrow.css"
みたいな感じです。
4. ハイライトにタイトルをつける
ここまで正常に設定できていると、
これが
python:title=aiueo
gatsby develop
するとこうなります。
<div class="gatsby-code-title">
<span>aiueo</span>
</div>
これに対してスタイルシートを設定していきます。
なんでもいいのでimport
している CSS を書き換えます。
今回は、style.css
に全部ぶち込んでいるのでここに書きます。
ここはテーマに合わせて好きなように書き換えましょう。
.gatsby-code-title {
background: #F5F2F0;
color: #000;
font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
margin: 20px 0px -24px;
padding: 8px 1rem 20px;
font: size 1em;
line-height: 1;
display: table;
}
5. 記事がハイライトされ…ないときの Tips
Q. ここまでちゃんと設定したはずなのにシンタックスハイライトが効きません…
A. Markdown の書き方がおかしい可能性があります。
例えば、
python :aiueo
ではタイトルもつかないしシンタックスハイライトもつかないので
python:title=aiueo
とする。
ハイライトしたい言語のあとにスペースを挿入しないのがコツ。
できあがり
参考
GatsbyJS で作っているブログでシンタックスハイライトが適用されるようにした キクナントカドットコム
GatsbyJS ブログのコードブロックにタイトルと指定行のハイライトを追加した のふのふろぐ
Author And Source
この問題について(Gatsbyでシンタックスハイライトをキメるまでの手順), 我々は、より多くの情報をここで見つけました https://qiita.com/sotono/items/48ba33f05444fec70888著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .