Using Blocks

Ready to use blocks and page building.

Banner
Colleagues
Content
Cta
Features
Footer
Header
Hero
Intro1
Logos
Content
Reviews
images
pages
presets
Using components
Avatar
Badge
Badges

A utility component for displaying multiple badges.

Button
Buttons

A utility component for displaying multiple buttons.

Channel
Channels

A utility component for displaying multiple channels.

Checkbox
Heading
Icon
Image

A wrapper around the Astro Image component with conditional rendering.

Input
Label
Link
Links

A utility component for displaying multiple links.

List
Logo
Menu
Paragraph
Rating
Select
Social
Socials

A utility component for displaying multiple socials.

Switch
Tagline
Textarea
Customization

Customize styles and components.

Integrating frameworks

Compatible with all JS and CSS frameworks.

Introduction

Everything you need to rapidly build content-driven websites. Components, blocks, layouts and complete page generation.

Installation
Doc

For documentation pages, just like this one.

Page

For marketing pages, just like the home page.

Generating Pages

Go a step further than just using components.

Using Structures

Build consistent blocks and layouts with structures.

Card

A box with a border, padding and rounded corners

Carousel
Code

Enhanced code component with live preview.

Container

Sets a max-width, padding and centers the content

Drawer

A panel that slides out from the side of the screen

Group

Group buttons and similar components

Container

Sets a head, body and some base styles

Masonry

Places items like cards in a masonry layout

Matrix

Places items like cards in a grid

Panel

A box with a border, padding and rounded corners used for sections

Prose

Applies styling to child components

Section

Sets vertical padding and some base styles

Stack

Places items like cards in a horizontal or vertical stack

Writeup

Applies styling to child components, similar to Prose

Fulldev UI - Astro component and block library, open-source

Make websites rapidly with pre-built components and blocks.

Showcase

images

images

Adds type-safety and optimization for local images

Features

  • Type-safe image references
  • Integrates with Astro’s <Image /> component
  • Integrates even better with fulldev-ui’s <Image /> component
  • Get images using the getEntry() helper function
  • Define alt texts globally, so you don’t have to repeat yourself

Adding images

Image files added to the src/images directory will automatically be added to the images collection.

Global alt texts

Alt texts can be defined globally in the same folder as where the images live. You create a [IMAGE NAME].yml in the same folder as the images.

This way you can define alt texts once and they will be used everyhwere you use the image. An example of such a yaml file would be:

alt: 'A placeholder landscape image'

Using images

Use fulldev-ui’s included <Image /> component to get the following benefits out of the box:

  • You only have to pass the image id
  • Automatic type-safety and warnings
  • Automatically uses global alt text
  • Automatically optimizes image file

This is also the easiest way to use images:

---
import Image from 'fulldev-ui/components/Image.astro'
---

<Image id="my-image.png" />

Manual

If you want more control over the image, you can use the getEntry() helper function to get an image.

---
import { getEntry } from 'fulldev-ui/utils'

const image = getEntry('my-image.png')
---

It will return an image in the following format:

{
  id: 'my-image.png',
  src: '/src/images/my-image.png',
  alt: 'Alt text provided via steps above',
  width: 1930,
  height: 1080,
  format: 'png'
}

You can pass these values directly into Astro’s <Image /> component to render the image.

---
import { getEntry } from 'fulldev-ui/utils'

const image = getEntry('my-image.png')
---

<Image {...image} />

But to get an optimized version, you should use an imported image instead:

---
import { getEntry } from 'fulldev-ui/utils'

const image = getEntry('my-image.png')
const images = import.meta.glob<{ default: ImageMetadata }>('/src/images/*')
const image = images[image.src]
---

<Image src={image()} alt={image.alt} />