Related Pages

The VRelatedPages component is a Vue 3 component that displays a table of related pages, grouped by a specified category.

Props

Prop NameTypeRequiredDescription
dataIRelatedPages[]YesAn array of related pages, each containing a group and its items.
ts
interface IRelatedPages {
    groupBy: IFrontmatter;
    items: IFrontmatter[];
}

Example

vue
<script setup lang="ts">
  import VRelatedPages from 'UiKit/components/VRelatedPages/VRelatedPages.vue';
  const relatedPages = [
    {
      groupBy: { title: 'Group 1', url: '/group-1' },
      items: [
        { title: 'Related Page 1', url: '/related-page-1' },
        { title: 'Related Page 2', url: '/related-page-2' },
      ],
    },
    {
      groupBy: { title: 'Group 2', url: '/group-2' },
      items: [
        { title: 'Related Page 3', url: '/related-page-3' },
        { title: 'Related Page 4', url: '/related-page-4' },
      ],
    },
  ];
</script>
<VRelatedPages :data="relatedPages" />

VSectionRelatedPages

The VSectionRelatedPages component wraps the VRelatedPages component within a VSection, allowing for a title slot and providing a structured layout for displaying related pages.

Props

Prop NameTypeRequiredDescription
dataIRelatedPages[]YesAn array of related pages, each containing a group and its items.

Slots

  • default: Slot for additional content displayed above the related pages.

Example

vue
<script setup lang="ts">
  import VSectionRelatedPages from 'UiKit/components/VRelatedPages/VSectionRelatedPages.vue';
  const relatedPages = [
    {
      groupBy: { title: 'Group 1', url: '/group-1' },
      items: [
        { title: 'Related Page 1', url: '/related-page-1' },
        { title: 'Related Page 2', url: '/related-page-2' },
      ],
    },
  ];
</script>
<VSectionRelatedPages :data="relatedPages">
    <h2>Related Pages</h2>
</VSectionRelatedPages>
Help Ukraine to stop russian aggression