Publishをインストールして使ってみる
Publishのインストール
% brew install publish
Publishの初期設定
Packageの作成
% makedir <Package名>
% cd <Package名>
% publish new
Package.swiftをXcodeで開く
Sources/<Package名>/main.swift
を編集する
struct <Package名>: Website {
enum SectionID: String, WebsiteSectionID {
case posts
}
struct ItemMetadata: WebsiteItemMetadata {
// Add any site-specific metadata that you want to use here.
}
var url = URL(string: "<サイトのURL>")!
var name = "<サイト名>"
var description = "<サイト詳細>"
var language: Language { .japanese }
var imagePath: Path? { nil }
}
try <Package名>().publish(using: [
.addMarkdownFiles(),
.generateHTML(withTheme: .picolon),
.copyResources(),
.sortItems(by: \.date, order: .descending),
.generateRSSFeed(including: [.posts]),
.generateSiteMap(),
])
サイトの確認
コマンド実行
% publish run
Publishing <サイト名> (6 steps)
[1/6] Copy 'Resources' files
[2/6] Add Markdown files from 'Content' folder
[3/6] Sort items
[4/6] Generate HTML
[5/6] Generate RSS feed
[6/6] Generate site map
✅ Successfully published <サイト名>
🌍 Starting web server at http://localhost:8000
生成されたファイルの確認
Outputフォルダ内に生成され、ローカルホストで確認できる。
http://localhost:8000
Github Pagesへのデプロイ
Sources/<Package名>/main.swift
に追記する
try <Package名>().publish(using: [
…
// 追記
.deploy(using: .gitHub("<user>/<repository>", branch: "main", useSSH: true))
])
コマンド実行
% publish deploy
[1/1] Deploy using Git (git@github.com:<user>/<repository>.git)
✅ Successfully published <サイト名>