Commit graph

292 commits

Author SHA1 Message Date
Juro Oravec
a080ac959b
refactor: add tests to ensure we add component path on template errors (#1448)
Some checks are pending
Docs - build & deploy / docs (push) Waiting to run
Run tests / build (ubuntu-latest, 3.10) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.11) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.12) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.9) (push) Waiting to run
Run tests / build (windows-latest, 3.10) (push) Waiting to run
Run tests / build (windows-latest, 3.11) (push) Waiting to run
Run tests / build (windows-latest, 3.12) (push) Waiting to run
Run tests / build (windows-latest, 3.13) (push) Waiting to run
Run tests / build (windows-latest, 3.8) (push) Waiting to run
Run tests / build (windows-latest, 3.9) (push) Waiting to run
Run tests / test_docs (3.13) (push) Waiting to run
Run tests / test_sampleproject (3.13) (push) Waiting to run
2025-10-08 18:48:58 +02:00
Juro Oravec
5f0b7905c5
refactor: fix compat with include and extends (#1441) 2025-10-06 13:08:49 +02:00
Juro Oravec
a08d051e30
refactor: fix djc not working when not among built-ins (#1439) 2025-10-06 11:03:38 +02:00
Juro Oravec
9877cf30ed
docs: self-contained examples (#1436) 2025-10-05 09:09:08 +02:00
Juro Oravec
60651f30b2
refactor: add ErrorFallback (#1433) 2025-10-04 09:07:29 +02:00
Juro Oravec
eee3910b54
refactor: use lamba with yield in Component.on_render() (#1428)
Some checks are pending
Docs - build & deploy / docs (push) Waiting to run
Run tests / build (ubuntu-latest, 3.10) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.11) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.12) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.9) (push) Waiting to run
Run tests / build (windows-latest, 3.10) (push) Waiting to run
Run tests / build (windows-latest, 3.11) (push) Waiting to run
Run tests / build (windows-latest, 3.12) (push) Waiting to run
Run tests / build (windows-latest, 3.13) (push) Waiting to run
Run tests / build (windows-latest, 3.8) (push) Waiting to run
Run tests / build (windows-latest, 3.9) (push) Waiting to run
Run tests / test_docs (3.13) (push) Waiting to run
Run tests / test_sampleproject (3.13) (push) Waiting to run
2025-10-03 18:19:21 +02:00
Juro Oravec
91012829ff
refactor: fix multiple yield in on_render + prepare for scoped CSS (#1425)
Some checks failed
Run tests / build (ubuntu-latest, 3.10) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.11) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.12) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.9) (push) Waiting to run
Run tests / build (windows-latest, 3.10) (push) Waiting to run
Run tests / build (windows-latest, 3.11) (push) Waiting to run
Run tests / build (windows-latest, 3.12) (push) Waiting to run
Run tests / build (windows-latest, 3.13) (push) Waiting to run
Run tests / build (windows-latest, 3.8) (push) Waiting to run
Run tests / build (windows-latest, 3.9) (push) Waiting to run
Run tests / test_docs (3.13) (push) Waiting to run
Run tests / test_sampleproject (3.13) (push) Waiting to run
Docs - build & deploy / docs (push) Has been cancelled
2025-10-02 13:46:39 +02:00
Juro Oravec
8957befd1a
refactor: add missing exports, better error handling, and handle boolean query params (#1422)
Some checks are pending
Docs - build & deploy / docs (push) Waiting to run
Run tests / build (ubuntu-latest, 3.10) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.11) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.12) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.9) (push) Waiting to run
Run tests / build (windows-latest, 3.10) (push) Waiting to run
Run tests / build (windows-latest, 3.11) (push) Waiting to run
Run tests / build (windows-latest, 3.12) (push) Waiting to run
Run tests / build (windows-latest, 3.13) (push) Waiting to run
Run tests / build (windows-latest, 3.8) (push) Waiting to run
Run tests / build (windows-latest, 3.9) (push) Waiting to run
Run tests / test_docs (3.13) (push) Waiting to run
Run tests / test_sampleproject (3.13) (push) Waiting to run
2025-09-30 21:49:28 +02:00
Juro Oravec
e9d1b6c4b2
feat: allow to yield multiple times in Component.on_render() (#1421) 2025-09-30 21:10:23 +02:00
Juro Oravec
9afc89ead1
docs: add Form and Tabs examples (#1411) 2025-09-29 15:58:47 +02:00
Juro Oravec
b3ea50572d
refactor: allow to call Component.inject() outside of render (#1414) 2025-09-29 14:53:01 +02:00
Juro Oravec
c5354baf4f
refactor: ruff - underscore unused vars (#1372) 2025-09-10 22:06:47 +02:00
Juro Oravec
f100cc1836
refactor: replace isort, black and flake8 with ruff (#1346)
Some checks are pending
Docs - build & deploy / docs (push) Waiting to run
Run tests / build (ubuntu-latest, 3.10) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.11) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.12) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (push) Waiting to run
Run tests / test_sampleproject (3.13) (push) Waiting to run
Run tests / build (ubuntu-latest, 3.9) (push) Waiting to run
Run tests / build (windows-latest, 3.10) (push) Waiting to run
Run tests / build (windows-latest, 3.11) (push) Waiting to run
Run tests / build (windows-latest, 3.12) (push) Waiting to run
Run tests / build (windows-latest, 3.13) (push) Waiting to run
Run tests / build (windows-latest, 3.8) (push) Waiting to run
Run tests / build (windows-latest, 3.9) (push) Waiting to run
Run tests / test_docs (3.13) (push) Waiting to run
2025-09-10 14:06:53 +02:00
Juro Oravec
9be4124339
fix: fix compat with extends and includes (#1344) 2025-08-15 10:42:25 +02:00
Juro Oravec
c72fed8255
feat: render fragments without document strategy (#1339) 2025-08-14 11:33:31 +02:00
Copilot
aa14e3698d
Patch TemplateProxy to restore compatibility with template_partials (#1328)
Co-authored-by: EmilStenstrom <224130+EmilStenstrom@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-08-14 11:00:56 +02:00
Juro Oravec
81c0d419b4
fix: Fix bug where JS and CSS were missing when {% component %} tag was inside {% include %} tag (#1300)
* fix: Fix bug where JS and CSS were missing when `{% component %}` tag was inside `{% include %}` tag

* refactor: fix mypy error
2025-07-20 23:42:59 +02:00
Juro Oravec
c692b7a310
refactor: Fix #1277 + Cache components' JS/CSS scripts at class creation (#1283)
* refactor: Cache components' JS and CSS scripts at class creation time

* refactor: add test for no template_rendered signal for component with no template
2025-07-03 12:27:21 +02:00
Juro Oravec
3fc96daa9b
refactor: in components ext run, display only those extensions that actually have subcommands (#1251) 2025-06-10 11:11:24 +02:00
Juro Oravec
09bcf8dbcc
feat: on_xx_loaded extension hooks (#1242)
Some checks failed
Run tests / test_sampleproject (3.13) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.13) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.8) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.9) (push) Has been cancelled
Run tests / build (windows-latest, 3.10) (push) Has been cancelled
Run tests / build (windows-latest, 3.11) (push) Has been cancelled
Run tests / build (windows-latest, 3.12) (push) Has been cancelled
Run tests / build (windows-latest, 3.13) (push) Has been cancelled
Run tests / build (windows-latest, 3.8) (push) Has been cancelled
Run tests / build (windows-latest, 3.9) (push) Has been cancelled
Run tests / test_docs (3.13) (push) Has been cancelled
Docs - build & deploy / docs (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.10) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.11) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.12) (push) Has been cancelled
* feat: on_xx_loaded extension hooks

* refactor: fix tests
2025-06-08 17:28:10 +02:00
Juro Oravec
04f79a6e6b
refactor: deprecate Component.input and add raw_args, raw_kwargs, raw_slots (#1233)
* refactor: deprecate Component.input and add raw_args, raw_kwargs, raw_slots

* docs: update changelog
2025-06-04 23:38:50 +02:00
Juro Oravec
eceebb9696
feat: on_render (#1231)
* feat: on_render

* docs: fix typos

* refactor: fix linter errors

* refactor: make `error` in on_render_after optional to fix benchmarks

* refactor: benchmark attempt 2

* refactor: fix linter errors

* refactor: fix formatting
2025-06-04 19:30:03 +02:00
Juro Oravec
46e524e37d
refactor: Add Node metadata (#1229)
* refactor: `Slot.source` replaced with `Slot.fill_node`, new `Component.node` property, and `slot_node` available in `on_slot_rendered()` hook.

* refactor: fix windows path error in tests
2025-06-03 12:58:48 +02:00
Juro Oravec
09cb8714cc
refactor: don't inherit media if child set to None (#1224)
* refactor: don't inherit media if child set to None

* refactor: fix typing errors

* refactor: more type fixes
2025-06-02 16:24:27 +02:00
Juro Oravec
8677ee7941
refactor: deprecate template caching, get_template_name, get_template, assoc template with Comp cls (#1222)
* refactor: deprecate template caching, get_template_name, get_template, assoc template with Comp cls

* refactor: change implementation

* refactor: handle cached template loader

* refactor: fix tests

* refactor: fix test on windows

* refactor: try to  fix type errors

* refactor: Re-cast `context` to fix type errors

* refactor: fix linter error

* refactor: fix typing

* refactor: more linter fixes

* refactor: more linter errors

* refactor: revert extra node metadata
2025-06-01 19:20:22 +02:00
Juro Oravec
fa9ae9892f
feat: Slot.extra and Slot.source metadata (#1221) 2025-05-31 11:22:45 +02:00
Juro Oravec
bb129aefab
feat: extension defaults + docs + API cleanup (#1215) 2025-05-26 23:36:19 +02:00
Juro Oravec
55b1c8bc62
refecator: move defaults applying back to ext, raise on passing Slot to Slot, and docs cleanup (#1214)
* refecator: move defaults applying back to ext, raise on passing Slot to Slot, and docs cleanup

* docs: fix typo
2025-05-26 11:59:17 +02:00
Juro Oravec
bae0f28813
refactor: Instantiate component when rendering, and remove metadata stack (#1212)
* refactor: Instantiate component when rendering, and remove metadata stack

* refactor: update test

* refactor: fix linter errors

* docs: remove example from changelog
2025-05-25 23:33:38 +02:00
Juro Oravec
2e08af9a13
refactor: move slot escaping inside Slot, remve Slot.escaped, and remove render kwarg escape_slots_content (#1211) 2025-05-25 17:24:45 +02:00
Juro Oravec
046569e16d
fix: KeyError on component_context_cache when slot rendered outside (#1210) 2025-05-25 11:58:17 +02:00
Juro Oravec
6ff2d78a2f
feat: on_slot_rendered extension hook + refactor debug highlight as extension (#1209)
* feat: on_slot_rendered extension hook + refactor debug highlight as extension

* refactor: fix whitespace in test output
2025-05-25 11:20:32 +02:00
Juro Oravec
e054a68715
feat: Component.args/kwargs/slots and {{ component_vars.args/kwargs/s… (#1205)
* feat: Component.args/kwargs/slots and {{ component_vars.args/kwargs/slots }}

* docs: fix typo in changelog
2025-05-24 23:24:34 +02:00
Juro Oravec
d514694788
feat: Pass Slots to {% fill %} with 'body' kwarg (#1203) 2025-05-22 08:01:21 +02:00
Juro Oravec
f069255b64
refactor: simplify slot API (#1202)
Closes #1096
2025-05-20 09:48:45 +02:00
Juro Oravec
49ad23b21d
refactor: slots cleanup (#1199) 2025-05-19 19:56:27 +02:00
Juro Oravec
79c42da2f9
feat: slot caching (#1196)
* feat: slot caching

Closes #1164

* refactor: fix linter
2025-05-19 19:26:57 +02:00
Juro Oravec
b6b574d875
refactor: Rename {% fill default=... %} to {% fill fallback=... %} (#1190) 2025-05-19 19:05:39 +02:00
Juro Oravec
0d05ef4cb2
feat: Expose slot input as Slot.contents (#1180)
* feat: expose slot input as Slot.contents

* refactor: fix linter errors
2025-05-14 11:17:09 +02:00
Juro Oravec
ccf02fa316
chore: util to manage URLs in the codebase (#1179)
* chore: util to manage URLs in the codebase

* docs: mentiion validate_links and supported_versions in docs

* refactor: fix linter errors
2025-05-11 14:59:34 +02:00
Juro Oravec
5f4fbe76e5
feat: add BaseNode.contents (#1177) 2025-05-11 08:11:07 +02:00
Juro Oravec
661413d4a9
refactor: change caching methods to accept slots + typing fixes (#1173) 2025-05-09 10:19:34 +02:00
Juro Oravec
2dacac1f43
temp (#1172) 2025-05-06 21:48:18 +02:00
Juro Oravec
6253042e9e
refactor: remove middleware, add strategy "raw", and call render_deps() from within Template.render() (#1166)
* refactor: remove middleware, add strategy "raw", and call render_deps() from within Template.render()

* refactor: fix formatting

* refactor: fix benchmark tests

* refactor: avoid processing deps if rendered HTML contains no components

* refactor: remove comments

* refactor: rename "raw" to "ignore"
2025-05-06 21:36:41 +02:00
Juro Oravec
330578a2c7
refactor: update impl of format_url (#1163) 2025-05-04 12:24:04 +02:00
Juro Oravec
d4d834256a
refactor: rename context_data field to template_data (#1162) 2025-05-04 01:49:54 +02:00
Juro Oravec
28b61c1609
refactor: Update docs and tests to use get_template_data() (#1161)
* refactor: update docs and tests to use get_template_data()

* refactor: fix linting

* docs: add note about difference between the two methods
2025-05-03 12:04:10 +02:00
Juro Oravec
c69980493d
feat: allow to set query and fragment on get_component_url (#1160) 2025-05-03 10:29:38 +02:00
Juro Oravec
bf7a204e92
feat: add "simple", "prepend", and "append" render types (#1156)
* feat: add "simple", "prepend", and "append" render types

* refactor: explicitly set strategy for "document" in tests
2025-05-02 15:07:16 +02:00
Juro Oravec
59f82307ae
docs: docstrings, fundamentals, and minor changes (#1145)
* docs: docstrings, fundamentals, and minor changes

* refactor: fix tests + linter errors
2025-04-24 12:47:04 +02:00