|
1 | 1 | import { defineConfig } from 'vitepress' |
| 2 | +import { execSync } from 'child_process' |
| 3 | + |
| 4 | +function getKapperVersion(): string { |
| 5 | + if (process.env.KAPPER_VERSION) { |
| 6 | + return process.env.KAPPER_VERSION |
| 7 | + } |
| 8 | + try { |
| 9 | + return execSync('git tag --sort=-v:refname | head -1', { encoding: 'utf-8' }).trim() |
| 10 | + } catch { |
| 11 | + return 'dev' |
| 12 | + } |
| 13 | +} |
| 14 | + |
| 15 | +const kapperVersion = getKapperVersion() |
2 | 16 |
|
3 | 17 | export default defineConfig({ |
4 | 18 | title: 'Kapper', |
5 | 19 | description: 'A lightweight, Dapper-inspired ORM for Kotlin and the JVM', |
6 | 20 | base: '/kapper/', |
| 21 | + markdown: { |
| 22 | + config: (md) => { |
| 23 | + const defaultRender = md.render.bind(md) |
| 24 | + md.render = (src: string, env: any) => { |
| 25 | + src = src.replaceAll('%kapper_version%', kapperVersion) |
| 26 | + return defaultRender(src, env) |
| 27 | + } |
| 28 | + } |
| 29 | + }, |
7 | 30 | ignoreDeadLinks: [ |
8 | 31 | // Ignore all API documentation links (generated by dokka) |
9 | 32 | (url, context) => { |
@@ -31,11 +54,10 @@ export default defineConfig({ |
31 | 54 | { text: 'Performance', link: '/performance/' }, |
32 | 55 | { text: 'API Reference', link: '/api/' }, |
33 | 56 | { text: 'Blog', link: '/blog/' }, |
34 | | - { |
35 | | - text: 'v1.6.1', |
| 57 | + { |
| 58 | + text: `v${kapperVersion}`, |
36 | 59 | items: [ |
37 | | - { text: 'Changelog', link: '/changelog' }, |
38 | | - { text: 'Migration Guide', link: '/guide/migration' } |
| 60 | + { text: 'Changelog', link: '/changelog' } |
39 | 61 | ] |
40 | 62 | } |
41 | 63 | ], |
|
0 commit comments