punkweb-bb 0.4.2__tar.gz → 0.5.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 (360) hide show
  1. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/PKG-INFO +25 -36
  2. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/README.md +24 -35
  3. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/bbcode.cpython-311.pyc +0 -0
  4. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/context_processors.cpython-311.pyc +0 -0
  5. punkweb_bb-0.5.0/punkweb_bb/__pycache__/decorators.cpython-311.pyc +0 -0
  6. punkweb_bb-0.5.0/punkweb_bb/__pycache__/forms.cpython-311.pyc +0 -0
  7. punkweb_bb-0.5.0/punkweb_bb/__pycache__/middleware.cpython-311.pyc +0 -0
  8. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/models.cpython-311.pyc +0 -0
  9. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/pagination.cpython-311.pyc +0 -0
  10. punkweb_bb-0.5.0/punkweb_bb/__pycache__/searching.cpython-311.pyc +0 -0
  11. punkweb_bb-0.5.0/punkweb_bb/__pycache__/settings.cpython-311.pyc +0 -0
  12. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/urls.cpython-311.pyc +0 -0
  13. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/utils.cpython-311.pyc +0 -0
  14. punkweb_bb-0.5.0/punkweb_bb/__pycache__/views.cpython-311.pyc +0 -0
  15. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/widgets.cpython-311.pyc +0 -0
  16. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/bbcode.py +4 -3
  17. punkweb_bb-0.5.0/punkweb_bb/decorators.py +17 -0
  18. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/forms.py +47 -10
  19. punkweb_bb-0.5.0/punkweb_bb/middleware.py +49 -0
  20. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0001_initial.py +4 -25
  21. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0004_groupstyle.py +1 -6
  22. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0006_remove_boardprofile__signature_rendered_and_more.py +0 -20
  23. punkweb_bb-0.5.0/punkweb_bb/migrations/0007_boardprofile_bio.py +18 -0
  24. punkweb_bb-0.5.0/punkweb_bb/migrations/__pycache__/0001_initial.cpython-311.pyc +0 -0
  25. punkweb_bb-0.5.0/punkweb_bb/migrations/__pycache__/0001_squashed_0006_remove_boardprofile__signature_rendered_and_more.cpython-311.pyc +0 -0
  26. punkweb_bb-0.5.0/punkweb_bb/migrations/__pycache__/0004_groupstyle.cpython-311.pyc +0 -0
  27. punkweb_bb-0.5.0/punkweb_bb/migrations/__pycache__/0006_remove_boardprofile__signature_rendered_and_more.cpython-311.pyc +0 -0
  28. punkweb_bb-0.5.0/punkweb_bb/migrations/__pycache__/0007_boardprofile_bio.cpython-311.pyc +0 -0
  29. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/models.py +1 -0
  30. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/pagination.py +1 -1
  31. punkweb_bb-0.5.0/punkweb_bb/searching.py +10 -0
  32. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/settings.py +2 -0
  33. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/css/index.css +5 -6
  34. punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/css/members.css +44 -0
  35. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/css/profile.css +6 -2
  36. punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/css/punkweb.css +156 -0
  37. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/css/shoutbox.css +1 -9
  38. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/css/thread.css +4 -28
  39. {punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/editor → punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/js}/bbcode-editor.js +1 -1
  40. punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/js/punkweb-dialog.js +9 -0
  41. punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/vendor/htmx-2.0.0.min.js +1 -0
  42. punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/vendor/punkweb-ui.min.css +1 -0
  43. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/css/commandbar.css +2 -2
  44. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/css/editor.css +1 -1
  45. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/base.html +19 -21
  46. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/base_delete_dialog.html +13 -0
  47. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/base_dialog.html +16 -0
  48. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/bbcode.html +22 -0
  49. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/category_create.html +4 -21
  50. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/category_update.html +3 -20
  51. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/components/pagination_controls.html +45 -0
  52. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/components/profile_image.html +11 -0
  53. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/forms/inline_form.html +6 -0
  54. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/forms/stacked_form.html +35 -0
  55. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/index.html +65 -70
  56. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/login.html +5 -11
  57. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/members.html +72 -0
  58. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/partials/category_delete.html +1 -1
  59. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/partials/post_delete.html +1 -1
  60. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/partials/post_update.html +15 -0
  61. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/partials/shout_delete.html +1 -1
  62. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/partials/subcategory_delete.html +1 -1
  63. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/partials/thread_delete.html +1 -1
  64. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/partials/thread_move.html +16 -0
  65. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/profile.html +14 -11
  66. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/search.html +27 -0
  67. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/settings.html +42 -0
  68. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/shoutbox/shout_list.html +2 -2
  69. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/shoutbox/shoutbox.html +36 -0
  70. punkweb_bb-0.5.0/punkweb_bb/templates/punkweb_bb/signup.html +37 -0
  71. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/subcategory.html +12 -54
  72. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/subcategory_create.html +7 -16
  73. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/subcategory_update.html +7 -16
  74. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/thread.html +23 -88
  75. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/thread_create.html +7 -16
  76. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/thread_update.html +7 -16
  77. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/can_delete.cpython-311.pyc +0 -0
  78. punkweb_bb-0.5.0/punkweb_bb/templatetags/__pycache__/punkweb_bb.cpython-311.pyc +0 -0
  79. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/render.cpython-311.pyc +0 -0
  80. punkweb_bb-0.5.0/punkweb_bb/templatetags/__pycache__/settings.cpython-311.pyc +0 -0
  81. punkweb_bb-0.5.0/punkweb_bb/templatetags/punkweb_bb.py +9 -0
  82. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/urls.py +1 -0
  83. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/views.py +97 -71
  84. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/widgets.py +3 -4
  85. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/PKG-INFO +25 -36
  86. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/SOURCES.txt +24 -22
  87. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/setup.py +1 -1
  88. punkweb_bb-0.4.2/punkweb_bb/__pycache__/forms.cpython-311.pyc +0 -0
  89. punkweb_bb-0.4.2/punkweb_bb/__pycache__/middleware.cpython-311.pyc +0 -0
  90. punkweb_bb-0.4.2/punkweb_bb/__pycache__/settings.cpython-311.pyc +0 -0
  91. punkweb_bb-0.4.2/punkweb_bb/__pycache__/views.cpython-311.pyc +0 -0
  92. punkweb_bb-0.4.2/punkweb_bb/context_processors.py +0 -9
  93. punkweb_bb-0.4.2/punkweb_bb/middleware.py +0 -24
  94. punkweb_bb-0.4.2/punkweb_bb/migrations/__pycache__/0001_initial.cpython-311.pyc +0 -0
  95. punkweb_bb-0.4.2/punkweb_bb/migrations/__pycache__/0004_groupstyle.cpython-311.pyc +0 -0
  96. punkweb_bb-0.4.2/punkweb_bb/migrations/__pycache__/0006_remove_boardprofile__signature_rendered_and_more.cpython-311.pyc +0 -0
  97. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/category-form.css +0 -24
  98. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/defaults.css +0 -92
  99. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/login.css +0 -17
  100. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/members.css +0 -27
  101. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/post-form.css +0 -23
  102. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/punkweb-modal.css +0 -86
  103. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/punkweb.css +0 -818
  104. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/settings.css +0 -22
  105. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/subcategory-form.css +0 -24
  106. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/thread-form.css +0 -23
  107. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/typography.css +0 -38
  108. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/css/variables.css +0 -45
  109. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/editor/bbcode-editor.css +0 -0
  110. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/img/default-profile-image.png +0 -0
  111. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/js/punkweb-modal.js +0 -9
  112. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/vendor/htmx-1.9.4.min.js +0 -1
  113. punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/vendor/open-color.css +0 -343
  114. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/base_delete_modal.html +0 -13
  115. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/base_modal.html +0 -16
  116. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/bbcode.html +0 -20
  117. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/members.html +0 -101
  118. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/partials/post_update.html +0 -22
  119. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/partials/thread_move.html +0 -24
  120. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/settings.html +0 -68
  121. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/shoutbox/shoutbox.html +0 -21
  122. punkweb_bb-0.4.2/punkweb_bb/templates/punkweb_bb/signup.html +0 -46
  123. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/LICENSE +0 -0
  124. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/MANIFEST.in +0 -0
  125. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__init__.py +0 -0
  126. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/__init__.cpython-311.pyc +0 -0
  127. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/admin.cpython-311.pyc +0 -0
  128. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/admin_forms.cpython-311.pyc +0 -0
  129. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/apps.cpython-311.pyc +0 -0
  130. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/bbcode_tags.cpython-311.pyc +0 -0
  131. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/guests.cpython-311.pyc +0 -0
  132. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/mixins.cpython-311.pyc +0 -0
  133. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/parsers.cpython-311.pyc +0 -0
  134. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/response.cpython-311.pyc +0 -0
  135. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/signals.cpython-311.pyc +0 -0
  136. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/sitemap.cpython-311.pyc +0 -0
  137. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/tags.cpython-311.pyc +0 -0
  138. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/__pycache__/tests.cpython-311.pyc +0 -0
  139. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/admin.py +0 -0
  140. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/admin_forms.py +0 -0
  141. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/apps.py +0 -0
  142. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/guests.py +0 -0
  143. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0002_thread_view_count.py +0 -0
  144. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0003_alter_thread_options.py +0 -0
  145. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/0005_alter_thread_options.py +0 -0
  146. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/__init__.py +0 -0
  147. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/__pycache__/0002_thread_view_count.cpython-311.pyc +0 -0
  148. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/__pycache__/0003_alter_thread_options.cpython-311.pyc +0 -0
  149. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/__pycache__/0005_alter_thread_options.cpython-311.pyc +0 -0
  150. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/migrations/__pycache__/__init__.cpython-311.pyc +0 -0
  151. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/mixins.py +0 -0
  152. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/response.py +0 -0
  153. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/signals.py +0 -0
  154. {punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/editor → punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/css}/bbcode-editor-content.css +0 -0
  155. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/css/subcategory.css +0 -0
  156. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/favicon.ico +0 -0
  157. {punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/editor → punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/js}/bbcode-editor-tags.js +0 -0
  158. {punkweb_bb-0.4.2/punkweb_bb/static/punkweb_bb/editor → punkweb_bb-0.5.0/punkweb_bb/static/punkweb_bb/js}/markdown-editor.js +0 -0
  159. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/js/shoutbox.js +0 -0
  160. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/jquery-3.7.0.min.js +0 -0
  161. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/prism.css +0 -0
  162. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/prism.js +0 -0
  163. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/README.md +0 -0
  164. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/formats/bbcode.js +0 -0
  165. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/formats/xhtml.js +0 -0
  166. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/icons/material.js +0 -0
  167. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/icons/monocons.js +0 -0
  168. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/jquery.sceditor.bbcode.js +0 -0
  169. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/jquery.sceditor.js +0 -0
  170. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/jquery.sceditor.xhtml.js +0 -0
  171. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/alternative-lists.js +0 -0
  172. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/autosave.js +0 -0
  173. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/autoyoutube.js +0 -0
  174. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/dragdrop.js +0 -0
  175. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/format.js +0 -0
  176. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/plaintext.js +0 -0
  177. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/undo.js +0 -0
  178. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/plugins/v1compat.js +0 -0
  179. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/sceditor.js +0 -0
  180. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/content/default.css +0 -0
  181. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/default.css +0 -0
  182. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/defaultdark.css +0 -0
  183. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/famfamfam.png +0 -0
  184. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/modern.css +0 -0
  185. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/office-toolbar.css +0 -0
  186. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/office.css +0 -0
  187. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/development/themes/square.css +0 -0
  188. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/alien.png +0 -0
  189. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/angel.png +0 -0
  190. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/angry.png +0 -0
  191. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/blink.png +0 -0
  192. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/blush.png +0 -0
  193. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/cheerful.png +0 -0
  194. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/cool.png +0 -0
  195. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/credits.txt +0 -0
  196. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/cwy.png +0 -0
  197. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/devil.png +0 -0
  198. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/dizzy.png +0 -0
  199. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/ermm.png +0 -0
  200. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/face.png +0 -0
  201. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/getlost.png +0 -0
  202. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/grin.png +0 -0
  203. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/happy.png +0 -0
  204. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/heart.png +0 -0
  205. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/kissing.png +0 -0
  206. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/laughing.png +0 -0
  207. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/ninja.png +0 -0
  208. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/pinch.png +0 -0
  209. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/pouty.png +0 -0
  210. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/sad.png +0 -0
  211. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/shocked.png +0 -0
  212. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/sick.png +0 -0
  213. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/sideways.png +0 -0
  214. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/silly.png +0 -0
  215. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/sleeping.png +0 -0
  216. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/smile.png +0 -0
  217. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/tongue.png +0 -0
  218. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/unsure.png +0 -0
  219. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/w00t.png +0 -0
  220. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/wassat.png +0 -0
  221. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/whistling.png +0 -0
  222. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/wink.png +0 -0
  223. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/emoticons/wub.png +0 -0
  224. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/example.html +0 -0
  225. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/ar.js +0 -0
  226. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/ca.js +0 -0
  227. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/cn.js +0 -0
  228. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/cs.js +0 -0
  229. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/de.js +0 -0
  230. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/el.js +0 -0
  231. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/en-US.js +0 -0
  232. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/en.js +0 -0
  233. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/es.js +0 -0
  234. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/et.js +0 -0
  235. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/fa.js +0 -0
  236. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/fi.js +0 -0
  237. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/fr.js +0 -0
  238. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/gl.js +0 -0
  239. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/hu.js +0 -0
  240. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/id.js +0 -0
  241. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/it.js +0 -0
  242. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/ja.js +0 -0
  243. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/lt.js +0 -0
  244. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/nb.js +0 -0
  245. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/nl.js +0 -0
  246. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/pl.js +0 -0
  247. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/pt-BR.js +0 -0
  248. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/pt.js +0 -0
  249. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/ru.js +0 -0
  250. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/sk.js +0 -0
  251. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/sv.js +0 -0
  252. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/template.js +0 -0
  253. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/tr.js +0 -0
  254. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/tw.js +0 -0
  255. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/uk.js +0 -0
  256. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/languages/vi.js +0 -0
  257. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/formats/bbcode.js +0 -0
  258. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/formats/xhtml.js +0 -0
  259. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/icons/material.js +0 -0
  260. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/icons/monocons.js +0 -0
  261. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/jquery.sceditor.bbcode.min.js +0 -0
  262. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/jquery.sceditor.min.js +0 -0
  263. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/jquery.sceditor.xhtml.min.js +0 -0
  264. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/alternative-lists.js +0 -0
  265. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/autosave.js +0 -0
  266. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/autoyoutube.js +0 -0
  267. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/dragdrop.js +0 -0
  268. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/format.js +0 -0
  269. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/plaintext.js +0 -0
  270. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/undo.js +0 -0
  271. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/plugins/v1compat.js +0 -0
  272. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/sceditor.min.js +0 -0
  273. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/content/default.min.css +0 -0
  274. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/default.min.css +0 -0
  275. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/defaultdark.min.css +0 -0
  276. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/famfamfam.png +0 -0
  277. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/modern.min.css +0 -0
  278. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/office-toolbar.min.css +0 -0
  279. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/office.min.css +0 -0
  280. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/sceditor-3.2.0/minified/themes/square.min.css +0 -0
  281. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/.eslintrc.json +0 -0
  282. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/.gitignore +0 -0
  283. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/.prettierrc.json +0 -0
  284. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/LICENSE +0 -0
  285. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/README.md +0 -0
  286. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/babel.config.json +0 -0
  287. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/blank.html +0 -0
  288. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/demo.html +0 -0
  289. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/tiny-mde.css +0 -0
  290. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/tiny-mde.js +0 -0
  291. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/tiny-mde.min.css +0 -0
  292. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/tiny-mde.min.js +0 -0
  293. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/dist/tiny-mde.tiny.js +0 -0
  294. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/docs/_config.yml +0 -0
  295. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/docs/_layouts/default.html +0 -0
  296. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/docs/index.md +0 -0
  297. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/globals.d.ts +0 -0
  298. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/gulpfile.mjs +0 -0
  299. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/block.test.js +0 -0
  300. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/commandbar.test.js +0 -0
  301. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/inline.test.js +0 -0
  302. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/interaction.test.js +0 -0
  303. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/setup.test.js +0 -0
  304. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/util/config.js +0 -0
  305. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/util/server.js +0 -0
  306. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/util/setup.js +0 -0
  307. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest/util/test-helpers.js +0 -0
  308. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest-puppeteer.config.js +0 -0
  309. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/jest.config.js +0 -0
  310. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/package-lock.json +0 -0
  311. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/package.json +0 -0
  312. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/TinyMDE.js +0 -0
  313. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/TinyMDECommandBar.js +0 -0
  314. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/css/index.css +0 -0
  315. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/grammar.js +0 -0
  316. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/html/blank.html +0 -0
  317. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/html/demo.html +0 -0
  318. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/index.js +0 -0
  319. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/blockquote.svg +0 -0
  320. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/bold.svg +0 -0
  321. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/clear_formatting.svg +0 -0
  322. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/code.svg +0 -0
  323. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/h1.svg +0 -0
  324. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/h2.svg +0 -0
  325. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/hr.svg +0 -0
  326. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/image.svg +0 -0
  327. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/italic.svg +0 -0
  328. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/link.svg +0 -0
  329. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/ol.svg +0 -0
  330. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/strikethrough.svg +0 -0
  331. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/svg.js +0 -0
  332. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/svg/ul.svg +0 -0
  333. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/static/punkweb_bb/vendor/tiny-markdown-editor/src/tiny.js +0 -0
  334. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templates/punkweb_bb/widgets/markdown-editor.html +0 -0
  335. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__init__.py +0 -0
  336. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/__init__.cpython-311.pyc +0 -0
  337. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/can_edit.cpython-311.pyc +0 -0
  338. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/can_post.cpython-311.pyc +0 -0
  339. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/humanize_count.cpython-311.pyc +0 -0
  340. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/humanize_int.cpython-311.pyc +0 -0
  341. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/markdown.cpython-311.pyc +0 -0
  342. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/shoutbox_bbcode.cpython-311.pyc +0 -0
  343. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/shoutbox_render.cpython-311.pyc +0 -0
  344. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/styled_group_name.cpython-311.pyc +0 -0
  345. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/styled_username.cpython-311.pyc +0 -0
  346. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/__pycache__/username.cpython-311.pyc +0 -0
  347. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/can_delete.py +0 -0
  348. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/can_edit.py +0 -0
  349. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/can_post.py +0 -0
  350. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/humanize_int.py +0 -0
  351. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/render.py +0 -0
  352. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/styled_group_name.py +0 -0
  353. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/templatetags/styled_username.py +0 -0
  354. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/tests.py +0 -0
  355. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb/utils.py +0 -0
  356. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/dependency_links.txt +0 -0
  357. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/not-zip-safe +0 -0
  358. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/requires.txt +0 -0
  359. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/punkweb_bb.egg-info/top_level.txt +0 -0
  360. {punkweb_bb-0.4.2 → punkweb_bb-0.5.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: punkweb_bb
3
- Version: 0.4.2
3
+ Version: 0.5.0
4
4
  Summary: Django application that provides a simple and modern forum board software for your Django website.
5
5
  Home-page: https://github.com/Punkweb/PunkwebBB
6
6
  Author: Punkweb
@@ -40,18 +40,6 @@ Check out [punkweb.net](https://punkweb.net/board/) for documentation, support a
40
40
 
41
41
  It may work with older versions of Python and Django, but it has not been tested.
42
42
 
43
- ## BBCode or Markdown?
44
-
45
- PunkwebBB supports both BBCode and Markdown. You'll want to decide before installing which parser you want to use, as switching between them will cause existing threads, posts, signatures, etc. to render incorrectly! Switching will not affect the database schema, but it will affect the content.
46
-
47
- BBCode is the default parser, but you can switch to Markdown by setting the following in your Django settings module:
48
-
49
- ```python
50
- PUNKWEB_BB = {
51
- "PARSER": "markdown",
52
- }
53
- ```
54
-
55
43
  ## Installation
56
44
 
57
45
  ```bash
@@ -67,19 +55,12 @@ INSTALLED_APPS = [
67
55
  ]
68
56
  ```
69
57
 
70
- Add the following context processor to your `TEMPLATES` setting:
58
+ **_Optionally:_** Add the following middleware to your `MIDDLEWARE` setting, at the end of the list:
71
59
 
72
60
  ```python
73
- TEMPLATES = [
74
- {
75
- ...
76
- "OPTIONS": {
77
- "context_processors": [
78
- ...
79
- "punkweb_bb.context_processors.punkweb_bb",
80
- ],
81
- },
82
- },
61
+ MIDDLEWARE = [
62
+ ...
63
+ "punkweb_bb.middleware.ProfileOnlineCacheMiddleware",
83
64
  ]
84
65
  ```
85
66
 
@@ -100,6 +81,10 @@ And finally, install the models:
100
81
  python manage.py migrate
101
82
  ```
102
83
 
84
+ ## Deprecated notice (v0.5.0)
85
+
86
+ If you were using the package before v0.5.0, there was a step in the README to add a context processor. This is no longer necessary, as it's been removed, so you may get an error that it doesn't exist. If you see this error, you can safely remove the context processor from your settings.
87
+
103
88
  ## Configuration
104
89
 
105
90
  These are the default settings for PunkwebBB, which can be overridden in your Django settings module:
@@ -112,6 +97,8 @@ PUNKWEB_BB = {
112
97
  "FAVICON": "punkweb_bb/favicon.ico",
113
98
  "OG_IMAGE": None, # Used for Open Graph meta tags, must be a full URL!
114
99
  "SHOUTBOX_ENABLED": True,
100
+ "SHOUTBOX_POLLING_ENABLED": True,
101
+ "SHOUTBOX_POLLING_INTERVAL": 30, # in seconds
115
102
  "DISCORD_WIDGET_ENABLED": False,
116
103
  "DISCORD_WIDGET_THEME": "dark",
117
104
  "DISCORD_SERVER_ID": None, # Found under Server Settings > Widget > Server ID
@@ -138,7 +125,7 @@ Creating test database for alias 'default'...
138
125
  System check identified no issues (0 silenced).
139
126
  ...........................................................
140
127
  ----------------------------------------------------------------------
141
- Ran 59 tests in 8.994s
128
+ Ran 59 tests in 8.594s
142
129
 
143
130
  OK
144
131
  Destroying test database for alias 'default'...
@@ -148,30 +135,32 @@ punkweb_bb/__init__.py 0 0 100%
148
135
  punkweb_bb/admin.py 42 0 100%
149
136
  punkweb_bb/admin_forms.py 34 0 100%
150
137
  punkweb_bb/apps.py 6 0 100%
151
- punkweb_bb/bbcode.py 82 68 17%
152
- punkweb_bb/context_processors.py 3 0 100%
153
- punkweb_bb/forms.py 47 0 100%
138
+ punkweb_bb/bbcode.py 118 46 61%
139
+ punkweb_bb/decorators.py 12 0 100%
140
+ punkweb_bb/forms.py 59 0 100%
154
141
  punkweb_bb/guests.py 13 0 100%
155
- punkweb_bb/middleware.py 14 0 100%
142
+ punkweb_bb/middleware.py 27 3 89%
156
143
  punkweb_bb/mixins.py 11 0 100%
157
- punkweb_bb/models.py 153 1 99%
144
+ punkweb_bb/models.py 154 1 99%
158
145
  punkweb_bb/pagination.py 11 4 64%
159
146
  punkweb_bb/response.py 3 0 100%
160
- punkweb_bb/settings.py 11 0 100%
147
+ punkweb_bb/searching.py 8 5 38%
148
+ punkweb_bb/settings.py 13 0 100%
161
149
  punkweb_bb/signals.py 9 0 100%
162
150
  punkweb_bb/templatetags/__init__.py 0 0 100%
163
151
  punkweb_bb/templatetags/can_delete.py 5 0 100%
164
152
  punkweb_bb/templatetags/can_edit.py 5 0 100%
165
153
  punkweb_bb/templatetags/can_post.py 5 0 100%
166
154
  punkweb_bb/templatetags/humanize_int.py 9 5 44%
167
- punkweb_bb/templatetags/render.py 28 7 75%
155
+ punkweb_bb/templatetags/punkweb_bb.py 6 0 100%
156
+ punkweb_bb/templatetags/render.py 38 16 58%
168
157
  punkweb_bb/templatetags/styled_group_name.py 7 1 86%
169
158
  punkweb_bb/templatetags/styled_username.py 6 0 100%
170
159
  punkweb_bb/tests.py 418 0 100%
171
160
  punkweb_bb/urls.py 4 0 100%
172
- punkweb_bb/utils.py 42 23 45%
173
- punkweb_bb/views.py 304 118 61%
174
- punkweb_bb/widgets.py 16 0 100%
161
+ punkweb_bb/utils.py 44 26 41%
162
+ punkweb_bb/views.py 319 123 61%
163
+ punkweb_bb/widgets.py 16 2 88%
175
164
  ------------------------------------------------------------------
176
- TOTAL 1288 227 82%
165
+ TOTAL 1402 232 83%
177
166
  ```
@@ -22,18 +22,6 @@ Check out [punkweb.net](https://punkweb.net/board/) for documentation, support a
22
22
 
23
23
  It may work with older versions of Python and Django, but it has not been tested.
24
24
 
25
- ## BBCode or Markdown?
26
-
27
- PunkwebBB supports both BBCode and Markdown. You'll want to decide before installing which parser you want to use, as switching between them will cause existing threads, posts, signatures, etc. to render incorrectly! Switching will not affect the database schema, but it will affect the content.
28
-
29
- BBCode is the default parser, but you can switch to Markdown by setting the following in your Django settings module:
30
-
31
- ```python
32
- PUNKWEB_BB = {
33
- "PARSER": "markdown",
34
- }
35
- ```
36
-
37
25
  ## Installation
38
26
 
39
27
  ```bash
@@ -49,19 +37,12 @@ INSTALLED_APPS = [
49
37
  ]
50
38
  ```
51
39
 
52
- Add the following context processor to your `TEMPLATES` setting:
40
+ **_Optionally:_** Add the following middleware to your `MIDDLEWARE` setting, at the end of the list:
53
41
 
54
42
  ```python
55
- TEMPLATES = [
56
- {
57
- ...
58
- "OPTIONS": {
59
- "context_processors": [
60
- ...
61
- "punkweb_bb.context_processors.punkweb_bb",
62
- ],
63
- },
64
- },
43
+ MIDDLEWARE = [
44
+ ...
45
+ "punkweb_bb.middleware.ProfileOnlineCacheMiddleware",
65
46
  ]
66
47
  ```
67
48
 
@@ -82,6 +63,10 @@ And finally, install the models:
82
63
  python manage.py migrate
83
64
  ```
84
65
 
66
+ ## Deprecated notice (v0.5.0)
67
+
68
+ If you were using the package before v0.5.0, there was a step in the README to add a context processor. This is no longer necessary, as it's been removed, so you may get an error that it doesn't exist. If you see this error, you can safely remove the context processor from your settings.
69
+
85
70
  ## Configuration
86
71
 
87
72
  These are the default settings for PunkwebBB, which can be overridden in your Django settings module:
@@ -94,6 +79,8 @@ PUNKWEB_BB = {
94
79
  "FAVICON": "punkweb_bb/favicon.ico",
95
80
  "OG_IMAGE": None, # Used for Open Graph meta tags, must be a full URL!
96
81
  "SHOUTBOX_ENABLED": True,
82
+ "SHOUTBOX_POLLING_ENABLED": True,
83
+ "SHOUTBOX_POLLING_INTERVAL": 30, # in seconds
97
84
  "DISCORD_WIDGET_ENABLED": False,
98
85
  "DISCORD_WIDGET_THEME": "dark",
99
86
  "DISCORD_SERVER_ID": None, # Found under Server Settings > Widget > Server ID
@@ -120,7 +107,7 @@ Creating test database for alias 'default'...
120
107
  System check identified no issues (0 silenced).
121
108
  ...........................................................
122
109
  ----------------------------------------------------------------------
123
- Ran 59 tests in 8.994s
110
+ Ran 59 tests in 8.594s
124
111
 
125
112
  OK
126
113
  Destroying test database for alias 'default'...
@@ -130,30 +117,32 @@ punkweb_bb/__init__.py 0 0 100%
130
117
  punkweb_bb/admin.py 42 0 100%
131
118
  punkweb_bb/admin_forms.py 34 0 100%
132
119
  punkweb_bb/apps.py 6 0 100%
133
- punkweb_bb/bbcode.py 82 68 17%
134
- punkweb_bb/context_processors.py 3 0 100%
135
- punkweb_bb/forms.py 47 0 100%
120
+ punkweb_bb/bbcode.py 118 46 61%
121
+ punkweb_bb/decorators.py 12 0 100%
122
+ punkweb_bb/forms.py 59 0 100%
136
123
  punkweb_bb/guests.py 13 0 100%
137
- punkweb_bb/middleware.py 14 0 100%
124
+ punkweb_bb/middleware.py 27 3 89%
138
125
  punkweb_bb/mixins.py 11 0 100%
139
- punkweb_bb/models.py 153 1 99%
126
+ punkweb_bb/models.py 154 1 99%
140
127
  punkweb_bb/pagination.py 11 4 64%
141
128
  punkweb_bb/response.py 3 0 100%
142
- punkweb_bb/settings.py 11 0 100%
129
+ punkweb_bb/searching.py 8 5 38%
130
+ punkweb_bb/settings.py 13 0 100%
143
131
  punkweb_bb/signals.py 9 0 100%
144
132
  punkweb_bb/templatetags/__init__.py 0 0 100%
145
133
  punkweb_bb/templatetags/can_delete.py 5 0 100%
146
134
  punkweb_bb/templatetags/can_edit.py 5 0 100%
147
135
  punkweb_bb/templatetags/can_post.py 5 0 100%
148
136
  punkweb_bb/templatetags/humanize_int.py 9 5 44%
149
- punkweb_bb/templatetags/render.py 28 7 75%
137
+ punkweb_bb/templatetags/punkweb_bb.py 6 0 100%
138
+ punkweb_bb/templatetags/render.py 38 16 58%
150
139
  punkweb_bb/templatetags/styled_group_name.py 7 1 86%
151
140
  punkweb_bb/templatetags/styled_username.py 6 0 100%
152
141
  punkweb_bb/tests.py 418 0 100%
153
142
  punkweb_bb/urls.py 4 0 100%
154
- punkweb_bb/utils.py 42 23 45%
155
- punkweb_bb/views.py 304 118 61%
156
- punkweb_bb/widgets.py 16 0 100%
143
+ punkweb_bb/utils.py 44 26 41%
144
+ punkweb_bb/views.py 319 123 61%
145
+ punkweb_bb/widgets.py 16 2 88%
157
146
  ------------------------------------------------------------------
158
- TOTAL 1288 227 82%
147
+ TOTAL 1402 232 83%
159
148
  ```
@@ -56,8 +56,8 @@ def add_url_tag(parser):
56
56
  def add_quote_tag(parser):
57
57
  def _render_quote(name, value, options, parent, context):
58
58
  if "quote" in options:
59
- return f'<blockquote><cite>{options["quote"]} said: </cite>{value}</blockquote>'
60
- return f"<blockquote>{value}</blockquote>"
59
+ return f'<blockquote class="pw-blockquote"><cite>{options["quote"]} said: </cite>{value}</blockquote>'
60
+ return f'<blockquote class="pw-blockquote">{value}</blockquote>'
61
61
 
62
62
  parser.add_formatter(
63
63
  "quote", _render_quote, strip=True, swallow_trailing_newline=True
@@ -114,7 +114,8 @@ def add_spoiler_tag(parser):
114
114
  def _render_spoiler(name, value, options, parent, context):
115
115
  if "spoiler" in options:
116
116
  summary = options["spoiler"]
117
- return f"<details><summary>{summary}</summary>{value}</details>"
117
+ return f'<details class="pw-details"><summary>{summary}</summary>{value}</details>'
118
+ return f'<details class="pw-details"><summary>Click to reveal</summary>{value}</details>'
118
119
 
119
120
  parser.add_formatter(
120
121
  "spoiler", _render_spoiler, strip=True, swallow_trailing_newline=True
@@ -0,0 +1,17 @@
1
+ from functools import wraps
2
+
3
+ from django.core.exceptions import PermissionDenied
4
+ from django.shortcuts import redirect
5
+
6
+
7
+ def redirect_if_authenticated(redirect_url="punkweb_bb:index"):
8
+ def decorator(view_func):
9
+ @wraps(view_func)
10
+ def _wrapper_view(request, *args, **kwargs):
11
+ if request.user.is_authenticated:
12
+ return redirect(redirect_url)
13
+ return view_func(request, *args, **kwargs)
14
+
15
+ return _wrapper_view
16
+
17
+ return decorator
@@ -6,10 +6,7 @@ from punkweb_bb.utils import get_editor_widget
6
6
 
7
7
 
8
8
  class LoginForm(AuthenticationForm):
9
- """
10
- Override the default AuthenticationForm to add CSS classes to the
11
- username and password fields.
12
- """
9
+ template_name = "punkweb_bb/forms/stacked_form.html"
13
10
 
14
11
  def __init__(self, *args, **kwargs):
15
12
  super().__init__(*args, **kwargs)
@@ -21,6 +18,8 @@ class LoginForm(AuthenticationForm):
21
18
 
22
19
 
23
20
  class SignUpForm(UserCreationForm):
21
+ template_name = "punkweb_bb/forms/stacked_form.html"
22
+
24
23
  def __init__(self, *args, **kwargs):
25
24
  super().__init__(*args, **kwargs)
26
25
 
@@ -31,19 +30,45 @@ class SignUpForm(UserCreationForm):
31
30
  self.fields["password2"].widget.attrs.update({"class": "pw-input fluid"})
32
31
 
33
32
 
33
+ class FilterUsersForm(forms.Form):
34
+ template_name = "punkweb_bb/forms/inline_form.html"
35
+
36
+ search = forms.CharField(
37
+ required=False,
38
+ widget=forms.TextInput(attrs={"class": "pw-input", "placeholder": "Search"}),
39
+ )
40
+ sort_by = forms.ChoiceField(
41
+ required=False,
42
+ choices=(
43
+ ("", "-----------"),
44
+ ("username", "Username (A-Z)"),
45
+ ("-username", "Username (Z-A)"),
46
+ ("date_joined", "Date Joined (Oldest)"),
47
+ ("-date_joined", "Date Joined (Newest)"),
48
+ ),
49
+ widget=forms.Select(attrs={"class": "pw-input"}),
50
+ )
51
+
52
+
34
53
  class BoardProfileModelForm(forms.ModelForm):
54
+ template_name = "punkweb_bb/forms/stacked_form.html"
55
+
35
56
  class Meta:
36
57
  model = BoardProfile
37
58
  fields = (
38
59
  "image",
60
+ "bio",
39
61
  "signature",
40
62
  )
41
63
  widgets = {
64
+ "bio": get_editor_widget(),
42
65
  "signature": get_editor_widget(),
43
66
  }
44
67
 
45
68
 
46
69
  class CategoryModelForm(forms.ModelForm):
70
+ template_name = "punkweb_bb/forms/stacked_form.html"
71
+
47
72
  class Meta:
48
73
  model = Category
49
74
  fields = (
@@ -59,6 +84,8 @@ class CategoryModelForm(forms.ModelForm):
59
84
 
60
85
 
61
86
  class PostModelForm(forms.ModelForm):
87
+ template_name = "punkweb_bb/forms/stacked_form.html"
88
+
62
89
  class Meta:
63
90
  model = Post
64
91
  fields = ("content",)
@@ -77,24 +104,30 @@ class ShoutModelForm(forms.ModelForm):
77
104
 
78
105
 
79
106
  class SubcategoryModelForm(forms.ModelForm):
107
+ template_name = "punkweb_bb/forms/stacked_form.html"
108
+
80
109
  class Meta:
81
110
  model = Subcategory
82
111
  fields = (
112
+ "category",
83
113
  "name",
84
114
  "description",
85
115
  "order",
86
116
  "staff_post_only",
87
117
  )
88
118
  widgets = {
89
- "name": forms.TextInput(attrs={"autofocus": True, "class": "pw-input"}),
90
- "description": get_editor_widget(),
91
- "order": forms.TextInput(
92
- attrs={"class": "pw-input", "min": "0", "type": "number"}
119
+ "name": forms.TextInput(
120
+ attrs={"autofocus": True, "class": "pw-input fluid"}
93
121
  ),
122
+ "category": forms.Select(attrs={"class": "pw-input fluid"}),
123
+ "description": get_editor_widget(),
124
+ "order": forms.NumberInput(attrs={"class": "pw-input", "min": "0"}),
94
125
  }
95
126
 
96
127
 
97
128
  class ThreadModelForm(forms.ModelForm):
129
+ template_name = "punkweb_bb/forms/stacked_form.html"
130
+
98
131
  class Meta:
99
132
  model = Thread
100
133
  fields = (
@@ -102,14 +135,18 @@ class ThreadModelForm(forms.ModelForm):
102
135
  "content",
103
136
  )
104
137
  widgets = {
105
- "title": forms.TextInput(attrs={"autofocus": True, "class": "pw-input"}),
138
+ "title": forms.TextInput(
139
+ attrs={"autofocus": True, "class": "pw-input fluid"}
140
+ ),
106
141
  "content": get_editor_widget(),
107
142
  }
108
143
 
109
144
 
110
145
  class ThreadMoveForm(forms.Form):
146
+ template_name = "punkweb_bb/forms/stacked_form.html"
147
+
111
148
  subcategory = forms.ModelChoiceField(
112
149
  queryset=Subcategory.objects.all(),
113
150
  empty_label="Select a subcategory",
114
- widget=forms.Select(attrs={"class": "pw-input"}),
151
+ widget=forms.Select(attrs={"class": "pw-input fluid"}),
115
152
  )
@@ -0,0 +1,49 @@
1
+ from django.core.cache import cache
2
+ from django.core.exceptions import ValidationError
3
+ from django.core.validators import validate_ipv46_address
4
+ from django.utils import timezone
5
+
6
+ from punkweb_bb.guests import guest_list
7
+
8
+
9
+ class ProfileOnlineCacheMiddleware:
10
+ def __init__(self, get_response):
11
+ self.get_response = get_response
12
+
13
+ def __call__(self, request):
14
+ if request.user.is_authenticated:
15
+ cache.set(
16
+ f"profile_online_{request.user.profile.id}", timezone.now(), 60 * 5
17
+ )
18
+ else:
19
+ ip = self.get_client_ip(request)
20
+ guest_list.add(ip)
21
+
22
+ guest_list.clear_expired()
23
+
24
+ response = self.get_response(request)
25
+
26
+ return response
27
+
28
+ def get_client_ip(self, request):
29
+ headers = (
30
+ "HTTP_X_FORWARDED_FOR",
31
+ "HTTP_X_REAL_IP",
32
+ "HTTP_CLIENT_IP",
33
+ "HTTP_X_CLIENT_IP",
34
+ "HTTP_X_CLUSTER_CLIENT_IP",
35
+ "HTTP_FORWARDED_FOR",
36
+ "HTTP_FORWARDED",
37
+ "REMOTE_ADDR",
38
+ )
39
+
40
+ for header in headers:
41
+ if request.META.get(header, None):
42
+ ip = request.META[header].split(",")[0].strip()
43
+ try:
44
+ validate_ipv46_address(ip)
45
+ return ip
46
+ except ValidationError:
47
+ pass
48
+
49
+ return ""
@@ -3,7 +3,6 @@
3
3
  from django.conf import settings
4
4
  from django.db import migrations, models
5
5
  import django.db.models.deletion
6
- import precise_bbcode.fields
7
6
  import punkweb_bb.models
8
7
  import uuid
9
8
 
@@ -57,15 +56,9 @@ class Migration(migrations.Migration):
57
56
  ("updated_at", models.DateTimeField(auto_now=True)),
58
57
  ("name", models.CharField(max_length=255)),
59
58
  ("slug", models.SlugField(max_length=1024, unique=True)),
60
- (
61
- "_description_rendered",
62
- models.TextField(blank=True, editable=False, null=True),
63
- ),
64
59
  (
65
60
  "description",
66
- precise_bbcode.fields.BBCodeTextField(
67
- blank=True, no_rendered_field=True, null=True
68
- ),
61
+ models.TextField(blank=True, null=True),
69
62
  ),
70
63
  ("order", models.PositiveIntegerField(default=0)),
71
64
  ("staff_post_only", models.BooleanField(default=False)),
@@ -99,13 +92,9 @@ class Migration(migrations.Migration):
99
92
  ("created_at", models.DateTimeField(auto_now_add=True)),
100
93
  ("updated_at", models.DateTimeField(auto_now=True)),
101
94
  ("title", models.CharField(max_length=255)),
102
- (
103
- "_content_rendered",
104
- models.TextField(blank=True, editable=False, null=True),
105
- ),
106
95
  (
107
96
  "content",
108
- precise_bbcode.fields.BBCodeTextField(no_rendered_field=True),
97
+ models.TextField(),
109
98
  ),
110
99
  ("is_pinned", models.BooleanField(default=False)),
111
100
  ("is_closed", models.BooleanField(default=False)),
@@ -173,13 +162,9 @@ class Migration(migrations.Migration):
173
162
  ),
174
163
  ("created_at", models.DateTimeField(auto_now_add=True)),
175
164
  ("updated_at", models.DateTimeField(auto_now=True)),
176
- (
177
- "_content_rendered",
178
- models.TextField(blank=True, editable=False, null=True),
179
- ),
180
165
  (
181
166
  "content",
182
- precise_bbcode.fields.BBCodeTextField(no_rendered_field=True),
167
+ models.TextField(),
183
168
  ),
184
169
  (
185
170
  "thread",
@@ -224,15 +209,9 @@ class Migration(migrations.Migration):
224
209
  upload_to=punkweb_bb.models.profile_image_upload_to,
225
210
  ),
226
211
  ),
227
- (
228
- "_signature_rendered",
229
- models.TextField(blank=True, editable=False, null=True),
230
- ),
231
212
  (
232
213
  "signature",
233
- precise_bbcode.fields.BBCodeTextField(
234
- blank=True, max_length=1024, no_rendered_field=True, null=True
235
- ),
214
+ models.TextField(blank=True, max_length=1024, null=True),
236
215
  ),
237
216
  (
238
217
  "user",
@@ -2,7 +2,6 @@
2
2
 
3
3
  from django.db import migrations, models
4
4
  import django.db.models.deletion
5
- import precise_bbcode.fields
6
5
  import uuid
7
6
 
8
7
 
@@ -34,13 +33,9 @@ class Migration(migrations.Migration):
34
33
  default=0, help_text="Highest priority is displayed"
35
34
  ),
36
35
  ),
37
- (
38
- "_username_style_rendered",
39
- models.TextField(blank=True, editable=False, null=True),
40
- ),
41
36
  (
42
37
  "username_style",
43
- precise_bbcode.fields.BBCodeTextField(no_rendered_field=True),
38
+ models.TextField(),
44
39
  ),
45
40
  (
46
41
  "group",
@@ -10,26 +10,6 @@ class Migration(migrations.Migration):
10
10
  ]
11
11
 
12
12
  operations = [
13
- migrations.RemoveField(
14
- model_name="boardprofile",
15
- name="_signature_rendered",
16
- ),
17
- migrations.RemoveField(
18
- model_name="groupstyle",
19
- name="_username_style_rendered",
20
- ),
21
- migrations.RemoveField(
22
- model_name="post",
23
- name="_content_rendered",
24
- ),
25
- migrations.RemoveField(
26
- model_name="subcategory",
27
- name="_description_rendered",
28
- ),
29
- migrations.RemoveField(
30
- model_name="thread",
31
- name="_content_rendered",
32
- ),
33
13
  migrations.AlterField(
34
14
  model_name="boardprofile",
35
15
  name="signature",
@@ -0,0 +1,18 @@
1
+ # Generated by Django 4.2.11 on 2024-06-06 02:56
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ("punkweb_bb", "0006_remove_boardprofile__signature_rendered_and_more"),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name="boardprofile",
15
+ name="bio",
16
+ field=models.TextField(blank=True, max_length=1024),
17
+ ),
18
+ ]
@@ -23,6 +23,7 @@ def profile_image_upload_to(instance, filename):
23
23
  class BoardProfile(UUIDPrimaryKeyMixin, TimestampMixin):
24
24
  user = models.OneToOneField(User, related_name="profile", on_delete=models.CASCADE)
25
25
  image = models.ImageField(upload_to=profile_image_upload_to, blank=True, null=True)
26
+ bio = models.TextField(max_length=1024, blank=True)
26
27
  signature = models.TextField(max_length=1024, blank=True)
27
28
 
28
29
  class Meta: