Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
bb1ba2f
docs: implement autoapi
12rambau Aug 22, 2023
05d648c
docs: ignore private members
12rambau Aug 23, 2023
1ee7f06
docs: ignore special members
12rambau Aug 23, 2023
c411447
fix: drop skipmodule
12rambau Aug 23, 2023
269fd2e
docs: use class content
12rambau Aug 23, 2023
fffb4dc
refactor: make ruff accept init unused imports
12rambau Aug 23, 2023
257880c
fix: rollback to non prefix packages
12rambau Aug 24, 2023
d26f6ca
docs: skip private modules and packages
12rambau Aug 24, 2023
1915a26
refactor: typo
12rambau Aug 24, 2023
3e8f246
refactor: easier to read implmentation
12rambau Aug 25, 2023
98455fb
Merge branch 'master' into api
12rambau Aug 25, 2023
acc697d
fix: reduce the scope of the PR
12rambau Aug 25, 2023
c513cd4
Merge branch 'api' of https://github.com/12rambau/ipyvuetify into api
12rambau Aug 25, 2023
e71b6e6
Merge branch 'master' into api
12rambau Aug 25, 2023
b1e0f20
build: add a server rendered documetnation compilation mechanism
12rambau Nov 20, 2025
c2fed92
Merge branch 'documetnation3' into api
12rambau Nov 20, 2025
f85c574
Merge pull request #2 from 12rambau/api
12rambau Nov 20, 2025
f18fde9
Merge branch 'documetnation3' of github.com:12rambau/ipyvuetify into …
12rambau Nov 20, 2025
ae06904
fix: correct the bug with astroid prerelease
12rambau Nov 20, 2025
0ec1e61
fix: migrate pre-commit config
12rambau Nov 20, 2025
a421b9c
feat: one class one page
12rambau Nov 20, 2025
42c30ab
fix: add documentation from EOL 2.7.2
12rambau Nov 20, 2025
684f012
fix: add the documentation to the template
12rambau Nov 20, 2025
31bba30
fix: remove autoapi generated files from the distribution
12rambau Nov 20, 2025
ddaa2b3
fix: make sure non documented components are build as well
12rambau Nov 20, 2025
bc576dc
docs: use the correct highlighter for vue file
12rambau Nov 21, 2025
ce9c490
docs: move documentation in getting started
12rambau Nov 21, 2025
f983774
docs: place the images in the right spot
12rambau Nov 21, 2025
4844027
build(docs): prevent reload upon autoapi changes
12rambau Nov 21, 2025
780e7f4
docs: add an empty page for each component
12rambau Nov 21, 2025
8cc8ada
docs: create a draft of a Alert
12rambau Nov 21, 2025
076f846
docs: document one component
12rambau Nov 21, 2025
9eaf78b
fix: add a IA generated disclaimer
12rambau Nov 21, 2025
9d8fabb
docs: document until appBar
12rambau Nov 21, 2025
cb0a502
docs: add copy-button extension
12rambau Nov 21, 2025
f797822
docs: use a font close to the orignal lib
12rambau Nov 21, 2025
c22632d
docs: add a last update footer on each article
12rambau Nov 21, 2025
bc1ccfa
docs: drop deprecated parameters
12rambau Nov 21, 2025
1bd264c
docs: modernize the legacy documentation
12rambau Nov 21, 2025
09b58cf
fix: expose the full signature of the classes
12rambau Nov 21, 2025
4fa08bb
fix: rely exclusively on autoapi
12rambau Nov 22, 2025
1838232
docs: add few components for testing
12rambau Nov 22, 2025
f321d8a
docs: finish avatar page
12rambau Nov 25, 2025
c702fae
docs: finish badges page
12rambau Nov 25, 2025
a68a412
docs: review banner page
12rambau Nov 26, 2025
cb83d78
docs: bottom naviagation
12rambau Nov 28, 2025
1726796
docs: document bottomSheet
12rambau Nov 28, 2025
46ca250
docs: pre-document everything
12rambau Nov 28, 2025
a651592
fix: breadcrumbs page
12rambau Dec 16, 2025
3177432
fix: add a logo
12rambau Dec 16, 2025
d3ccf0c
fix: btn page
12rambau Dec 29, 2025
b2bb860
docs: add btnToggle component page
12rambau Jan 6, 2026
12b751d
docs: add Card component page
12rambau Jan 7, 2026
1856992
docs: add the carousel component page
12rambau Jan 7, 2026
7ddaac6
docs: add the checkbox component page
12rambau Jan 7, 2026
4b00795
docs: add a Chip component page
12rambau Jan 8, 2026
1c07226
docs: add chipGroup component file
12rambau Jan 8, 2026
4af5a2a
docs: add the colorpicker component
12rambau Jan 8, 2026
c951e86
docs: add a combobox component page
12rambau Jan 8, 2026
fc5c379
fix: add a grid structure page
12rambau Jan 10, 2026
6d69a68
docs: create the datatable component page
12rambau Jan 12, 2026
16415b2
docs: add datepicker component
12rambau Jan 12, 2026
1e70d5f
docs: add a dialog documetnation component
12rambau Jan 15, 2026
4b79c49
docs: add a divider documetnation component
12rambau Jan 15, 2026
12717c2
docs: add a expansionpanels component
12rambau Jan 15, 2026
c9987c5
docs: add a fileinput component
12rambau Jan 15, 2026
83b69c7
docs: add the flex component
12rambau Jan 15, 2026
259eded
docs: add footer component
12rambau Jan 16, 2026
4f21731
docs: add a form component
12rambau Jan 16, 2026
916223b
docs: add the hover item
12rambau Jan 16, 2026
3f72647
docs: add an icon component
12rambau Jan 16, 2026
361dc6a
docs: add image component
12rambau Jan 16, 2026
18c137b
docs: add a input component
12rambau Jan 16, 2026
90edffe
dos: add lists components
12rambau Jan 17, 2026
e806ad5
docs: add menu component
12rambau Jan 17, 2026
c0e09bd
docs: add navigation drawer
12rambau Jan 17, 2026
b0f90ae
docs: add OverflowBtn component
12rambau Jan 17, 2026
6a3834d
docs: add overlay component
12rambau Jan 17, 2026
cfd7918
docs: add pagination component
12rambau Jan 17, 2026
a8556cc
docs: add parallax component
12rambau Jan 17, 2026
f3fcdb8
docs: add progress
12rambau Jan 17, 2026
391cfd9
docs: add radio component
12rambau Jan 17, 2026
a37300a
docs: add RangeSlider component
12rambau Jan 17, 2026
25b309e
docs: add rating component
12rambau Jan 17, 2026
c72f9a0
docs: add select component
12rambau Jan 17, 2026
67b4e69
docs: add sheet component
12rambau Jan 17, 2026
6505fd4
docs: simpletable component
12rambau Jan 17, 2026
ee61f47
docs: add a skeletonloader component
12rambau Jan 17, 2026
fcf254d
docs: slider group
12rambau Jan 17, 2026
0869b88
docs: add slidergroup
12rambau Jan 17, 2026
9f3b7ca
docs: add a slider component
12rambau Jan 18, 2026
794cb54
docs: add a snackbar component
12rambau Jan 18, 2026
9c199bd
docs: add the sparklines component
12rambau Jan 18, 2026
c015b19
docs: add speedial
12rambau Jan 18, 2026
585ecb6
docs: add steppers component
12rambau Jan 18, 2026
0ab2703
docs: add subheader component
12rambau Jan 18, 2026
147c9e4
docs: add switch component
12rambau Jan 18, 2026
cdb99d1
docs: add a systembar component
12rambau Jan 18, 2026
1bc009e
docs: add the tabs component
12rambau Jan 18, 2026
b8bf534
docs: add tabs component
12rambau Jan 19, 2026
3e8529a
docs: add textarea component
12rambau Jan 19, 2026
2cc54b0
docs: add textfield component
12rambau Jan 19, 2026
a03c1d9
docs: add a timeline component
12rambau Jan 19, 2026
874ef0d
docs: add timepicker component
12rambau Jan 19, 2026
5797772
docs: add the toolbar component
12rambau Jan 19, 2026
b6cdaaf
docs: add tooltip component
12rambau Jan 19, 2026
702a6ab
docs: add a treeview component
12rambau Jan 19, 2026
a25c8c2
docs: finally the last one
12rambau Jan 19, 2026
cd6c216
docs: move all the code content to dedicated folders
12rambau Jan 19, 2026
515cec5
docs: improve the docs navigation
12rambau Jan 19, 2026
e392593
docs: add a banner
12rambau Jan 19, 2026
4c1262c
docs: add a banner
12rambau Jan 19, 2026
00529cb
docs: improve the banner
12rambau Jan 19, 2026
3a8a585
docs: drop the 'this page' section
12rambau Jan 19, 2026
aee60ce
docs: drop the secondary sidebar
12rambau Jan 19, 2026
e61a04f
Fully document the lib (#3)
12rambau Jan 20, 2026
9053dfd
fix: add all the hooks in the pre-commit config
12rambau Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ js/lib

# Sphinx documentation
docs/_build/
docs/autoapi/

# Jupyter Notebook
.ipynb_checkpoints
Expand Down
13 changes: 9 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
default_install_hook_types: [pre-commit, commit-msg]

repos:
- repo: "https://github.com/psf/black"
rev: "22.3.0"
hooks:
- id: black
stages: [commit]
stages: [pre-commit]

- repo: "https://github.com/commitizen-tools/commitizen"
rev: "v2.18.0"
hooks:
- id: commitizen
stages: [commit-msg]

- repo: "https://github.com/kynan/nbstripout"
rev: "0.5.0"
hooks:
- id: nbstripout
stages: [commit]
stages: [pre-commit]

- repo: "https://github.com/pre-commit/mirrors-prettier"
rev: "v2.7.1"
hooks:
- id: prettier
stages: [commit]
stages: [pre-commit]

- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: "v0.0.213"
hooks:
- id: ruff
stages: [commit]
stages: [pre-commit]
103 changes: 103 additions & 0 deletions docs/_extension/aknowledgement.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
"""A directive to generate an alert admonition."""
from __future__ import annotations

from typing import ClassVar

from docutils import nodes
from docutils.nodes import Node
from sphinx import addnodes
from sphinx.application import Sphinx
from sphinx.util import logging
from sphinx.util.docutils import SphinxDirective
from sphinx.util.typing import OptionSpec
from sphinx.writers.html5 import HTML5Translator

logger = logging.getLogger(__name__)


class alert_node(nodes.Admonition, nodes.Element):
pass


def visit_aknowledgement_node(self: HTML5Translator, node: alert_node) -> None:
self.visit_admonition(node)


def depart_aknowledgement_node(self: HTML5Translator, node: alert_node) -> None:
self.depart_admonition(node)


class AknowledgementDirective(SphinxDirective):
"""Directive to reference the original source of the documentation."""

has_content = True
required_arguments = 0
optional_arguments = 0
final_argument_whitespace = True
option_spec: ClassVar[OptionSpec] = {}

def run(self) -> list[Node]:
node = addnodes.versionmodified()
node.document = self.state.document
self.set_source_info(node)
node["type"] = "versionchanged"
node["version"] = ""
text = "Aknowledgement"
messages = []
if self.content:
node += self.parse_content_to_nodes()
classes = ["versionmodified", "changed"]
if len(node) > 0 and isinstance(node[0], nodes.paragraph):
# the contents start with a paragraph
if node[0].rawsource:
# make the first paragraph translatable
content = nodes.inline(node[0].rawsource, translatable=True)
content.source = node[0].source
content.line = node[0].line
content += node[0].children
node[0].replace_self(nodes.paragraph("", "", content, translatable=False))
para = node[0]
para.insert(0, nodes.inline("", "%s: " % text, classes=classes))
elif len(node) > 0:
# the contents do not starts with a paragraph
para = nodes.paragraph(
"",
"",
nodes.inline("", "%s: " % text, classes=classes),
translatable=False,
)
node.insert(0, para)
else:
# the contents are empty
para = nodes.paragraph(
"",
"",
nodes.inline("", "%s." % text, classes=classes),
translatable=False,
)
node.append(para)

domain = self.env.domains.changeset_domain
domain.note_changeset(node)

ret: list[Node] = [node]
ret += messages
return ret


def setup(app: Sphinx) -> dict[str, object]:
"""Add custom configuration to sphinx app.

Args:
app: the Sphinx application

Returns:
the 2 parallel parameters set to ``True``.
"""
app.add_directive("aknowledgement", AknowledgementDirective)
app.add_node(alert_node, html=(visit_aknowledgement_node, depart_aknowledgement_node))

return {
"parallel_read_safe": True,
"parallel_write_safe": True,
}
73 changes: 73 additions & 0 deletions docs/_extension/api_admonition.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
"""A directive to generate an API admonition."""
from __future__ import annotations

from docutils import nodes
from docutils.parsers.rst import directives
from docutils.parsers.rst.directives.admonitions import BaseAdmonition
from sphinx.application import Sphinx
from sphinx.util import logging
from sphinx.util.docutils import SphinxDirective
from sphinx.writers.html5 import HTML5Translator

logger = logging.getLogger(__name__)


class api_node(nodes.Admonition, nodes.Element):
pass


def visit_api_node(self: HTML5Translator, node: api_node) -> None:
self.visit_admonition(node)


def depart_api_node(self: HTML5Translator, node: api_node) -> None:
self.depart_admonition(node)


class APIAdmonitionDirective(BaseAdmonition, SphinxDirective):
"""An API entry, displayed (if configured) in the form of an admonition."""

node_class = api_node
has_content = True
required_arguments = 0
optional_arguments = 0
final_argument_whitespace = False
option_spec = {
"class": directives.class_option,
"name": directives.unchanged,
}

def run(self) -> list[nodes.Node]:
if not self.options.get("class"):
self.options["class"] = ["admonition-api"]

(api,) = super().run()
if isinstance(api, nodes.system_message):
return [api]
elif isinstance(api, api_node):
api.insert(0, nodes.title(text="See API"))
api["docname"] = self.env.docname
self.add_name(api)
self.set_source_info(api)
self.state.document.note_explicit_target(api)
return [api]
else:
raise RuntimeError # never reached here


def setup(app: Sphinx) -> dict[str, object]:
"""Add custom configuration to sphinx app.

Args:
app: the Sphinx application

Returns:
the 2 parallel parameters set to ``True``.
"""
app.add_directive("api", APIAdmonitionDirective)
app.add_node(api_node, html=(visit_api_node, depart_api_node))

return {
"parallel_read_safe": True,
"parallel_write_safe": True,
}
6 changes: 6 additions & 0 deletions docs/_static/banner.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<div class="sidebar-message">
📚 <strong>Docs recently revamped!</strong> Found an issue? Report it on our
<a href="https://github.com/widgetti/ipyvuetify/issues" target="_blank"
>issue tracker</a
>. Contributions welcome! 🙏
</div>
62 changes: 62 additions & 0 deletions docs/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,65 @@ html[data-theme="light"] {
html[data-theme="dark"] {
--pst-color-primary: #1697f6;
}

/*******************************************************************************
* Create a custom api admonition
*/
div.admonition.admonition-api > .admonition-title::after {
content: "\f121"; /* the fa-code icon */
}

/*******************************************************************************
* Customize the font used by the title to make it look like the original lib
*/
.title.logo__title {
font-family: "Exo", sans-serif;
font-optical-sizing: auto;
font-weight: 700;
font-style: normal;
}

/*******************************************************************************
* custom article footer rendering
*/
footer.bd-footer-article {
background-color: transparent;
border-top: 1px solid var(--pst-color-border);
margin-top: 2em;
}

.bd-footer-article .footer-article-items {
flex-direction: row;
}

.bd-footer-article .footer-article-items .footer-article-item {
flex-grow: 1;
}

.bd-footer-article .last-updated {
color: var(--pst-color-text-muted);
text-align: right;
}

/*******************************************************************************
* add dollar sign in console code-block
*/
div.highlight-console pre span.go::before {
content: "$";
margin-right: 10px;
margin-left: 5px;
}

/*******************************************************************************
* custom loader animation
*/
@keyframes spin {
to {
transform: rotate(360deg);
}
}

.custom-loader {
display: flex;
animation: spin 1s linear infinite;
}
Binary file added docs/_static/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading