[DOCS] Migrate documentation from VuePress 1.x to VitePress (#2299)
- Replace VuePress 1.9.10 with VitePress 1.6.4 - Convert config from CommonJS to ESM TypeScript (config.mts) - Convert shared Theengs nav config to ESM (commonConfig.mts) - Rewrite BoardEnvironmentTable in Vue 3 Composition API - Rewrite FlashEnvironmentSelector in Vue 3 Composition API - Enable built-in local search and dark mode - Add medium-zoom for image zoom - Use VitePress CSS variables for dark mode compatibility - Update CI script paths from .vuepress to .vitepress - Update .gitignore for VitePress build artifacts - Rename README.md files to index.md (VitePress convention) - Fix markdown compatibility (angle-bracket escaping, image paths) - Drop PWA plugin (not needed) Co-authored-by: Florian <1technophile@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
33 files changed
+4212
-28476
No files matched your search
@@ -0,0 +1,41 @@
|
||||
// docs/.vitepress/commonConfig.mts
|
||||
// Adapter that loads the shared Theengs commonConfig.js (CommonJS) downloaded
|
||||
// by CI from https://www.theengs.io/commonConfig.js, and re-exports the nav
|
||||
// and head arrays in a format VitePress can consume.
|
||||
//
|
||||
// This keeps theengs.io as the single source of truth for nav/head until all
|
||||
// Theengs docs sites are migrated to VitePress.
|
||||
|
||||
import { createRequire } from 'module'
|
||||
import { existsSync } from 'fs'
|
||||
import { resolve, dirname } from 'path'
|
||||
import { fileURLToPath } from 'url'
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||||
const require = createRequire(import.meta.url)
|
||||
|
||||
const commonConfigPath = resolve(__dirname, 'public/commonConfig.js')
|
||||
|
||||
let sharedConfig: any = null
|
||||
|
||||
if (existsSync(commonConfigPath)) {
|
||||
sharedConfig = require(commonConfigPath)
|
||||
} else {
|
||||
console.warn(
|
||||
'commonConfig.js not found in .vitepress/public/. ' +
|
||||
'Using fallback nav/head. Run CI or download from https://www.theengs.io/commonConfig.js'
|
||||
)
|
||||
}
|
||||
|
||||
// Re-export nav from shared config, or use a minimal fallback
|
||||
export const commonNav = sharedConfig?.themeConfig?.nav ?? [
|
||||
{ text: 'Home', link: 'https://www.theengs.io' },
|
||||
{ text: 'Community', link: 'https://community.openmqttgateway.com' },
|
||||
{ text: 'Shop', link: 'https://shop.theengs.io/' }
|
||||
]
|
||||
|
||||
// Re-export head from shared config, or use a minimal fallback
|
||||
export const commonHead = sharedConfig?.head ?? [
|
||||
['meta', { name: 'viewport', content: 'width=device-width, initial-scale=1' }],
|
||||
['meta', { name: 'theme-color', content: '#3eaf7c' }]
|
||||
]
|
||||
Reference in new issue
Block a user