draftail-text-utils 0.2.0__tar.gz → 0.3.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 (44) hide show
  1. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/PKG-INFO +20 -21
  2. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/README.md +5 -5
  3. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/pyproject.toml +28 -20
  4. draftail_text_utils-0.3.1/pyproject.toml.orig +72 -0
  5. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/conf.py +20 -1
  6. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/font_size.css +5 -7
  7. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/__init__.py +0 -0
  8. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/apps.py +0 -0
  9. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/migrations/__init__.py +0 -0
  10. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/__init__.py +0 -0
  11. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/base.py +0 -0
  12. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/font_family.py +0 -0
  13. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/font_size.py +0 -0
  14. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/highlight_color.py +0 -0
  15. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/text_alignment.py +0 -0
  16. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/text_color.py +0 -0
  17. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/rich_text/text_style.py +0 -0
  18. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/color.css +0 -0
  19. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/common.css +0 -0
  20. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/font_family.css +0 -0
  21. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/highlight_color.css +0 -0
  22. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/page.css +0 -0
  23. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/text_alignment.css +0 -0
  24. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/css/text_color.css +0 -0
  25. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/common.js +0 -0
  26. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/font_family.js +0 -0
  27. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/font_size.js +0 -0
  28. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/highlight_color.js +0 -0
  29. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/styled_link_source.js +0 -0
  30. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/text_alignment.js +0 -0
  31. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/text_color.js +0 -0
  32. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/static/draftail_text_utils/js/text_style_entity.js +0 -0
  33. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/align-center.svg +0 -0
  34. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/align-justify.svg +0 -0
  35. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/align-left.svg +0 -0
  36. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/align-right.svg +0 -0
  37. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/anchor.svg +0 -0
  38. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/font.svg +0 -0
  39. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/highlighter.svg +0 -0
  40. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/palette.svg +0 -0
  41. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templates/draftail_text_utils/icons/text-height.svg +0 -0
  42. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templatetags/__init__.py +0 -0
  43. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/templatetags/draftail_text_utils_tags.py +0 -0
  44. {draftail_text_utils-0.2.0 → draftail_text_utils-0.3.1}/src/draftail_text_utils/wagtail_hooks.py +0 -0
@@ -1,34 +1,33 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: draftail-text-utils
3
- Version: 0.2.0
3
+ Version: 0.3.1
4
4
  Summary: Extends Draftail's text customization
5
- Keywords: wagtail,draftail,rich text,text color,highlight,font size,font family,text alignment
5
+ Keywords: draftail,font family,font size,highlight,rich text,text alignment,text color,wagtail
6
6
  Author: baldwinboy
7
7
  License-Expression: BSD-3-Clause
8
8
  Classifier: Development Status :: 3 - Alpha
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.13
14
- Classifier: Programming Language :: Python :: 3.14
15
9
  Classifier: Framework :: Django
16
- Classifier: Framework :: Django :: 5.0
17
10
  Classifier: Framework :: Django :: 5.1
18
11
  Classifier: Framework :: Django :: 6.0
19
12
  Classifier: Framework :: Wagtail
20
13
  Classifier: Framework :: Wagtail :: 6
21
14
  Classifier: Framework :: Wagtail :: 7
22
- Requires-Dist: cssutils>=2.15.0
23
- Requires-Dist: django>=5.0
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Requires-Dist: django>=5.1
24
22
  Requires-Dist: wagtail>=7.3.2
23
+ Requires-Dist: cssutils>=2.15.0
25
24
  Requires-Dist: wagtail-traverse>=1.0.1
26
25
  Requires-Python: >=3.13
27
- Project-URL: Homepage, https://github.com/baldwinboy/draftail-text-utils
28
- Project-URL: Repository, https://github.com/baldwinboy/draftail-text-utils
29
- Project-URL: Changelog, https://github.com/baldwinboy/draftail-text-utils/blob/main/CHANGELOG.md
30
- Project-URL: Documentation, https://github.com/baldwinboy/draftail-text-utils/tree/main/docs
31
- Project-URL: Issues, https://github.com/baldwinboy/draftail-text-utils/issues
26
+ Project-URL: Changelog, https://github.com/baldwinboy/draftail_text_utils/blob/main/CHANGELOG.md
27
+ Project-URL: Documentation, https://github.com/baldwinboy/draftail_text_utils/tree/main/docs
28
+ Project-URL: Homepage, https://github.com/baldwinboy/draftail_text_utils
29
+ Project-URL: Issues, https://github.com/baldwinboy/draftail_text_utils/issues
30
+ Project-URL: Repository, https://github.com/baldwinboy/draftail_text_utils
32
31
  Description-Content-Type: text/markdown
33
32
 
34
33
  # Draftail Text Utils
@@ -43,11 +42,11 @@ Extends Draftail's text customization. Includes:
43
42
 
44
43
  ## Links
45
44
 
46
- - [Documentation](https://github.com/baldwinboy/draftail-text-utils/blob/main/README.md)
47
- - [Changelog](https://github.com/baldwinboy/draftail-text-utils/blob/main/CHANGELOG.md)
48
- - [Contributing](https://github.com/baldwinboy/draftail-text-utils/blob/main/CONTRIBUTING.md)
49
- - [Discussions](https://github.com/baldwinboy/draftail-text-utils/discussions)
50
- - [Security](https://github.com/baldwinboy/draftail-text-utils/security)
45
+ - [Documentation](https://github.com/baldwinboy/draftail_text_utils/blob/main/docs/README.md)
46
+ - [Changelog](https://github.com/baldwinboy/draftail_text_utils/blob/main/CHANGELOG.md)
47
+ - [Contributing](https://github.com/baldwinboy/draftail_text_utils/blob/main/CONTRIBUTING.md)
48
+ - [Discussions](https://github.com/baldwinboy/draftail_text_utils/discussions)
49
+ - [Security](https://github.com/baldwinboy/draftail_text_utils/security)
51
50
 
52
51
  ## Supported versions
53
52
 
@@ -10,11 +10,11 @@ Extends Draftail's text customization. Includes:
10
10
 
11
11
  ## Links
12
12
 
13
- - [Documentation](https://github.com/baldwinboy/draftail-text-utils/blob/main/README.md)
14
- - [Changelog](https://github.com/baldwinboy/draftail-text-utils/blob/main/CHANGELOG.md)
15
- - [Contributing](https://github.com/baldwinboy/draftail-text-utils/blob/main/CONTRIBUTING.md)
16
- - [Discussions](https://github.com/baldwinboy/draftail-text-utils/discussions)
17
- - [Security](https://github.com/baldwinboy/draftail-text-utils/security)
13
+ - [Documentation](https://github.com/baldwinboy/draftail_text_utils/blob/main/docs/README.md)
14
+ - [Changelog](https://github.com/baldwinboy/draftail_text_utils/blob/main/CHANGELOG.md)
15
+ - [Contributing](https://github.com/baldwinboy/draftail_text_utils/blob/main/CONTRIBUTING.md)
16
+ - [Discussions](https://github.com/baldwinboy/draftail_text_utils/discussions)
17
+ - [Security](https://github.com/baldwinboy/draftail_text_utils/security)
18
18
 
19
19
  ## Supported versions
20
20
 
@@ -1,50 +1,58 @@
1
1
  [project]
2
2
  name = "draftail-text-utils"
3
- version = "0.2.0"
3
+ version = "0.3.1"
4
4
  description = "Extends Draftail's text customization"
5
5
  readme = "README.md"
6
- license = "BSD-3-Clause"
7
6
  requires-python = ">=3.13"
8
- authors = [
9
- { name = "baldwinboy" },
7
+ license = "BSD-3-Clause"
8
+ keywords = [
9
+ "draftail",
10
+ "font family",
11
+ "font size",
12
+ "highlight",
13
+ "rich text",
14
+ "text alignment",
15
+ "text color",
16
+ "wagtail",
10
17
  ]
11
- keywords = ["wagtail", "draftail", "rich text", "text color", "highlight", "font size", "font family", "text alignment"]
12
18
  classifiers = [
13
19
  "Development Status :: 3 - Alpha",
14
- "Intended Audience :: Developers",
15
- "Operating System :: OS Independent",
16
- "Programming Language :: Python",
17
- "Programming Language :: Python :: 3",
18
- "Programming Language :: Python :: 3.13",
19
- "Programming Language :: Python :: 3.14",
20
20
  "Framework :: Django",
21
- "Framework :: Django :: 5.0",
22
21
  "Framework :: Django :: 5.1",
23
22
  "Framework :: Django :: 6.0",
24
23
  "Framework :: Wagtail",
25
24
  "Framework :: Wagtail :: 6",
26
25
  "Framework :: Wagtail :: 7",
26
+ "Intended Audience :: Developers",
27
+ "Operating System :: OS Independent",
28
+ "Programming Language :: Python",
29
+ "Programming Language :: Python :: 3",
30
+ "Programming Language :: Python :: 3.13",
31
+ "Programming Language :: Python :: 3.14",
27
32
  ]
28
33
  dependencies = [
29
- "cssutils>=2.15.0",
30
- "Django>=5.0",
34
+ "Django>=5.1",
31
35
  "Wagtail>=7.3.2",
36
+ "cssutils>=2.15.0",
32
37
  "wagtail-traverse>=1.0.1",
33
38
  ]
34
39
 
40
+ [[project.authors]]
41
+ name = "baldwinboy"
42
+
35
43
  [project.urls]
36
- Homepage = "https://github.com/baldwinboy/draftail-text-utils"
37
- Repository = "https://github.com/baldwinboy/draftail-text-utils"
38
- Changelog = "https://github.com/baldwinboy/draftail-text-utils/blob/main/CHANGELOG.md"
39
- Documentation = "https://github.com/baldwinboy/draftail-text-utils/tree/main/docs"
40
- Issues = "https://github.com/baldwinboy/draftail-text-utils/issues"
44
+ Changelog = "https://github.com/baldwinboy/draftail_text_utils/blob/main/CHANGELOG.md"
45
+ Documentation = "https://github.com/baldwinboy/draftail_text_utils/tree/main/docs"
46
+ Homepage = "https://github.com/baldwinboy/draftail_text_utils"
47
+ Issues = "https://github.com/baldwinboy/draftail_text_utils/issues"
48
+ Repository = "https://github.com/baldwinboy/draftail_text_utils"
41
49
 
42
50
  [dependency-groups]
43
51
  dev = [
44
52
  "dj-database-url==2.1.0",
45
53
  "pre-commit==3.4.0",
46
54
  "prek>=0.4.1",
47
- "pytest==8.1.1",
55
+ "pytest==9.0.3",
48
56
  "pytest-cov==5.0.0",
49
57
  "pytest-django==4.8.0",
50
58
  "ruff>=0.15.9",
@@ -0,0 +1,72 @@
1
+ [project]
2
+ name = "draftail-text-utils"
3
+ version = "0.3.1"
4
+ description = "Extends Draftail's text customization"
5
+ readme = "README.md"
6
+ requires-python = ">=3.13"
7
+ license = "BSD-3-Clause"
8
+ authors = [
9
+ { name = "baldwinboy" },
10
+ ]
11
+ keywords = ["draftail", "font family", "font size", "highlight", "rich text", "text alignment", "text color", "wagtail"]
12
+ classifiers = [
13
+ "Development Status :: 3 - Alpha",
14
+ "Framework :: Django",
15
+ "Framework :: Django :: 5.1",
16
+ "Framework :: Django :: 6.0",
17
+ "Framework :: Wagtail",
18
+ "Framework :: Wagtail :: 6",
19
+ "Framework :: Wagtail :: 7",
20
+ "Intended Audience :: Developers",
21
+ "Operating System :: OS Independent",
22
+ "Programming Language :: Python",
23
+ "Programming Language :: Python :: 3",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Programming Language :: Python :: 3.14",
26
+ ]
27
+ dependencies = [
28
+ "Django>=5.1",
29
+ "Wagtail>=7.3.2",
30
+ "cssutils>=2.15.0",
31
+ "wagtail-traverse>=1.0.1",
32
+ ]
33
+
34
+ [project.urls]
35
+ Changelog = "https://github.com/baldwinboy/draftail_text_utils/blob/main/CHANGELOG.md"
36
+ Documentation = "https://github.com/baldwinboy/draftail_text_utils/tree/main/docs"
37
+ Homepage = "https://github.com/baldwinboy/draftail_text_utils"
38
+ Issues = "https://github.com/baldwinboy/draftail_text_utils/issues"
39
+ Repository = "https://github.com/baldwinboy/draftail_text_utils"
40
+
41
+ [dependency-groups]
42
+ dev = [
43
+ "dj-database-url==2.1.0",
44
+ "pre-commit==3.4.0",
45
+ "prek>=0.4.1",
46
+ "pytest==9.0.3",
47
+ "pytest-cov==5.0.0",
48
+ "pytest-django==4.8.0",
49
+ "ruff>=0.15.9",
50
+ ]
51
+
52
+ [build-system]
53
+ requires = ["uv_build>=0.11.1,<0.12"]
54
+ build-backend = "uv_build"
55
+
56
+ [tool.uv.build-backend]
57
+ module-name = "draftail_text_utils"
58
+ source-exclude = [
59
+ "draftail_text_utils/static_src",
60
+ "draftail_text_utils/test",
61
+ "testmanage.py",
62
+ ".*",
63
+ "*.ini",
64
+ "*.yml",
65
+ ]
66
+
67
+ [tool.uv.build-backend.package-data]
68
+ "draftail_text_utils/static/**" = ["*"]
69
+ "draftail_text_utils/templates/**" = ["*"]
70
+
71
+ [tool.pytest.ini_options]
72
+ DJANGO_SETTINGS_MODULE = "draftail_text_utils.test.settings"
@@ -15,8 +15,9 @@ Usage in your Django settings:
15
15
  # Option A: point to an existing module with a DRAFTAIL_COLORS list
16
16
  "COLORS": {
17
17
  "MODULE": None, # e.g. "apps.core.models"
18
+ "CALLABLE": None, # e.g. "myapp.utils.get_colors"
18
19
  },
19
- # Option B: provide an explicit palette (ignored if MODULE is set)
20
+ # Option B: provide an explicit palette (ignored if MODULE/CALLABLE is set)
20
21
  "COLOR_PALETTE": None, # falls back to built-in defaults
21
22
  # ---- Font families ----
22
23
  # Option A: point to an existing module with a DRAFTAIL_FONT_FAMILIES list
@@ -208,6 +209,24 @@ def _normalise_font_urls(font_urls):
208
209
 
209
210
  def load_color_palette():
210
211
  colors_config = get_setting("COLORS", {})
212
+
213
+ callable_path = colors_config.get("CALLABLE")
214
+ if callable_path:
215
+ try:
216
+ module_path, func_name = callable_path.rsplit(".", 1)
217
+ module = importlib.import_module(module_path)
218
+ func = getattr(module, func_name)
219
+ if callable(func):
220
+ result = func()
221
+ if result is not None:
222
+ return result
223
+ except (ImportError, ValueError, AttributeError) as e:
224
+ logger.warning(
225
+ "Failed to load colours from callable %s: %s",
226
+ callable_path,
227
+ e,
228
+ )
229
+
211
230
  module_path = colors_config.get("MODULE")
212
231
 
213
232
  if module_path:
@@ -26,26 +26,24 @@
26
26
  margin-top: -0.25rem;
27
27
  }
28
28
 
29
- .Draftail--font-size-input-wrapper {
29
+ .Draftail--font-size-input-wrapper,
30
+ input.Draftail--font-size-input {
30
31
  display: inline-flex;
31
32
  align-items: center;
32
33
  justify-content: center;
33
34
  }
34
35
 
35
36
  input.Draftail--font-size-input {
36
- display: inline-flex;
37
- align-items: center;
38
- justify-content: center;
39
37
  min-height: 0;
40
38
  height: 1.875rem;
41
- font-size: 1rem;
42
39
  min-width: 5rem;
43
40
  padding-inline: 0.25rem;
41
+ font-size: 1rem;
44
42
  }
45
43
 
46
44
  input.Draftail--font-size-input::placeholder {
45
+ position: relative;
46
+ top: -0.09375rem;
47
47
  font-size: 0.75rem;
48
48
  text-align: center;
49
- top: -0.09375rem;
50
- position: relative;
51
49
  }