plain.htmx 0.10.4__tar.gz → 0.11.1__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 (58) hide show
  1. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/PKG-INFO +1 -1
  2. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/CHANGELOG.md +20 -0
  3. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/plainhtmx.js +7 -0
  4. plain_htmx-0.11.1/plain/htmx/templates/htmx/js.html +18 -0
  5. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/templates.py +1 -0
  6. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/pyproject.toml +1 -1
  7. plain_htmx-0.10.4/plain/htmx/templates/htmx/js.html +0 -18
  8. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/.gitignore +0 -0
  9. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/LICENSE +0 -0
  10. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/README.md +0 -0
  11. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/deps.yml +0 -0
  12. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/package-lock.json +0 -0
  13. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/package.json +0 -0
  14. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/README.md +0 -0
  15. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/__init__.py +0 -0
  16. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-ext.js +0 -0
  17. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-ext.min.js +0 -0
  18. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph-htmx.js +0 -0
  19. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph.amd.js +0 -0
  20. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph.cjs.js +0 -0
  21. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph.esm.js +0 -0
  22. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph.js +0 -0
  23. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/idiomorph/idiomorph.min.js +0 -0
  24. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/README.md +0 -0
  25. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/ajax-header.js +0 -0
  26. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/alpine-morph.js +0 -0
  27. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/class-tools.js +0 -0
  28. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/client-side-templates.js +0 -0
  29. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/debug.js +0 -0
  30. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/disable-element.js +0 -0
  31. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/event-header.js +0 -0
  32. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/head-support.js +0 -0
  33. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/include-vals.js +0 -0
  34. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/json-enc.js +0 -0
  35. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/loading-states.js +0 -0
  36. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/method-override.js +0 -0
  37. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/morphdom-swap.js +0 -0
  38. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/multi-swap.js +0 -0
  39. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/path-deps.js +0 -0
  40. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/path-params.js +0 -0
  41. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/preload.js +0 -0
  42. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/rails-method.js +0 -0
  43. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/remove-me.js +0 -0
  44. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/response-targets.js +0 -0
  45. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/restored.js +0 -0
  46. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/sse.js +0 -0
  47. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/ext/ws.js +0 -0
  48. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.amd.js +0 -0
  49. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.cjs.js +0 -0
  50. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.esm.d.ts +0 -0
  51. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.esm.js +0 -0
  52. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.js +0 -0
  53. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.min.js +0 -0
  54. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/assets/htmx/vendor/src/htmx.min.js.gz +0 -0
  55. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/plain/htmx/views.py +0 -0
  56. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/tests/app/settings.py +0 -0
  57. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/tests/app/urls.py +0 -0
  58. {plain_htmx-0.10.4 → plain_htmx-0.11.1}/tests/test_views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain.htmx
3
- Version: 0.10.4
3
+ Version: 0.11.1
4
4
  Summary: Integrate HTMX with templates and views.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-Expression: BSD-3-Clause
@@ -1,5 +1,25 @@
1
1
  # plain-htmx changelog
2
2
 
3
+ ## [0.11.1](https://github.com/dropseed/plain/releases/plain-htmx@0.11.1) (2025-10-31)
4
+
5
+ ### What's changed
6
+
7
+ - Added CSP nonce support to all htmx script tags for improved Content Security Policy compatibility ([10f642a](https://github.com/dropseed/plain/commit/10f642a097))
8
+
9
+ ### Upgrade instructions
10
+
11
+ - No changes required
12
+
13
+ ## [0.11.0](https://github.com/dropseed/plain/releases/plain-htmx@0.11.0) (2025-10-29)
14
+
15
+ ### What's changed
16
+
17
+ - Added Content Security Policy (CSP) nonce support for inline scripts and styles generated by htmx ([784f3dd](https://github.com/dropseed/plain/commit/784f3dd972))
18
+
19
+ ### Upgrade instructions
20
+
21
+ - No changes required
22
+
3
23
  ## [0.10.4](https://github.com/dropseed/plain/releases/plain-htmx@0.10.4) (2025-10-20)
4
24
 
5
25
  ### What's changed
@@ -1,4 +1,11 @@
1
1
  (() => {
2
+ // Get nonce from our own script tag's data attribute
3
+ const nonce = document.currentScript?.getAttribute("data-csp-nonce");
4
+
5
+ // Configure htmx for CSP compatibility
6
+ htmx.config.inlineScriptNonce = nonce;
7
+ htmx.config.inlineStyleNonce = nonce;
8
+
2
9
  htmx.defineExtension("plain-views", {
3
10
  init() {
4
11
  // Set or append this extension to the body hx-ext automatically
@@ -0,0 +1,18 @@
1
+ {%- if DEBUG -%}
2
+ <script src="{{ asset('htmx/vendor/src/htmx.js') }}" defer nonce="{{ csp_nonce }}"></script>
3
+ {%- else -%}
4
+ <script src="{{ asset('htmx/vendor/src/htmx.min.js') }}" defer nonce="{{ csp_nonce }}"></script>
5
+ {%- endif -%}
6
+
7
+ {%- if DEBUG -%}
8
+ <script src="{{ asset('htmx/vendor/idiomorph/idiomorph.js') }}" defer nonce="{{ csp_nonce }}"></script>
9
+ {%- else -%}
10
+ <script src="{{ asset('htmx/vendor/idiomorph/idiomorph.min.js') }}" defer nonce="{{ csp_nonce }}"></script>
11
+ {%- endif -%}
12
+ <script src="{{ asset('htmx/vendor/idiomorph/idiomorph-htmx.js') }}" defer nonce="{{ csp_nonce }}"></script>
13
+
14
+ {%- for extension in extensions -%}
15
+ <script src="{{ asset('htmx/vendor/src/ext/' ~ extension ~ '.js') }}" defer nonce="{{ csp_nonce }}"></script>
16
+ {%- endfor -%}
17
+
18
+ <script src="{{ asset('htmx/plainhtmx.js') }}" defer nonce="{{ csp_nonce }}" data-csp-nonce="{{ csp_nonce }}"></script>
@@ -24,6 +24,7 @@ class HTMXJSExtension(InclusionTagExtension):
24
24
  return {
25
25
  "DEBUG": settings.DEBUG,
26
26
  "extensions": kwargs.get("extensions", []),
27
+ "csp_nonce": context.get("request").csp_nonce,
27
28
  }
28
29
 
29
30
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "plain.htmx"
3
- version = "0.10.4"
3
+ version = "0.11.1"
4
4
  description = "Integrate HTMX with templates and views."
5
5
  authors = [{name = "Dave Gaeddert", email = "dave.gaeddert@dropseed.dev"}]
6
6
  license = "BSD-3-Clause"
@@ -1,18 +0,0 @@
1
- {%- if DEBUG -%}
2
- <script src="{{ asset('htmx/vendor/src/htmx.js') }}" defer></script>
3
- {%- else -%}
4
- <script src="{{ asset('htmx/vendor/src/htmx.min.js') }}" defer></script>
5
- {%- endif -%}
6
-
7
- {%- if DEBUG -%}
8
- <script src="{{ asset('htmx/vendor/idiomorph/idiomorph.js') }}" defer></script>
9
- {%- else -%}
10
- <script src="{{ asset('htmx/vendor/idiomorph/idiomorph.min.js') }}" defer></script>
11
- {%- endif -%}
12
- <script src="{{ asset('htmx/vendor/idiomorph/idiomorph-htmx.js') }}" defer></script>
13
-
14
- {%- for extension in extensions -%}
15
- <script src="{{ asset('htmx/vendor/src/ext/' ~ extension ~ '.js') }}" defer></script>
16
- {%- endfor -%}
17
-
18
- <script src="{{ asset('htmx/plainhtmx.js') }}" defer></script>
File without changes
File without changes
File without changes
File without changes
File without changes