粥壊岳姻看で床議サイトを更廏する

n-ozawan

峻さん、こんにちは。室宝蝕kグル`プの稼-看噛温敬温稼です。
乙看看乙鉛艶で仝繁伏、嚴帑、すべての基え々と碧すると仝42々が卦ってきます。ちなみに、崕を42指孵ると埖に曙きます。

云籾です。
Astroをご贋じでしょうか心_岳姻看とはSSG(Static Site Generator)の1つで、その兆の宥り床議サイトを伏撹するフレ`ムワ`クです。恷弌のステップで互堀で燕幣されるサイトがBできることから、ここ恷除繁櫃魑辰討い泙后書指はそんなAstroについて盾hしつつ、Markdownを床議サイトにQする圭隈をB初します。

Astro

粥壊岳姻看とは

粥壊岳姻看とはSSG(Static Site Generator)の1つです。SSGはReactなどの隈から、床議なWebサイト(HTML)を伏撹するフレ`ムワ`クのことで、Astroの麿にNext.jsやGatsbyなどが嗤兆です。Astroの蒙罿碗塹造陵┐蠅任后

  • アイランドア`キテクチャを駻辰靴討い
  • 檎艶温界岳や閣顎艶などのフレ`ムワ`クを旋喘して床議サイトを伏撹することが竃栖る
  • クライアント迦でI尖される干温厩温皆界姻庄沿岳を自薦受らすことにより、燕幣堀業が堀くなる
  • 珂温姻一糸看敬稼などのコンテンツを砿尖することが竃栖る
  • 巷塀ドキュメントが割gしており、晩云囂にも鬉靴討い

アイランドア`キテクチャとは

アイランドア`キテクチャは、Etsyのフロントエンドア`キテクトであるKatie Sylor-Miller箆によって2019定に深宛されたア`キテクチャです。アイランドア`キテクチャは、1つペ`ジ坪に床議に燕幣するI囃と、啜弔鳳輅召垢謗I囃を協xして、燕幣I尖を恷m晒する返隈です。

ウェブサイトの燕幣がWい勣咀は?ですが、その1つに干温厩温皆界姻庄沿岳のI尖があげられます。アイランドア`キテクチャは床議な糟囃と強議な糟囃、つまり、干温厩温皆界姻庄沿岳が音勣な糟囃と駅勣な糟囃に蛍けることにより、パフォ`マンスを恷癖晒しているのです。

粥壊岳姻看で珂温姻一糸看敬稼を燕幣する

蝕k桟廠の更廏

參和のコマンドをg佩することにより、粥壊岳姻看のプロジェクトが徭強議に伏撹されます。コマンドg佩扮にいくつか嵎諒されますので、徭附の蝕kに冽った指基すれば或悪です。

npm create astro@latest

更廏朔、npm run devにより、粥壊岳姻看の蝕kサ`バ`を軟強することが竃栖ます。粥壊岳姻看のコ`ドを園鹿しつつ、蝕kサ`バ`でその筝をリアルタイムで鳩範することが竃栖ます。

匯桑酒gに珂温姻一糸看敬稼を燕幣する圭隈

ではg縞に珂温姻一糸看敬稼をiみzんでブラウザ鮫中に燕幣してみましょう。src/pagesexample.mdを鯉追してください。example.mdの坪否は參和の宥りです。

---
layout: '../layouts/Layout.astro'
title: 'Markdownペ`ジ'
---
# タイトル

## 古勣

これは**Markdown**でかれたペ`ジです。

## ほげ

これは**ほげ**の朕です。

## ふ`

これは**ふ`**の朕です。

## ば`

これは**ば`**の朕です。

<style>
html {
  background: #ffffff;
}
</style>

ブラウザにてhttp://localhost:4321/exampleにアクセスすると參和の鮫中が燕幣されます。

蒙艶なコ`ドを芝峰することなく、*.mdファイルのみで珂温姻一糸看敬稼の嶄附をブラウザに燕幣することが竃栖ました。珂温姻一糸看敬稼喘のスタイルを癖喘していないので龍櫃覆い發里砲覆辰討い泙垢、スタイルをsrc/layouts/Layout.astroに協吶することで徭蛍挫みにカスタマイズすることが竃栖ます。

珂温姻一糸看敬稼を徭蛍挫みにカスタマイズして燕幣する

もう富し徭蛍挫みにカスタマイズしましょう。箭えば、珂温姻一糸看敬稼の朕肝を鮫中嘔迦に燕幣してみます。src/pagesmdview.astroを鯉追します。mdview.astroの坪否は參和の宥りです。

---
import type { MarkdownInstance } from "astro";
import Layout from "../layouts/Layout.astro";

const posts: MarkdownInstance<Record<string, any>>[] =
  await Astro.glob<Record<string, any>>("./example.md");
const post = posts[0];
---

<Layout title="Markdown">
  <div class="container">
    <div class="markdown">
      <post.Content />
    </div>
    <ul class="loc">
      {post.getHeadings().map((heading) => <li>{heading.text}</li>)}
    </ul>
  </div>
</Layout>

<style>
  html {
    background: #ffffff;
  }
  .container {
    display: flex;
  }
  .markdown {
    width: 100%;
  }
  .loc {
    border: 1px solid;
    width: 120px;
  }
</style>

1佩朕から8佩朕までの---で豫まれた佩は、燕幣に駅勣な干温厩温皆界姻庄沿岳のコ`ドを芝峰します。5、6佩朕でexample.mdをiみzんでいます。iみzんだ珂温姻一糸看敬稼はposts[0].Contentを歌孚することで燕幣することが辛嬬です。また、posts[0].getHeadings()により、その珂温姻一糸看敬稼の需竃しを函誼することが竃栖ます。

堰意珂晦嶄に干温厩温皆界姻庄沿岳のI尖を托めzみたい魁栽は{}で譴澆泙后このxは干皆掛に貌ていますが、匯何、干皆掛とは呟なるところもありますので廣吭が駅勣です。袁犬呂鬚竿携呂ださい。

床議サイト(堰意珂晦)を伏撹する

恷朔にnpm run buildをg佩することにより、鞄岳馨鉛が伏撹されます。伏撹された堰意珂晦を需てみると、干温厩温皆界姻庄沿岳のコ`ドが匯俳ありません。すべてが堰意珂晦もしくは遺皆皆で更撹されているため、互堀な燕幣が豚棋竃栖ます。

おわりに

酒gではありましたが粥壊岳姻看についてお三ししました。堰意珂晦や遺皆皆、干温厩温皆界姻庄沿岳を岑っている繁であれば、蒙に離才湖を湖じることなく兵められると房います。もちろん、粥壊岳姻看蒙嗤の碧を岑る駅勣もありますが、巷塀サイトのドキュメントが晩云囂に鬉靴討り割gしていますので、蒙に是ることもありませんでした。ランニングコストが詰いのも帆Δ任垢茲諭

ではまた。


Recommendおすすめブログ