labbdocs 0.3.1__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {labbdocs-0.3.1 → labbdocs-0.4.0}/PKG-INFO +10 -10
- {labbdocs-0.3.1 → labbdocs-0.4.0}/README.md +9 -9
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/blog/index.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/blog/posts/1_introducing-labb-and-the-roadmap.md +3 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/1_introduction.md +8 -5
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/2_installation.md +27 -5
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/3_changelog.md +17 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/4_roadmap.md +5 -12
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/5_credits.md +2 -1
- labbdocs-0.4.0/labbdocs/content/guide/2_concepts/1_reactivity.md +98 -0
- labbdocs-0.3.1/labbdocs/content/guide/2_concepts/1_theming.md → labbdocs-0.4.0/labbdocs/content/guide/2_concepts/2_theming.md +3 -2
- labbdocs-0.3.1/labbdocs/content/guide/2_concepts/2_building_css.md → labbdocs-0.4.0/labbdocs/content/guide/2_concepts/3_building_css.md +3 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/0_labb_cli.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/1_config_yaml.md +2 -1
- labbdocs-0.4.0/labbdocs/content/guide/3_references/2_django_settings.md +106 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/3_lb_tags.md +19 -1
- labbdocs-0.4.0/labbdocs/content/guide/3_references/4_c-lb.m.md +54 -0
- labbdocs-0.4.0/labbdocs/content/guide/3_references/5_window_lb.md +77 -0
- labbdocs-0.3.1/labbdocs/content/guide/3_references/5_llms.txt.md → labbdocs-0.4.0/labbdocs/content/guide/3_references/6_llms.txt.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/index.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/1_getting_started/1_introduction.md +3 -2
- labbdocs-0.4.0/labbdocs/content/icons/2_packs/1_remix.md +15 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/index.md +2 -1
- labbdocs-0.4.0/labbdocs/content/ui/1_actions/button.md +50 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/dropdown.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/fab.md +3 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/modal.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/swap.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/theme-controller.md +4 -3
- labbdocs-0.4.0/labbdocs/content/ui/2_data_display/accordion.md +34 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/avatar.md +5 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/badge.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/card.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/carousel.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/chat.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/collapse.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/diff.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/2_data_display/hover-gallery.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/2_data_display/hover3d.md +24 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/kbd.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/2_data_display/list.md +23 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/stat.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/table.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/text-rotate.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/text.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/timeline.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/breadcrumbs.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/dock.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/link.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/menu.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/navbar.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/pagination.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/3_navigation/steps.md +32 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/tabs.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/alert.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/4_feedback/loading.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/4_feedback/progress.md +23 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/radial-progress.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/4_feedback/skeleton.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/4_feedback/status.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/4_feedback/toast.md +20 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/tooltip.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/checkbox.md +26 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/fieldset.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/file-input.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/filter.md +26 -0
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/input.md +26 -0
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/label.md +20 -0
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/radio.md +23 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/range.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/rating.md +26 -0
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/select.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/5_data_input/textarea.md +23 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/toggle.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/validator.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/divider.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/drawer.md +7 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/footer.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/hero.md +4 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/indicator.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/6_layout/join.md +23 -0
- labbdocs-0.4.0/labbdocs/content/ui/6_layout/mask.md +20 -0
- labbdocs-0.4.0/labbdocs/content/ui/6_layout/stack.md +20 -0
- labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-browser.md +17 -0
- labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-code.md +20 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/7_mockup/mockup-phone.md +4 -1
- labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-window.md +17 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/0_charts.md +121 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/bar.md +36 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/bubble.md +16 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/doughnut.md +19 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/line.md +28 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/pie.md +19 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/polar_area.md +22 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/radar.md +19 -0
- labbdocs-0.4.0/labbdocs/content/ui/8_charts/scatter.md +20 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/index.md +2 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/doc_parser.py +12 -2
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/seo_utils.py +15 -11
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/api_table.html +10 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/codeblock/index.html +1 -1
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/component_example/style/inline.html +11 -0
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/alpine.html +6 -0
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/cotton.html +5 -0
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/django.html +1 -0
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/tailwind.html +1 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/labbstart_info/index.html +1 -1
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/base.html +31 -0
- labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/nav/footer.html +68 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/nav/topnav.html +15 -9
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/views.py +14 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/pyproject.toml +1 -1
- labbdocs-0.3.1/labbdocs/content/guide/3_references/2_django_settings.md +0 -78
- labbdocs-0.3.1/labbdocs/content/guide/3_references/4_c-lb.m.md +0 -48
- labbdocs-0.3.1/labbdocs/content/icons/2_packs/1_remix.md +0 -14
- labbdocs-0.3.1/labbdocs/content/ui/1_actions/button.md +0 -38
- labbdocs-0.3.1/labbdocs/content/ui/2_data_display/accordion.md +0 -30
- labbdocs-0.3.1/labbdocs/content/ui/2_data_display/hover-gallery.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/2_data_display/hover3d.md +0 -21
- labbdocs-0.3.1/labbdocs/content/ui/2_data_display/list.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/3_navigation/steps.md +0 -26
- labbdocs-0.3.1/labbdocs/content/ui/4_feedback/loading.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/4_feedback/progress.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/4_feedback/skeleton.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/4_feedback/status.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/4_feedback/toast.md +0 -17
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/checkbox.md +0 -23
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/filter.md +0 -23
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/input.md +0 -23
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/label.md +0 -17
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/radio.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/rating.md +0 -23
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/select.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/5_data_input/textarea.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/6_layout/join.md +0 -20
- labbdocs-0.3.1/labbdocs/content/ui/6_layout/mask.md +0 -17
- labbdocs-0.3.1/labbdocs/content/ui/6_layout/stack.md +0 -17
- labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-browser.md +0 -14
- labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-code.md +0 -17
- labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-window.md +0 -14
- labbdocs-0.3.1/labbdocs/templates/cotton/lbdocs/component_example/style/inline.html +0 -17
- labbdocs-0.3.1/labbdocs/templates/cotton/lbdocs/nav/footer.html +0 -23
- {labbdocs-0.3.1 → labbdocs-0.4.0}/LICENSE +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/__init__.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/apps.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/2_packs/more.md +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/__init__.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/commands/__init__.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/commands/build_docs.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/css/highlight-custom.css +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/css/highlight.min.css +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/android-chrome-192x192.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/android-chrome-512x512.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/apple-touch-icon.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon-16x16.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon-32x32.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon.ico +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon.svg +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/site.webmanifest +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/labb_welcome_kit.jpg +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/avatar.png +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/mecca.jpg +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/shoe.jpg +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/js/common.js +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/js/highlight.min.js +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/icon_category_section.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/codeblock/title.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/index.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/section/code.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/section/preview.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/code_only.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/stacked.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/tab.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/doc_card/grid.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/doc_card/index.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/browser.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/category_section.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/daisy_ui.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/indented_block.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/base.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/blog.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/blog_header.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/component.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/header.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/misc/copy_button.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/nav/page_navigator.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/seo/head.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/ui/logo.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/lbdocs/pages/docs.html +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templatetags/__init__.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templatetags/docs_tags.py +0 -0
- {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/urls.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: labbdocs
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Documentation for the labb project
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -33,19 +33,19 @@ Description-Content-Type: text/markdown
|
|
|
33
33
|
|
|
34
34
|
# labbdocs
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
**labbdocs** packages the [labb.io](https://labb.io/) documentation as a Django app: UI component reference, guides, icons, and blog — all powered by **labb**, **django-cotton**, **Tailwind CSS**, and **daisyUI 5**.
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
The public site at [https://labb.io/](https://labb.io/) runs this app alongside the labb marketing pages. Install **labbdocs** in your own Django project if you want to embed or mirror that docs experience.
|
|
39
39
|
|
|
40
|
-
##
|
|
40
|
+
## Install the labbdocs package
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
pip install labbdocs
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Integrate labbdocs into Django
|
|
47
47
|
|
|
48
|
-
### 1. Add to INSTALLED_APPS
|
|
48
|
+
### 1. Add labbdocs to INSTALLED_APPS
|
|
49
49
|
|
|
50
50
|
Add `labbdocs` to your Django project's `INSTALLED_APPS`:
|
|
51
51
|
|
|
@@ -57,9 +57,9 @@ INSTALLED_APPS = [
|
|
|
57
57
|
]
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
### 2. Configure LABB_DOCS
|
|
60
|
+
### 2. Configure LABB_DOCS in settings
|
|
61
61
|
|
|
62
|
-
Set up your documentation configuration in
|
|
62
|
+
Set up your documentation configuration in Django settings:
|
|
63
63
|
|
|
64
64
|
```python
|
|
65
65
|
# settings.py
|
|
@@ -83,7 +83,7 @@ LABB_DOCS = {
|
|
|
83
83
|
}
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
-
### 3. Include URLs
|
|
86
|
+
### 3. Include labbdocs URLs
|
|
87
87
|
|
|
88
88
|
Add labbdocs URLs to your main URL configuration:
|
|
89
89
|
|
|
@@ -97,7 +97,7 @@ urlpatterns = [
|
|
|
97
97
|
]
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
### 4. Build
|
|
100
|
+
### 4. Build documentation
|
|
101
101
|
|
|
102
102
|
Use the management command to build your documentation:
|
|
103
103
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
# labbdocs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**labbdocs** packages the [labb.io](https://labb.io/) documentation as a Django app: UI component reference, guides, icons, and blog — all powered by **labb**, **django-cotton**, **Tailwind CSS**, and **daisyUI 5**.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The public site at [https://labb.io/](https://labb.io/) runs this app alongside the labb marketing pages. Install **labbdocs** in your own Django project if you want to embed or mirror that docs experience.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Install the labbdocs package
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
10
|
pip install labbdocs
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Integrate labbdocs into Django
|
|
14
14
|
|
|
15
|
-
### 1. Add to INSTALLED_APPS
|
|
15
|
+
### 1. Add labbdocs to INSTALLED_APPS
|
|
16
16
|
|
|
17
17
|
Add `labbdocs` to your Django project's `INSTALLED_APPS`:
|
|
18
18
|
|
|
@@ -24,9 +24,9 @@ INSTALLED_APPS = [
|
|
|
24
24
|
]
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
### 2. Configure LABB_DOCS
|
|
27
|
+
### 2. Configure LABB_DOCS in settings
|
|
28
28
|
|
|
29
|
-
Set up your documentation configuration in
|
|
29
|
+
Set up your documentation configuration in Django settings:
|
|
30
30
|
|
|
31
31
|
```python
|
|
32
32
|
# settings.py
|
|
@@ -50,7 +50,7 @@ LABB_DOCS = {
|
|
|
50
50
|
}
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
### 3. Include URLs
|
|
53
|
+
### 3. Include labbdocs URLs
|
|
54
54
|
|
|
55
55
|
Add labbdocs URLs to your main URL configuration:
|
|
56
56
|
|
|
@@ -64,7 +64,7 @@ urlpatterns = [
|
|
|
64
64
|
]
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
### 4. Build
|
|
67
|
+
### 4. Build documentation
|
|
68
68
|
|
|
69
69
|
Use the management command to build your documentation:
|
|
70
70
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: labb blog
|
|
3
|
-
description: labb blog
|
|
3
|
+
description: "labb blog: Django UI tutorials, releases, and opinions on django-cotton, Tailwind CSS, and daisyUI. Updates from the labb.io team."
|
|
4
|
+
keywords: "labb blog, django ui blog, django components tutorial, labb.io, django-cotton news"
|
|
4
5
|
doc_show_toc: false
|
|
5
6
|
doc_hide_title: true
|
|
6
7
|
doc_hide_drawer: true
|
{labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/blog/posts/1_introducing-labb-and-the-roadmap.md
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Introducing labb, and the roadmap
|
|
3
|
-
description: Meet labb
|
|
3
|
+
description: "Meet labb, a Django UI component library built with django-cotton and daisyUI. Our roadmap for components, docs, and the labb.io django component library."
|
|
4
|
+
keywords: "labb django, django component library, django-cotton, daisyui django, labb roadmap, django ui components"
|
|
4
5
|
published_time: 2025-12-29
|
|
5
6
|
modified_time: 2025-12-29
|
|
6
7
|
author: zadiq
|
|
@@ -57,6 +58,6 @@ Pre-built templates and components to kickstart your Django projects even faster
|
|
|
57
58
|
|
|
58
59
|
labb is just getting started, and your feedback is invaluable. Try it out in your projects, share your thoughts, share with other developers, and let me know what features and components you need most. Together, we can make building modern Django applications faster and more enjoyable.
|
|
59
60
|
|
|
60
|
-
Get involved by joining our [GitHub Discussions](https://github.com/labbhq/labb/discussions)
|
|
61
|
+
Get involved by joining our [GitHub Discussions](https://github.com/labbhq/labb/discussions).
|
|
61
62
|
|
|
62
63
|
Happy labbing! 🚀
|
{labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/1_introduction.md
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Introduction
|
|
3
|
-
description:
|
|
3
|
+
description: "labb is a Django UI component library: build interfaces with django-cotton, Tailwind CSS, and daisyUI 5. Server-rendered HTML, optional Alpine.js, 50+ components."
|
|
4
|
+
keywords: "django ui components, django component library, django-cotton, labb django, tailwind django, daisyui django, django frontend"
|
|
4
5
|
doc_show_toc: False
|
|
5
6
|
---
|
|
6
7
|
{% load static %}
|
|
@@ -42,20 +43,22 @@ doc_show_toc: False
|
|
|
42
43
|
|
|
43
44
|
**Developer Friendly** — Powerful CLI for setup, component inspection, and AI-assisted development. Works seamlessly with Cursor, VSCode Copilot, and other AI tools.
|
|
44
45
|
|
|
45
|
-
|
|
46
|
+
**Reactive When You Need It** — Components are zero-JS by default. Add Alpine.js interactivity with `.x` variants on a per-component basis. No bundler, no build step, nothing loads unless you use it.
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
## Django UI Components Included
|
|
49
|
+
|
|
50
|
+
- **50+ Components** — Buttons, cards, modals, drawers, forms, and more
|
|
48
51
|
- **Extensive examples** — Each component has multiple examples with different variations and use cases
|
|
49
52
|
- **Icon Libraries** — 2,800+ Remix icons and more via optional `labbicons` package
|
|
50
53
|
- **Theme Support** — Light, dark, and custom themes out of the box
|
|
51
54
|
- **Zero Config** — `labb init --defaults` and you're ready to go
|
|
52
55
|
- **No JavaScript Build Step** — Components work without JavaScript by default
|
|
56
|
+
- **Opt-in Reactivity** — Alpine.js-powered `.x` variants for runtime prop changes, zero overhead on pages that don't use them
|
|
53
57
|
- **CLI Tool** — `labb` command for project setup, component inspection, and AI-assisted development
|
|
54
58
|
|
|
55
59
|
|
|
56
|
-
##
|
|
60
|
+
## Coming Soon
|
|
57
61
|
|
|
58
62
|
- IDE extensions for autocomplete and documentation
|
|
59
63
|
- More icon packs
|
|
60
|
-
- Seamless integration with AlpineJS for interactive component properties
|
|
61
64
|
- Starter kits, blocks and templates.
|
{labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/2_installation.md
RENAMED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Installation
|
|
3
|
-
description:
|
|
3
|
+
description: "Install labb in new or existing Django projects: labbstart for greenfield apps, or pip install labbui with django-cotton. Tailwind CSS and daisyUI 5 ready."
|
|
4
|
+
keywords: "install labb django, labb django setup, django-cotton install, labbstart, pip labbui, tailwind django project"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
7
8
|
|
|
8
|
-
## New Project
|
|
9
|
+
## New Django Project with labbstart
|
|
9
10
|
|
|
10
11
|
The fastest way to get started is with **labbstart**, which scaffolds a new Django project with labb pre-configured.
|
|
11
12
|
|
|
@@ -146,7 +147,7 @@ Add `<c-lb.m.dependencies />` to your base template's `<head>` section:
|
|
|
146
147
|
{% endverbatim %}
|
|
147
148
|
</c-lbdocs.codeblock.title>
|
|
148
149
|
|
|
149
|
-
<c-lb.alert variant="warning"
|
|
150
|
+
<c-lb.alert variant="warning" alertStyle="outline" class="mt-4">
|
|
150
151
|
<span>Without `<c-lb.m.dependencies />`, components will not have the correct styling and interactive features may not work.</span>
|
|
151
152
|
</c-lb.alert>
|
|
152
153
|
|
|
@@ -187,9 +188,30 @@ Use labb components in your templates with HTML-like syntax:
|
|
|
187
188
|
|
|
188
189
|
Browse <a href="{% doc_url '1_actions/button.md' 'ui' %}">component documentation</a> for all available components.
|
|
189
190
|
|
|
191
|
+
### Reactive Components
|
|
192
|
+
|
|
193
|
+
Add `.x` to any component name to get a reactive twin. Props can be changed at runtime using Alpine.js:
|
|
194
|
+
|
|
195
|
+
<c-lbdocs.codeblock.title title="templates/example.html">
|
|
196
|
+
{% verbatim %}
|
|
197
|
+
```html
|
|
198
|
+
<div x-data="{ btn: { variant: 'primary' } }">
|
|
199
|
+
<c-lb.button.x x-model="btn" variant="primary">
|
|
200
|
+
<span x-text="btn.variant"></span> button
|
|
201
|
+
</c-lb.button.x>
|
|
202
|
+
|
|
203
|
+
<c-lb.button variant="ghost" @click="btn.variant = 'success'">Change</c-lb.button>
|
|
204
|
+
</div>
|
|
205
|
+
```
|
|
206
|
+
{% endverbatim %}
|
|
207
|
+
</c-lbdocs.codeblock.title>
|
|
208
|
+
|
|
209
|
+
See the <a href="{% doc_url '2_concepts/1_reactivity.md' 'guide' %}">Reactivity guide</a> for the full picture.
|
|
210
|
+
|
|
190
211
|
## Next Steps
|
|
191
212
|
|
|
192
|
-
- <a href="{% doc_url '2_concepts/
|
|
193
|
-
- <a href="{% doc_url '2_concepts/
|
|
213
|
+
- <a href="{% doc_url '2_concepts/2_theming.md' 'guide' %}">Theming</a> — Customize colors and themes
|
|
214
|
+
- <a href="{% doc_url '2_concepts/3_building_css.md' 'guide' %}">Building CSS</a> — CSS build process and production builds
|
|
215
|
+
- <a href="{% doc_url '2_concepts/1_reactivity.md' 'guide' %}">Reactivity</a> — Add Alpine.js-powered interactivity to components with `.x` variants
|
|
194
216
|
- <a href="{% doc_url '3_references/0_labb_cli.md' 'guide' %}">CLI Reference</a> — Component inspection, icon search, and more
|
|
195
217
|
- <a href="{% doc_url '1_getting_started/1_introduction.md' 'icons' %}">Icons</a> — Install labbicons for 2,800+ Remix icons
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Changelog
|
|
3
|
-
description: Release history and version notes for labb
|
|
3
|
+
description: "Release history and version notes for labb: django component library, labbui, and labbdocs."
|
|
4
|
+
keywords: "labb changelog, labbui release notes, django labb versions"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
## 0.
|
|
10
|
+
## 0.4.0 <c-lb.badge size="sm">latest</c-lb.badge>
|
|
11
|
+
|
|
12
|
+
**Apr 19, 2026**
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
- **AlpineJS integration** — opt-in client-side reactivity via `.x` component variants (e.g. `<c-lb.button.x>`). Alpine is only injected when a reactive variant is used; static pages stay zero-JS. New `window.lb` helpers (`extendComponent`, `lbProps`) for extending reactive components. ([#31](https://github.com/labbhq/labb/issues/31))
|
|
16
|
+
- **Charts** — new Chart.js-backed components (`chart.bar`, `chart.line`, `chart.pie`, `chart.doughnut`, `chart.radar`, `chart.polar-area`, `chart.scatter`, `chart.bubble`) with live DaisyUI theming, auto-palette colouring, `-light` translucent variants, and `x-model` reactivity. `<c-lb.chart />` page-level provider for global Chart.js config.
|
|
17
|
+
- **Icons** — added ~85 new Remix icons (AI/ML, signal, chat, painting, network, chart, misc).
|
|
18
|
+
|
|
19
|
+
### Fixes
|
|
20
|
+
- **Alert** — renamed the `style` prop to `alertStyle` to avoid clashing with the HTML `style` attribute on cotton passthrough.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 0.3.0
|
|
10
25
|
|
|
11
26
|
**Mar 08, 2026**
|
|
12
27
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Roadmap
|
|
3
|
-
description:
|
|
3
|
+
description: "labb roadmap: planned django ui components, tooling, and docs for the django component library toward v1."
|
|
4
|
+
keywords: "labb roadmap, django ui roadmap, labb future features"
|
|
4
5
|
doc_show_toc: false
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -20,15 +21,15 @@ This roadmap outlines the planned direction for labb. Priorities may shift based
|
|
|
20
21
|
</c-lb.timeline.end>
|
|
21
22
|
</c-slot>
|
|
22
23
|
</c-lb.timeline.item>
|
|
23
|
-
<c-lb.timeline.item variant="
|
|
24
|
+
<c-lb.timeline.item variant="success" icon="rmx.checkbox-circle">
|
|
24
25
|
<c-slot name="endSlot">
|
|
25
26
|
<c-lb.timeline.end box class="my-6">
|
|
26
27
|
<span class="font-bold">v0.4.0</span>
|
|
27
|
-
<p class="text-sm">AlpineJS integration</p>
|
|
28
|
+
<p class="text-sm">AlpineJS integration and Charts</p>
|
|
28
29
|
</c-lb.timeline.end>
|
|
29
30
|
</c-slot>
|
|
30
31
|
</c-lb.timeline.item>
|
|
31
|
-
<c-lb.timeline.item icon="rmx.
|
|
32
|
+
<c-lb.timeline.item variant="warning" icon="rmx.loader-4">
|
|
32
33
|
<c-slot name="endSlot">
|
|
33
34
|
<c-lb.timeline.end box class="my-6">
|
|
34
35
|
<span class="font-bold">IDE extensions</span>
|
|
@@ -36,14 +37,6 @@ This roadmap outlines the planned direction for labb. Priorities may shift based
|
|
|
36
37
|
</c-lb.timeline.end>
|
|
37
38
|
</c-slot>
|
|
38
39
|
</c-lb.timeline.item>
|
|
39
|
-
<c-lb.timeline.item icon="rmx.time">
|
|
40
|
-
<c-slot name="endSlot">
|
|
41
|
-
<c-lb.timeline.end box class="my-6">
|
|
42
|
-
<span class="font-bold">Charts</span>
|
|
43
|
-
<p class="text-sm">Interactive charts and data visualization</p>
|
|
44
|
-
</c-lb.timeline.end>
|
|
45
|
-
</c-slot>
|
|
46
|
-
</c-lb.timeline.item>
|
|
47
40
|
<c-lb.timeline.item icon="rmx.time">
|
|
48
41
|
<c-slot name="endSlot">
|
|
49
42
|
<c-lb.timeline.end box class="my-6">
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Credits
|
|
3
|
-
description:
|
|
3
|
+
description: "Credits: Django, django-cotton, Tailwind CSS, daisyUI, Alpine.js, and projects behind the labb django component library."
|
|
4
|
+
keywords: "labb credits, django-cotton credits, daisyui tailwind django"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Reactivity"
|
|
3
|
+
description: "Alpine.js reactivity in labb Django components: use `.x` variants for runtime props; no JS by default. django-cotton, Tailwind CSS, and daisyUI 5 compatible."
|
|
4
|
+
keywords: "labb alpine.js django, django reactivity, django-cotton alpine, labb .x component, server-side rendering django"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
{% load docs_tags %}
|
|
8
|
+
|
|
9
|
+
labb is zero-JS by default, but components are integrated with [Alpine.js](https://alpinejs.dev/) to provide reactivity. This is available through the `.x` twin of each component, letting you change visual props at runtime without a page reload. Alpine is only loaded on pages where a `.x` component is used.
|
|
10
|
+
|
|
11
|
+
## The `.x` variant
|
|
12
|
+
|
|
13
|
+
Every reactive-capable component has an `.x` version. For example, `<c-lb.button.x>` is the reactive twin of `<c-lb.button>`. Drop it in as a replacement. The server still renders the initial HTML, and Alpine takes over from there:
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<!-- Before: plain server-rendered button -->
|
|
17
|
+
<c-lb.button variant="primary" size="lg">Save</c-lb.button>
|
|
18
|
+
|
|
19
|
+
<!-- After: same output, but now Alpine-powered -->
|
|
20
|
+
<c-lb.button.x variant="primary" size="lg">Save</c-lb.button.x>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
### Initial props
|
|
26
|
+
|
|
27
|
+
Pass props as HTML attributes on the `.x` component, the same as the regular version. They seed the initial server render and are also read by Alpine as the starting state:
|
|
28
|
+
|
|
29
|
+
<c-lbdocs.component_example path="button/reactive-initial" style="inline" />
|
|
30
|
+
|
|
31
|
+
### Changing props at runtime
|
|
32
|
+
|
|
33
|
+
To change props at runtime, bind an object containing props to the `.x` component using `x-model`. The object can live anywhere Alpine can see it: inline `x-data`, a registered `Alpine.data` component, or any ancestor scope.
|
|
34
|
+
|
|
35
|
+
<c-lb.alert variant="info" alertStyle="outline" class="text-sm mb-6">
|
|
36
|
+
<span> Not every prop can be changed reactively. In the API table, reactive props are marked with a <c-lbi n="rmx.flashlight" w="0.85em" h="0.85em" class="text-warning inline align-middle" /> icon.</span>
|
|
37
|
+
</c-lb.alert>
|
|
38
|
+
|
|
39
|
+
<c-lbdocs.component_example path="button/reactive-simple" style="stacked" />
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Adding your own behavior
|
|
43
|
+
|
|
44
|
+
When you need the component to do more than just swap classes (custom state, async actions, event handling), use `lb.extendComponent` to build on top of the built-in Alpine component rather than replace it. Your code gets added alongside the class management logic, so both work together.
|
|
45
|
+
|
|
46
|
+
Inside your methods, use `this.lbProps` to read or change the component's reactive props:
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
this.lbProps.variant = 'success';
|
|
50
|
+
this.lbProps.size = 'lg';
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
<c-lbdocs.component_example path="button/reactive-extend" style="stacked" />
|
|
54
|
+
|
|
55
|
+
Initial props from HTML attributes are still seeded automatically. If you need a custom `init()`, call the base to keep that:
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
Alpine.data('myBtnComp', lb.extendComponent('button', {
|
|
59
|
+
init() {
|
|
60
|
+
Object.getPrototypeOf(this).init?.call(this);
|
|
61
|
+
// your custom init...
|
|
62
|
+
}
|
|
63
|
+
}));
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
See the [`window.lb` reference]({% doc_url '3_references/5_window_lb.md' 'guide' %}) for full `lb.extendComponent` documentation.
|
|
67
|
+
|
|
68
|
+
### Replacing the Alpine component
|
|
69
|
+
|
|
70
|
+
You can also pass your own `x-data` entirely, which bypasses the built-in component:
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<c-lb.button.x x-data="{ myCustomSetup() { ... } }" variant="primary">
|
|
74
|
+
Custom Alpine
|
|
75
|
+
</c-lb.button.x>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
When you do this, the built-in class management no longer applies. You are responsible for handling reactive classes yourself.
|
|
79
|
+
|
|
80
|
+
## Prop format
|
|
81
|
+
|
|
82
|
+
Reactive props are plain JavaScript object keys matching the **camelCase variable names** from the API table. These are the same keys used in `lbProps` when extending:
|
|
83
|
+
|
|
84
|
+
```js
|
|
85
|
+
{
|
|
86
|
+
variant: 'primary', // btn-primary
|
|
87
|
+
size: 'lg', // btn-lg
|
|
88
|
+
btnStyle: 'outline', // btn-outline
|
|
89
|
+
behavior: '', // '' = no class applied
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
An empty string means "no value". Use it to clear a prop back to its unstyled state. You only need to include the props you want to control; the rest stay at their server-rendered defaults.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## Overriding the Alpine.js source
|
|
97
|
+
|
|
98
|
+
By default, labb serves Alpine from its own bundled static file. To use a CDN or your own build, set `ALPINE_JS_PATH` in your Django settings. See the [Django settings reference]({% doc_url '3_references/2_django_settings.md' 'guide' %}#alpine_js_path) for details.
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Theming"
|
|
3
3
|
description: "Customize themes, create custom color schemes, and integrate daisyUI theming with labb components."
|
|
4
|
+
keywords: "labb theming django, daisyui themes django, tailwind themes django, django dark mode, labb_theme tag"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
7
8
|
|
|
8
9
|
labb's theming is built on <a href="https://daisyui.com/docs/themes/" target="_blank">daisyUI 5</a>. Themes are defined as CSS variables in `input.css`, applied via template tags, and optionally persisted server-side.
|
|
9
10
|
|
|
10
|
-
##
|
|
11
|
+
## Configuring labb themes in Django
|
|
11
12
|
|
|
12
13
|
Add the `{% verbatim %}{% labb_theme %}{% endverbatim %}` tag to your `<html>` element and register the theme persistence URL:
|
|
13
14
|
|
|
@@ -47,7 +48,7 @@ urlpatterns = [
|
|
|
47
48
|
|
|
48
49
|
`{% verbatim %}{% labb_theme %}{% endverbatim %}` outputs `data-theme="theme-name"` on the `<html>` element, reading from the user's session or falling back to `LABB_SETTINGS['DEFAULT_THEME']`. The `{% verbatim %}{% csrf_token %}{% endverbatim %}` is required for the theme persistence POST request.
|
|
49
50
|
|
|
50
|
-
<c-lb.alert variant="info"
|
|
51
|
+
<c-lb.alert variant="info" alertStyle="outline" class="mt-4">
|
|
51
52
|
<span>Use `{% verbatim %}{% labb_theme_val %}{% endverbatim %}` instead if you need the raw theme value for conditional logic (e.g., `{% verbatim %}{% labb_theme_val as current_theme %}{% endverbatim %}`).</span>
|
|
52
53
|
</c-lb.alert>
|
|
53
54
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Building CSS
|
|
3
|
-
description:
|
|
3
|
+
description: "Build Tailwind CSS for labb: CLI scans django-cotton templates, generates CSS, and integrates daisyUI with your Django project."
|
|
4
|
+
keywords: "labb build css, tailwind django labb, labb dev watcher, django-cotton tailwind"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
One of the main features of the labb CLI is the ability to automatically detect CSS classes based on component attributes in templates.
|
|
@@ -115,7 +116,7 @@ labb build --watch
|
|
|
115
116
|
labb dev
|
|
116
117
|
```
|
|
117
118
|
|
|
118
|
-
<c-lb.alert variant="info"
|
|
119
|
+
<c-lb.alert variant="info" alertStyle="outline">
|
|
119
120
|
<span>`labb dev` is a shortcut for `labb build -w -s` (watch + scan mode).</span>
|
|
120
121
|
</c-lb.alert>
|
|
121
122
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: labb CLI
|
|
3
|
-
description: Complete reference for the labb
|
|
3
|
+
description: "Complete reference for the labb CLI: inspect components, search icons, build CSS, and scaffold Django projects with labb and django-cotton."
|
|
4
|
+
keywords: "labb cli, labb components inspect, labb icons search, labb dev, django labb commands"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
The `labb` command-line interface provides a comprehensive set of tools for managing your Django projects using labb.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: labb.yaml
|
|
3
|
-
description:
|
|
3
|
+
description: "labb.yaml configuration for Django projects: paths, Tailwind CSS, daisyUI themes, and labb CLI defaults."
|
|
4
|
+
keywords: "labb.yaml, labb config django, labb project configuration"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: settings.py
|
|
3
|
+
description: "LABB_SETTINGS in Django settings.py: configure labb, django-cotton integration, and optional labbdocs for your django ui project."
|
|
4
|
+
keywords: "labb django settings, LABB_SETTINGS, django-cotton settings"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview of LABB_SETTINGS
|
|
8
|
+
|
|
9
|
+
All labb-specific settings live under a single `LABB_SETTINGS` dict in your Django `settings.py`:
|
|
10
|
+
|
|
11
|
+
<c-lbdocs.codeblock.title title="settings.py">
|
|
12
|
+
```python
|
|
13
|
+
LABB_SETTINGS = {
|
|
14
|
+
'DEFAULT_THEME': 'labb-light',
|
|
15
|
+
'ALPINE_JS_PATH': 'https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js',
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
</c-lbdocs.codeblock.title>
|
|
19
|
+
|
|
20
|
+
Only set what you need — all settings have built-in defaults and are fully optional.
|
|
21
|
+
|
|
22
|
+
## Settings Reference
|
|
23
|
+
|
|
24
|
+
### `DEFAULT_THEME`
|
|
25
|
+
|
|
26
|
+
<c-lbdocs.indented_block>
|
|
27
|
+
|
|
28
|
+
| | |
|
|
29
|
+
|---|---|
|
|
30
|
+
| **Default** | `"__system__"` |
|
|
31
|
+
| **Type** | `str` |
|
|
32
|
+
|
|
33
|
+
The theme applied to new users who have not yet made a selection. Can be any daisyUI theme registered in your project's `input.css`. The special value `"__system__"` defers to the OS-level light/dark preference.
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
LABB_SETTINGS = {
|
|
37
|
+
'DEFAULT_THEME': 'labb-light',
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
</c-lbdocs.indented_block>
|
|
42
|
+
|
|
43
|
+
### `ALPINE_JS_PATH`
|
|
44
|
+
|
|
45
|
+
<c-lbdocs.indented_block>
|
|
46
|
+
|
|
47
|
+
| | |
|
|
48
|
+
|---|---|
|
|
49
|
+
| **Default** | `"labb/js/alpine/alpine.min.js"` |
|
|
50
|
+
| **Type** | `str` |
|
|
51
|
+
|
|
52
|
+
Path to the Alpine.js file loaded when reactive (`.x`) components are used on a page. By default, labb serves Alpine from its own bundled static file.
|
|
53
|
+
|
|
54
|
+
- **Static path** — resolved via Django's static files system, emitted as `<script defer src="...">`
|
|
55
|
+
- **Full URL** (`http://` / `https://`) — emitted as-is, useful for CDN or custom builds
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
LABB_SETTINGS = {
|
|
59
|
+
# Use jsDelivr CDN instead of the bundled file
|
|
60
|
+
'ALPINE_JS_PATH': 'https://cdn.jsdelivr.net/npm/alpinejs@3/dist/cdn.min.js',
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
See the [Reactivity guide]({% doc_url '2_concepts/1_reactivity.md' 'guide' %}) for more detail on how Alpine loading works.
|
|
65
|
+
|
|
66
|
+
</c-lbdocs.indented_block>
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Functions
|
|
71
|
+
|
|
72
|
+
### `get_labb_setting()`
|
|
73
|
+
|
|
74
|
+
<c-lbdocs.indented_block>
|
|
75
|
+
|
|
76
|
+
Retrieves a setting from `LABB_SETTINGS` with fallback to labb's built-in defaults:
|
|
77
|
+
|
|
78
|
+
```python
|
|
79
|
+
from labb.django_settings import get_labb_setting
|
|
80
|
+
|
|
81
|
+
theme = get_labb_setting('DEFAULT_THEME')
|
|
82
|
+
alpine_path = get_labb_setting('ALPINE_JS_PATH')
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Signature:** `get_labb_setting(key, default=None)`
|
|
86
|
+
|
|
87
|
+
| Parameter | Description |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `key` | Setting name to retrieve |
|
|
90
|
+
| `default` | Fallback if the key is absent from both `LABB_SETTINGS` and labb's defaults |
|
|
91
|
+
|
|
92
|
+
</c-lbdocs.indented_block>
|
|
93
|
+
|
|
94
|
+
### `get_default_theme()`
|
|
95
|
+
|
|
96
|
+
<c-lbdocs.indented_block>
|
|
97
|
+
|
|
98
|
+
Convenience function to get the current default theme setting.
|
|
99
|
+
|
|
100
|
+
```python
|
|
101
|
+
from labb.django_settings import get_default_theme
|
|
102
|
+
|
|
103
|
+
theme = get_default_theme()
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
</c-lbdocs.indented_block>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: lb_tags
|
|
3
|
-
description:
|
|
3
|
+
description: "Django template tags for labb: labb_theme, labb_css, and helpers for django-cotton components in templates."
|
|
4
|
+
keywords: "labb template tags, labb_theme django, django labb_tags"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
7
|
{% load docs_tags %}
|
|
@@ -198,4 +199,21 @@ Returns the raw theme value from the user's session or the default theme from Dj
|
|
|
198
199
|
</c-lbdocs.indented_block>
|
|
199
200
|
|
|
200
201
|
|
|
202
|
+
### `lb_alpine_script`
|
|
203
|
+
|
|
204
|
+
<c-lbdocs.indented_block>
|
|
205
|
+
Emits a deferred Alpine.js `<script>` tag resolved from `LABB_SETTINGS["ALPINE_JS_PATH"]`. Use this when you need Alpine on a page without using `<c-lb.m.dependencies alpine />`.
|
|
206
|
+
|
|
207
|
+
**Usage:**
|
|
208
|
+
{% verbatim %}
|
|
209
|
+
```html
|
|
210
|
+
{% load lb_tags %}
|
|
211
|
+
{% lb_alpine_script %}
|
|
212
|
+
```
|
|
213
|
+
{% endverbatim %}
|
|
214
|
+
|
|
215
|
+
**Returns:**
|
|
216
|
+
- `<script defer src="..."></script>` pointing to the configured Alpine path
|
|
217
|
+
</c-lbdocs.indented_block>
|
|
218
|
+
|
|
201
219
|
See the [configuration documentation]({% doc_url '3_references/1_config_yaml.md' 'guide' %}) and [Django settings documentation]({% doc_url '3_references/2_django_settings.md' 'guide' %}) for more details about using some of these tags.
|