1+ import { defineConfig } from 'vitepress'
2+ import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs'
3+ import mathjax3 from "markdown-it-mathjax3" ;
4+ import footnote from "markdown-it-footnote" ;
5+ import { transformerMetaWordHighlight } from '@shikijs/transformers' ;
6+
7+ const baseTemp = {
8+ base : '/HarmonicBalance.jl/previews/PR440/' , // TODO: replace this in makedocs!
9+ }
10+
11+ const navTemp = {
12+ nav : [
13+ { text : 'Home' , link : '/index' } ,
14+ { text : 'Getting Started' , link : '/introduction/index' } ,
15+ { text : 'Theoretical Background' , collapsed : false , items : [
16+ { text : 'Floquet expansions' , link : '/background/harmonic_balance' } ,
17+ { text : 'Stability and Linear Response' , link : '/background/stability_response' } ,
18+ { text : 'Limit Cycles' , link : '/background/limit_cycles' } ]
19+ } ,
20+ { text : 'Tutorials' , collapsed : false , items : [
21+ { text : 'Steady States' , link : '/tutorials/steady_states' } ,
22+ { text : 'Classifying Solutions' , link : '/tutorials/classification' } ,
23+ { text : 'Linear Response' , link : '/tutorials/linear_response' } ,
24+ { text : 'Transient Dynamics' , link : '/tutorials/time_dependent' } ,
25+ { text : 'Limit Cycles' , link : '/tutorials/limit_cycles' } ,
26+ { text : 'Examples' , collapsed : false , items : [
27+ { text : 'Wave Mixing' , link : '/examples/wave_mixing' } ,
28+ { text : 'Parametric Three Wave Mixing' , link : '/examples/parametric_via_three_wave_mixing' } ,
29+ { text : 'Parametric Oscillator' , link : '/examples/parametron' } ,
30+ { text : 'State Dependent Perturbation' , link : '/examples/state_dependent_perturbation' } ,
31+ { text : 'Ab Initio Noise spectrum' , link : '/examples/ab_initio_noise' } ,
32+ { text : 'Adiabatic sweep' , link : '/examples/steady_state_sweep' } ,
33+ { text : 'Quantum Cumulants' , link : '/examples/cumulants_KPO' } ,
34+ { text : 'KB vs HB method' , link : '/examples/harmonic_oscillator_KB_vs_HB' } ]
35+ } ]
36+ } ,
37+ { text : 'Resources' , collapsed : false , items : [
38+ { text : 'API' , link : '/manual/API' } ,
39+ { text : 'Bibliography' , link : '/introduction/citation' } ,
40+ { text : 'Manual' , collapsed : false , items : [
41+ { text : 'Entering Equations of Motion' , link : '/manual/entering_eom' } ,
42+ { text : 'Computing Effective System' , link : '/manual/extracting_harmonics' } ,
43+ { text : 'Computing Steady States' , link : '/manual/methods' } ,
44+ { text : 'Extract the Steady States' , link : '/manual/analyse_solutions' } ,
45+ { text : 'Plotting' , link : '/manual/plotting' } ,
46+ { text : 'Time Evolution' , link : '/manual/time_dependent' } ,
47+ { text : 'Linear Response' , link : '/manual/linear_response' } ,
48+ { text : 'SciML Extension' , link : '/manual/SciMLExt' } ]
49+ } ]
50+ }
51+ ]
52+ ,
53+ }
54+
55+ const nav = [
56+ ...navTemp . nav ,
57+ {
58+ component : 'VersionPicker'
59+ }
60+ ]
61+
62+ // https://vitepress.dev/reference/site-config
63+ export default defineConfig ( {
64+ base : baseTemp . base ,
65+ title : 'HarmonicBalance.jl' ,
66+ description : 'Documentation for HarmonicBalance.jl' ,
67+ cleanUrls : true ,
68+ outDir : '../1' , // This is required for MarkdownVitepress to work correctly...
69+ head : [
70+ [
71+ "script" ,
72+ { async : "" , src : "https://www.googletagmanager.com/gtag/js?id=G-RE962QZ6DQ" } ,
73+ ] ,
74+ [
75+ "script" ,
76+ { } ,
77+ `window.dataLayer = window.dataLayer || [];
78+ function gtag(){dataLayer.push(arguments);}
79+ gtag('js', new Date());
80+ gtag('config', 'G-RE962QZ6DQ');` ,
81+ ] ,
82+ [ 'link' , { rel : 'icon' , href : '/HarmonicBalance.jl/dev/favicon.ico' } ] ,
83+ [ 'link' , { rel : 'icon' , href : `${ baseTemp . base } favicon.ico` } ] ,
84+ [ 'link' , { rel : 'manifest' , href : '/site.webmanifest' } ] ,
85+
86+ [ 'script' , { src : `/HarmonicBalance.jl/versions.js` } ] ,
87+ [ 'script' , { src : `${ baseTemp . base } siteinfo.js` } ]
88+ ] ,
89+ ignoreDeadLinks : true ,
90+
91+ markdown : {
92+ math : true ,
93+
94+ // options for @mdit -vue/plugin-toc
95+ // https://github.com/mdit-vue/mdit-vue/tree/main/packages/plugin-toc#options
96+ toc : { level : [ 2 , 3 , 4 ] } , // for API page, triggered by: [[toc]]
97+
98+ config ( md ) {
99+ md . use ( tabsMarkdownPlugin ) ,
100+ md . use ( mathjax3 ) ,
101+ md . use ( footnote )
102+ } ,
103+ theme : {
104+ light : "github-light" ,
105+ dark : "github-dark"
106+ }
107+ } ,
108+ themeConfig : {
109+ outline : 'deep' ,
110+ logo : { src : '/logo.png' , width : 24 , height : 24 } ,
111+ search : {
112+ provider : 'local' ,
113+ options : {
114+ detailedView : true
115+ }
116+ } ,
117+ nav,
118+ sidebar : [
119+ { text : 'Home' , link : '/index' } ,
120+ { text : 'Getting Started' , link : '/introduction/index' } ,
121+ { text : 'Theoretical Background' , collapsed : false , items : [
122+ { text : 'Floquet expansions' , link : '/background/harmonic_balance' } ,
123+ { text : 'Stability and Linear Response' , link : '/background/stability_response' } ,
124+ { text : 'Limit Cycles' , link : '/background/limit_cycles' } ]
125+ } ,
126+ { text : 'Tutorials' , collapsed : false , items : [
127+ { text : 'Steady States' , link : '/tutorials/steady_states' } ,
128+ { text : 'Classifying Solutions' , link : '/tutorials/classification' } ,
129+ { text : 'Linear Response' , link : '/tutorials/linear_response' } ,
130+ { text : 'Transient Dynamics' , link : '/tutorials/time_dependent' } ,
131+ { text : 'Limit Cycles' , link : '/tutorials/limit_cycles' } ,
132+ { text : 'Examples' , collapsed : false , items : [
133+ { text : 'Wave Mixing' , link : '/examples/wave_mixing' } ,
134+ { text : 'Parametric Three Wave Mixing' , link : '/examples/parametric_via_three_wave_mixing' } ,
135+ { text : 'Parametric Oscillator' , link : '/examples/parametron' } ,
136+ { text : 'State Dependent Perturbation' , link : '/examples/state_dependent_perturbation' } ,
137+ { text : 'Ab Initio Noise spectrum' , link : '/examples/ab_initio_noise' } ,
138+ { text : 'Adiabatic sweep' , link : '/examples/steady_state_sweep' } ,
139+ { text : 'Quantum Cumulants' , link : '/examples/cumulants_KPO' } ,
140+ { text : 'KB vs HB method' , link : '/examples/harmonic_oscillator_KB_vs_HB' } ]
141+ } ]
142+ } ,
143+ { text : 'Resources' , collapsed : false , items : [
144+ { text : 'API' , link : '/manual/API' } ,
145+ { text : 'Bibliography' , link : '/introduction/citation' } ,
146+ { text : 'Manual' , collapsed : false , items : [
147+ { text : 'Entering Equations of Motion' , link : '/manual/entering_eom' } ,
148+ { text : 'Computing Effective System' , link : '/manual/extracting_harmonics' } ,
149+ { text : 'Computing Steady States' , link : '/manual/methods' } ,
150+ { text : 'Extract the Steady States' , link : '/manual/analyse_solutions' } ,
151+ { text : 'Plotting' , link : '/manual/plotting' } ,
152+ { text : 'Time Evolution' , link : '/manual/time_dependent' } ,
153+ { text : 'Linear Response' , link : '/manual/linear_response' } ,
154+ { text : 'SciML Extension' , link : '/manual/SciMLExt' } ]
155+ } ]
156+ }
157+ ]
158+ ,
159+ editLink : { pattern : "https://github.com/QuantumEngineeredSystems/HarmonicBalance.jl/edit/master/docs/src/:path" } ,
160+ socialLinks : [
161+ { icon : 'github' , link : 'https://github.com/QuantumEngineeredSystems/HarmonicBalance.jl' } ,
162+ { icon : 'twitter' , link : 'https://x.com/Zilberberg_Phys' } ,
163+ ] ,
164+
165+ footer : {
166+ message : 'Made with <a href="https://documenter.juliadocs.org/" target="_blank"><strong>Documenter.jl</strong></a>, <a href="https://vitepress.dev" target="_blank"><strong>VitePress</strong></a> and <a href="https://luxdl.github.io/DocumenterVitepress.jl/" target="_blank"><strong>DocumenterVitepress.jl</strong>' ,
167+ copyright : `© Copyright ${ new Date ( ) . getUTCFullYear ( ) } . Released under the MIT License.`
168+ } ,
169+ }
170+ } )
0 commit comments