Publish 소개

Swift로 Static Site 만들기

What is Publish

Publish는 John Sundell님이 만든 정적사이트 생성기 입니다.
Markdown Parser인 Ink와 Swift에서 HTML, XML, RSS를 작성하기 위한 DSL인 Plot을 사용합니다.

Swift Package로 제공되기 때문에 Package.swift 에 Dependency로 추가하여 사용할 수 있습니다.

let package = Package(
    ...
    dependencies: [
        .package(url: "https://github.com/johnsundell/publish.git", from: "0.9.0")
    ]
    ...
)

Publish에서 제공하는 CLI를 설치할 때 HomeBrew를 지원하며, 깃허브로 따로 설치할 수도 있습니다.

brew install publish

또는 깃허브에서

$ git clone https://github.com/JohnSundell/Publish.git
$ cd Publish
$ make

이렇게 설치하면 됩니다.

이제 시작할 때

$ mkdir Example
$ cd Example
$ publish new

명령어를 이용하면?

이렇게 파일이 생성이 됩니다.

$ publish run

위 명령어를 통해서 웹사이트를 실행시키면

publish에서 제공하는 기본 화면이 보이게 됩니다.

실행 시키고 나면, Output 폴더가 생기게 됩니다.

그리고 내용 같은 경우는 Content 폴더 안에서 입력이 가능합니다.
일단 방금 만든 예시로, 첫번째 post 파일을 수정해 보겠습니다.

이렇게 수정하고 다시 빌드 해보면?

이렇게 내용이 잘 적용이 된것을 확인 할 수 있습니다.

그리고 글 추가 같은 경우는 markdown File 하나만 만들면 됩니다. (간단하죠?)

이렇게 글을 추가해 주면 됩니다.

그러면 추가된 글 까지 보이게 되죠,

글을 적는 방법을 알아볼까요?

---
date: 2023-08-25 17:09
description: Welcome to publish.
tags: publish, web, static site
---

markdown file 위에 정보를 입력해줍니다.
date는 언제 이 글을 작성했는지를 보여주고, description은 글에 대한 짧은 설명을 적습니다.

그리고 publish 에서는 tag기능을 제공합니다. 저기에 tag를 적어두면?

이렇게 https://localhost:8000/tags에 tag들이 추가 되고, tag를 누르면?

tag를 가지고 있는 글들을 조회할 수도 있습니다.


이번 글에서는 간단하게 publish에 대해서 소개하는 글을 적어봤습니다.
와글와글때 발표했던 내용이랑 중복되는 부분이 많았지만.. 다음 글에서는 publish 커스텀하는 방법, publish로 작성한 글 deploy 하기 등등 publish는 시리즈로 진행할 예정입니다.