Digitalt Design,
3. semester
npm create astro@latest .
npm create astro@latest .
Tryk punktum for at vælge mappen, du har åbnet i VS Code
npm create astro@latest
Astro-components
---
---
<article>
<h2></h2>
<p></p>
</article>
<style>
article {...}
</style>
<script>
...
</script>
Astro-components og pages
---
---
"Frontmatter"
import "../styles/global.css"
---
---
import "../styles/global.css"
import Component from "../components/Component.astro"
Importer stylesheet
Astro-components og pages
---
---
import "../styles/global.css"
import Component from "../components/Component.astro"
const { prop } = Astro.props;
Importer component
Astro-components og pages
---
---
import "../styles/global.css"
import Component from "../components/Component.astro"
const { prop } = Astro.props;
Saml props op
const now = new Date();
const localTime = now.toLocaleTimeString("da-DK");
Astro-components og pages
---
---
import "../styles/global.css"
const { prop } = Astro.props;
JavaScript, build time
const now = new Date();
const localTime = now.toLocaleTimeString("da-DK");
Astro-components og pages
---
---
<p>Hej, klokken er {localTime}</p>
import "../styles/global.css"
const { prop } = Astro.props;
JavaScript, build time
const now = new Date();
const localTime = now.toLocaleTimeString("da-DK");
Hvad var klokken, der jeg byggede siden (statisk)
Astro-components og pages
Props
---
const { title, description } = Astro.props;
---
<article>
<h2>{title}</h2>
<p>{description}</p>
</article>
Saml props op
Props
---
const { title, description } = Astro.props;
---
<article>
<h2>{title}</h2>
<p>{description}</p>
</article>
Saml props op
---
import Card from "../components/Card.astro";
---
<Card
title="Jeg er en overskrift"
description="Jeg er en beskrivelse"
/>
Send props til Card-component
Props
---
import Card from "../components/Card.astro";
---
<Card
title="Jeg er en overskrift"
description="Jeg er en beskrivelse"
/>
<Card
title="Jeg er anderledes"
description="Også mig..."
/>
Scoped styles
---
const { title, description } = Astro.props;
---
<article>
<h2>{title}</h2>
<p>{description}</p>
</article>
<style>
h2 {
color: red;
}
</style>
Scoped styling
<Button
variant="primary">
Log in
</Button>
<Button
variant="primary"
size="medium">
Log in
</Button>
---
const { variant, size } = Astro.props;
---
<button data-variant={variant} data-size={size}>
<slot />
</button>
<style>
[data-variant="primary"] { ... }
[data-size="medium"] { ... }
</style>