diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index b96df770..03ca9686 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -34,6 +34,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for git log - name: Setup Julia uses: julia-actions/setup-julia@v2 - name: Load Julia packages from cache diff --git a/docs/Project.toml b/docs/Project.toml index 2c636a28..cb064fea 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -16,4 +16,4 @@ EasyHybrid = {path = ".."} [compat] Documenter = "1" -DocumenterVitepress = "0.3" +DocumenterVitepress = "0.3.2" diff --git a/docs/package.json b/docs/package.json index 4cd9f9dc..e33538e1 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,8 +1,8 @@ { "devDependencies": { "@types/d3-format": "^3.0.4", - "@types/node": "^22.13.9", - "@types/markdown-it-footnote": "^3.0.4" + "@types/markdown-it-footnote": "^3.0.4", + "@types/node": "^22.13.9" }, "scripts": { "docs:dev": "vitepress dev build/.documenter", @@ -10,13 +10,14 @@ "docs:preview": "vitepress preview build/.documenter" }, "dependencies": { + "@mdit/plugin-mathjax": "^0.25.0", + "@mdit/plugin-tex": "^0.23.1", "@nolebase/vitepress-plugin-enhanced-readabilities": "^2.18.2", + "@nolebase/vitepress-plugin-git-changelog": "^2.18.2", + "d3-format": "^3.1.0", "markdown-it": "^14.1.0", "markdown-it-footnote": "^4.0.0", "vitepress": "^1.6.4", - "@mdit/plugin-mathjax": "^0.25.0", - "@mdit/plugin-tex": "^0.23.1", - "d3-format": "^3.1.0", "vitepress-plugin-tabs": "^0.6.0" } -} \ No newline at end of file +} diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index b85792aa..ac172079 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -1,7 +1,8 @@ import { defineConfig } from 'vitepress' import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs' import { mathjaxPlugin } from './mathjax-plugin' -import footnote from "markdown-it-footnote"; +import footnote from "markdown-it-footnote" +import {GitChangelog, GitChangelogMarkdownSection} from '@nolebase/vitepress-plugin-git-changelog/vite' import path from 'path' // console.log(process.env) @@ -56,6 +57,18 @@ export default defineConfig({ vite: { plugins: [ mathjax.vitePlugin, + GitChangelog({ + repoURL: () => 'https://github.com/EarthyScience/EasyHybrid.jl', + }), + GitChangelogMarkdownSection({ + exclude: (id) => ( + id.includes(path.sep + "api" + path.sep) || + id.includes(path.sep + "index" + path.sep) + ), + sections: { + disableContributors: true + } + }), ], define: { __DEPLOY_ABSPATH__: JSON.stringify('REPLACE_ME_DOCUMENTER_VITEPRESS_DEPLOY_ABSPATH'), diff --git a/docs/src/.vitepress/theme/index.ts b/docs/src/.vitepress/theme/index.ts index 4f41ac1f..329389ad 100644 --- a/docs/src/.vitepress/theme/index.ts +++ b/docs/src/.vitepress/theme/index.ts @@ -12,6 +12,8 @@ import { NolebaseEnhancedReadabilitiesScreenMenu, } from '@nolebase/vitepress-plugin-enhanced-readabilities/client' +import { NolebaseGitChangelogPlugin } from '@nolebase/vitepress-plugin-git-changelog/client' + import VersionPicker from "@/VersionPicker.vue" import StarUs from '@/StarUs.vue' import AuthorBadge from '@/AuthorBadge.vue' @@ -19,12 +21,12 @@ import Authors from '@/Authors.vue' // light/dark theme toggle with view transitions import LayoutContainer from '@/LayoutContainer.vue' - import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client' -import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' import './style.css' import './docstrings.css' +import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css' +import '@nolebase/vitepress-plugin-git-changelog/client/style.css' export const Theme: ThemeConfig = { extends: DefaultTheme, @@ -45,8 +47,14 @@ export const Theme: ThemeConfig = { enhanceApp({ app, router, siteData }) { enhanceAppWithTabs(app); app.component('VersionPicker', VersionPicker); - app.component('AuthorBadge', AuthorBadge) - app.component('Authors', Authors) + app.component('AuthorBadge', AuthorBadge); + app.component('Authors', Authors); + app.use(NolebaseGitChangelogPlugin, { + displayAuthorsInsideCommitLine: true, + hideChangelogHeader: true, + hideSortBy: true, + hideContributorsHeader: true + }); } } export default Theme \ No newline at end of file