静的ホスティングに最適なCMSは EmDash
投稿やページを書くためのわかりやすいエディターと、訪問者のためのシンプルで高速なHTML。自分のパソコンでEmDashを使って書き、完成したサイトをHarvisで無料公開しましょう。
EmDashを選ぶ理由
Astroベース
EmDashは、ページを軽量なHTMLに変換するフレームワーク「Astro」のために作られています。まさに静的ホストが最も得意とする形です。
本格的なエディター
投稿、ページ、メディア、メニュー、下書き、リビジョン、予約公開。WordPressユーザーにおなじみの編集画面を、PHPサーバーなしで使えます。
AIエージェント対応
EmDashにはMCPサーバーが付属しているので、Claude、Cursorなどのエージェントがコンテンツの下書き・編集・検索を代わりに行えます。
無料・オープンソース
ライセンス料もロックインもありません。コマンド1つで始められ、内蔵のWordPressインポーターで過去の投稿も移行できます。
EmDashと静的ホストの組み合わせ方
EmDashは通常、編集者がコンテンツをその場で変更できるようサーバー上で動かします。Harvisのような静的ホストにはサーバーがないため、使い方を少し変えます。エディターは自分のパソコンに置いたまま、完成したページだけを公開するのです。
EmDashのエディターでコンテンツを書いて公開し、すべての公開ページがシンプルなHTMLとして保存されるようにビルドして、そのフォルダをアップロードします。訪問者にはデータベースのない高速なファイルが届きます。ハッキングされる心配も、パッチ当ても、サーバー代もありません。
EmDashのサイトをHarvisで公開する
Node.js 22.16以降が必要です。公開にHarvisのアカウントは不要で、公開URLと非公開の引き継ぎリンクが発行されます。
- 01
サイトを作成
EmDashのセットアップを開始し、実行環境にNode.js、テンプレートにStarterを選びます。その後ローカルサーバーを起動します。
npm create emdash@latest cd my-emdash-site npm run dev
- 02
コンテンツを書く
ブラウザでエディターを開き、セットアップウィザードを完了して、投稿やページを作成・編集します。Publish changesを押すのを忘れずに。下書きは非公開のままです。
http://localhost:4321/_emdash/admin
- 03
プリレンダリングを有効にする
公開する各ページに export const prerender = true を追加すると、Astroがビルド時にHTMLとして保存します。名前に[slug]を含むページには、保存する投稿を列挙する getStaticPaths も必要です。
--- // src/pages/posts/[slug].astro import { getEmDashCollection, getEmDashEntry } from "emdash" export const prerender = true export async function getStaticPaths() { const { entries } = await getEmDashCollection("posts") return entries.map((post) => ({ params: { slug: post.id } })) } const { entry: post } = await getEmDashEntry("posts", Astro.params.slug) --- - 04
ビルドして公開
サイトをビルドし、dist/client フォルダをアップロードします。このフォルダに完成したHTML、CSS、画像が入っています。Harvisが公開URLと引き継ぎリンクを表示します。
npm run build npx hosting deploy dist/client
サイトを更新する
いつも通りEmDashで編集し、もう一度ビルドして公開します。アップロードが終わると、変更が公開サイトに反映されます。
npm run build npx hosting deploy dist/client
静的サイトでは使えないもの
- エディター(/_emdash/admin)とEmDashのAPIは自分のパソコンに残ります。SQLiteデータベースと .env ファイルはバックアップしておきましょう。
- EmDashのメディアライブラリの画像はAPI経由で配信されるため、静的フォルダには含まれません。サイトの画像は public/ フォルダに置いてください。
- リアルタイム検索、コメント、フォーム、ログインにはサーバーが必要です。省くか、外部サービスを利用してください。
- Harvisの制限も適用されます:1プロジェクトあたり50 MB、1サイトあたり500ファイル。引き継がれていないサイトは最後のデプロイから24時間後に期限切れになります。
詳しく知りたい方はEmDashのドキュメントでテンプレート、コレクション、プラグインについてご覧ください。