PublishのためのSwiftPygmentsプラグイン
PublishのためのSwiftPygmentsプラグイン
Splashとそのオフィシャルプラグイン はPublishでSwiftコードのHighlightに使われている。
しかし、Swift以外のコードを書く人は沢山いるため、多様な言語に対応するSwiftPygmentsPublishPluginを作成した。
SwiftPygmentsPublishPlugin
PublishのためのコードにHighlight(色)をつけるプラグインである。
Pygmentsは多様なコードのHighlightができるPythonのLibraryである。
要件
Python
Pygments
: https://pygments.orgSwift 5
- cssファイルにPygmentsのためのカラースキーム
SwiftPygmentsはPythonKit
を経由してPygmentsを使っている。
インストール
- OSにPythonがない場合は、Pythonをインストールする。
Pygments
がない場合は,Pygments
をインストールする:
1
$ pip3 install pygments
- サイトのPackageに
SwiftPygmentsPublishPlugin
を追加する:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let package = Package(
...
dependencies: [
.package(url: "https://github.com/Ze0nC/SwiftPygmentsPublishPlugin", .branch("master"))
],
targets: [
.target(
...
dependencies: [
...
"SwiftPygmentsPublishPlugin"
]
)
]
...
)
使い方
- サイトのpublishパイプラインに
.pygments()
を追加する。
SwiftPygmentsPublishPlugin
はaddMarkdownFiles()
の前にインストールしないといけない。
1
2
3
4
5
6
7
8
import SwiftPygmentsPublishPlugin
...
try MyWebsite().publish(using: [
.installPlugin(.pygments()),
...
.addMarkdownFiles(),
...
])
- cssファイルにPygmentsのカラースキームを追加する。ネットで沢山あります。
- コードを書く。
Markdownファイルで、コードの言語をバックチックの後に指定する。
Swift
1
2
3
4
```swift
let str = "This is Swift code."
print(str)
```
出力:
1
2
let str = "This is Swift code."
print(str)
Python
1
2
3
4
```python
str = "This is also Swift code."
print(str)
```
出力:
1
2
str = "This is also Swift code."
print(str)
指定しない
言語が指定されてない場合は、swift
として処理する。
1
2
let str = "This is also Swift code."
print(str)
LaTeXまでもできる。
1
2
3
4
5
6
```latex
\documentclass[12pt]{article}
\begin{document}
This is \LaTeX
\end{document}
```
出力:
1
2
3
4
\documentclass[12pt]{article}
\begin{document}
This is \LaTeX
\end{document}
注意点
このプラグインはコードブロックのみを処理する。