Commit graph

94 commits

Author SHA1 Message Date
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
Juro Oravec
519529d4e4
refactor: move Url.public to View.public (#1140)
* refactor: move Url.public to View.public

* refactor: fix tests / imports
2025-04-21 23:12:40 +02:00
Juro Oravec
b49002b545
refactor: change component typing from generics to class attributes (#1138) 2025-04-20 22:05:29 +02:00
components-release-bot
912d8e8074 Add benchmark results for 0.139.1 2025-04-20 10:07:16 +00:00
Juro Oravec
c650e7f3a5
refactor: prefix component ID with c (#1127) 2025-04-14 12:01:16 +02:00
Juro Oravec
fc026cbd99
docs: update section on working with request object (#1126)
* docs: update section on working with request object

* refactor: fix linting
2025-04-14 11:35:48 +02:00
Juro Oravec
06cad2ec64
refactor: use typevar defaults + raise on conflicting extensions (#1125)
* refactor: use typevar defaults + raise on conflicting extensions

* refactor: fix linter errors
2025-04-14 10:00:18 +02:00
components-release-bot
3148557e91 Add benchmark results for 0.139 2025-04-12 07:41:59 +00:00
Juro Oravec
d37291a3b6
docs: document how to access component instance from within View (#1115) 2025-04-10 09:39:52 +02:00
components-release-bot
5b01d6c3c6 Add benchmark results for 0.138 2025-04-09 16:37:58 +00:00
components-release-bot
cc249022c4 Add benchmark results for 0.137 2025-04-09 13:22:30 +00:00
Juro Oravec
613dfea379
refactor: cleanup docs, add docs on Render API, allow get_context_data return None (#1110)
* refactor: cleanup docs, add docs on Render API, allow get_context_data return None

* refactor: fix linter and tests
2025-04-09 15:06:14 +02:00
Juro Oravec
9ede779fa3
docs: update testing, single file comp, and syntax highlight (#1109) 2025-04-08 14:32:23 +02:00
Juro Oravec
b6994e9ad3
feat: component caching (#1097)
* feat: allow to set defaults

* refactor: remove input validation and link to it

* feat: component URL

* feat: component caching

* refactor: Mark `OnComponentRenderedContext` as extension hook for docs

* docs: update changelog

* refactor: simplify hash methods
2025-04-08 11:54:39 +02:00
Juro Oravec
1dfec8fc6d
docs: mention URL auto-gen in README (#1099) 2025-04-07 19:26:50 +02:00
Juro Oravec
9f9b1f7232
refactor: fix link in docs + call django.setup() in @djc_test if not done so (#1098) 2025-04-07 15:07:46 +02:00
Juro Oravec
bb5de86b69
feat: expose _class_hash as class_id (#1094)
* feat: expose _class_hash as class_id

* refactor: fix linting
2025-04-07 11:08:02 +02:00
Juro Oravec
a49f5e51dd
feat: component URL (#1088)
* feat: allow to set defaults

* refactor: remove input validation and link to it

* feat: component URL

* refactor: fix linter errors

* refactor: fix linter errors + update examples to use Component.View..get

* docs: update comment

* refactor: revert change to hash_comp_cls

* docs: update comment
2025-04-07 10:44:41 +02:00
Juro Oravec
3555411f1e
docs: move extension command- and url-related API to own API pages (#1093)
* docs: move extension command- and url-related API to own API pages

* refactor: fix linters
2025-04-06 14:12:15 +02:00
Juro Oravec
0ed46e4d30
chore: add support for Django 5.2 and drop for 5.0 (#1092) 2025-04-06 11:57:41 +02:00
components-release-bot
637e143538 Add benchmark results for 0.136 2025-04-05 07:18:52 +00:00
Juro Oravec
2499126d1f
refactor: fix ext URLs lookup (#1086)
* refactor: fix ext URLs lookup
2025-04-05 09:10:04 +02:00
Juro Oravec
7e74831599
refactor: remove input validation and link to it (#1082)
* feat: allow to set defaults

* refactor: remove input validation and link to it

* docs: update changelog

* Update typing_and_validation.md

* Update typing_and_validation.md
2025-04-05 08:19:19 +02:00
components-release-bot
22dac99e4e Add benchmark results for 0.135 2025-03-31 14:17:45 +00:00
Juro Oravec
f07818fc7d
feat: allow to set defaults (#1072)
* feat: allow to set defaults

* docs: update changelog

* refactor: fix new linter errors
2025-03-31 10:38:41 +02:00
Juro Oravec
328309a81c
feat: granular handling of class and style in {% html_attrs %} (#1066)
* feat: granular handling of class and style in {% html_attrs %}

* refactor: fix linter errors

* docs: document deprecation, fix typos, fix broken table of contents

* refactor: remove classes and styles as lists from docs
2025-03-24 17:35:12 +01:00
components-release-bot
1e71f3d656 Add benchmark results for 0.134 2025-03-23 21:40:52 +00:00
components-release-bot
3544402215 Add benchmark results for 0.133 2025-03-23 09:01:44 +00:00
components-release-bot
04dd0c21ba Add benchmark results for 0.132 2025-03-22 12:20:51 +00:00
Juro Oravec
30f3739499
build: add support for py3.13 windows (#1055) 2025-03-22 13:09:58 +01:00
Juro Oravec
ab75cfdb8f
feat: allow globs when specifynigg additionall JS and CSS (#1043)
* feat: allow globs when specifynigg additionall JS and CSS

* refactor: fix tests and linter errors
2025-03-21 10:23:38 +01:00
components-release-bot
73e94b6714 Add benchmark results for 0.131 2025-03-20 20:48:28 +00:00
Juro Oravec
c034b7da65
chore: bump v0.131 (#1042)
* Update pyproject.toml

* docs: update changelog and rename "start" command to "create"
2025-03-19 09:57:26 +01:00
Juro Oravec
0f41a62592
feat: add a command to list all components (#1041)
* feat: add a command to list all components

* refactor: fix tests

* refactor: fix linter errors

* refactor: fix the tests for tests running within tox

* temp: print out test outputs

* refactor: fix tests for windows

* refactor: remove escape from slash?

* refactor: fixes to regex

* refactor: remove print statements

* docs: update API reference
2025-03-19 09:38:25 +01:00
Juro Oravec
107284f474
feat: registry.has(); helpers to get all components and registries; access component from ext class (#1030)
* feat: registry.has(); helpers to get all components and registries; access component from ext class

* refactor: add missing import
2025-03-18 11:30:53 +01:00
Juro Oravec
99067c4b20
docs: document how to render components in getting started (#1028)
Closes #990
2025-03-17 12:39:18 +01:00
Juro Oravec
8e7acd82be
docs: fix links in getting started section + few other (#1026) 2025-03-17 08:55:42 +01:00
Juro Oravec
12a64f8e41
feat: allow extensions to add url views (#1025)
* feat: allow extensions to add url views

* refactor: fix linter errors
2025-03-17 08:36:47 +01:00
Juro Oravec
d3d2d0ab08
feat: allow extensions to add commands (#1017)
* feat: allow extensions to add commands

* refactor: fix tests

* refactor: more test fix

* refactor: more test fixes

* refactor: more linter fixes
2025-03-16 12:03:16 +01:00
Juro Oravec
4d35bc97a2
feat: extensions (#1009)
* feat: extensions

* refactor: remove support for passing in extensions as instances
2025-03-08 09:41:28 +01:00
Juro Oravec
7dfcb447c4
feat: add decorator for writing component tests (#1008)
* feat: add decorator for writing component tests

* refactor: udpate changelog + update deps pins

* refactor: fix deps

* refactor: make cached_ref into generic and fix linter errors

* refactor: fix coverage testing

* refactor: use global var instead of env var for is_testing state
2025-03-02 19:46:12 +01:00
Juro Oravec
81ac59f7fb
docs: add perf section (#1002)
* docs: add perf section

* refactor: add asv badge
2025-03-01 12:57:50 +01:00
Juro Oravec
d5e45125dc
refactor: use .nav.yml to define page order instead of nav weights (#1000) 2025-02-23 22:44:12 +01:00
Juro Oravec
f36581ed86
feat: benchmarking (#999)
* feat: add benchmarking dashboard, CI hook on PR, and store lifetime results

* refactor: change python env to 3.13 in benchmarks

* refactor: add verbosity, use 3.11 for benchmarking

* fix: OSError: [Errno 7] Argument list too long

* refactor: add debug statements

* refactor: remove extraneous -e

* refactor: fix tests and linter errors

* fix: track main package in coverage

* refactor: fix test coverage testing

* refactor: fix repo owner name in benchmark on pushing comment

* refactor: add asv monkeypatch to docs workflow

* refactor: temporarily allow building docs in forks

* refactor: use py 3.13 for benchmarking

* refactor: run only a single benchmark for PRs to speed them up

* refactor: install asv in the docs build workflow

* refactor: use hatch docs env to generate benhcmarks in docs CI

* refactor: more trying

* refactor: move tests

* Add benchmark results for 0.137

* Trigger Build

* Add benchmark results for 0.138

* refactor: set constant machine name when benchmarking

* Add benchmark results for 0.139

* refactor: fix issue with paths too long

* Add benchmark results for 0.140

* docs: update comment

* refactor: remove test benchmarking data

* refactor: fix comment

* refactor: allow the benchmark workflow to write to PRs

* refactor: use personal access token to set up the PR benchmark bot

* refactor: split the benchmark PR flow into two to make it work with PRs from forks

* refactor: update deprecated actions/upload-artifact@v3 to v4

* refactor: fix missing directory in benchmarking workflow

* refactor: fix triggering of second workflow

* refactor: fix workflow finally?

* docs: add comments to cut-offs and direct people to benchmarks PR

---------

Co-authored-by: github-actions <github-actions@github.com>
2025-02-23 16:18:57 +01:00
Juro Oravec
314ec77d3d
docs: Syntax highlighting for mkdocs (#984)
* feat:forward context processors variables in context in ISOLATED mode

	provide context_processors_data property to Component to access those variables in Component

* refactor: internalize RequestContext and pass HttpRequest internally

* docs: document HttpRequest and context processors

* docs: use djc_py code blocks for component definitions

---------

Co-authored-by: Lilian Durey <dureylilian@gmail.com>
2025-02-20 11:47:14 +01:00
lilian D
8b5579d2be
feat:forward context processors variables in context in ISOLATED mode (#975)
* feat:forward context processors variables in context in ISOLATED mode

	provide context_processors_data property to Component to access those variables in Component

* refactor: internalize RequestContext and pass HttpRequest internally

* docs: document HttpRequest and context processors

---------

Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-20 11:06:49 +01:00
Juro Oravec
eb3f72ee0d
refactor: fix bug with complex slots and "django" mode + add docs on debugging with AI agents (#956) 2025-02-11 10:57:37 +01:00
Juro Oravec
de99abf6bf
refactor: udpate formatting and wording for the "devguides" docs (#960) 2025-02-09 16:04:46 +01:00