Migration
Migrating from v1.8 to v2.0
Version 2.0 of Bloggrify introduces a few breaking changes. This guide will help you migrate your existing project to the latest version.
There is two versions of this migration guide:
- one for general users
- one for theme developers
For general users
Configuration
Base URL
The url of the website is now configured in the .env file. You have to define the BASE_URL variable in this file, or available in the environment variables.
It replaces the url property in the app.config.ts file.
SITE_INDEXABLE
By default, the whole website is not indexable by search engines. The robots.txt disallows all robots to crawl the website and the sitemap is empty.
You can change this by setting the SITE_INDEXABLE option to true in the .env file.
SITE_INDEXABLE=false
Analytics
It is now possible to add several analytics services to your website by adding them in the analytics property of the app.config.ts file.
Before:
analytics: {
provider: 'blogtally',
fathom: {
code: 'YOUR_CODE'
}
}
After:
analytics: {
providers: [ {
provider: 'blogtally',
code: 'YOUR_CODE'
}]
}
Alternate links
The format of the alternate links in the frontmatter of the markdown file has changed.
Before:
---
language: "fr"
alternates:
- en: "/2025/01/2024-review"
---
After:
---
alternates:
- hreflang: "en"
href: "/2025/01/2024-review"
- hreflang: "fr"
href: "/fr//2025/01/2024-review"
---
For theme developers
layouts
All layouts have been simplified and needs less props.
default.vue and home.vue layout:
defineProps<{
doc: unknown;
}>()
archives.vue layout don't need any props. You may use the MinimalistListing component to display the list of articles, or you can create your own component.
tag.vue layout:
defineProps<{
tag: string;
}>()
and category.vue layout:
defineProps<{
category: string;
}>()
Both can use the MinimalistListing component to display the list of articles.
Example of tag.vue layout:
<template>
<MinimalistListing format="list" :tag="tag"/>
</template>