diff --git a/README.md b/README.md index 2661116be..fbe84b5dd 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
- QuantumToolbox.jl logo + QuantumToolbox.jl logo
# QuantumToolbox.jl diff --git a/docs/make.jl b/docs/make.jl index 6e57eaddd..fbf82852f 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -10,12 +10,15 @@ DocMeta.setdocmeta!(QuantumToolbox, :DocTestSetup, :(using QuantumToolbox); recu const DRAFT = false # set `true` to disable cell evaluation -bib = CitationBibliography(joinpath(@__DIR__, "src", "bibliography.bib"), style=:authoryear) +bib = CitationBibliography( + joinpath(@__DIR__, "src", "resources", "bibliography.bib"), + style=:authoryear, +) const PAGES = [ "Home" => "index.md", "Getting Started" => [ - "Introduction" => "getting_started.md", + "Brief Example" => "getting_started.md", "Key differences from QuTiP" => "qutip_differences.md", "The Importance of Type-Stability" => "type_stability.md", # "Cite QuantumToolbox.jl" => "cite.md", @@ -51,9 +54,11 @@ const PAGES = [ "tutorials/logo.md", ], ], - "API" => "api.md", - "Bibliography" => "bibliography.md", - # "Change Log" => "changelog.md", + "Resources" => [ + "API" => "resources/api.md", + # "Change Log" => "resources/changelog.md", + "Bibliography" => "resources/bibliography.md", + ], ] makedocs(; diff --git a/docs/src/.vitepress/config.mts b/docs/src/.vitepress/config.mts index 38dbec64f..b5f5ad01f 100644 --- a/docs/src/.vitepress/config.mts +++ b/docs/src/.vitepress/config.mts @@ -3,6 +3,18 @@ import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs' import mathjax3 from "markdown-it-mathjax3"; import footnote from "markdown-it-footnote"; +const navTemp = { + nav: 'REPLACE_ME_DOCUMENTER_VITEPRESS', +} + +const nav = [ + ...navTemp.nav, + { text: 'Benchmarks', link: 'https://qutip.org/QuantumToolbox.jl/benchmarks/' }, + { + component: 'VersionPicker' + } +] + // https://vitepress.dev/reference/site-config export default defineConfig({ base: 'REPLACE_ME_DOCUMENTER_VITEPRESS',// TODO: replace this in makedocs! @@ -35,7 +47,7 @@ export default defineConfig({ detailedView: true } }, - nav: 'REPLACE_ME_DOCUMENTER_VITEPRESS', + nav, sidebar: 'REPLACE_ME_DOCUMENTER_VITEPRESS', editLink: 'REPLACE_ME_DOCUMENTER_VITEPRESS', socialLinks: [ diff --git a/docs/src/.vitepress/theme/VersionPicker.vue b/docs/src/.vitepress/theme/VersionPicker.vue new file mode 100644 index 000000000..ba744d8f4 --- /dev/null +++ b/docs/src/.vitepress/theme/VersionPicker.vue @@ -0,0 +1,64 @@ + + + + + + + \ No newline at end of file diff --git a/docs/src/.vitepress/theme/index.ts b/docs/src/.vitepress/theme/index.ts index 1072d80a5..ae0c3d3a8 100644 --- a/docs/src/.vitepress/theme/index.ts +++ b/docs/src/.vitepress/theme/index.ts @@ -2,6 +2,7 @@ import { h } from 'vue' import type { Theme } from 'vitepress' import DefaultTheme from 'vitepress/theme' +import VersionPicker from "./VersionPicker.vue" import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client' import './style.css' @@ -14,6 +15,7 @@ export default { }) }, enhanceApp({ app, router, siteData }) { - enhanceAppWithTabs(app) + enhanceAppWithTabs(app); + app.component('VersionPicker', VersionPicker); } } satisfies Theme diff --git a/docs/src/.vitepress/theme/style.css b/docs/src/.vitepress/theme/style.css index 2617bf119..a520b4a11 100644 --- a/docs/src/.vitepress/theme/style.css +++ b/docs/src/.vitepress/theme/style.css @@ -95,10 +95,13 @@ code { #9558B2 30%, #CB3C33); + --vp-home-hero-image-background-image: none; /* remove the blur background */ + /* (default setting) --vp-home-hero-image-background-image: linear-gradient(-45deg, #9558B2 30%, #389826 30%, #CB3C33); + */ --vp-home-hero-image-filter: blur(40px); } diff --git a/docs/src/getting_started.md b/docs/src/getting_started.md index b5995e96a..377f33ec9 100644 --- a/docs/src/getting_started.md +++ b/docs/src/getting_started.md @@ -2,29 +2,6 @@ CurrentModule = QuantumToolbox ``` -## [Installation](@id doc:Installation) - -!!! note "Requirements" - `QuantumToolbox.jl` requires `Julia 1.10+`. - -To install `QuantumToolbox.jl`, run the following commands inside Julia's interactive session (also known as REPL): -```julia -using Pkg -Pkg.add("QuantumToolbox") -``` -Alternatively, this can also be done in Julia's [Pkg REPL](https://julialang.github.io/Pkg.jl/v1/getting-started/) by pressing the key `]` in the REPL to use the package mode, and then type the following command: -```julia-REPL -(1.10) pkg> add QuantumToolbox -``` -More information about `Julia`'s package manager can be found at [`Pkg.jl`](https://julialang.github.io/Pkg.jl/v1/). - -To load the package and check the version information, use either [`QuantumToolbox.versioninfo()`](@ref) or [`QuantumToolbox.about()`](@ref), namely -```julia -using QuantumToolbox -QuantumToolbox.versioninfo() -QuantumToolbox.about() -``` - ## Brief Example We now provide a brief example to demonstrate the similarity between [QuantumToolbox.jl](https://github.com/qutip/QuantumToolbox.jl) and [QuTiP](https://github.com/qutip/qutip). diff --git a/docs/src/index.md b/docs/src/index.md index 4aac26a55..f69e0bdf4 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -13,6 +13,9 @@ hero: - theme: brand text: Getting Started link: /getting_started + - theme: alt + text: Users Guide + link: /users_guide/QuantumObject/QuantumObject - theme: alt text: View on Github link: https://github.com/qutip/QuantumToolbox.jl @@ -37,6 +40,31 @@ features: --- ``` +# [Introduction](@id doc:Introduction) + [QuantumToolbox.jl](https://github.com/qutip/QuantumToolbox.jl) is a cutting-edge Julia package designed for quantum physics simulations, closely emulating the popular Python [QuTiP](https://github.com/qutip/qutip) package. It uniquely combines the simplicity and power of Julia with advanced features like GPU acceleration and distributed computing, making simulation of quantum systems more accessible and efficient. Taking advantage of the Julia language features (like multiple dispatch and metaprogramming), QuantumToolbox.jl is designed to be easily extendable, allowing users to build upon the existing functionalities. *__With this package, moving from Python to Julia for quantum physics simulations has never been easier__*, due to the similar syntax and functionalities. + +# [Installation](@id doc:Installation) + +!!! note "Requirements" + `QuantumToolbox.jl` requires `Julia 1.10+`. + +To install `QuantumToolbox.jl`, run the following commands inside Julia's interactive session (also known as REPL): +```julia +using Pkg +Pkg.add("QuantumToolbox") +``` +Alternatively, this can also be done in Julia's [Pkg REPL](https://julialang.github.io/Pkg.jl/v1/getting-started/) by pressing the key `]` in the REPL to use the package mode, and then type the following command: +```julia-REPL +(1.10) pkg> add QuantumToolbox +``` +More information about `Julia`'s package manager can be found at [`Pkg.jl`](https://julialang.github.io/Pkg.jl/v1/). + +To load the package and check the version information, use either [`QuantumToolbox.versioninfo()`](@ref) or [`QuantumToolbox.about()`](@ref), namely +```julia +using QuantumToolbox +QuantumToolbox.versioninfo() +QuantumToolbox.about() +``` diff --git a/docs/src/assets/favicon.ico b/docs/src/public/favicon.ico similarity index 100% rename from docs/src/assets/favicon.ico rename to docs/src/public/favicon.ico diff --git a/docs/src/assets/logo.png b/docs/src/public/logo.png similarity index 100% rename from docs/src/assets/logo.png rename to docs/src/public/logo.png diff --git a/docs/src/api.md b/docs/src/resources/api.md similarity index 97% rename from docs/src/api.md rename to docs/src/resources/api.md index 4dab36aff..4280411db 100644 --- a/docs/src/api.md +++ b/docs/src/resources/api.md @@ -4,11 +4,13 @@ CurrentModule = QuantumToolbox # [API](@id doc-API) -## Contents + ## [Quantum object (Qobj) and type](@id doc-API:Quantum-object-and-type) diff --git a/docs/src/bibliography.bib b/docs/src/resources/bibliography.bib similarity index 100% rename from docs/src/bibliography.bib rename to docs/src/resources/bibliography.bib diff --git a/docs/src/bibliography.md b/docs/src/resources/bibliography.md similarity index 62% rename from docs/src/bibliography.md rename to docs/src/resources/bibliography.md index 74d56db57..45632c00e 100644 --- a/docs/src/bibliography.md +++ b/docs/src/resources/bibliography.md @@ -2,7 +2,5 @@ CurrentModule = QuantumToolbox ``` -# [Bibliography](@id doc:Bibliography) - ```@bibliography ``` diff --git a/docs/src/users_guide/time_evolution/intro.md b/docs/src/users_guide/time_evolution/intro.md index 37488c956..4b099af0f 100644 --- a/docs/src/users_guide/time_evolution/intro.md +++ b/docs/src/users_guide/time_evolution/intro.md @@ -1,5 +1,6 @@ # [Time Evolution and Quantum System Dynamics](@id doc:Time-Evolution-and-Quantum-System-Dynamics) + # [Introduction](@id doc-TE:Introduction)