Astro Cactus は、Astro フレームワークで構築されたシンプルで独自のスターターです。使いやすいブログやウェブサイトの作成にご活用ください。
Netlify でホストされているデモをチェックしてください
このテンプレートから新しいリポジトリを作成します。
# npm 7+
npm create astro@latest -- --template chrismwilliams/astro-theme-cactus
# pnpm
pnpm dlx create-astro --template chrismwilliams/astro-theme-cactus
pnpm を選択した npm/yarn に置き換えます。
指示 | アクション |
---|---|
pnpm install | 依存関係をインストールします |
pnpm dev | localhost:3000 でローカル開発サーバーを起動します |
pnpm build | 運用サイトを./dist/ に構築します。 |
pnpm postbuild | ブログ投稿の静的検索を構築するための Pagefind スクリプト |
pnpm preview | デプロイする前にビルドをローカルでプレビューする |
pnpm sync | src/content/config.ts の構成に基づいてタイプを生成します。 |
src/site.config.ts
を編集します。astro.config.ts
を更新する/public
フォルダー内のファイルを置換および更新します。src/styles/global.css
独自の明るいスタイルと暗いスタイルで変更します。src/site.config.ts
にあります。ここでその他のテーマとオプションを見つけることができます。src/components/SocialList.astro
のソーシャル リンクを編集して、メディア プロファイルを追加/置換します。 Astro Icon の説明に従って、アイコンは @ icones.js.org で見つけることができます。src/content/post/
およびsrc/content/note/
内でブログの投稿とメモを作成/編集します。詳細については、以下を参照してください。src/pages/og-image/[slug].png.ts
を開いてマークアップ関数を開き、必要に応じて html/tailwind-classes を編集できます。 。このプレイグラウンドを使用してデザインを支援できます。src/content/post/social-image.md
にあります。フロントマターの詳細については、こちらをご覧くださいsrc/styles/global.css
にあるフォント ファミリfont-mono
に設定します。フォントを変更するには、バリアントfont-mono
を削除します。その後、TailwindCSS はデフォルトでfont-sans
フォント ファミリ スタックを使用します。 テンプレートをフォークした場合は、そのフォークを自分のプロジェクトと同期できます。自分のプロジェクトが失われるため、「変更の破棄」をクリックしないように注意してください。
テンプレート リポジトリがある場合は、ここで説明するように、このテンプレートをリモートとして追加できます。
このテーマは、コンテンツ コレクションを利用してローカルの Markdown および MDX ファイルを整理し、スキーマ -> src/content/config.ts
を使用してフロントマターの型チェックを行います。
投稿/メモの追加は、.md(x) ファイルをsrc/content/post
やsrc/content/note
フォルダーに追加するだけで簡単です。そのファイル名はスラッグ/URL として使用されます。このテンプレートに含まれる投稿は、フロントマターを構成する方法の例として提供されています。さらに、Astro ドキュメントにはマークダウン ページに関する詳細なセクションがあります。
プロパティ (* 必須) | 説明 |
---|---|
タイトル * | 説明不要です。投稿へのテキスト リンク、投稿ページの h1、およびページのタイトル プロパティとして使用されます。最大長は 60 文字で、 src/content/config.ts で設定されます。 |
説明 * | 上記と同様に、SEO 説明プロパティとして使用されます。最小長は 50 文字、最大長は 160 文字で、ポスト スキーマで設定されます。 |
公開日 * | これも非常にシンプルです。日付形式/ロケール (現在はen-GB )を変更するには、 src/site.config.ts の日付オプションを更新します。必要に応じて、コンポーネント<FormattedDate> に追加のオプションを渡すこともできることに注意してください。 |
更新日 | これは、投稿がいつ更新されたかを表すオプションの日付で、publishDate と同じ形式です。 |
タグ | タグは作成された投稿ではオプションです。新しいタグはyourdomain.com/posts およびyourdomain.com/tags に表示され、 yourdomain.com/tags/[yourTag] ページが生成されます。 |
表紙画像 | これは、投稿の上部にカバー画像を追加するオプションのオブジェクトです。 src : " path-to-image " とalt : " image alt " の両方を含めます。 src/content/post/cover-image.md で例を確認できます。 |
OG画像 | これはオプションのプロパティです。このプロパティが提供されていない投稿ごとに、OG 画像が自動的に生成されます。特定の投稿用に独自の投稿を作成したい場合は、このプロパティと画像へのリンクを含めると、テーマは画像の自動生成をスキップします。 |
下書き | スキーマではデフォルトで false に設定されているため、これはオプションのプロパティです。 true を追加すると、投稿はさまざまな場所で実稼働ビルドから除外されます。 getAllPosts() 呼び出し、OG イメージ、RSS フィード、および生成されたページ。 src/content/post/draft-post.md で例を表示できます。 |
プロパティ (* 必須) | 説明 |
---|---|
タイトル * | 文字列、最大長は 60 文字。 |
説明 | ヘッドメタディスクリプションプロパティに使用されます。 |
公開日 * | オフセットが許可された ISO 8601 形式。 |
Astro Cactus には、投稿とメモのフロントマター「スタブ」を作成する便利な VSCode スニペットが含まれています。ここにあります -> .vscode/post.code-snippets
。新しく作成した .md(x) ファイルにfrontmatter
単語を入力してトリガーします。 Visual Studio Code スニペットは、Mac では (⌃Space)、Windows では (Ctrl+Space) を使用して IntelliSense に表示されます。
この統合により、ブログ投稿やメモを検索するための静的検索機能が提供されます。現在の形式では、pagefind はサイトが構築された後にのみ機能します。このテーマは、Astro がサイトを構築した後に実行するポストビルド スクリプトを追加します。ビルドとポストビルドの両方を実行すると、ローカルでプレビューできます。
検索結果には、投稿とメモのページのみが含まれます。他のページまたはすべてのページを含めたい場合は、 src/layouts/BlogPost.astro
およびsrc/components/note/Note.astro
にある記事タグの属性data-pagefind-body
削除または再配置します。
また、ブログ投稿の前付けに追加されたタグで投稿をフィルタリングすることもできます。これを削除したい場合は、 src/components/blog/Masthead.astro
のリンクからデータ属性data-pagefind-filter="tag"
を削除します。
この統合を含めたくない場合は、コンポーネントsrc/components/Search.astro
を削除し、 @pagefind/default-ui
とpagefind
の両方を package.json からアンインストールします。ここからポストビルド スクリプトも削除する必要があります。
ここで示すように、Web コンポーネント スタイルを遅延読み込みすることで、CSS の初期 CSS ペイロードを減らすことができます。
傾向や作成した人気の投稿/ページを理解するために、ブログ/Web サイトへの訪問者数を追跡したい場合があります。 vercel、netlify、cloudflare などの Web ホストを含む、使用できるプロバイダーが多数あります。
人によっては使用される場合と使用されない場合がある多くのユースケースやオプションがあるため、このテーマ/テンプレートには特定の解決策は含まれていません。
Web サイトの設定時に、Web サイトのHEADタグ内にスニペットを含めるよう求められる場合があります。スニペットはsrc/layouts/Base.astro
にあります。あるいは、 src/components/BaseHead.astro
にスニペットを追加することもできます。
Astro ドキュメントには、さまざまなプラットフォームとその特異性上に独自の Astro サイトをデプロイする方法についての優れたセクションと詳細が記載されています。
デフォルトでは、サイトは/dist
ディレクトリに構築されます (上記の「コマンド」セクションを参照)。
このテーマは Hexo テーマ Cactus からインスピレーションを得たものです
マサチューセッツ工科大学