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