@miletorix/vitepress-image-group

Vue 3 component to render responsive image groups with automatic layout styling (big, double or icon).
1,368 4
Install
npm install @miletorix/vitepress-image-group
Latest Version:1.1.5
Vue:3
License:MIT
Last Updated:Dec 30, 2025
Links: GitHub  ·  npm
Maintainer: miletorix

miletorix-vitepress-image-group

Vue 3 component to render responsive image groups with automatic layout styling (big, double or icon).

vitepress-enhanced-site-links demo

Live Demo and more information

✨ See it in action:
👉 https://miletorix.github.io/miletorix-vitepress-image-group/

Limitations

  • No lazy loading customization (yet).
  • Only accepts array of strings as sources.

Installation

npm i @miletorix/vitepress-image-group

Usage

Configuration

// docs/.vitepress/theme/index.ts
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
 
import { ImageGroup } from '@miletorix/vitepress-image-group' // [!code ++]
import '@miletorix/vitepress-image-group/style.css' // [!code ++]

export default {
  extends: DefaultTheme,
  enhanceApp(ctx) {
    ctx.app.component('ImageGroup', ImageGroup) // [!code ++]
  }
}

Image Group

<ImageGroup
  :sources="[
    'path-to-image...'
  ]"
  type="type..."
  alt="alt text..."
  caption="caption text..."
/>

Type required: 'icon' | 'big' | 'double' | 'auto' | 'manual'

Alt and caption text is optional, default alt text is ImageGroup - type

5 types of image grouping are supported:

  • big (800px wide single image)
  • double (two images side by side)
  • icon (small 70×70px images in a row)
  • auto (full size image)
  • manual (manual width and automatic height)

Examples

Image Group - big

Input:

<ImageGroup
  :sources="[
    'demo-2.jpg'
  ]"
  type="big"
  caption="Rolling hills, Moravia, Czech Republic"
/>

Output:

demo-2

Image Group - double

Input:

<ImageGroup
  :sources="[
    '/img/demo-3.jpg',
    '/img/demo-4.jpg'
  ]"
  type="double"
  caption="Images from both sides"
/>

Output:

demo-3

Image Group - icon

Input:

<ImageGroup
  :sources="[
    '/img/edge-logo.png',
    '/img/chrome-logo.png',
    '/img/firefox-logo.png',
    '/img/safari-logo.png'
  ]"
  type="icon"
  caption="Browser icons: MS Edge, Google Chrome, Mozilla FireFox, Apple Safari"
/>

Output:

demo-4

Image Group - auto

Input:

<ImageGroup
  :sources="[
    'demo-4.jpg'
  ]"
  type="auto"
  caption="Full size image"
/>

Output:

demo-5

Image Group - manual

Input:

<ImageGroup
  :sources="[
    'demo-3.jpg'
  ]"
  type="manual"
  width="300px"
  caption="Manual image size"
/>

Output:

demo-6

Related Packages

@sauromates/vue-gravatar

Reusable, customizable and fully typed Gravatar component for Vue3 projects.

5,372 2
vue-img-inputer

A graceful image type inputer / uploader

5,186 558
@xingm/xui

A Vue 3 UI component library based on Ant Design Vue

1,997
vitepress-plugin-sandpack

use sandpack-vue3 in vitepress as directive.

194,903 57
vitepress-theme-teek

vitepress-theme-teek

26,382 353

Version History

Version Released Vue License
1.1.5 ^3.0.0 MIT
1.1.4 ^3.0.0 MIT
1.1.3 ^3.0.0 MIT
1.1.2 ^3.0.0 MIT
1.1.1 ^3.0.0 MIT