1FreeHosting logoFreeHosting

静的ホスティングに最適な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と非公開の引き継ぎリンクが発行されます。

  1. 01

    サイトを作成

    EmDashのセットアップを開始し、実行環境にNode.js、テンプレートにStarterを選びます。その後ローカルサーバーを起動します。

    npm create emdash@latest
    cd my-emdash-site
    npm run dev
  2. 02

    コンテンツを書く

    ブラウザでエディターを開き、セットアップウィザードを完了して、投稿やページを作成・編集します。Publish changesを押すのを忘れずに。下書きは非公開のままです。

    http://localhost:4321/_emdash/admin
  3. 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)
    ---
  4. 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のドキュメントでテンプレート、コレクション、プラグインについてご覧ください。