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.
Files changed (192) hide show
  1. {labbdocs-0.3.1 → labbdocs-0.4.0}/PKG-INFO +10 -10
  2. {labbdocs-0.3.1 → labbdocs-0.4.0}/README.md +9 -9
  3. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/blog/index.md +2 -1
  4. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/blog/posts/1_introducing-labb-and-the-roadmap.md +3 -2
  5. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/1_introduction.md +8 -5
  6. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/2_installation.md +27 -5
  7. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/3_changelog.md +17 -2
  8. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/4_roadmap.md +5 -12
  9. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/1_getting_started/5_credits.md +2 -1
  10. labbdocs-0.4.0/labbdocs/content/guide/2_concepts/1_reactivity.md +98 -0
  11. 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
  12. 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
  13. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/0_labb_cli.md +2 -1
  14. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/1_config_yaml.md +2 -1
  15. labbdocs-0.4.0/labbdocs/content/guide/3_references/2_django_settings.md +106 -0
  16. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/3_references/3_lb_tags.md +19 -1
  17. labbdocs-0.4.0/labbdocs/content/guide/3_references/4_c-lb.m.md +54 -0
  18. labbdocs-0.4.0/labbdocs/content/guide/3_references/5_window_lb.md +77 -0
  19. 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
  20. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/guide/index.md +2 -1
  21. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/1_getting_started/1_introduction.md +3 -2
  22. labbdocs-0.4.0/labbdocs/content/icons/2_packs/1_remix.md +15 -0
  23. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/index.md +2 -1
  24. labbdocs-0.4.0/labbdocs/content/ui/1_actions/button.md +50 -0
  25. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/dropdown.md +4 -1
  26. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/fab.md +3 -2
  27. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/modal.md +4 -1
  28. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/swap.md +4 -1
  29. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/1_actions/theme-controller.md +4 -3
  30. labbdocs-0.4.0/labbdocs/content/ui/2_data_display/accordion.md +34 -0
  31. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/avatar.md +5 -2
  32. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/badge.md +4 -1
  33. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/card.md +2 -1
  34. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/carousel.md +4 -1
  35. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/chat.md +2 -1
  36. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/collapse.md +2 -1
  37. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/diff.md +4 -1
  38. labbdocs-0.4.0/labbdocs/content/ui/2_data_display/hover-gallery.md +23 -0
  39. labbdocs-0.4.0/labbdocs/content/ui/2_data_display/hover3d.md +24 -0
  40. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/kbd.md +4 -1
  41. labbdocs-0.4.0/labbdocs/content/ui/2_data_display/list.md +23 -0
  42. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/stat.md +4 -1
  43. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/table.md +2 -1
  44. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/text-rotate.md +4 -1
  45. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/text.md +4 -1
  46. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/2_data_display/timeline.md +4 -1
  47. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/breadcrumbs.md +4 -1
  48. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/dock.md +4 -1
  49. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/link.md +4 -1
  50. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/menu.md +4 -1
  51. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/navbar.md +4 -1
  52. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/pagination.md +4 -1
  53. labbdocs-0.4.0/labbdocs/content/ui/3_navigation/steps.md +32 -0
  54. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/3_navigation/tabs.md +4 -1
  55. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/alert.md +4 -1
  56. labbdocs-0.4.0/labbdocs/content/ui/4_feedback/loading.md +23 -0
  57. labbdocs-0.4.0/labbdocs/content/ui/4_feedback/progress.md +23 -0
  58. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/radial-progress.md +4 -1
  59. labbdocs-0.4.0/labbdocs/content/ui/4_feedback/skeleton.md +23 -0
  60. labbdocs-0.4.0/labbdocs/content/ui/4_feedback/status.md +23 -0
  61. labbdocs-0.4.0/labbdocs/content/ui/4_feedback/toast.md +20 -0
  62. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/4_feedback/tooltip.md +4 -1
  63. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/checkbox.md +26 -0
  64. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/fieldset.md +4 -1
  65. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/file-input.md +4 -1
  66. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/filter.md +26 -0
  67. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/input.md +26 -0
  68. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/label.md +20 -0
  69. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/radio.md +23 -0
  70. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/range.md +4 -1
  71. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/rating.md +26 -0
  72. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/select.md +23 -0
  73. labbdocs-0.4.0/labbdocs/content/ui/5_data_input/textarea.md +23 -0
  74. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/toggle.md +4 -1
  75. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/5_data_input/validator.md +4 -1
  76. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/divider.md +4 -1
  77. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/drawer.md +7 -1
  78. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/footer.md +2 -1
  79. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/hero.md +4 -1
  80. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/6_layout/indicator.md +4 -1
  81. labbdocs-0.4.0/labbdocs/content/ui/6_layout/join.md +23 -0
  82. labbdocs-0.4.0/labbdocs/content/ui/6_layout/mask.md +20 -0
  83. labbdocs-0.4.0/labbdocs/content/ui/6_layout/stack.md +20 -0
  84. labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-browser.md +17 -0
  85. labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-code.md +20 -0
  86. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/7_mockup/mockup-phone.md +4 -1
  87. labbdocs-0.4.0/labbdocs/content/ui/7_mockup/mockup-window.md +17 -0
  88. labbdocs-0.4.0/labbdocs/content/ui/8_charts/0_charts.md +121 -0
  89. labbdocs-0.4.0/labbdocs/content/ui/8_charts/bar.md +36 -0
  90. labbdocs-0.4.0/labbdocs/content/ui/8_charts/bubble.md +16 -0
  91. labbdocs-0.4.0/labbdocs/content/ui/8_charts/doughnut.md +19 -0
  92. labbdocs-0.4.0/labbdocs/content/ui/8_charts/line.md +28 -0
  93. labbdocs-0.4.0/labbdocs/content/ui/8_charts/pie.md +19 -0
  94. labbdocs-0.4.0/labbdocs/content/ui/8_charts/polar_area.md +22 -0
  95. labbdocs-0.4.0/labbdocs/content/ui/8_charts/radar.md +19 -0
  96. labbdocs-0.4.0/labbdocs/content/ui/8_charts/scatter.md +20 -0
  97. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/ui/index.md +2 -1
  98. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/doc_parser.py +12 -2
  99. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/seo_utils.py +15 -11
  100. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/api_table.html +10 -1
  101. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/codeblock/index.html +1 -1
  102. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/component_example/style/inline.html +11 -0
  103. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/alpine.html +6 -0
  104. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/cotton.html +5 -0
  105. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/django.html +1 -0
  106. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/icon/tailwind.html +1 -0
  107. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/labbstart_info/index.html +1 -1
  108. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/base.html +31 -0
  109. labbdocs-0.4.0/labbdocs/templates/cotton/lbdocs/nav/footer.html +68 -0
  110. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/nav/topnav.html +15 -9
  111. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/views.py +14 -0
  112. {labbdocs-0.3.1 → labbdocs-0.4.0}/pyproject.toml +1 -1
  113. labbdocs-0.3.1/labbdocs/content/guide/3_references/2_django_settings.md +0 -78
  114. labbdocs-0.3.1/labbdocs/content/guide/3_references/4_c-lb.m.md +0 -48
  115. labbdocs-0.3.1/labbdocs/content/icons/2_packs/1_remix.md +0 -14
  116. labbdocs-0.3.1/labbdocs/content/ui/1_actions/button.md +0 -38
  117. labbdocs-0.3.1/labbdocs/content/ui/2_data_display/accordion.md +0 -30
  118. labbdocs-0.3.1/labbdocs/content/ui/2_data_display/hover-gallery.md +0 -20
  119. labbdocs-0.3.1/labbdocs/content/ui/2_data_display/hover3d.md +0 -21
  120. labbdocs-0.3.1/labbdocs/content/ui/2_data_display/list.md +0 -20
  121. labbdocs-0.3.1/labbdocs/content/ui/3_navigation/steps.md +0 -26
  122. labbdocs-0.3.1/labbdocs/content/ui/4_feedback/loading.md +0 -20
  123. labbdocs-0.3.1/labbdocs/content/ui/4_feedback/progress.md +0 -20
  124. labbdocs-0.3.1/labbdocs/content/ui/4_feedback/skeleton.md +0 -20
  125. labbdocs-0.3.1/labbdocs/content/ui/4_feedback/status.md +0 -20
  126. labbdocs-0.3.1/labbdocs/content/ui/4_feedback/toast.md +0 -17
  127. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/checkbox.md +0 -23
  128. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/filter.md +0 -23
  129. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/input.md +0 -23
  130. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/label.md +0 -17
  131. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/radio.md +0 -20
  132. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/rating.md +0 -23
  133. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/select.md +0 -20
  134. labbdocs-0.3.1/labbdocs/content/ui/5_data_input/textarea.md +0 -20
  135. labbdocs-0.3.1/labbdocs/content/ui/6_layout/join.md +0 -20
  136. labbdocs-0.3.1/labbdocs/content/ui/6_layout/mask.md +0 -17
  137. labbdocs-0.3.1/labbdocs/content/ui/6_layout/stack.md +0 -17
  138. labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-browser.md +0 -14
  139. labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-code.md +0 -17
  140. labbdocs-0.3.1/labbdocs/content/ui/7_mockup/mockup-window.md +0 -14
  141. labbdocs-0.3.1/labbdocs/templates/cotton/lbdocs/component_example/style/inline.html +0 -17
  142. labbdocs-0.3.1/labbdocs/templates/cotton/lbdocs/nav/footer.html +0 -23
  143. {labbdocs-0.3.1 → labbdocs-0.4.0}/LICENSE +0 -0
  144. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/__init__.py +0 -0
  145. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/apps.py +0 -0
  146. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/content/icons/2_packs/more.md +0 -0
  147. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/__init__.py +0 -0
  148. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/commands/__init__.py +0 -0
  149. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/management/commands/build_docs.py +0 -0
  150. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/css/highlight-custom.css +0 -0
  151. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/css/highlight.min.css +0 -0
  152. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/android-chrome-192x192.png +0 -0
  153. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/android-chrome-512x512.png +0 -0
  154. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/apple-touch-icon.png +0 -0
  155. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon-16x16.png +0 -0
  156. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon-32x32.png +0 -0
  157. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon.ico +0 -0
  158. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/favicon.svg +0 -0
  159. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/favicon/site.webmanifest +0 -0
  160. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/labb/labb_welcome_kit.jpg +0 -0
  161. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/avatar.png +0 -0
  162. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/mecca.jpg +0 -0
  163. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/img/stock/shoe.jpg +0 -0
  164. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/js/common.js +0 -0
  165. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/static/lbdocs/js/highlight.min.js +0 -0
  166. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/icon_category_section.html +0 -0
  167. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/codeblock/title.html +0 -0
  168. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/index.html +0 -0
  169. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/section/code.html +0 -0
  170. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/section/preview.html +0 -0
  171. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/code_only.html +0 -0
  172. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/stacked.html +0 -0
  173. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/component_example/style/tab.html +0 -0
  174. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/doc_card/grid.html +0 -0
  175. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/doc_card/index.html +0 -0
  176. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/browser.html +0 -0
  177. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/category_section.html +0 -0
  178. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/icon/daisy_ui.html +0 -0
  179. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/indented_block.html +0 -0
  180. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/base.html +0 -0
  181. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/blog.html +0 -0
  182. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/blog_header.html +0 -0
  183. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/component.html +0 -0
  184. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/layout/docs/header.html +0 -0
  185. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/misc/copy_button.html +0 -0
  186. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/nav/page_navigator.html +0 -0
  187. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/seo/head.html +0 -0
  188. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/cotton/lbdocs/ui/logo.html +0 -0
  189. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templates/lbdocs/pages/docs.html +0 -0
  190. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templatetags/__init__.py +0 -0
  191. {labbdocs-0.3.1 → labbdocs-0.4.0}/labbdocs/templatetags/docs_tags.py +0 -0
  192. {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.1
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
- The documentation is available online at [https://labb.io/](https://labb.io/).
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
- This documentation is installed as a django app in the django project that powers the [labb.io](https://labb.io) website.
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
- ## Installation
40
+ ## Install the labbdocs package
41
41
 
42
42
  ```bash
43
43
  pip install labbdocs
44
44
  ```
45
45
 
46
- ## Integration with a django site
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 your Django settings:
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 Documentation
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
- The documentation is available online at [https://labb.io/](https://labb.io/).
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
- This documentation is installed as a django app in the django project that powers the [labb.io](https://labb.io) website.
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
- ## Installation
7
+ ## Install the labbdocs package
8
8
 
9
9
  ```bash
10
10
  pip install labbdocs
11
11
  ```
12
12
 
13
- ## Integration with a django site
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 your Django settings:
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 Documentation
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 posts and articles
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
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Introducing labb, and the roadmap
3
- description: Meet labb - a modern UI component library for Django, and discover our roadmap for future development.
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) or [join our Discord server](https://discord.gg/34eBUJMQv2).
61
+ Get involved by joining our [GitHub Discussions](https://github.com/labbhq/labb/discussions).
61
62
 
62
63
  Happy labbing! 🚀
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  title: Introduction
3
- description: Beautiful, accessible, and customizable UI components for your Django projects.
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
- ## What You Get
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
- - **40+ Components** (in progress) — Buttons, cards, modals, drawers, forms, and more
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
- ## Coming Soon
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.
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  title: Installation
3
- description: How to install and set up labb in your Django project
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 (Recommended)
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" style="outline" class="mt-4">
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/1_theming.md' 'guide' %}">Theming</a> — Customize colors and themes
193
- - <a href="{% doc_url '2_concepts/2_building_css.md' 'guide' %}">Building CSS</a> — CSS build process and production builds
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.3.0 <c-lb.badge size="sm">latest</c-lb.badge>
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: Planned features and future direction for labb
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="warning" icon="rmx.loader-4">
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.time">
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: The projects and people that make labb possible
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
- ## Setup
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" style="outline" class="mt-4">
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: Understanding the CSS building flow in labb CLI
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" style="outline">
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 command-line interface
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: Configuration options for your labb project
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: Template tags for labb components and theming in Django templates
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.