Compare commits

...

1408 commits
0.20 ... master

Author SHA1 Message Date
dependabot[bot]
09e96d92d6
build(deps): bump mkdocstrings from 0.29.1 to 0.30.0 (#1313)
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.29.1 to 0.30.0.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.29.1...0.30.0)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 22:32:18 +02:00
dependabot[bot]
df8c6ab1a4
build(deps): bump griffe from 1.7.3 to 1.9.0 (#1314)
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.7.3 to 1.9.0.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.7.3...1.9.0)

---
updated-dependencies:
- dependency-name: griffe
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 22:31:59 +02:00
dependabot[bot]
10e1a25b26
build(deps): bump gitpython from 3.1.44 to 3.1.45 (#1316)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.44 to 3.1.45.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.44...3.1.45)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-version: 3.1.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 22:31:40 +02:00
github-actions[bot]
9e280f2e61
Merge pull request #1312 from django-components/dependabot/pip/pymdown-extensions-10.16.1
build(deps): bump pymdown-extensions from 10.16 to 10.16.1
2025-07-29 22:31:25 +02:00
dependabot[bot]
de1ebcd071
build(deps): bump pymdown-extensions from 10.16 to 10.16.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.16 to 10.16.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.16...10.16.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 10.16.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 18:23:44 +00:00
dependabot[bot]
740a8c5f1c
build(deps): bump virtualenv from 20.31.2 to 20.32.0 (#1307)
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 09:29:13 +02:00
github-actions[bot]
7a260f7e47
Merge pull request #1305 from django-components/dependabot/pip/mypy-1.17.0
build(deps-dev): bump mypy from 1.16.1 to 1.17.0
2025-07-22 09:28:50 +02:00
dependabot[bot]
6772736f4c
build(deps-dev): bump mypy from 1.16.1 to 1.17.0
---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 19:39:57 +00:00
components-release-bot
8246f908bf Add benchmark results for 0.141.2
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
2025-07-20 22:18:32 +00:00
github-actions[bot]
5d7e235725
Merge pull request #1297 from django-components/dependabot/pip/asgiref-3.9.1
build(deps): bump asgiref from 3.9.0 to 3.9.1
2025-07-21 00:05:08 +02:00
dependabot[bot]
2a44fbec27
build(deps): bump asgiref from 3.9.0 to 3.9.1
Bumps [asgiref](https://github.com/django/asgiref) from 3.9.0 to 3.9.1.
- [Changelog](https://github.com/django/asgiref/blob/main/CHANGELOG.txt)
- [Commits](https://github.com/django/asgiref/compare/3.9.0...3.9.1)

---
updated-dependencies:
- dependency-name: asgiref
  dependency-version: 3.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-20 21:55:33 +00:00
github-actions[bot]
f4347dd9d9
Merge pull request #1298 from django-components/dependabot/pip/certifi-2025.7.14
build(deps): bump certifi from 2025.6.15 to 2025.7.14
2025-07-20 23:54:26 +02:00
Juro Oravec
65373ec3e8
Merge branch 'master' into dependabot/pip/certifi-2025.7.14 2025-07-20 23:43:21 +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
672811b8b4
Update devcontainer.json (#1302) 2025-07-20 17:15:54 +02:00
Juro Oravec
f8c8292441
Create devcontainer.json (#1301)
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
* Create devcontainer.json

* Update devcontainer.json
2025-07-20 16:47:10 +02:00
Antoliny Lee
8cba8702a3
docs: fix wrong link to template variable page in sidebar (#1295)
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-07-20 13:22:32 +02:00
dependabot[bot]
fb4b654433
build(deps): bump certifi from 2025.6.15 to 2025.7.14
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.6.15 to 2025.7.14.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.06.15...2025.07.14)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.7.14
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 20:58:02 +00:00
dependabot[bot]
5f8ec71358
build(deps): bump asgiref from 3.8.1 to 3.9.0 (#1293)
Some checks failed
Docs - build & deploy / docs (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.11) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.10) (push) Has been cancelled
Run tests / build (ubuntu-latest, 3.12) (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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
Bumps [asgiref](https://github.com/django/asgiref) from 3.8.1 to 3.9.0.
- [Changelog](https://github.com/django/asgiref/blob/main/CHANGELOG.txt)
- [Commits](https://github.com/django/asgiref/compare/3.8.1...3.9.0)

---
updated-dependencies:
- dependency-name: asgiref
  dependency-version: 3.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-08 10:24:15 +02:00
dependabot[bot]
f15f1e967a
build(deps): bump mkdocs-material from 9.6.14 to 9.6.15 (#1291)
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.14 to 9.6.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.14...9.6.15)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-08 10:24:00 +02:00
Antoliny Lee
b7b0d250c4
docs: add next step line for Adding slots to Rendering components (#1289)
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-07-07 18:30:15 +02:00
Antoliny Lee
0c7e17d8cf
docs: add section numbering to Rendering components page (#1288) 2025-07-07 18:28:12 +02:00
Antoliny Lee
514b8206b5
docs: fix incorrect numbering in adding slots section (#1287) 2025-07-07 18:25:52 +02:00
Antoliny Lee
bcc7bac48d
docs: fix parametrising components section next step line position (#1286) 2025-07-07 18:25:19 +02:00
Juro Oravec
39e9ee0dc3
Update community.md (#1290) 2025-07-07 18:24:03 +02:00
Antoliny Lee
df7f94cb2d
docs: fix component_library link (#1285) 2025-07-07 18:23:45 +02:00
Antoliny Lee
9a4f835201
docs: add register decorator to Calendar class in Quickstart section (#1284) 2025-07-07 16:45:06 +02:00
components-release-bot
59e5fb3b38 Add benchmark results for 0.141.1
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
2025-07-03 10:34:55 +00: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
github-actions[bot]
007009a480
Merge pull request #1282 from django-components/dependabot/pip/pillow-11.3.0
Some checks are pending
Docs - build & deploy / docs (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 / 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 (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 / test_sampleproject (3.13) (push) Waiting to run
build(deps): bump pillow from 11.2.1 to 11.3.0
2025-07-03 08:06:38 +02:00
dependabot[bot]
f8e2721244
build(deps): bump pillow from 11.2.1 to 11.3.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.2.1 to 11.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.2.1...11.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 17:32:06 +00:00
dependabot[bot]
77fd149346
build(deps): bump certifi from 2025.4.26 to 2025.6.15 (#1278)
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.4.26 to 2025.6.15.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.04.26...2025.06.15)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.6.15
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:10:10 +02:00
dependabot[bot]
055dd07694
build(deps): bump markdown-exec from 1.10.3 to 1.11.0 (#1279)
Bumps [markdown-exec](https://github.com/pawamoy/markdown-exec) from 1.10.3 to 1.11.0.
- [Release notes](https://github.com/pawamoy/markdown-exec/releases)
- [Changelog](https://github.com/pawamoy/markdown-exec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pawamoy/markdown-exec/compare/1.10.3...1.11.0)

---
updated-dependencies:
- dependency-name: markdown-exec
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 13:09:59 +02:00
github-actions[bot]
e7883d0b54
Merge pull request #1280 from django-components/dependabot/pip/django-4.2.23
build(deps): bump django from 4.2.22 to 4.2.23
2025-07-01 13:09:33 +02:00
dependabot[bot]
64322a7b84
build(deps): bump django from 4.2.22 to 4.2.23
Bumps [django](https://github.com/django/django) from 4.2.22 to 4.2.23.
- [Commits](https://github.com/django/django/compare/4.2.22...4.2.23)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 20:21:35 +00:00
dependabot[bot]
b021b54ad4
build(deps): bump pygments from 2.19.1 to 2.19.2 (#1272)
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
Bumps [pygments](https://github.com/pygments/pygments) from 2.19.1 to 2.19.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.19.1...2.19.2)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 11:16:31 +02:00
dependabot[bot]
212336c99a
build(deps): bump wcmatch from 10.0 to 10.1 (#1276)
---
updated-dependencies:
- dependency-name: wcmatch
  dependency-version: '10.1'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-06-24 11:16:13 +02:00
dependabot[bot]
8ceb143fb3
build(deps): bump bracex from 2.5.post1 to 2.6 (#1274)
Bumps [bracex](https://github.com/facelessuser/bracex) from 2.5.post1 to 2.6.
- [Release notes](https://github.com/facelessuser/bracex/releases)
- [Commits](https://github.com/facelessuser/bracex/compare/2.5.post1...2.6)

---
updated-dependencies:
- dependency-name: bracex
  dependency-version: '2.6'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 11:15:59 +02:00
github-actions[bot]
15669a2fb1
Merge pull request #1268 from django-components/dependabot/pip/flake8-7.3.0
Some checks are pending
Docs - build & deploy / docs (push) Waiting to run
Run tests / build (ubuntu-latest, 3.8) (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.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
build(deps-dev): bump flake8 from 7.2.0 to 7.3.0
2025-06-23 22:58:56 +02:00
dependabot[bot]
10a9e555c0
build(deps-dev): bump flake8 from 7.2.0 to 7.3.0
Bumps [flake8](https://github.com/pycqa/flake8) from 7.2.0 to 7.3.0.
- [Commits](https://github.com/pycqa/flake8/compare/7.2.0...7.3.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 20:30:50 +00:00
dependabot[bot]
4d9c814e32
build(deps): bump mkdocs-include-markdown-plugin from 7.1.5 to 7.1.6 (#1267)
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.5...v7.1.6)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-version: 7.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-06-23 22:28:00 +02:00
dependabot[bot]
68089daefb
build(deps): bump markdown from 3.8 to 3.8.2 (#1269)
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.8 to 3.8.2.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.8...3.8.2)

---
updated-dependencies:
- dependency-name: markdown
  dependency-version: 3.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 22:27:26 +02:00
github-actions[bot]
b0da3b166d
Merge pull request #1271 from django-components/dependabot/pip/pymdown-extensions-10.16
build(deps): bump pymdown-extensions from 10.15 to 10.16
2025-06-23 22:26:08 +02:00
dependabot[bot]
5e34ec28cf
build(deps): bump pymdown-extensions from 10.15 to 10.16
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.15 to 10.16.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.15...10.16)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: '10.16'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 19:58:23 +00:00
github-actions[bot]
b0ef1f2a4c
Merge pull request #1266 from django-components/dependabot/pip/urllib3-2.5.0
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
build(deps): bump urllib3 from 2.4.0 to 2.5.0
2025-06-19 09:01:48 +02:00
dependabot[bot]
14a8358b08
build(deps): bump urllib3 from 2.4.0 to 2.5.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.4.0...2.5.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.5.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 03:57:36 +00:00
github-actions[bot]
b09c83b128
Merge pull request #1262 from django-components/dependabot/pip/django-4.2.23
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
build(deps): bump django from 4.2.22 to 4.2.23
2025-06-17 12:50:00 +02:00
dependabot[bot]
6e86851894
build(deps): bump django from 4.2.22 to 4.2.23
Bumps [django](https://github.com/django/django) from 4.2.22 to 4.2.23.
- [Commits](https://github.com/django/django/compare/4.2.22...4.2.23)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 05:32:21 +00:00
github-actions[bot]
b9e8b8e569
Merge pull request #1261 from django-components/dependabot/pip/mkdocs-git-authors-plugin-0.10.0
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
build(deps): bump mkdocs-git-authors-plugin from 0.9.6 to 0.10.0
2025-06-17 05:31:13 +00:00
dependabot[bot]
1db72b6e96
build(deps): bump mkdocs-git-authors-plugin from 0.9.6 to 0.10.0
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.9.6 to 0.10.0.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.9.6...v0.10.0)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-version: 0.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-17 05:22:16 +00:00
github-actions[bot]
cd1643ad23
Merge pull request #1263 from django-components/dependabot/pip/mypy-1.16.1
build(deps-dev): bump mypy from 1.16.0 to 1.16.1
2025-06-17 06:21:07 +01:00
dependabot[bot]
6d754acb99
build(deps-dev): bump mypy from 1.16.0 to 1.16.1
Bumps [mypy](https://github.com/python/mypy) from 1.16.0 to 1.16.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.16.0...v1.16.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.16.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 19:09:24 +00:00
Dylan Castillo
50d71b6187
Merge pull request #1254 from dylanjcastillo/master
Some checks failed
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
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
Run tests / test_sampleproject (3.13) (push) Has been cancelled
chore: remove live demo link
2025-06-10 19:16:47 +02:00
Dylan Castillo
bdfe966919 Remove live demo link 2025-06-10 14:13:07 +02:00
components-release-bot
d537ba1ee5 Add benchmark results for 0.141.0
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-06-10 09:21:24 +00:00
Juro Oravec
06c89cf9e8
chore: bump v0.141.0 (#1253) 2025-06-10 11:12:49 +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
458e1894db
refactor: fix wrongly initiated settings (#1250)
* refactor: fix wrongly initiated settings

* refacttor: remove `_load_settings()` from apps.py

* refactor: fix building of docs + update titles in API reference

* refactor: fix docs build error

* refactor: use EXTENSIONS_DEFAULTS

* refactor: update titles
2025-06-10 10:12:48 +02:00
github-actions[bot]
2350a6b6c4
Merge pull request #1245 from django-components/dependabot/pip/requests-2.32.4
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
build(deps): bump requests from 2.32.3 to 2.32.4
2025-06-09 22:42:28 +00:00
dependabot[bot]
291b97cfd1
build(deps): bump requests from 2.32.3 to 2.32.4
Bumps [requests](https://github.com/psf/requests) from 2.32.3 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.3...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 22:28:41 +00:00
github-actions[bot]
6a8fc27bad
Merge pull request #1248 from django-components/dependabot/pip/django-4.2.22
build(deps): bump django from 4.2.21 to 4.2.22
2025-06-09 22:27:01 +00:00
dependabot[bot]
328b55ff29
build(deps): bump django from 4.2.21 to 4.2.22
Bumps [django](https://github.com/django/django) from 4.2.21 to 4.2.22.
- [Commits](https://github.com/django/django/compare/4.2.21...4.2.22)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 22:18:07 +00:00
github-actions[bot]
136a7a591c
Merge pull request #1246 from django-components/dependabot/pip/zipp-3.23.0
build(deps): bump zipp from 3.22.0 to 3.23.0
2025-06-09 22:16:36 +00:00
dependabot[bot]
4d056b2c49
build(deps): bump zipp from 3.22.0 to 3.23.0
Bumps [zipp](https://github.com/jaraco/zipp) from 3.22.0 to 3.23.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.22.0...v3.23.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-version: 3.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 22:05:09 +00:00
github-actions[bot]
8209614fc2
Merge pull request #1247 from django-components/dependabot/pip/mkdocs-git-authors-plugin-0.9.6
build(deps): bump mkdocs-git-authors-plugin from 0.9.5 to 0.9.6
2025-06-09 22:02:12 +00:00
dependabot[bot]
7bece01024
build(deps): bump mkdocs-git-authors-plugin from 0.9.5 to 0.9.6
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.9.5 to 0.9.6.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.9.5...v0.9.6)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-version: 0.9.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 21:52:53 +00:00
github-actions[bot]
49f0c05bf6
Merge pull request #1244 from django-components/dependabot/pip/mkdocstrings-python-1.16.12
build(deps): bump mkdocstrings-python from 1.16.11 to 1.16.12
2025-06-09 23:51:42 +02:00
dependabot[bot]
831db00598
build(deps): bump mkdocstrings-python from 1.16.11 to 1.16.12
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.11 to 1.16.12.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.11...1.16.12)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-version: 1.16.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 17:14:52 +00: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
github-actions[bot]
efe5eb0ba5
Merge pull request #1241 from django-components/dependabot/pip/django-4.2.22
build(deps): bump django from 4.2.21 to 4.2.22
2025-06-07 08:39:13 +02:00
dependabot[bot]
ace29db9ac
build(deps): bump django from 4.2.21 to 4.2.22
Bumps [django](https://github.com/django/django) from 4.2.21 to 4.2.22.
- [Commits](https://github.com/django/django/compare/4.2.21...4.2.22)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.22
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 23:26:51 +00:00
Juro Oravec
04737412d9
docs: fix changelog links (#1238) 2025-06-05 08:47:51 +02:00
components-release-bot
b2e053118b Add benchmark results for 0.140.1 2025-06-04 22:42:14 +00:00
Juro Oravec
7b24b86f4a
Update pyproject.toml (#1237)
* Update pyproject.toml

* chore: bump v0.140.1
2025-06-05 00:35:21 +02:00
Juro Oravec
468abaf92f
fix: ctx_with_fills.fill (#1235) 2025-06-05 00:30:23 +02:00
Juro Oravec
593c66db7f
chore: bump v0.140 (#1234) 2025-06-04 23:41:34 +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
dependabot[bot]
abc6be343e
build(deps-dev): bump mypy from 1.15.0 to 1.16.0 (#1226)
Bumps [mypy](https://github.com/python/mypy) from 1.15.0 to 1.16.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.15.0...v1.16.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-version: 1.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 08:51:34 +02:00
github-actions[bot]
87eb1f8479
Merge pull request #1228 from django-components/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.4.7
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.4.6 to 1.4.7
2025-06-03 08:51:03 +02:00
dependabot[bot]
c5a4a81852
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.4.6 to 1.4.7.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.4.6...v1.4.7)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.4.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 17:40:14 +00: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
github-actions[bot]
7df8019544
Merge pull request #1219 from django-components/dependabot/pip/mkdocstrings-python-1.16.11
build(deps): bump mkdocstrings-python from 1.16.10 to 1.16.11
2025-05-26 17:44:44 +00:00
dependabot[bot]
42eb6f93ae
build(deps): bump mkdocstrings-python from 1.16.10 to 1.16.11
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.10 to 1.16.11.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.10...1.16.11)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-version: 1.16.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 17:36:58 +00:00
github-actions[bot]
dfb90c4005
Merge pull request #1217 from django-components/dependabot/pip/mkdocs-autorefs-1.4.2
build(deps): bump mkdocs-autorefs from 1.4.1 to 1.4.2
2025-05-26 17:35:48 +00:00
dependabot[bot]
26845fe60a
build(deps): bump mkdocs-autorefs from 1.4.1 to 1.4.2
Bumps [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/mkdocstrings/autorefs/releases)
- [Changelog](https://github.com/mkdocstrings/autorefs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/autorefs/compare/1.4.1...1.4.2)

---
updated-dependencies:
- dependency-name: mkdocs-autorefs
  dependency-version: 1.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 17:28:24 +00:00
github-actions[bot]
e8eb296897
Merge pull request #1218 from django-components/dependabot/pip/zipp-3.22.0
build(deps): bump zipp from 3.21.0 to 3.22.0
2025-05-26 17:27:25 +00:00
dependabot[bot]
6aec2d23dc
build(deps): bump zipp from 3.21.0 to 3.22.0
Bumps [zipp](https://github.com/jaraco/zipp) from 3.21.0 to 3.22.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.21.0...v3.22.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-version: 3.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 17:17:52 +00:00
github-actions[bot]
7884705869
Merge pull request #1216 from django-components/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.4.6
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.4.5 to 1.4.6
2025-05-26 19:16:51 +02:00
dependabot[bot]
d7fee43dd9
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.4.5 to 1.4.6.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.4.5...v1.4.6)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-version: 1.4.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 17:05:33 +00: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
223fc2c68c
docs: update docs on slots (#1208) 2025-05-25 08:53:09 +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
dependabot[bot]
7a49a7806c
build(deps): bump cairosvg from 2.8.0 to 2.8.2 (#1201)
Bumps [cairosvg](https://github.com/Kozea/CairoSVG) from 2.8.0 to 2.8.2.
- [Release notes](https://github.com/Kozea/CairoSVG/releases)
- [Changelog](https://github.com/Kozea/CairoSVG/blob/main/NEWS.rst)
- [Commits](https://github.com/Kozea/CairoSVG/compare/2.8.0...2.8.2)

---
updated-dependencies:
- dependency-name: cairosvg
  dependency-version: 2.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-05-19 20:43:39 +02:00
github-actions[bot]
0718b4cac6
Merge pull request #1200 from django-components/dependabot/pip/pyyaml-env-tag-1.1
build(deps): bump pyyaml-env-tag from 1.0 to 1.1
2025-05-19 18:23:53 +00:00
Juro Oravec
4f15ad8360
Merge branch 'master' into dependabot/pip/pyyaml-env-tag-1.1 2025-05-19 20:09:31 +02:00
Juro Oravec
49ad23b21d
refactor: slots cleanup (#1199) 2025-05-19 19:56:27 +02:00
dependabot[bot]
71db46d5ca
build(deps): bump pyyaml-env-tag from 1.0 to 1.1
Bumps [pyyaml-env-tag](https://github.com/waylan/pyyaml-env-tag) from 1.0 to 1.1.
- [Commits](https://github.com/waylan/pyyaml-env-tag/compare/1.0...1.1)

---
updated-dependencies:
- dependency-name: pyyaml-env-tag
  dependency-version: '1.1'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 17:47:21 +00: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
github-actions[bot]
53d80684bb
Merge pull request #1181 from django-components/dependabot/pip/mkdocs-material-9.6.13
build(deps): bump mkdocs-material from 9.6.12 to 9.6.13
2025-05-14 09:15:37 +00:00
Juro Oravec
2eb9f5d43d
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.13 2025-05-14 11:05:48 +02:00
Juro Oravec
1bb7c3fdfe
Update requirements-docs.txt 2025-05-14 11:05:36 +02:00
Juro Oravec
f80457e964
Update attributes.py (#1188) 2025-05-13 23:18:48 +02:00
github-actions[bot]
a96f5fdd2f
Merge pull request #1182 from django-components/dependabot/pip/platformdirs-4.3.8
build(deps): bump platformdirs from 4.3.7 to 4.3.8
2025-05-13 11:53:36 +02:00
Juro Oravec
b83eaefcd0
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.13 2025-05-13 09:24:40 +02:00
Juro Oravec
9dda6f8c16
Merge branch 'master' into dependabot/pip/platformdirs-4.3.8 2025-05-13 09:24:30 +02:00
dependabot[bot]
5fb0c9032b
build(deps): bump pyyaml-env-tag from 0.1 to 1.0 (#1183)
Bumps [pyyaml-env-tag](https://github.com/waylan/pyyaml-env-tag) from 0.1 to 1.0.
- [Commits](https://github.com/waylan/pyyaml-env-tag/compare/0.1...1.0)

---
updated-dependencies:
- dependency-name: pyyaml-env-tag
  dependency-version: '1.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-13 09:24:11 +02:00
dependabot[bot]
e5126b04ef
build(deps): bump platformdirs from 4.3.7 to 4.3.8
Bumps [platformdirs](https://github.com/tox-dev/platformdirs) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.3.7...4.3.8)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-version: 4.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 07:23:59 +00:00
Juro Oravec
77178190ed
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.13 2025-05-13 09:23:40 +02:00
github-actions[bot]
d7e6d5a961
Merge pull request #1184 from django-components/dependabot/pip/virtualenv-20.31.2
build(deps): bump virtualenv from 20.30 to 20.31.2
2025-05-13 09:22:51 +02:00
dependabot[bot]
406828c51a
build(deps): bump virtualenv from 20.30 to 20.31.2
Bumps [virtualenv](https://github.com/pypa/virtualenv) from 20.30 to 20.31.2.
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/20.30.0...20.31.2)

---
updated-dependencies:
- dependency-name: virtualenv
  dependency-version: 20.31.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 17:14:24 +00:00
dependabot[bot]
fcc8d71dca
build(deps): bump mkdocs-material from 9.6.12 to 9.6.13
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.12 to 9.6.13.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.12...9.6.13)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 17:12:51 +00: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
github-actions[bot]
e64cd197c1
Merge pull request #1176 from django-components/dependabot/pip/django-4.2.21
build(deps): bump django from 4.2.20 to 4.2.21
2025-05-09 09:41:08 +02:00
dependabot[bot]
ccd8e26956
build(deps): bump django from 4.2.20 to 4.2.21
Bumps [django](https://github.com/django/django) from 4.2.20 to 4.2.21.
- [Commits](https://github.com/django/django/compare/4.2.20...4.2.21)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-09 06:51:25 +00:00
github-actions[bot]
6aa2a39fe9
Merge pull request #1175 from django-components/dependabot/pip/django-4.2.21
build(deps): bump django from 4.2.20 to 4.2.21
2025-05-09 08:50:10 +02:00
dependabot[bot]
26078d5340
build(deps): bump django from 4.2.20 to 4.2.21
Bumps [django](https://github.com/django/django) from 4.2.20 to 4.2.21.
- [Commits](https://github.com/django/django/compare/4.2.20...4.2.21)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.21
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 15:27:54 +00: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
github-actions[bot]
1049c08324
Merge pull request #1167 from django-components/dependabot/pip/charset-normalizer-3.4.2
build(deps): bump charset-normalizer from 3.4.1 to 3.4.2
2025-05-06 13:11:30 +02:00
Juro Oravec
ca4e7f7f8b refactor: pin virtualenv to v20.30 to fix asv 2025-05-06 10:09:32 +00:00
dependabot[bot]
b13f859d7b
build(deps): bump charset-normalizer from 3.4.1 to 3.4.2
Bumps [charset-normalizer](https://github.com/jawah/charset_normalizer) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.1...3.4.2)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-version: 3.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 18:07:36 +00: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
github-actions[bot]
e74e1241ac
Merge pull request #1158 from django-components/dependabot/github_actions/actions/create-github-app-token-2
build(deps): bump actions/create-github-app-token from 1 to 2
2025-05-01 20:54:55 +02:00
dependabot[bot]
76a888aa11
build(deps): bump actions/create-github-app-token from 1 to 2
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1 to 2.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v1...v2)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 17:31:27 +00:00
github-actions[bot]
bb9e8e0bad
Merge pull request #1155 from django-components/dependabot/pip/mypy-extensions-1.1.0
build(deps): bump mypy-extensions from 1.0.0 to 1.1.0
2025-04-28 21:21:52 +00:00
Juro Oravec
95e5df9d3c
Merge branch 'master' into dependabot/pip/mypy-extensions-1.1.0 2025-04-28 23:15:27 +02:00
dependabot[bot]
c5c7b7a52c
build(deps): bump mypy-extensions from 1.0.0 to 1.1.0
Bumps [mypy-extensions](https://github.com/python/mypy_extensions) from 1.0.0 to 1.1.0.
- [Commits](https://github.com/python/mypy_extensions/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: mypy-extensions
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 18:48:11 +00:00
dependabot[bot]
3eb148754a
build(deps): bump pymdown-extensions from 10.14.3 to 10.15 (#1151)
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14.3 to 10.15.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14.3...10.15)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: '10.15'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 20:15:37 +02:00
dependabot[bot]
b8dbf89612
build(deps): bump importlib-metadata from 8.6.1 to 8.7.0 (#1150)
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 8.6.1 to 8.7.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.6.1...v8.7.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-version: 8.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 20:15:08 +02:00
dependabot[bot]
d33a1b87aa
build(deps): bump certifi from 2025.1.31 to 2025.4.26 (#1153)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2025.1.31 to 2025.4.26.
- [Commits](https://github.com/certifi/python-certifi/compare/2025.01.31...2025.04.26)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2025.4.26
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 20:14:42 +02:00
dependabot[bot]
456e011f9b
build(deps): bump mkdocs-git-authors-plugin from 0.9.4 to 0.9.5 (#1154)
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.9.4 to 0.9.5.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.9.4...v0.9.5)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-version: 0.9.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 20:14:15 +02:00
github-actions[bot]
6a452b285e
Merge pull request #1152 from django-components/dependabot/pip/griffe-1.7.3
build(deps): bump griffe from 1.7.2 to 1.7.3
2025-04-28 20:08:33 +02:00
dependabot[bot]
7b15ea9ea8
build(deps): bump griffe from 1.7.2 to 1.7.3
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.7.2...1.7.3)

---
updated-dependencies:
- dependency-name: griffe
  dependency-version: 1.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 17:54:33 +00: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
Ralph Bibera
89db10a643
fixed README Quickstart file extension typo (#1146) 2025-04-24 09:21:08 +02:00
github-actions[bot]
5704bc86a1
Merge pull request #1142 from django-components/dependabot/pip/mkdocs-material-9.6.12
build(deps): bump mkdocs-material from 9.6.11 to 9.6.12
2025-04-22 07:16:11 +00:00
Juro Oravec
a5a93e9bbb
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.12 2025-04-22 09:08:07 +02:00
github-actions[bot]
a368786267
Merge pull request #1143 from django-components/dependabot/pip/packaging-25.0
build(deps): bump packaging from 24.2 to 25.0
2025-04-21 21:23:09 +00:00
Juro Oravec
dbe8dc074d
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.12 2025-04-21 23:13:16 +02:00
Juro Oravec
2b69980845
Merge branch 'master' into dependabot/pip/packaging-25.0 2025-04-21 23:12:57 +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
dependabot[bot]
c8002d241a
build(deps): bump packaging from 24.2 to 25.0
Bumps [packaging](https://github.com/pypa/packaging) from 24.2 to 25.0.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/24.2...25.0)

---
updated-dependencies:
- dependency-name: packaging
  dependency-version: '25.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 18:00:44 +00:00
dependabot[bot]
b949e4a6ec
build(deps): bump mkdocs-material from 9.6.11 to 9.6.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.11 to 9.6.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.11...9.6.12)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 18:00:19 +00: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
4c90948606
chore: bump v0.139.1 (#1139) 2025-04-20 11:58:12 +02:00
Oliver Haas
e0b718c314
test: test to illustrate bug in component caching when using include tag (#1135)
* test: test to illustrate bug in component caching when using include tag

* fix: add cleanup for render context in component rendering

* refactor: clarify cleanup comment in component rendering logic

* refactor: fix linter errors

* test: formatting and unnecessary test setup

---------

Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-04-20 11:53:06 +02:00
Juro Oravec
eed15d32ab
Update tests.yml (#1137) 2025-04-20 00:02:28 +02:00
dependabot[bot]
68ede4f662
build(deps): bump pillow from 11.1.0 to 11.2.1 (#1129)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.1.0 to 11.2.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.1.0...11.2.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-version: 11.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 20:40:43 +02:00
dependabot[bot]
bd1a4fd65d
build(deps): bump typing-extensions from 4.12.2 to 4.13.2 (#1131)
Bumps [typing-extensions](https://github.com/python/typing_extensions) from 4.12.2 to 4.13.2.
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.12.2...4.13.2)

---
updated-dependencies:
- dependency-name: typing-extensions
  dependency-version: 4.13.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 20:39:46 +02:00
github-actions[bot]
56846c5fc4
Merge pull request #1128 from django-components/dependabot/pip/markdown-3.8
build(deps): bump markdown from 3.7 to 3.8
2025-04-14 18:35:38 +00:00
dependabot[bot]
8cf42dd20f
build(deps): bump markdown from 3.7 to 3.8
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.7 to 3.8.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.7...3.8)

---
updated-dependencies:
- dependency-name: markdown
  dependency-version: '3.8'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 18:26:16 +00:00
github-actions[bot]
2905c6980a
Merge pull request #1130 from django-components/dependabot/pip/urllib3-2.4.0
build(deps): bump urllib3 from 2.3.0 to 2.4.0
2025-04-14 18:25:07 +00:00
dependabot[bot]
0fad34f271
build(deps): bump urllib3 from 2.3.0 to 2.4.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.3.0...2.4.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 18:16:17 +00:00
github-actions[bot]
6e7e5cd162
Merge pull request #1132 from django-components/dependabot/pip/pytz-2025.2
build(deps): bump pytz from 2025.1 to 2025.2
2025-04-14 20:15:18 +02:00
dependabot[bot]
a69c2329b0
build(deps): bump pytz from 2025.1 to 2025.2
Bumps [pytz](https://github.com/stub42/pytz) from 2025.1 to 2025.2.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2025.1...release_2025.2)

---
updated-dependencies:
- dependency-name: pytz
  dependency-version: '2025.2'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 17:43:21 +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
Juro Oravec
61528ef0ad
build: Change versioning to major.minor.patch (#1123) 2025-04-12 20:48:54 +02:00
components-release-bot
3148557e91 Add benchmark results for 0.139 2025-04-12 07:41:59 +00:00
Juro Oravec
ad402fc619
refactor: fix compat with Django 5.2 Finder.find() (#1121)
* refactor: fix compat with Django 5.2 Finder.find()

* refactor: fix tests and linters
2025-04-12 09:35:33 +02: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
Juro Oravec
07f747d705
refactor: fix - allow components with Url.public to be defined before django.setup() (#1112) 2025-04-09 18:31:07 +02:00
components-release-bot
cc249022c4 Add benchmark results for 0.137 2025-04-09 13:22:30 +00:00
Juro Oravec
1319a95627
chore: bump v0.137 (#1111) 2025-04-09 15:09:26 +02: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
github-actions[bot]
ef15117459
Merge pull request #1108 from django-components/dependabot/pip/mkdocs-material-9.6.11
build(deps): bump mkdocs-material from 9.6.10 to 9.6.11
2025-04-07 20:59:59 +00:00
Emil Stenström
625c1a4735
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.11 2025-04-07 22:52:29 +02:00
dependabot[bot]
c8f9b35f2e
build(deps): bump mkdocs-material from 9.6.10 to 9.6.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.10 to 9.6.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.10...9.6.11)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 20:06:09 +00:00
dependabot[bot]
077ba59ce1
build(deps): bump pytest-django from 4.10.0 to 4.11.1 (#1102)
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django) from 4.10.0 to 4.11.1.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.10.0...v4.11.1)

---
updated-dependencies:
- dependency-name: pytest-django
  dependency-version: 4.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-04-07 22:02:09 +02:00
github-actions[bot]
0417e369f7
Merge pull request #1106 from django-components/dependabot/pip/pyparsing-3.2.3
build(deps): bump pyparsing from 3.2.2 to 3.2.3
2025-04-07 19:47:31 +00:00
Juro Oravec
2213f43c89
Merge branch 'master' into dependabot/pip/pyparsing-3.2.3 2025-04-07 21:36:48 +02:00
github-actions[bot]
1074ebe2f1
Merge pull request #1103 from django-components/dependabot/pip/mkdocstrings-python-1.16.10
build(deps): bump mkdocstrings-python from 1.16.8 to 1.16.10
2025-04-07 21:36:26 +02:00
Juro Oravec
225f45d0b8
Merge branch 'master' into dependabot/pip/pyparsing-3.2.3 2025-04-07 21:36:21 +02:00
dependabot[bot]
ec5cc278a4
build(deps): bump pyparsing from 3.2.2 to 3.2.3
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.2.2...3.2.3)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-version: 3.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 19:12:42 +00:00
dependabot[bot]
e0e9501dca
build(deps): bump mkdocstrings-python from 1.16.8 to 1.16.10
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.8 to 1.16.10.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.8...1.16.10)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-version: 1.16.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 18:32:24 +00:00
github-actions[bot]
fd12bb47ab
Merge pull request #1104 from django-components/dependabot/pip/griffe-1.7.2
build(deps): bump griffe from 1.7.1 to 1.7.2
2025-04-07 18:31:13 +00:00
Juro Oravec
bd703ead4b
Merge branch 'master' into dependabot/pip/griffe-1.7.2 2025-04-07 20:21:49 +02:00
github-actions[bot]
084b6c7f34
Merge pull request #1100 from django-components/dependabot/pip/flake8-7.2.0
build(deps-dev): bump flake8 from 7.1.2 to 7.2.0
2025-04-07 20:21:21 +02:00
Juro Oravec
dfb675343e
Merge branch 'master' into dependabot/pip/flake8-7.2.0 2025-04-07 20:04:57 +02:00
dependabot[bot]
2fedd9d0e2
build(deps): bump griffe from 1.7.1 to 1.7.2
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.7.1...1.7.2)

---
updated-dependencies:
- dependency-name: griffe
  dependency-version: 1.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 18:03:26 +00:00
dependabot[bot]
db324e291f
build(deps-dev): bump flake8 from 7.1.2 to 7.2.0
Bumps [flake8](https://github.com/pycqa/flake8) from 7.1.2 to 7.2.0.
- [Commits](https://github.com/pycqa/flake8/compare/7.1.2...7.2.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-version: 7.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 17:53:36 +00: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
fdd29baa65
chore: bump v0.136 (#1087) 2025-04-05 09:10:55 +02: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
github-actions[bot]
5e263ec143
Merge pull request #1078 from django-components/dependabot/pip/markdown-exec-1.10.3
build(deps): bump markdown-exec from 1.10.2 to 1.10.3
2025-03-31 20:09:25 +00:00
dependabot[bot]
ce140ae2c2
build(deps): bump markdown-exec from 1.10.2 to 1.10.3
Bumps [markdown-exec](https://github.com/pawamoy/markdown-exec) from 1.10.2 to 1.10.3.
- [Release notes](https://github.com/pawamoy/markdown-exec/releases)
- [Changelog](https://github.com/pawamoy/markdown-exec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pawamoy/markdown-exec/compare/1.10.2...1.10.3)

---
updated-dependencies:
- dependency-name: markdown-exec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 20:03:11 +00:00
github-actions[bot]
57d035c67d
Merge pull request #1080 from django-components/dependabot/pip/mkdocs-material-9.6.10
build(deps): bump mkdocs-material from 9.6.9 to 9.6.10
2025-03-31 20:01:57 +00:00
dependabot[bot]
1b8122312e
build(deps): bump mkdocs-material from 9.6.9 to 9.6.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.9 to 9.6.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.9...9.6.10)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:55:36 +00:00
github-actions[bot]
e184834e93
Merge pull request #1077 from django-components/dependabot/pip/mkdocstrings-0.29.1
build(deps): bump mkdocstrings from 0.29.0 to 0.29.1
2025-03-31 19:54:24 +00:00
dependabot[bot]
d523a97fcc
build(deps): bump mkdocstrings from 0.29.0 to 0.29.1
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.29.0 to 0.29.1.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.29.0...0.29.1)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:43:42 +00:00
github-actions[bot]
61a70e7705
Merge pull request #1079 from django-components/dependabot/pip/griffe-1.7.1
build(deps): bump griffe from 1.6.2 to 1.7.1
2025-03-31 19:42:34 +00:00
dependabot[bot]
e35c4e24fb
build(deps): bump griffe from 1.6.2 to 1.7.1
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.6.2 to 1.7.1.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.6.2...1.7.1)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 19:34:08 +00:00
github-actions[bot]
53adc9e18a
Merge pull request #1081 from django-components/dependabot/pip/tox-4.25.0
build(deps): bump tox from 4.24.2 to 4.25.0
2025-03-31 21:33:10 +02:00
dependabot[bot]
184c3e4c6c
build(deps): bump tox from 4.24.2 to 4.25.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.24.2 to 4.25.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.24.2...4.25.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 17:15:33 +00:00
components-release-bot
22dac99e4e Add benchmark results for 0.135 2025-03-31 14:17:45 +00:00
Juro Oravec
a6455d70f6
chore: bump v0.135 (#1076) 2025-03-31 16:10:42 +02:00
Juro Oravec
9f68f0f1a1
refactor: Fix path resolution relative to COMPONENTS.dirs + add CI test to ensure sampleproject works (#1075)
* refactor: Fix path resolution relative to COMPONENTS.dirs + add CI test to ensure sampleproject works

* refactor: fix compat with Windows by explicitly using utf8 encoding to read component files

* refactor: add missing components to tests

* docs: update changelog

* refactor: fix formatting
2025-03-31 16:09:37 +02: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
github-actions[bot]
48dd3b7a5a
Merge pull request #1069 from django-components/dependabot/pip/syrupy-4.9.1
build(deps-dev): bump syrupy from 4.9.0 to 4.9.1
2025-03-24 19:52:32 +00:00
dependabot[bot]
b5098cfe75
build(deps-dev): bump syrupy from 4.9.0 to 4.9.1
Bumps [syrupy](https://github.com/syrupy-project/syrupy) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/syrupy-project/syrupy/releases)
- [Changelog](https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/syrupy-project/syrupy/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: syrupy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:45:44 +00:00
github-actions[bot]
74ed201b69
Merge pull request #1070 from django-components/dependabot/pip/pyparsing-3.2.2
build(deps): bump pyparsing from 3.2.1 to 3.2.2
2025-03-24 19:43:58 +00:00
dependabot[bot]
74d21b87e5
build(deps): bump pyparsing from 3.2.1 to 3.2.2
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.2.1...3.2.2)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:37:28 +00:00
github-actions[bot]
14f070c72c
Merge pull request #1071 from django-components/dependabot/pip/mkdocs-autorefs-1.4.1
build(deps): bump mkdocs-autorefs from 1.4.0 to 1.4.1
2025-03-24 19:36:20 +00:00
dependabot[bot]
05246625b3
build(deps): bump mkdocs-autorefs from 1.4.0 to 1.4.1
Bumps [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/mkdocstrings/autorefs/releases)
- [Changelog](https://github.com/mkdocstrings/autorefs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/autorefs/compare/1.4.0...1.4.1)

---
updated-dependencies:
- dependency-name: mkdocs-autorefs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 19:29:19 +00:00
github-actions[bot]
46b49336ba
Merge pull request #1068 from django-components/dependabot/pip/mkdocstrings-python-1.16.8
build(deps): bump mkdocstrings-python from 1.16.7 to 1.16.8
2025-03-24 20:28:19 +01:00
dependabot[bot]
e00a305e00
build(deps): bump mkdocstrings-python from 1.16.7 to 1.16.8
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.7 to 1.16.8.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.7...1.16.8)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 18:38:49 +00: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
Juro Oravec
42818ad6ff
refactor: fix component media URLs (#1067)
* refactor: fix component media URLs

* refactor: remove extraneous check and fix tests

* chore: bump v0.134
2025-03-23 22:32:18 +01:00
components-release-bot
3544402215 Add benchmark results for 0.133 2025-03-23 09:01:44 +00:00
Juro Oravec
2472c2ad33
refactor: fix use of URLs in Component.Media (#1064) 2025-03-23 09:54:24 +01:00
github-actions[bot]
25e99854c0
Merge pull request #1056 from django-components/dependabot/pip/mkdocstrings-python-1.16.7
build(deps): bump mkdocstrings-python from 1.16.5 to 1.16.7
2025-03-22 18:47:46 +01:00
dependabot[bot]
eb122ff8cf
build(deps): bump mkdocstrings-python from 1.16.5 to 1.16.7
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.5 to 1.16.7.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.5...1.16.7)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 15:13:04 +00:00
github-actions[bot]
9d51432262
Merge pull request #1057 from django-components/dependabot/pip/griffe-1.6.2
build(deps): bump griffe from 1.6.0 to 1.6.2
2025-03-22 15:11:59 +00:00
dependabot[bot]
bbc8af415e
build(deps): bump griffe from 1.6.0 to 1.6.2
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.6.0 to 1.6.2.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.6.0...1.6.2)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 15:03:12 +00:00
github-actions[bot]
09eb2d27a5
Merge pull request #1061 from django-components/dependabot/pip/pre-commit-4.2.0
build(deps-dev): bump pre-commit from 4.1.0 to 4.2.0
2025-03-22 15:01:58 +00:00
dependabot[bot]
6f13cb9183
build(deps-dev): bump pre-commit from 4.1.0 to 4.2.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 14:51:46 +00:00
github-actions[bot]
a7ed0711fc
Merge pull request #1058 from django-components/dependabot/pip/markdown-exec-1.10.2
build(deps): bump markdown-exec from 1.10.1 to 1.10.2
2025-03-22 14:50:14 +00:00
dependabot[bot]
884d4ffbdd
build(deps): bump markdown-exec from 1.10.1 to 1.10.2
Bumps [markdown-exec](https://github.com/pawamoy/markdown-exec) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/pawamoy/markdown-exec/releases)
- [Changelog](https://github.com/pawamoy/markdown-exec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pawamoy/markdown-exec/compare/1.10.1...1.10.2)

---
updated-dependencies:
- dependency-name: markdown-exec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 14:43:24 +00:00
github-actions[bot]
9b27515a36
Merge pull request #1059 from django-components/dependabot/pip/platformdirs-4.3.7
build(deps): bump platformdirs from 4.3.6 to 4.3.7
2025-03-22 15:42:17 +01:00
dependabot[bot]
75510c5793
build(deps): bump platformdirs from 4.3.6 to 4.3.7
Bumps [platformdirs](https://github.com/tox-dev/platformdirs) from 4.3.6 to 4.3.7.
- [Release notes](https://github.com/tox-dev/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
- [Commits](https://github.com/tox-dev/platformdirs/compare/4.3.6...4.3.7)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 12:25:13 +00:00
components-release-bot
04dd0c21ba Add benchmark results for 0.132 2025-03-22 12:20:51 +00:00
Juro Oravec
2037ed20b7
chore: bump v0.132 (#1060) 2025-03-22 13:11:45 +01:00
Juro Oravec
30f3739499
build: add support for py3.13 windows (#1055) 2025-03-22 13:09:58 +01:00
Juro Oravec
390211b86e
refactor: display verbose output for benchmark comparison (#1054)
* refactor: display verbose output for benchmark comparison

* refactor: use unique machine name for ci benchmarks
2025-03-21 10:44:43 +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
d0a42a2698
refactor: use github app instead of pushing benchmarks via PR (#1052)
* refactor: use github app instead of pushing benchmarks via PR

* refactor: update github app bot git email
2025-03-20 21:26:54 +01:00
Juro Oravec
a2aa743947
refactor: Wait for PR status checks when pushing benchmarks (#1050)
* refactor: skip PR status checks when pushing benchmarks

* refactor: wait for status checks
2025-03-20 16:43:50 +01:00
Juro Oravec
293b933aaa
refactor: fix docs workflow (#1048) 2025-03-20 16:12:44 +01:00
Juro Oravec
173537ef36
refactor: allow docs CI workflow to make PRs (#1046) 2025-03-20 14:34:49 +01:00
Juro Oravec
f54f3ccb0b
ci: Make a separate PR when pushing release benchmark data (#1045) 2025-03-19 12:54:50 +01: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
github-actions[bot]
944bef2d95
Merge pull request #1038 from django-components/dependabot/pip/syrupy-4.9.0
build(deps-dev): bump syrupy from 4.8.2 to 4.9.0
2025-03-17 19:42:22 +00:00
Emil Stenström
8b8f120480
Merge branch 'master' into dependabot/pip/syrupy-4.9.0 2025-03-17 20:35:56 +01:00
github-actions[bot]
0c00f25618
Merge pull request #1040 from django-components/dependabot/pip/mkdocs-include-markdown-plugin-7.1.5
build(deps): bump mkdocs-include-markdown-plugin from 7.1.4 to 7.1.5
2025-03-17 19:21:48 +00:00
dependabot[bot]
a5dd96fb1f
build(deps-dev): bump syrupy from 4.8.2 to 4.9.0
Bumps [syrupy](https://github.com/syrupy-project/syrupy) from 4.8.2 to 4.9.0.
- [Release notes](https://github.com/syrupy-project/syrupy/releases)
- [Changelog](https://github.com/syrupy-project/syrupy/blob/main/CHANGELOG.md)
- [Commits](https://github.com/syrupy-project/syrupy/compare/v4.8.2...v4.9.0)

---
updated-dependencies:
- dependency-name: syrupy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 19:14:41 +00:00
dependabot[bot]
c4894e9d7f
build(deps): bump mkdocs-include-markdown-plugin from 7.1.4 to 7.1.5
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.4...v7.1.5)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 19:14:02 +00:00
github-actions[bot]
fca88f4a32
Merge pull request #1032 from django-components/dependabot/pip/mkdocs-material-9.6.9
build(deps): bump mkdocs-material from 9.6.7 to 9.6.9
2025-03-17 19:12:50 +00:00
dependabot[bot]
a8e062eb31
build(deps): bump mkdocs-material from 9.6.7 to 9.6.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.7 to 9.6.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.7...9.6.9)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 19:06:17 +00:00
github-actions[bot]
386c7339dc
Merge pull request #1039 from django-components/dependabot/pip/markdown-exec-1.10.1
build(deps): bump markdown-exec from 1.10.0 to 1.10.1
2025-03-17 19:05:05 +00:00
dependabot[bot]
40e90df098
build(deps): bump markdown-exec from 1.10.0 to 1.10.1
Bumps [markdown-exec](https://github.com/pawamoy/markdown-exec) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/pawamoy/markdown-exec/releases)
- [Changelog](https://github.com/pawamoy/markdown-exec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pawamoy/markdown-exec/compare/1.10.0...1.10.1)

---
updated-dependencies:
- dependency-name: markdown-exec
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:59:12 +00:00
github-actions[bot]
21631c1cd5
Merge pull request #1036 from django-components/dependabot/pip/cssselect2-0.8.0
build(deps): bump cssselect2 from 0.7.0 to 0.8.0
2025-03-17 18:56:03 +00:00
dependabot[bot]
da44f36309
build(deps): bump cssselect2 from 0.7.0 to 0.8.0
Bumps [cssselect2](https://github.com/Kozea/cssselect2) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/Kozea/cssselect2/releases)
- [Changelog](https://github.com/Kozea/cssselect2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/cssselect2/compare/0.7.0...0.8.0)

---
updated-dependencies:
- dependency-name: cssselect2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:49:07 +00:00
github-actions[bot]
b26d476ce9
Merge pull request #1037 from django-components/dependabot/pip/mkdocs-git-authors-plugin-0.9.4
build(deps): bump mkdocs-git-authors-plugin from 0.9.2 to 0.9.4
2025-03-17 18:46:23 +00:00
dependabot[bot]
9df6c54f9a
build(deps): bump mkdocs-git-authors-plugin from 0.9.2 to 0.9.4
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.9.2 to 0.9.4.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.9.2...v0.9.4)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:33:40 +00:00
github-actions[bot]
511aa527cd
Merge pull request #1035 from django-components/dependabot/pip/tox-4.24.2
build(deps): bump tox from 4.24.1 to 4.24.2
2025-03-17 18:31:46 +00:00
dependabot[bot]
ff8c3698f2
build(deps): bump tox from 4.24.1 to 4.24.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.24.1 to 4.24.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.24.1...4.24.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:24:38 +00:00
github-actions[bot]
547c809bf2
Merge pull request #1034 from django-components/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.4.5
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.4.4 to 1.4.5
2025-03-17 18:21:54 +00:00
dependabot[bot]
1c2d773ccc
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.4.4 to 1.4.5.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.4.4...v1.4.5)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:14:20 +00:00
github-actions[bot]
bad8680e9a
Merge pull request #1031 from django-components/dependabot/pip/mkdocstrings-python-1.16.5
build(deps): bump mkdocstrings-python from 1.16.2 to 1.16.5
2025-03-17 18:11:27 +00:00
dependabot[bot]
c446975f94
build(deps): bump mkdocstrings-python from 1.16.2 to 1.16.5
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.2 to 1.16.5.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.2...1.16.5)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 18:04:50 +00:00
Juro Oravec
439fcf68e0
refactor: same PR number to a file to access it when posting a benchmark comment (#1029) 2025-03-17 13:03:30 +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
ebfb26121a
refactor: refactor tests to create components inside test functions (#1027) 2025-03-17 11:06:32 +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
github-actions[bot]
3a139127cd
Merge pull request #1023 from django-components/dependabot/pip/django-5.1.7
build(deps): bump django from 5.1.6 to 5.1.7
2025-03-10 19:19:46 +00:00
dependabot[bot]
b18617c5a0
build(deps): bump django from 5.1.6 to 5.1.7
Bumps [django](https://github.com/django/django) from 5.1.6 to 5.1.7.
- [Commits](https://github.com/django/django/compare/5.1.6...5.1.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 19:12:23 +00:00
github-actions[bot]
86dcd89ac4
Merge pull request #1020 from django-components/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.4.4
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.3.0 to 1.4.4
2025-03-10 19:10:44 +00:00
dependabot[bot]
3ae91f4767
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.3.0 to 1.4.4.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.3.0...v1.4.4)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 19:02:33 +00:00
github-actions[bot]
b9eff499c0
Merge pull request #1022 from django-components/dependabot/pip/pillow-11.1.0
build(deps): bump pillow from 10.4.0 to 11.1.0
2025-03-10 19:01:23 +00:00
dependabot[bot]
4ea6d33e3b
build(deps): bump pillow from 10.4.0 to 11.1.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.4.0 to 11.1.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.4.0...11.1.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:53:45 +00:00
github-actions[bot]
3a1233ceb2
Merge pull request #1021 from django-components/dependabot/pip/mkdocs-material-9.6.7
build(deps): bump mkdocs-material from 9.6.4 to 9.6.7
2025-03-10 18:50:17 +00:00
dependabot[bot]
d8c9ca922c
build(deps): bump mkdocs-material from 9.6.4 to 9.6.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.4 to 9.6.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.4...9.6.7)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:43:04 +00:00
github-actions[bot]
8f986a16ee
Merge pull request #1019 from django-components/dependabot/pip/mkdocstrings-0.29.0
build(deps): bump mkdocstrings from 0.28.2 to 0.29.0
2025-03-10 18:37:46 +00:00
dependabot[bot]
8e91dcd9ea
build(deps): bump mkdocstrings from 0.28.2 to 0.29.0
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.28.2 to 0.29.0.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.28.2...0.29.0)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:29:15 +00:00
github-actions[bot]
e7e5c633df
Merge pull request #1018 from django-components/dependabot/pip/babel-2.17.0
build(deps): bump babel from 2.16.0 to 2.17.0
2025-03-10 18:22:54 +00:00
dependabot[bot]
b846188f93
build(deps): bump babel from 2.16.0 to 2.17.0
Bumps [babel](https://github.com/python-babel/babel) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](https://github.com/python-babel/babel/compare/v2.16.0...v2.17.0)

---
updated-dependencies:
- dependency-name: babel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 18:15:48 +00: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
github-actions[bot]
cff252c566
Merge pull request #1016 from django-components/dependabot/pip/django-5.1.7
build(deps): bump django from 5.1.6 to 5.1.7
2025-03-06 23:03:47 +00:00
dependabot[bot]
67c8aadaa8
build(deps): bump django from 5.1.6 to 5.1.7
Bumps [django](https://github.com/django/django) from 5.1.6 to 5.1.7.
- [Commits](https://github.com/django/django/compare/5.1.6...5.1.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 22:59:21 +00:00
github-actions[bot]
d38376edce
Merge pull request #1015 from django-components/dependabot/pip/jinja2-3.1.6
build(deps): bump jinja2 from 3.1.5 to 3.1.6
2025-03-06 04:52:35 +00:00
dependabot[bot]
009b6603c7
build(deps): bump jinja2 from 3.1.5 to 3.1.6
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 04:47:21 +00:00
github-actions[bot]
33ce425524
Merge pull request #1011 from django-components/dependabot/pip/mkdocstrings-python-1.16.2
build(deps): bump mkdocstrings-python from 1.16.1 to 1.16.2
2025-03-03 19:03:40 +00:00
dependabot[bot]
19521c2d5a
build(deps): bump mkdocstrings-python from 1.16.1 to 1.16.2
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.16.1 to 1.16.2.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.16.1...1.16.2)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 18:58:21 +00:00
github-actions[bot]
30beeabfa4
Merge pull request #1012 from django-components/dependabot/pip/mkdocstrings-0.28.2
build(deps): bump mkdocstrings from 0.28.1 to 0.28.2
2025-03-03 18:57:15 +00:00
Juro Oravec
df3a6b7875
Merge branch 'master' into dependabot/pip/mkdocstrings-0.28.2 2025-03-03 19:48:57 +01:00
Juro Oravec
3418a527e0
refactor: enable debug iin pr-benchmark-comment.yml (#1001) 2025-03-03 19:48:36 +01:00
Juro Oravec
23af4befda refactor: bump mkdocs-autorefs to v1.4.0 2025-03-03 18:46:41 +00:00
dependabot[bot]
5018450fca
build(deps): bump mkdocstrings from 0.28.1 to 0.28.2
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.28.1 to 0.28.2.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.28.1...0.28.2)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 17:37:18 +00:00
github-actions[bot]
3b8fc9e701
Merge pull request #1014 from django-components/dependabot/pip/griffe-1.6.0
build(deps): bump griffe from 1.5.6 to 1.6.0
2025-03-03 17:35:44 +00:00
dependabot[bot]
6b5b2fc5ee
build(deps): bump griffe from 1.5.6 to 1.6.0
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.5.6 to 1.6.0.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.5.6...1.6.0)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 17:29:37 +00:00
github-actions[bot]
498847f415
Merge pull request #1013 from django-components/dependabot/pip/pytest-8.3.5
build(deps-dev): bump pytest from 8.3.4 to 8.3.5
2025-03-03 17:28:29 +00:00
dependabot[bot]
131c03f416
build(deps-dev): bump pytest from 8.3.4 to 8.3.5
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.4 to 8.3.5.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.4...8.3.5)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 17:19:34 +00: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
dcd4203eea
refactor: fix missing docs dependencies (#994) 2025-02-20 12:24:34 +01:00
Juro Oravec
0adf8fa7db
chore: bump v0.130 (#993) 2025-02-20 11:48:48 +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
github-actions[bot]
1f7e28db22
Merge pull request #991 from django-components/dependabot/pip/mkdocstrings-python-1.16.1
build(deps): bump mkdocstrings-python from 1.13.0 to 1.16.1
2025-02-20 10:35:38 +00:00
Juro Oravec
77a9099235 refactor: fix mkdocs Django docs definition 2025-02-20 10:31:13 +00:00
dependabot[bot]
9a1644f293
build(deps): bump mkdocstrings-python from 1.13.0 to 1.16.1
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.13.0 to 1.16.1.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.13.0...1.16.1)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-20 10:14:32 +00:00
github-actions[bot]
e75d613461
Merge pull request #987 from django-components/dependabot/pip/mkdocs-material-9.6.4
build(deps): bump mkdocs-material from 9.6.3 to 9.6.4
2025-02-20 10:13:13 +00:00
Juro Oravec
bb3b53239d
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.4 2025-02-20 11:07:11 +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
471760e569
Merge branch 'master' into dependabot/pip/mkdocs-material-9.6.4 2025-02-20 11:05:59 +01:00
github-actions[bot]
5535f3bad8
Merge pull request #988 from django-components/dependabot/pip/mypy-1.15.0
build(deps-dev): bump mypy from 1.14.1 to 1.15.0
2025-02-17 18:22:20 +00:00
dependabot[bot]
bd2610ca5b
build(deps-dev): bump mypy from 1.14.1 to 1.15.0
Bumps [mypy](https://github.com/python/mypy) from 1.14.1 to 1.15.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.14.1...v1.15.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:15:18 +00:00
github-actions[bot]
ad3c4643c5
Merge pull request #986 from django-components/dependabot/pip/mkdocs-autorefs-1.3.1
build(deps): bump mkdocs-autorefs from 1.3.0 to 1.3.1
2025-02-17 18:13:33 +00:00
dependabot[bot]
c2fb77f715
build(deps): bump mkdocs-material from 9.6.3 to 9.6.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.3 to 9.6.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.3...9.6.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:07:28 +00:00
dependabot[bot]
e9e6bdf243
build(deps): bump mkdocs-autorefs from 1.3.0 to 1.3.1
Bumps [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/mkdocstrings/autorefs/releases)
- [Changelog](https://github.com/mkdocstrings/autorefs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/autorefs/compare/1.3.0...1.3.1)

---
updated-dependencies:
- dependency-name: mkdocs-autorefs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:07:04 +00:00
github-actions[bot]
e21538d3de
Merge pull request #985 from django-components/dependabot/pip/mkdocstrings-0.28.1
build(deps): bump mkdocstrings from 0.28.0 to 0.28.1
2025-02-17 18:05:51 +00:00
dependabot[bot]
4e365c826f
build(deps): bump mkdocstrings from 0.28.0 to 0.28.1
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.28.0 to 0.28.1.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.28.0...0.28.1)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 18:01:26 +00:00
Juro Oravec
691443a0a8
chore: bump v0.129 (#981) 2025-02-16 21:12:14 +01:00
Juro Oravec
fdfdc72ed2
refactor: fix error when template cache is set to 0 (#980) 2025-02-16 21:06:33 +01:00
lilian D
58d4c78671
Bug : Relative path in extends and include does not work when using template_file (#976)
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2025-02-16 13:29:37 +01:00
Oliver Haas
3cf586a974
fix: thread unsafe media resolve validation by moving it to ComponentMedia __post_init (#979) 2025-02-15 22:42:38 +01:00
github-actions[bot]
8f9d675097
Merge pull request #970 from django-components/dependabot/npm_and_yarn/src/django_components_js/esbuild-0.25.0
build(deps-dev): bump esbuild from 0.23.1 to 0.25.0 in /src/django_components_js
2025-02-12 10:32:27 +00:00
dependabot[bot]
5d01f203ab
build(deps-dev): bump esbuild in /src/django_components_js
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.23.1 to 0.25.0.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.23.1...v0.25.0)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-12 10:26:31 +00: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
github-actions[bot]
be4d744d64
Merge pull request #962 from django-components/dependabot/pip/black-25.1.0
build(deps): bump black from 24.10.0 to 25.1.0
2025-02-10 17:56:57 +00:00
dependabot[bot]
33130c749e
build(deps): bump black from 24.10.0 to 25.1.0
Bumps [black](https://github.com/psf/black) from 24.10.0 to 25.1.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.10.0...25.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 17:50:50 +00:00
github-actions[bot]
137e36e96d
Merge pull request #963 from django-components/dependabot/pip/pymdown-extensions-10.14.3
build(deps): bump pymdown-extensions from 10.14.1 to 10.14.3
2025-02-10 17:49:25 +00:00
dependabot[bot]
b76d8b36c0
build(deps): bump pymdown-extensions from 10.14.1 to 10.14.3
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14.1 to 10.14.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14.1...10.14.3)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 17:43:56 +00:00
github-actions[bot]
e243050eff
Merge pull request #964 from django-components/dependabot/pip/mkdocs-material-9.6.3
build(deps): bump mkdocs-material from 9.6.2 to 9.6.3
2025-02-10 17:42:46 +00:00
dependabot[bot]
cf336e1a04
build(deps): bump mkdocs-material from 9.6.2 to 9.6.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.2 to 9.6.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.2...9.6.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 17:34:43 +00:00
github-actions[bot]
e1881e5af7
Merge pull request #961 from django-components/dependabot/pip/mkdocs-include-markdown-plugin-7.1.4
build(deps): bump mkdocs-include-markdown-plugin from 7.1.2 to 7.1.4
2025-02-10 17:33:23 +00:00
dependabot[bot]
f15892b9e8
build(deps): bump mkdocs-include-markdown-plugin from 7.1.2 to 7.1.4
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 7.1.2 to 7.1.4.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.2...v7.1.4)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 17:27:43 +00:00
Juro Oravec
de99abf6bf
refactor: udpate formatting and wording for the "devguides" docs (#960) 2025-02-09 16:04:46 +01:00
Bernat Frangi
fe128053c9
Update indenting typo in slots_and_blocks.md (#959) 2025-02-09 15:29:18 +01:00
Juro Oravec
61515b3454
docs: update CHANGELOG for v0.128 (#954) 2025-02-04 10:52:35 +01:00
Juro Oravec
af179f3a1f
chore: bump v0.128 (#953) 2025-02-04 10:32:21 +01:00
Juro Oravec
48bae51ab9
feat: allow to configure media cache (for JS and CSS files) (#946) 2025-02-03 21:24:26 +01:00
github-actions[bot]
bb61ff42eb
Merge pull request #952 from django-components/dependabot/pip/mkdocs-material-9.6.2
build(deps): bump mkdocs-material from 9.5.50 to 9.6.2
2025-02-03 18:19:19 +00:00
dependabot[bot]
9f92419737
build(deps): bump mkdocs-material from 9.5.50 to 9.6.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.50 to 9.6.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.50...9.6.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:14:37 +00:00
github-actions[bot]
2767655a89
Merge pull request #949 from django-components/dependabot/pip/pytz-2025.1
build(deps): bump pytz from 2024.2 to 2025.1
2025-02-03 18:13:30 +00:00
dependabot[bot]
57ec784df0
build(deps): bump pytz from 2024.2 to 2025.1
Bumps [pytz](https://github.com/stub42/pytz) from 2024.2 to 2025.1.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2024.2...release_2025.1)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:07:44 +00:00
github-actions[bot]
60fc86386e
Merge pull request #950 from django-components/dependabot/pip/mkdocstrings-0.28.0
build(deps): bump mkdocstrings from 0.27.0 to 0.28.0
2025-02-03 18:06:38 +00:00
dependabot[bot]
444f2dceb5
build(deps): bump mkdocstrings from 0.27.0 to 0.28.0
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.27.0...0.28.0)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 18:01:00 +00:00
github-actions[bot]
5d9f0ddf91
Merge pull request #951 from django-components/dependabot/pip/certifi-2025.1.31
build(deps): bump certifi from 2024.12.14 to 2025.1.31
2025-02-03 17:59:55 +00:00
dependabot[bot]
f4820c09f6
build(deps): bump certifi from 2024.12.14 to 2025.1.31
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.12.14 to 2025.1.31.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.12.14...2025.01.31)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 17:51:47 +00:00
github-actions[bot]
d55dfaf817
Merge pull request #948 from django-components/dependabot/pip/griffe-1.5.6
build(deps): bump griffe from 1.5.5 to 1.5.6
2025-02-03 17:50:26 +00:00
dependabot[bot]
1b3b514b29
build(deps): bump griffe from 1.5.5 to 1.5.6
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.5.5 to 1.5.6.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.5.5...1.5.6)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 17:43:47 +00:00
github-actions[bot]
e469cb362e
Merge pull request #947 from django-components/dependabot/pip/isort-6.0.0
build(deps-dev): bump isort from 5.13.2 to 6.0.0
2025-02-03 17:42:36 +00:00
dependabot[bot]
3d9d43639c
build(deps-dev): bump isort from 5.13.2 to 6.0.0
Bumps [isort](https://github.com/pycqa/isort) from 5.13.2 to 6.0.0.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.13.2...6.0.0)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 17:37:15 +00:00
Juro Oravec
c7aba40252
refactor: Do tag input validation with __code__ variables if available (#945) 2025-02-02 21:47:34 +01:00
Juro Oravec
f52f12579b
refactor: remove use of eval for node validation (#944) 2025-02-02 10:35:39 +01:00
Juro Oravec
de32d449d9
feat: allow to highlight slots and components for debugging (#942) 2025-02-02 10:14:47 +01:00
Emil Stenström
da54d97343
Merge pull request #943 from mlissner/patch-1
Documentation typo
2025-02-02 01:02:20 +01:00
Mike Lissner
21121f149d
Documentation typo 2025-02-01 15:23:38 -08:00
Juro Oravec
96f48bc013
refactor: fix on_render_after hook (#941) 2025-02-01 17:39:56 +01:00
Juro Oravec
588053803d
refactor: fix component recursion (#936) 2025-02-01 17:19:21 +01:00
Juro Oravec
e105500350
chore: bump v0.127 (#939) 2025-02-01 11:14:07 +01:00
Oliver Haas
f01ee1fe8a
fix: implement safe retrieval of component classes from registry (#934) 2025-02-01 11:08:35 +01:00
Juro Oravec
bafa9f7cc5
docs: add details for development (#938) 2025-02-01 10:06:14 +01:00
Oliver Haas
bfd917fa20
docs: update development instructions to include directory change and… (#937) 2025-01-31 23:21:08 +01:00
Juro Oravec
3d187d7aba
chore: bump v0.126 (#933) 2025-01-29 14:34:40 +01:00
Juro Oravec
b69c6e6624
feat: replacepython html parser djc-core-html-parser (#929)
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
2025-01-29 14:24:25 +01:00
github-actions[bot]
55bcc11f50
Merge pull request #931 from django-components/dependabot/pip/pymdown-extensions-10.14.1
build(deps): bump pymdown-extensions from 10.14 to 10.14.1
2025-01-27 18:05:18 +00:00
dependabot[bot]
292889391b
build(deps): bump pymdown-extensions from 10.14 to 10.14.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14 to 10.14.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14...10.14.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 17:57:28 +00:00
Juro Oravec
0b65761fce
refactor: replace bs4 and perf optimizations (#927) 2025-01-24 10:30:41 +01:00
Emil Stenström
d407a8cd13 Update marks. 2025-01-22 23:51:12 +01:00
Emil Stenström
0c3a154a27 More marks. 2025-01-22 20:30:03 +01:00
Emil Stenström
e8d1c32d84 Add word marks. 2025-01-22 20:24:44 +01:00
Juro Oravec
6ccc2fe0f4
docs: update auto-gen'd docs to show signals reference page (#926) 2025-01-22 16:32:00 +01:00
Juro Oravec
914576e681
chore: bump v0.125 (#925) 2025-01-22 16:09:05 +01:00
Juro Oravec
92f5497c74
refactor: change repo name and URL after org migration (#924) 2025-01-22 16:02:46 +01:00
github-actions[bot]
ace9194733
Merge pull request #918 from django-components/dependabot/pip/tox-4.24.1
build(deps): bump tox from 4.23.2 to 4.24.1
2025-01-21 20:43:35 +00:00
dependabot[bot]
c30da64c9e
build(deps): bump tox from 4.23.2 to 4.24.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.23.2 to 4.24.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.23.2...4.24.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 20:38:09 +00:00
github-actions[bot]
c5df006afb
Merge pull request #920 from django-components/dependabot/pip/pre-commit-4.1.0
build(deps-dev): bump pre-commit from 4.0.1 to 4.1.0
2025-01-21 20:36:33 +00:00
dependabot[bot]
dc16b97a09
build(deps-dev): bump pre-commit from 4.0.1 to 4.1.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.0.1 to 4.1.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.0.1...v4.1.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 20:30:40 +00:00
github-actions[bot]
0a045d60b4
Merge pull request #919 from django-components/dependabot/pip/tzdata-2025.1
build(deps): bump tzdata from 2024.2 to 2025.1
2025-01-21 20:29:26 +00:00
dependabot[bot]
c8cedb46c2
build(deps): bump tzdata from 2024.2 to 2025.1
Bumps [tzdata](https://github.com/python/tzdata) from 2024.2 to 2025.1.
- [Release notes](https://github.com/python/tzdata/releases)
- [Changelog](https://github.com/python/tzdata/blob/master/NEWS.md)
- [Commits](https://github.com/python/tzdata/compare/2024.2...2025.1)

---
updated-dependencies:
- dependency-name: tzdata
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 20:22:19 +00:00
github-actions[bot]
3698fb5e47
Merge pull request #917 from django-components/dependabot/pip/importlib-metadata-8.6.1
build(deps): bump importlib-metadata from 8.5.0 to 8.6.1
2025-01-21 20:19:34 +00:00
dependabot[bot]
f71ff3bcfb
build(deps): bump importlib-metadata from 8.5.0 to 8.6.1
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 8.5.0 to 8.6.1.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.5.0...v8.6.1)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-21 20:13:03 +00:00
Juro Oravec
f908197850
feat: @template_tag and refactor how template tags are defined (#910) 2025-01-20 22:47:04 +01:00
github-actions[bot]
a047908189
Merge pull request #915 from EmilStenstrom/dependabot/pip/django-5.1.5
build(deps): bump django from 5.1.4 to 5.1.5
2025-01-20 17:31:36 +00:00
dependabot[bot]
873aac7097
build(deps): bump django from 5.1.4 to 5.1.5
Bumps [django](https://github.com/django/django) from 5.1.4 to 5.1.5.
- [Commits](https://github.com/django/django/compare/5.1.4...5.1.5)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:27:10 +00:00
github-actions[bot]
61ee215d88
Merge pull request #913 from EmilStenstrom/dependabot/pip/griffe-1.5.5
build(deps): bump griffe from 1.5.4 to 1.5.5
2025-01-20 17:25:51 +00:00
dependabot[bot]
ea9bf9ac82
build(deps): bump griffe from 1.5.4 to 1.5.5
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.5.4...1.5.5)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:20:33 +00:00
github-actions[bot]
921f0780c4
Merge pull request #914 from EmilStenstrom/dependabot/pip/mkdocs-material-9.5.50
build(deps): bump mkdocs-material from 9.5.49 to 9.5.50
2025-01-20 17:19:30 +00:00
dependabot[bot]
f526eaece9
build(deps): bump mkdocs-material from 9.5.49 to 9.5.50
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.49 to 9.5.50.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.49...9.5.50)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:14:57 +00:00
github-actions[bot]
44d87faa3b
Merge pull request #912 from EmilStenstrom/dependabot/pip/django-5.1.5
build(deps): bump django from 5.1.4 to 5.1.5
2025-01-20 17:13:54 +00:00
dependabot[bot]
bf5f71bbee
build(deps): bump django from 5.1.4 to 5.1.5
Bumps [django](https://github.com/django/django) from 5.1.4 to 5.1.5.
- [Commits](https://github.com/django/django/compare/5.1.4...5.1.5)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:08:51 +00:00
Juro Oravec
7ed4fd88f9
refactor: Patch Template.compile_nodelist with custom template parser (#908)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-15 22:34:32 +01:00
Juro Oravec
8cd4b03286
feat: Literal dicts and lists part 2 (#902) 2025-01-14 09:01:47 +01:00
github-actions[bot]
d3c5c535e0
Merge pull request #907 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.14
build(deps): bump pymdown-extensions from 10.13 to 10.14
2025-01-13 17:53:40 +00:00
dependabot[bot]
b54eb4b38a
build(deps): bump pymdown-extensions from 10.13 to 10.14
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.13 to 10.14.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.13...10.14)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:47:34 +00:00
github-actions[bot]
1d5ea4c0f1
Merge pull request #905 from EmilStenstrom/dependabot/pip/mkdocs-autorefs-1.3.0
build(deps): bump mkdocs-autorefs from 1.2.0 to 1.3.0
2025-01-13 17:46:29 +00:00
dependabot[bot]
93a18deb21
build(deps): bump mkdocs-autorefs from 1.2.0 to 1.3.0
Bumps [mkdocs-autorefs](https://github.com/mkdocstrings/autorefs) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/mkdocstrings/autorefs/releases)
- [Changelog](https://github.com/mkdocstrings/autorefs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/autorefs/compare/1.2.0...1.3.0)

---
updated-dependencies:
- dependency-name: mkdocs-autorefs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:41:46 +00:00
github-actions[bot]
a21acee8a7
Merge pull request #906 from EmilStenstrom/dependabot/pip/importlib-resources-6.5.2
build(deps): bump importlib-resources from 6.4.5 to 6.5.2
2025-01-13 17:40:41 +00:00
dependabot[bot]
827d04d865
build(deps): bump importlib-resources from 6.4.5 to 6.5.2
Bumps [importlib-resources](https://github.com/python/importlib_resources) from 6.4.5 to 6.5.2.
- [Release notes](https://github.com/python/importlib_resources/releases)
- [Changelog](https://github.com/python/importlib_resources/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_resources/compare/v6.4.5...v6.5.2)

---
updated-dependencies:
- dependency-name: importlib-resources
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:34:53 +00:00
github-actions[bot]
d785e4847a
Merge pull request #904 from EmilStenstrom/dependabot/pip/smmap-5.0.2
build(deps): bump smmap from 5.0.1 to 5.0.2
2025-01-13 17:34:04 +00:00
dependabot[bot]
17e85fbeab
build(deps): bump smmap from 5.0.1 to 5.0.2
Bumps [smmap](https://github.com/gitpython-developers/smmap) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/gitpython-developers/smmap/releases)
- [Commits](https://github.com/gitpython-developers/smmap/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: smmap
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 17:28:05 +00:00
Juro Oravec
ba0f9e65e9
refactor: move the utils from component_tags to util.template_tag (#899)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-09 21:46:32 +01:00
Juro Oravec
a79b24b692
feat: list and dict literals in tags + fix tag parser (#898)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-09 21:15:23 +01:00
Juro Oravec
6c2a687d69
docs: add djc-heroicons to community examples (#896) 2025-01-08 21:58:43 +01:00
Juro Oravec
3bbd4326e6
chore: bump v0.124 (#893) 2025-01-07 23:01:55 +01:00
Juro Oravec
ab037f24b0
feat: add Media.extend (#890)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 22:55:17 +01:00
Juro Oravec
5e8770c720
docs: Move the "Getting started" tutorial to top-level of docs (#892) 2025-01-07 21:46:31 +01:00
Juro Oravec
81c02ddaa7
refactor: use HTML5 parser for BeautifulSoup (#891)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 21:27:17 +01:00
Juro Oravec
203d29f511
refactor: exclude underscored files from autodiscovery (#888) 2025-01-07 19:48:41 +01:00
Juro Oravec
1e4b556b4d
refactor: Assign content of file from Component.template_file to Component.template (#880)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-07 19:34:34 +01:00
github-actions[bot]
8e2428ebd0
Merge pull request #887 from EmilStenstrom/dependabot/pip/gitpython-3.1.44
build(deps): bump gitpython from 3.1.43 to 3.1.44
2025-01-06 18:11:01 +00:00
dependabot[bot]
aa540cbc4a
build(deps): bump gitpython from 3.1.43 to 3.1.44
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.43 to 3.1.44.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.43...3.1.44)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 18:05:46 +00:00
github-actions[bot]
2c3a4255bb
Merge pull request #886 from EmilStenstrom/dependabot/pip/pillow-11.1.0
build(deps): bump pillow from 11.0.0 to 11.1.0
2025-01-06 18:04:41 +00:00
dependabot[bot]
7ec709c3f2
build(deps): bump pillow from 11.0.0 to 11.1.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/11.0.0...11.1.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 17:59:29 +00:00
github-actions[bot]
0e9d5287f8
Merge pull request #884 from EmilStenstrom/dependabot/pip/gitdb-4.0.12
build(deps): bump gitdb from 4.0.11 to 4.0.12
2025-01-06 17:58:27 +00:00
dependabot[bot]
e398987b3b
build(deps): bump gitdb from 4.0.11 to 4.0.12
Bumps [gitdb](https://github.com/gitpython-developers/gitdb) from 4.0.11 to 4.0.12.
- [Release notes](https://github.com/gitpython-developers/gitdb/releases)
- [Commits](https://github.com/gitpython-developers/gitdb/compare/4.0.11...4.0.12)

---
updated-dependencies:
- dependency-name: gitdb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 17:53:16 +00:00
github-actions[bot]
4559899513
Merge pull request #885 from EmilStenstrom/dependabot/pip/pyparsing-3.2.1
build(deps): bump pyparsing from 3.2.0 to 3.2.1
2025-01-06 17:51:20 +00:00
dependabot[bot]
a702768573
build(deps): bump pyparsing from 3.2.0 to 3.2.1
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.2.0...3.2.1)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 17:46:36 +00:00
github-actions[bot]
8891041a27
Merge pull request #883 from EmilStenstrom/dependabot/pip/pygments-2.19.1
build(deps): bump pygments from 2.18.0 to 2.19.1
2025-01-06 17:43:40 +00:00
dependabot[bot]
2b5bfa9eeb
build(deps): bump pygments from 2.18.0 to 2.19.1
Bumps [pygments](https://github.com/pygments/pygments) from 2.18.0 to 2.19.1.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.18.0...2.19.1)

---
updated-dependencies:
- dependency-name: pygments
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 17:38:21 +00:00
Juro Oravec
d94a459c8d
refactor: rename template_name to template_file (#878)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-01 17:06:14 +01:00
Emil Stenström
b99e32e9d5
Merge pull request #851 from JuroOravec/docs-remove-wip
docs: remove work in progress comments
2024-12-30 23:44:19 +01:00
Emil Stenström
9b611f78fc
Merge branch 'master' into docs-remove-wip 2024-12-30 23:12:21 +01:00
Juro Oravec
329a398c61
docs: add documentation around component media (#877)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-30 22:03:31 +01:00
github-actions[bot]
57f89e2dcf
Merge pull request #876 from EmilStenstrom/dependabot/pip/mypy-1.14.1
build(deps-dev): bump mypy from 1.14.0 to 1.14.1
2024-12-30 17:35:13 +00:00
dependabot[bot]
b905299405
build(deps-dev): bump mypy from 1.14.0 to 1.14.1
Bumps [mypy](https://github.com/python/mypy) from 1.14.0 to 1.14.1.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.14.0...v1.14.1)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 17:29:13 +00:00
github-actions[bot]
66cae95ef2
Merge pull request #873 from EmilStenstrom/dependabot/pip/charset-normalizer-3.4.1
build(deps): bump charset-normalizer from 3.4.0 to 3.4.1
2024-12-30 17:27:44 +00:00
dependabot[bot]
e7ff01dec5
build(deps): bump charset-normalizer from 3.4.0 to 3.4.1
Bumps [charset-normalizer](https://github.com/jawah/charset_normalizer) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jawah/charset_normalizer/compare/3.4.0...3.4.1)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 17:22:05 +00:00
github-actions[bot]
6de3018f2e
Merge pull request #875 from EmilStenstrom/dependabot/pip/mkdocstrings-python-1.13.0
build(deps): bump mkdocstrings-python from 1.12.2 to 1.13.0
2024-12-30 17:20:59 +00:00
dependabot[bot]
071bb6895f
build(deps): bump mkdocstrings-python from 1.12.2 to 1.13.0
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.12.2 to 1.13.0.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.12.2...1.13.0)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 17:15:35 +00:00
github-actions[bot]
8ac9dd6e86
Merge pull request #874 from EmilStenstrom/dependabot/pip/griffe-1.5.4
build(deps): bump griffe from 1.5.1 to 1.5.4
2024-12-30 17:14:49 +00:00
dependabot[bot]
0d38730332
build(deps): bump griffe from 1.5.1 to 1.5.4
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.5.1 to 1.5.4.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.5.1...1.5.4)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-30 17:09:38 +00:00
Juro Oravec
715bf7d447
feat: allow to set main JS and CSS from files + lazy-load component m… (#870)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-30 18:00:46 +01:00
Emil Stenström
8fcb84c002
Merge pull request #871 from EmilStenstrom/EmilStenstrom-patch-1
Make link to docs more prominent
2024-12-30 13:54:39 +01:00
Emil Stenström
303d4db7ba
Make link to docs more prominent
As we've now removed the docs from the README, I think we should make a little more effort to send people to the docs. Here's a trick to do that in markdown, using a header and a table.
2024-12-30 13:09:27 +01:00
Juro Oravec
fe67d90547
refactor: Backbone for passing JS and CSS variables (#861)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-28 19:27:19 +01:00
github-actions[bot]
296da4a1e8
Merge pull request #868 from EmilStenstrom/dependabot/pip/jinja2-3.1.5
build(deps): bump jinja2 from 3.1.4 to 3.1.5
2024-12-23 18:04:04 +00:00
dependabot[bot]
ed26aec18d
build(deps): bump jinja2 from 3.1.4 to 3.1.5
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.4 to 3.1.5.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.4...3.1.5)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 17:59:29 +00:00
github-actions[bot]
6ceda99ab5
Merge pull request #867 from EmilStenstrom/dependabot/pip/click-8.1.8
build(deps): bump click from 8.1.7 to 8.1.8
2024-12-23 17:58:27 +00:00
dependabot[bot]
0985c8efc6
build(deps): bump click from 8.1.7 to 8.1.8
Bumps [click](https://github.com/pallets/click) from 8.1.7 to 8.1.8.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.7...8.1.8)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 17:53:12 +00:00
github-actions[bot]
1e1b84a3a6
Merge pull request #866 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.13
build(deps): bump pymdown-extensions from 10.12 to 10.13
2024-12-23 17:52:25 +00:00
dependabot[bot]
081ef1b85f
build(deps): bump pymdown-extensions from 10.12 to 10.13
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.12 to 10.13.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.12...10.13)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 17:46:55 +00:00
github-actions[bot]
2e33f160a9
Merge pull request #865 from EmilStenstrom/dependabot/pip/urllib3-2.3.0
build(deps): bump urllib3 from 2.2.3 to 2.3.0
2024-12-23 17:44:52 +00:00
dependabot[bot]
8f950cddaa
build(deps): bump urllib3 from 2.2.3 to 2.3.0
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.3 to 2.3.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.3...2.3.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 17:39:53 +00:00
github-actions[bot]
dd00be65ff
Merge pull request #864 from EmilStenstrom/dependabot/pip/mypy-1.14.0
build(deps-dev): bump mypy from 1.13.0 to 1.14.0
2024-12-23 17:37:04 +00:00
dependabot[bot]
b2ce52dc53
build(deps-dev): bump mypy from 1.13.0 to 1.14.0
Bumps [mypy](https://github.com/python/mypy) from 1.13.0 to 1.14.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.13.0...v1.14.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 17:32:14 +00:00
Juro Oravec
c76f8198dd
chore: bump v0.123 (#863) 2024-12-23 13:09:46 +01:00
Juro Oravec
85fc6e3497
fix: TemplateDoesNotExist when using {% extends %} on main template and two components with same parent template (#862) 2024-12-23 12:58:03 +01:00
Juro Oravec
6bb73bd8af
chore: bump v0.122 (#860) 2024-12-19 10:26:06 +01:00
Juro Oravec
4dab940db8
feat: Add support for HTML fragments (#845)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-19 10:03:35 +01:00
Juro Oravec
ca3a247bb3
Merge branch 'master' into docs-remove-wip 2024-12-17 20:42:22 +01:00
Juro Oravec
6681fc0085
chore: bump v0.121 (#858) 2024-12-17 20:36:27 +01:00
Juro Oravec
f6f6fcb097
refactor: Fix the use of filters with component inputs (#857)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-17 20:25:56 +01:00
Juro Oravec
d44a4ae177
Merge branch 'master' into docs-remove-wip 2024-12-16 21:21:42 +01:00
github-actions[bot]
bef56a87ac
Merge pull request #854 from EmilStenstrom/dependabot/pip/sqlparse-0.5.3
build(deps): bump sqlparse from 0.5.2 to 0.5.3
2024-12-16 18:07:20 +00:00
dependabot[bot]
35855b546b
build(deps): bump sqlparse from 0.5.2 to 0.5.3
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.5.2 to 0.5.3.
- [Release notes](https://github.com/andialbrecht/sqlparse/releases)
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.5.2...0.5.3)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 18:02:22 +00:00
github-actions[bot]
868ae127c6
Merge pull request #853 from EmilStenstrom/dependabot/pip/mkdocs-material-9.5.49
build(deps): bump mkdocs-material from 9.5.43 to 9.5.49
2024-12-16 18:01:14 +00:00
dependabot[bot]
875f7a916b
build(deps): bump mkdocs-material from 9.5.43 to 9.5.49
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.43 to 9.5.49.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.43...9.5.49)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 17:55:57 +00:00
github-actions[bot]
167f6f5647
Merge pull request #852 from EmilStenstrom/dependabot/pip/certifi-2024.12.14
build(deps): bump certifi from 2024.8.30 to 2024.12.14
2024-12-16 17:54:46 +00:00
dependabot[bot]
789620e71d
build(deps): bump certifi from 2024.8.30 to 2024.12.14
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.8.30 to 2024.12.14.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.08.30...2024.12.14)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 17:49:08 +00:00
Juro Oravec
f768a3cf55 docs: more work in progress comments 2024-12-16 14:36:18 +01:00
Juro Oravec
789f3807aa
docs: fix links in README and "overview" section, add tutorial (#842) 2024-12-16 14:15:02 +01:00
Juro Oravec
6813c9d7aa
chore: bump v0.120 (#850) 2024-12-15 07:45:22 +01:00
Juro Oravec
a7bc3f7c4c
fix: format tag param with translation correctly (#849)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-15 07:33:02 +01:00
Juro Oravec
aaeba99f54
chore: bump v0.119 (#846) 2024-12-13 10:02:01 +01:00
Juro Oravec
87919e1163
refactor: Add own LRU cache impl for template caching (#828) 2024-12-13 09:29:19 +01:00
Juro Oravec
894dee3cad
refactor: use the tag parser to streamline the tag handlers (#827) 2024-12-13 09:00:03 +01:00
Juro Oravec
db4ca8b74f
refactor: apply Template patch at AppsConfig.ready() (#825)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-13 08:51:42 +01:00
Juro Oravec
a5659691d0
chore: bump v0.118 (#843) 2024-12-10 13:44:14 +01:00
Laurence Hole
dfd4187192
Adding request arg to render (#817)
Co-authored-by: Laurence Hole <laurence@safi.co>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-10 13:28:34 +01:00
github-actions[bot]
3f2d92f252
Merge pull request #837 from EmilStenstrom/dependabot/pip/pillow-11.0.0
build(deps): bump pillow from 10.4.0 to 11.0.0
2024-12-09 18:16:44 +00:00
dependabot[bot]
f2119eff74
build(deps): bump pillow from 10.4.0 to 11.0.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.4.0 to 11.0.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.4.0...11.0.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 18:12:14 +00:00
github-actions[bot]
add91dee9f
Merge pull request #840 from EmilStenstrom/dependabot/pip/six-1.17.0
build(deps): bump six from 1.16.0 to 1.17.0
2024-12-09 18:11:07 +00:00
dependabot[bot]
d111913954
build(deps): bump six from 1.16.0 to 1.17.0
Bumps [six](https://github.com/benjaminp/six) from 1.16.0 to 1.17.0.
- [Changelog](https://github.com/benjaminp/six/blob/main/CHANGES)
- [Commits](https://github.com/benjaminp/six/compare/1.16.0...1.17.0)

---
updated-dependencies:
- dependency-name: six
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 18:05:23 +00:00
github-actions[bot]
0920904b8c
Merge pull request #838 from EmilStenstrom/dependabot/pip/markdown-exec-1.10.0
build(deps): bump markdown-exec from 1.9.3 to 1.10.0
2024-12-09 18:04:17 +00:00
dependabot[bot]
f7305020ae
build(deps): bump markdown-exec from 1.9.3 to 1.10.0
Bumps [markdown-exec](https://github.com/pawamoy/markdown-exec) from 1.9.3 to 1.10.0.
- [Release notes](https://github.com/pawamoy/markdown-exec/releases)
- [Changelog](https://github.com/pawamoy/markdown-exec/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pawamoy/markdown-exec/compare/1.9.3...1.10.0)

---
updated-dependencies:
- dependency-name: markdown-exec
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 17:59:01 +00:00
Juro Oravec
2b938eb7a0
docs: fix link to license in README (#834) 2024-12-08 10:30:15 +01:00
Juro Oravec
58b3ad3c8d
refactor: fix sampleproject component-relative (#833)
Closes #830
2024-12-08 09:28:24 +01:00
Juro Oravec
2f14e8e090
chore: bump v0.117 (#832)
* chore: bump v0.117

* refactor: update changelog
2024-12-08 09:02:33 +01:00
Juro Oravec
1cd545b986
refactor: replace selectolax with beautifulsoup (#823)
* refactor: replace selectolax with beautifulsoup

* refactor: add tests for html parser impl

* refactor: add missing import

* refactor: fix tests

* refactor: fix linter issues

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-08 08:42:48 +01:00
github-actions[bot]
c61847d30d
Merge pull request #826 from EmilStenstrom/dependabot/pip/django-5.1.4
build(deps): bump django from 5.1.3 to 5.1.4
2024-12-06 18:37:47 +00:00
dependabot[bot]
835f8a9664
build(deps): bump django from 5.1.3 to 5.1.4
Bumps [django](https://github.com/django/django) from 5.1.3 to 5.1.4.
- [Commits](https://github.com/django/django/compare/5.1.3...5.1.4)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-06 18:32:54 +00:00
Juro Oravec
bd700908ed
refactor: configure top-level redirect for docs (#824) 2024-12-06 17:57:33 +01:00
Juro Oravec
468a593a47
chore: bump v0.116 (#822)
* chore: bump v0.116

* docs: update changelog
2024-12-06 08:48:49 +01:00
Juro Oravec
be27c1c94d
fix: Fix broken JS execution order (#821)
* fix: fix broken js exec order

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: remove stale comment

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-06 08:22:27 +01:00
Juro Oravec
e88e3af27f
docs: smil down project README (#803) 2024-12-04 21:44:56 +01:00
Juro Oravec
d585c0bcbb
Revert "build(deps): bump playwright from 1.48.0 to 1.49.0" (#820) 2024-12-04 21:19:52 +01:00
github-actions[bot]
8c6e1d9b37
Merge pull request #769 from EmilStenstrom/dependabot/pip/playwright-1.49.0
build(deps): bump playwright from 1.48.0 to 1.49.0
2024-12-04 20:45:50 +01:00
Emil Stenström
9d78fcda92
Merge pull request #815 from JuroOravec/jo-test-windows-in-ci
refactor: Run CI tests in both unix and windows environments
2024-12-04 19:38:53 +00:00
Juro Oravec
87950eece8
Merge branch 'master' into jo-test-windows-in-ci 2024-12-03 12:57:30 +01:00
David Linke
594c0689ba
docs: Move docs-folder to root (#816)
* Move docs-folder form src to root

* Avoid mkdocs package / module name clash

* Update location of docs & add Windows compatibility

* Update requirements-docs

* Update generated file to current state
2024-12-03 12:32:21 +01:00
Juro Oravec
e4246b681e refactor: Run CI tests in both unix and windows environments 2024-12-02 19:44:53 +01:00
Juro Oravec
cdc830fca3
chore: bump v0.115 (#814)
* Update pyproject.toml

* docs: update changelog
2024-12-02 19:33:25 +01:00
github-actions[bot]
c5fcca2864
Merge pull request #810 from EmilStenstrom/dependabot/pip/mkdocs-include-markdown-plugin-7.1.2
build(deps): bump mkdocs-include-markdown-plugin from 7.1.1 to 7.1.2
2024-12-02 18:14:57 +00:00
Juro Oravec
8f589d859b
Merge branch 'master' into dependabot/pip/mkdocs-include-markdown-plugin-7.1.2 2024-12-02 19:13:22 +01:00
github-actions[bot]
c6f11a80dc
Merge pull request #812 from EmilStenstrom/dependabot/pip/pytest-8.3.4
build(deps-dev): bump pytest from 8.3.3 to 8.3.4
2024-12-02 18:12:45 +00:00
dependabot[bot]
53370641bc
build(deps): bump mkdocs-include-markdown-plugin from 7.1.1 to 7.1.2
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.1.1...v7.1.2)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 18:11:05 +00:00
Juro Oravec
fed18db38f
Merge branch 'master' into dependabot/pip/pytest-8.3.4 2024-12-02 19:10:43 +01:00
github-actions[bot]
1af00ea106
Merge pull request #813 from EmilStenstrom/dependabot/pip/regex-2024.11.6
build(deps): bump regex from 2024.9.11 to 2024.11.6
2024-12-02 18:09:58 +00:00
dependabot[bot]
03811342e3
build(deps-dev): bump pytest from 8.3.3 to 8.3.4
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.3 to 8.3.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.3...8.3.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 18:09:13 +00:00
Juro Oravec
1f5829295c
Merge branch 'master' into dependabot/pip/regex-2024.11.6 2024-12-02 19:08:19 +01:00
github-actions[bot]
0f4d3cf37b
Merge pull request #811 from EmilStenstrom/dependabot/pip/zipp-3.21.0
build(deps): bump zipp from 3.20.2 to 3.21.0
2024-12-02 18:07:43 +00:00
Juro Oravec
5250f51e57
Merge branch 'master' into dependabot/pip/zipp-3.21.0 2024-12-02 19:06:05 +01:00
dependabot[bot]
8951635012
build(deps): bump regex from 2024.9.11 to 2024.11.6
Bumps [regex](https://github.com/mrabarnett/mrab-regex) from 2024.9.11 to 2024.11.6.
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](https://github.com/mrabarnett/mrab-regex/compare/2024.9.11...2024.11.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 18:04:18 +00:00
dependabot[bot]
27985f0ee9
build(deps): bump zipp from 3.20.2 to 3.21.0
Bumps [zipp](https://github.com/jaraco/zipp) from 3.20.2 to 3.21.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.20.2...v3.21.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 18:03:44 +00:00
Juro Oravec
025562ac0c
fix: set paths for component media as posix paths even on windows (#799)
* fix: set paths for component media as posix paths even on windows

* refactor: try running django server in windows

* refactor: handle Windows paths in component media

* refactor: temp test only windows

* refactor: try to fix tests

* refactor: more test fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: remove extraneous import

* refactor: more fixes

* refactor: fix path conversion for windows

* refactor: revert windows env in CI

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-02 19:03:41 +01:00
Juro Oravec
230ceee537
chore: update supported versions - add Python 3.13, Django 5.1 (#809)
* chore: update supported versions

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-02 15:32:38 +01:00
Juro Oravec
a3710fe8cf
refactor: add generated API docs to git (#802)
* refactor: add generated API docs to git

* refactor: add comment to autogenerated files
2024-12-02 11:12:00 +01:00
Juro Oravec
9879a0ab07
refactor: add top-level docs/README.md to re-add missing index.html (#801) 2024-12-02 10:55:43 +01:00
Juro Oravec
4c2cb2f2c4
docs: Split README (#800)
* docs: Split README (#775) (#785)

* docs: add script to generate API reference from the source code (#788)

* refactor: test docs build, fix docs build flow

* refactor: update requirements

* refactor: rename changelog to release notes in docs
2024-12-02 09:54:59 +01:00
Juro Oravec
ce3305a5ff
chore: bump v0.114 (#787) 2024-11-27 16:57:20 +00:00
Juro Oravec
dd6d668b5e
fix: do not render slot tag when extracting fill tags (#786)
* fix: do not render slot tag when extracting fill tags

* refactor: show component path in error message

* docs: update changelog

* refactor: fix tests
2024-11-27 17:19:41 +01:00
Juro Oravec
5a23101038
chore: bump v0.113 (#784) 2024-11-26 21:58:52 +00:00
Juro Oravec
5fc27a041f
fix: ensure consistent order of scripts in Component.Media.js (#783) 2024-11-26 21:55:14 +00:00
Juro Oravec
2a4b0f5289
chore: bump v0.112 (#782) 2024-11-26 18:11:21 +00:00
Juro Oravec
bb341fce30
Revert "docs: Split README (#775)" (#781)
This reverts commit 4d5fecf3ee.
2024-11-26 18:21:12 +01:00
Juro Oravec
9f98c7e4df
fix: allow components to accept default fill even if no default slot encountered during rendering (#780) 2024-11-26 17:42:00 +01:00
Juro Oravec
c0a4fd5f68
chore: bump v0.111 (#779) 2024-11-26 14:01:41 +00:00
Juro Oravec
f5fd3c02cd
fix: do NOT render component tags when parsing {% component %} body for fills (#778)
* refactor: do NOT render component tags when parsing {% component %} body for fills

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: fix typo

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-26 14:52:55 +01:00
Juro Oravec
4d5fecf3ee
docs: Split README (#775) 2024-11-25 23:46:52 +01:00
Juro Oravec
e00e043306 chore: bump playwright 2024-11-25 19:38:20 +00:00
dependabot[bot]
a7972895f9
build(deps): bump playwright from 1.48.0 to 1.49.0
Bumps [playwright](https://github.com/microsoft/playwright-python) from 1.48.0 to 1.49.0.
- [Release notes](https://github.com/microsoft/playwright-python/releases)
- [Commits](https://github.com/microsoft/playwright-python/compare/v1.48.0...v1.49.0)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:17:49 +00:00
github-actions[bot]
f1a351f7f4
Merge pull request #774 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.12
build(deps): bump pymdown-extensions from 10.11.2 to 10.12
2024-11-25 18:16:24 +00:00
dependabot[bot]
8b87d3d3d6
build(deps): bump pymdown-extensions from 10.11.2 to 10.12
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.11.2 to 10.12.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.11.2...10.12)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:14:08 +00:00
github-actions[bot]
ae96a9ce72
Merge pull request #771 from EmilStenstrom/dependabot/pip/django-5.1.3
build(deps): bump django from 5.1.1 to 5.1.3
2024-11-25 18:12:54 +00:00
dependabot[bot]
a280392030
build(deps): bump django from 5.1.1 to 5.1.3
Bumps [django](https://github.com/django/django) from 5.1.1 to 5.1.3.
- [Commits](https://github.com/django/django/compare/5.1.1...5.1.3)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:10:45 +00:00
github-actions[bot]
e664e535b8
Merge pull request #772 from EmilStenstrom/dependabot/pip/mkdocs-include-markdown-plugin-7.1.1
build(deps): bump mkdocs-include-markdown-plugin from 7.0.0 to 7.1.1
2024-11-25 18:10:12 +00:00
dependabot[bot]
f9c181fd4f
build(deps): bump mkdocs-include-markdown-plugin from 7.0.0 to 7.1.1
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 7.0.0 to 7.1.1.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v7.0.0...v7.1.1)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:07:58 +00:00
github-actions[bot]
357d9d71e0
Merge pull request #773 from EmilStenstrom/dependabot/pip/mkdocs-redirects-1.2.2
build(deps): bump mkdocs-redirects from 1.2.1 to 1.2.2
2024-11-25 18:06:45 +00:00
dependabot[bot]
cc3279923c
build(deps): bump mkdocs-redirects from 1.2.1 to 1.2.2
Bumps [mkdocs-redirects](https://github.com/mkdocs/mkdocs-redirects) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/mkdocs/mkdocs-redirects/releases)
- [Commits](https://github.com/mkdocs/mkdocs-redirects/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: mkdocs-redirects
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:04:34 +00:00
github-actions[bot]
458305ddda
Merge pull request #770 from EmilStenstrom/dependabot/pip/selectolax-0.3.26
build(deps-dev): bump selectolax from 0.3.21 to 0.3.26
2024-11-25 18:03:40 +00:00
dependabot[bot]
42093bd8d8
build(deps-dev): bump selectolax from 0.3.21 to 0.3.26
Bumps [selectolax](https://github.com/rushter/selectolax) from 0.3.21 to 0.3.26.
- [Release notes](https://github.com/rushter/selectolax/releases)
- [Changelog](https://github.com/rushter/selectolax/blob/master/CHANGES.rst)
- [Commits](https://github.com/rushter/selectolax/compare/v0.3.21...v0.3.26)

---
updated-dependencies:
- dependency-name: selectolax
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 18:01:20 +00:00
Juro Oravec
d093bfb052
chore: bump v0.110 (#768) 2024-11-25 08:57:42 +00:00
Juro Oravec
5fd45ab424
chore: Push dev to master to release v0.110 (#767)
* feat: skeleton of dependency manager backend (#688)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: selectolax update and tests cleanup (#702)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: move release notes to own file (#704)

* chore: merge changes from master (#705)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yassin Rakha <yaso2go@gmail.com>
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
fix for nested slots (#698) (#699)

* refactor: remove joint {% component_dependencies %} tag (#706)

Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: split up utils file and move utils to util dir (#707)

* docs: Move docs inside src/ to allow imports in python scripts (#708)

* refactor: Docs prep 1 (#715)

* refactor: Document template tags (#716)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: pass slot fills in template via slots param (#719)

* chore: Merge master to dev (#729)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yassin Rakha <yaso2go@gmail.com>
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
Co-authored-by: Tom Larsen <larsent@gmail.com>
fix for nested slots (#698) (#699)

* fix: Do not raise error if multiple slots with same name are flagged as default (#727)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: tag formatter - allow fwd slash in end tag (#730)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: Use lowercase names for registry settings (#731)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* docs: add docstrings (#732)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: define settings as a data class for type hints, intellisense, and docs (#733)

* refactor: fix reload-on-change logic, expose autodiscover's dirs-getting logic, rename settings (#734)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* docs: document settings (#743)

* docs: document settings

* refactor: fix linter errors

* feat: passthrough slots and more (#758)

* feat: passthrough slots and more

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: remove ComponentSlotContext.slots

* refactor: update comment

* docs: update changelog

* refactor: update docstrings

* refactor: document and test-cover more changes

* refactor: revert fill without name

* docs: update README

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix: apostrophes in tags (#765)

* refactor: fix merge error - duplicate code

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
2024-11-25 09:41:57 +01:00
vb8448
9f891453d5
Update README.md (#766)
Updated documentation for dynamic components.
Close #764 .
2024-11-24 11:26:38 +01:00
github-actions[bot]
6dd8fce83c
Merge pull request #749 from EmilStenstrom/dependabot/pip/playwright-1.48.0
build(deps): bump playwright from 1.47.0 to 1.48.0
2024-11-19 10:08:26 +00:00
Juro Oravec
e169b230e3 chore: update tox.ini 2024-11-19 10:06:21 +00:00
dependabot[bot]
6fc54b14b3
build(deps): bump playwright from 1.47.0 to 1.48.0
Bumps [playwright](https://github.com/Microsoft/playwright-python) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/Microsoft/playwright-python/releases)
- [Commits](https://github.com/Microsoft/playwright-python/compare/v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: playwright
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:47:00 +00:00
github-actions[bot]
274ad053ef
Merge pull request #759 from EmilStenstrom/dependabot/pip/mkdocstrings-0.27.0
build(deps): bump mkdocstrings from 0.26.2 to 0.27.0
2024-11-18 18:45:07 +00:00
dependabot[bot]
5954aa12b0
build(deps): bump mkdocstrings from 0.26.2 to 0.27.0
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.26.2 to 0.27.0.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.26.2...0.27.0)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:43:01 +00:00
github-actions[bot]
a048693f59
Merge pull request #762 from EmilStenstrom/dependabot/pip/sqlparse-0.5.2
build(deps): bump sqlparse from 0.5.1 to 0.5.2
2024-11-18 18:41:51 +00:00
dependabot[bot]
3eca2e76cb
build(deps): bump sqlparse from 0.5.1 to 0.5.2
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/andialbrecht/sqlparse/releases)
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.5.1...0.5.2)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:39:55 +00:00
github-actions[bot]
2c760f4087
Merge pull request #761 from EmilStenstrom/dependabot/pip/pillow-11.0.0
build(deps): bump pillow from 10.4.0 to 11.0.0
2024-11-18 18:38:44 +00:00
dependabot[bot]
9de6f80703
build(deps): bump pillow from 10.4.0 to 11.0.0
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.4.0 to 11.0.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.4.0...11.0.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:36:39 +00:00
github-actions[bot]
09312c67fb
Merge pull request #760 from EmilStenstrom/dependabot/pip/tinycss2-1.4.0
build(deps): bump tinycss2 from 1.3.0 to 1.4.0
2024-11-18 18:35:38 +00:00
dependabot[bot]
4ae6b358dd
build(deps): bump tinycss2 from 1.3.0 to 1.4.0
Bumps [tinycss2](https://github.com/Kozea/tinycss2) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/Kozea/tinycss2/releases)
- [Changelog](https://github.com/Kozea/tinycss2/blob/main/docs/changelog.rst)
- [Commits](https://github.com/Kozea/tinycss2/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: tinycss2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 18:33:33 +00:00
github-actions[bot]
8b8ef22de1
Merge pull request #747 from EmilStenstrom/dependabot/pip/black-24.10.0
build(deps): bump black from 24.8.0 to 24.10.0
2024-11-11 17:20:29 +00:00
dependabot[bot]
1a71dcf4db
build(deps): bump black from 24.8.0 to 24.10.0
Bumps [black](https://github.com/psf/black) from 24.8.0 to 24.10.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.8.0...24.10.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 17:18:34 +00:00
github-actions[bot]
89bc8a826d
Merge pull request #751 from EmilStenstrom/dependabot/pip/types-requests-2.32.0.20241016
build(deps): bump types-requests from 2.32.0.20240914 to 2.32.0.20241016
2024-11-11 17:17:24 +00:00
dependabot[bot]
a203e1c49b
build(deps): bump types-requests from 2.32.0.20240914 to 2.32.0.20241016
Bumps [types-requests](https://github.com/python/typeshed) from 2.32.0.20240914 to 2.32.0.20241016.
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 17:15:30 +00:00
github-actions[bot]
e1dbdf61ba
Merge pull request #748 from EmilStenstrom/dependabot/pip/watchdog-6.0.0
build(deps): bump watchdog from 5.0.3 to 6.0.0
2024-11-11 17:13:36 +00:00
dependabot[bot]
1bef4803e9
build(deps): bump watchdog from 5.0.3 to 6.0.0
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 5.0.3 to 6.0.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v5.0.3...v6.0.0)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 17:11:38 +00:00
github-actions[bot]
3e4fbdd181
Merge pull request #750 from EmilStenstrom/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.3.0
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.2.9 to 1.3.0
2024-11-11 17:10:50 +00:00
dependabot[bot]
dcc362c569
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.2.9 to 1.3.0.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.2.9...v1.3.0)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 17:08:48 +00:00
github-actions[bot]
c74c979e67
Merge pull request #746 from EmilStenstrom/dependabot/pip/packaging-24.2
build(deps): bump packaging from 24.1 to 24.2
2024-11-11 17:07:53 +00:00
dependabot[bot]
63cb751cfe
build(deps): bump packaging from 24.1 to 24.2
Bumps [packaging](https://github.com/pypa/packaging) from 24.1 to 24.2.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/24.1...24.2)

---
updated-dependencies:
- dependency-name: packaging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 17:05:46 +00:00
Emil Stenström
18392450d4
Merge pull request #742 from EmilStenstrom/EmilStenstrom-patch-1
Improve first example the users sees
2024-11-08 22:00:18 +01:00
Emil Stenström
2c96507872 Review feedback. 2024-11-08 21:57:26 +01:00
Emil Stenström
0339dcd8ab
Improve first example the users sees 2024-11-06 19:48:59 +01:00
github-actions[bot]
c3da6088af
Merge pull request #740 from EmilStenstrom/dependabot/pip/tox-4.23.2
build(deps): bump tox from 4.21.2 to 4.23.2
2024-11-04 17:50:29 +00:00
dependabot[bot]
8db9213e71
build(deps): bump tox from 4.21.2 to 4.23.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.21.2 to 4.23.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.21.2...4.23.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:48:28 +00:00
github-actions[bot]
f1ffb19552
Merge pull request #738 from EmilStenstrom/dependabot/pip/griffe-1.5.1
build(deps): bump griffe from 1.3.2 to 1.5.1
2024-11-04 17:47:00 +00:00
dependabot[bot]
a87cbba9b1
build(deps): bump griffe from 1.3.2 to 1.5.1
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.3.2 to 1.5.1.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.3.2...1.5.1)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:44:52 +00:00
github-actions[bot]
a7113287cc
Merge pull request #739 from EmilStenstrom/dependabot/pip/mkdocs-material-9.5.43
build(deps): bump mkdocs-material from 9.5.40 to 9.5.43
2024-11-04 17:44:07 +00:00
dependabot[bot]
6f17a97023
build(deps): bump mkdocs-material from 9.5.40 to 9.5.43
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.40 to 9.5.43.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.40...9.5.43)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:42:08 +00:00
github-actions[bot]
84611eb734
Merge pull request #737 from EmilStenstrom/dependabot/pip/mkdocs-git-authors-plugin-0.9.2
build(deps): bump mkdocs-git-authors-plugin from 0.9.0 to 0.9.2
2024-11-04 17:41:19 +00:00
dependabot[bot]
99524e9862
build(deps): bump mkdocs-git-authors-plugin from 0.9.0 to 0.9.2
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.9.0 to 0.9.2.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.9.0...v0.9.2)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:39:10 +00:00
github-actions[bot]
e65c4ac4fd
Merge pull request #736 from EmilStenstrom/dependabot/pip/mkdocs-include-markdown-plugin-7.0.0
build(deps): bump mkdocs-include-markdown-plugin from 6.2.2 to 7.0.0
2024-11-04 17:38:39 +00:00
dependabot[bot]
9a46e5c7ab
build(deps): bump mkdocs-include-markdown-plugin from 6.2.2 to 7.0.0
Bumps [mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) from 6.2.2 to 7.0.0.
- [Release notes](https://github.com/mondeja/mkdocs-include-markdown-plugin/releases)
- [Commits](https://github.com/mondeja/mkdocs-include-markdown-plugin/compare/v6.2.2...v7.0.0)

---
updated-dependencies:
- dependency-name: mkdocs-include-markdown-plugin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:36:30 +00:00
github-actions[bot]
88052cbbaa
Merge pull request #735 from EmilStenstrom/dependabot/pip/markupsafe-3.0.2
build(deps): bump markupsafe from 2.1.5 to 3.0.2
2024-11-04 17:35:40 +00:00
dependabot[bot]
5018f853be
build(deps): bump markupsafe from 2.1.5 to 3.0.2
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.5 to 3.0.2.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.5...3.0.2)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 17:33:34 +00:00
github-actions[bot]
967e2faa56
Merge pull request #721 from EmilStenstrom/dependabot/pip/pre-commit-4.0.1
build(deps-dev): bump pre-commit from 4.0.0 to 4.0.1
2024-10-31 10:10:24 +00:00
dependabot[bot]
9b0991ecc5
build(deps-dev): bump pre-commit from 4.0.0 to 4.0.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:08:18 +00:00
github-actions[bot]
982e173a93
Merge pull request #723 from EmilStenstrom/dependabot/pip/mkdocstrings-python-1.12.2
build(deps): bump mkdocstrings-python from 1.12.1 to 1.12.2
2024-10-31 10:07:07 +00:00
dependabot[bot]
f713fa80a9
build(deps): bump mkdocstrings-python from 1.12.1 to 1.12.2
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.12.1 to 1.12.2.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.12.1...1.12.2)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:04:57 +00:00
github-actions[bot]
c8760a8f2d
Merge pull request #725 from EmilStenstrom/dependabot/pip/mypy-1.13.0
build(deps-dev): bump mypy from 1.12.0 to 1.13.0
2024-10-31 10:04:12 +00:00
Juro Oravec
96f64b6f89
Merge branch 'master' into dependabot/pip/mypy-1.13.0 2024-10-31 11:02:03 +01:00
github-actions[bot]
ca6211d134
Merge pull request #724 from EmilStenstrom/dependabot/pip/pyparsing-3.2.0
build(deps): bump pyparsing from 3.1.4 to 3.2.0
2024-10-31 10:01:37 +00:00
dependabot[bot]
db52027347
build(deps-dev): bump mypy from 1.12.0 to 1.13.0
Bumps [mypy](https://github.com/python/mypy) from 1.12.0 to 1.13.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.12.0...v1.13.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 09:59:59 +00:00
dependabot[bot]
6fd6770fee
build(deps): bump pyparsing from 3.1.4 to 3.2.0
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.1.4 to 3.2.0.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.1.4...3.2.0)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 09:59:29 +00:00
github-actions[bot]
d1e2d465a0
Merge pull request #720 from EmilStenstrom/dependabot/pip/charset-normalizer-3.4.0
build(deps): bump charset-normalizer from 3.3.2 to 3.4.0
2024-10-31 09:58:43 +00:00
Juro Oravec
a8456e4a5d
Merge branch 'master' into dependabot/pip/charset-normalizer-3.4.0 2024-10-31 10:56:29 +01:00
Emil Stenström
bebd67221d
Merge pull request #728 from JuroOravec/jo-fix-ci
refactor: pin version of playwright in tests
2024-10-30 22:14:59 +01:00
Juro Oravec
aa903172a0 refactor: pin version of playwright in tests 2024-10-30 17:46:07 +01:00
Emil Stenström
de09adcad8
Merge pull request #726 from larsent/patch-1
fix(docs) Replace `shorthand_component_formatter` with `component_sho…
2024-10-29 10:16:50 +01:00
Tom Larsen
72477397b0
fix(docs) Replace shorthand_component_formatter with component_shorthand_formatter in README.md
The proper name appears to be [`component_shorthand_formatter`](7911daa89e/src/django_components/tag_formatter.py (L222))
2024-10-28 16:23:37 -05:00
dependabot[bot]
e911f90c57
build(deps): bump charset-normalizer from 3.3.2 to 3.4.0
Bumps [charset-normalizer](https://github.com/Ousret/charset_normalizer) from 3.3.2 to 3.4.0.
- [Release notes](https://github.com/Ousret/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Ousret/charset_normalizer/compare/3.3.2...3.4.0)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 17:59:03 +00:00
github-actions[bot]
7911daa89e
Merge pull request #714 from EmilStenstrom/dependabot/pip/mkdocstrings-0.26.2
build(deps): bump mkdocstrings from 0.26.1 to 0.26.2
2024-10-14 18:00:29 +00:00
dependabot[bot]
732297a682
build(deps): bump mkdocstrings from 0.26.1 to 0.26.2
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.26.1 to 0.26.2.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.26.1...0.26.2)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 17:58:25 +00:00
github-actions[bot]
509eb9645c
Merge pull request #712 from EmilStenstrom/dependabot/pip/mypy-1.12.0
build(deps-dev): bump mypy from 1.11.2 to 1.12.0
2024-10-14 17:57:54 +00:00
dependabot[bot]
9ef7788e7b
build(deps-dev): bump mypy from 1.11.2 to 1.12.0
Bumps [mypy](https://github.com/python/mypy) from 1.11.2 to 1.12.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11.2...v1.12.0)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 17:55:54 +00:00
github-actions[bot]
903e718d51
Merge pull request #713 from EmilStenstrom/dependabot/pip/django-5.1.2
build(deps): bump django from 5.1.1 to 5.1.2
2024-10-14 17:54:45 +00:00
dependabot[bot]
0971a026ef
build(deps): bump django from 5.1.1 to 5.1.2
Bumps [django](https://github.com/django/django) from 5.1.1 to 5.1.2.
- [Commits](https://github.com/django/django/compare/5.1.1...5.1.2)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 17:52:38 +00:00
github-actions[bot]
e8d15cbf40
Merge pull request #710 from EmilStenstrom/dependabot/pip/mkdocstrings-python-1.12.1
build(deps): bump mkdocstrings-python from 1.11.1 to 1.12.1
2024-10-14 17:51:53 +00:00
dependabot[bot]
bc31243e13
build(deps): bump mkdocstrings-python from 1.11.1 to 1.12.1
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.11.1 to 1.12.1.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.11.1...1.12.1)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 17:49:58 +00:00
github-actions[bot]
095850e4c2
Merge pull request #711 from EmilStenstrom/dependabot/pip/mkdocs-material-9.5.40
build(deps): bump mkdocs-material from 9.5.39 to 9.5.40
2024-10-14 17:49:16 +00:00
dependabot[bot]
2a811f38ca
build(deps): bump mkdocs-material from 9.5.39 to 9.5.40
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.39 to 9.5.40.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.39...9.5.40)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 17:47:22 +00:00
Juro Oravec
0064de9c78
chore: bump v0.102 (#703) 2024-10-10 14:47:07 +02:00
Juro Oravec
ff70be35e4
refactor: fix for nested slots (#698) (#699)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-10 14:37:21 +02:00
pre-commit-ci[bot]
c0013c0fe4
[pre-commit.ci] pre-commit autoupdate (#700)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-08 08:46:43 +02:00
Emil Stenström
3bee0902b9
Merge pull request #697 from Yaso2Go/updated-readme
Add example for accessing outer context in components and recommend best practices
2024-10-07 21:36:14 +02:00
Yassin Rakha
d1807633ab Add example for accessing outer context in components and recommend best practices 2024-10-07 21:54:42 +03:00
github-actions[bot]
d9d651cc82
Merge pull request #695 from EmilStenstrom/dependabot/pip/tox-4.21.2
build(deps): bump tox from 4.20.0 to 4.21.2
2024-10-07 17:20:53 +00:00
dependabot[bot]
da3ecbf725
build(deps): bump tox from 4.20.0 to 4.21.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.20.0 to 4.21.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.20.0...4.21.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 17:18:49 +00:00
github-actions[bot]
f6f28b07ef
Merge pull request #694 from EmilStenstrom/dependabot/pip/pre-commit-4.0.0
build(deps-dev): bump pre-commit from 3.8.0 to 4.0.0
2024-10-07 17:17:28 +00:00
dependabot[bot]
9abba62f26
build(deps-dev): bump pre-commit from 3.8.0 to 4.0.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.8.0 to 4.0.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.8.0...v4.0.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 17:15:26 +00:00
github-actions[bot]
aae218c4e8
Merge pull request #696 from EmilStenstrom/dependabot/pip/django-5.1.1
build(deps): bump django from 5.1 to 5.1.1
2024-10-07 17:14:13 +00:00
dependabot[bot]
7a557ac408
build(deps): bump django from 5.1 to 5.1.1
Bumps [django](https://github.com/django/django) from 5.1 to 5.1.1.
- [Commits](https://github.com/django/django/compare/5.1...5.1.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 17:12:16 +00:00
github-actions[bot]
906498aa4c
Merge pull request #693 from EmilStenstrom/dependabot/pip/griffe-1.3.2
build(deps): bump griffe from 1.3.1 to 1.3.2
2024-10-07 17:11:16 +00:00
dependabot[bot]
6df4ffcd48
build(deps): bump griffe from 1.3.1 to 1.3.2
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/1.3.1...1.3.2)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 17:09:10 +00:00
github-actions[bot]
cbf93c8786
Merge pull request #692 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.11.2
build(deps): bump pymdown-extensions from 10.11.1 to 10.11.2
2024-10-07 17:08:25 +00:00
dependabot[bot]
00cdcec47d
build(deps): bump pymdown-extensions from 10.11.1 to 10.11.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.11.1 to 10.11.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.11.1...10.11.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 17:06:16 +00:00
github-actions[bot]
56488b2475
Merge pull request #684 from EmilStenstrom/dependabot/pip/bracex-2.5.post1
build(deps): bump bracex from 2.5 to 2.5.post1
2024-09-30 17:14:03 +00:00
dependabot[bot]
170a23e6ad
build(deps): bump bracex from 2.5 to 2.5.post1
Bumps [bracex](https://github.com/facelessuser/bracex) from 2.5 to 2.5.post1.
- [Release notes](https://github.com/facelessuser/bracex/releases)
- [Commits](https://github.com/facelessuser/bracex/compare/2.5...2.5.post1)

---
updated-dependencies:
- dependency-name: bracex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:11:34 +00:00
github-actions[bot]
c0aa69c4f9
Merge pull request #686 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.11.1
build(deps): bump pymdown-extensions from 10.10.1 to 10.11.1
2024-09-30 17:10:52 +00:00
dependabot[bot]
a805c91b8e
build(deps): bump pymdown-extensions from 10.10.1 to 10.11.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.10.1 to 10.11.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.10.1...10.11.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:08:52 +00:00
github-actions[bot]
cf690d3ee1
Merge pull request #687 from EmilStenstrom/dependabot/pip/mkdocs-material-9.5.39
build(deps): bump mkdocs-material from 9.5.36 to 9.5.39
2024-09-30 17:08:07 +00:00
dependabot[bot]
25776cf8ae
build(deps): bump mkdocs-material from 9.5.36 to 9.5.39
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.36 to 9.5.39.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.36...9.5.39)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:06:08 +00:00
github-actions[bot]
8f487d5422
Merge pull request #685 from EmilStenstrom/dependabot/pip/wcmatch-10.0
build(deps): bump wcmatch from 9.0 to 10.0
2024-09-30 17:05:22 +00:00
dependabot[bot]
c7b4db6c70
build(deps): bump wcmatch from 9.0 to 10.0
Bumps [wcmatch](https://github.com/facelessuser/wcmatch) from 9.0 to 10.0.
- [Release notes](https://github.com/facelessuser/wcmatch/releases)
- [Commits](https://github.com/facelessuser/wcmatch/compare/9.0...10.0)

---
updated-dependencies:
- dependency-name: wcmatch
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:03:22 +00:00
github-actions[bot]
c40062bce4
Merge pull request #683 from EmilStenstrom/dependabot/pip/watchdog-5.0.3
build(deps): bump watchdog from 5.0.2 to 5.0.3
2024-09-30 17:02:37 +00:00
dependabot[bot]
5b291420b1
build(deps): bump watchdog from 5.0.2 to 5.0.3
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 5.0.2 to 5.0.3.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v5.0.2...v5.0.3)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-30 17:00:37 +00:00
github-actions[bot]
8439c76652
Merge pull request #682 from EmilStenstrom/dependabot/pip/tox-4.20.0
build(deps): bump tox from 4.18.0 to 4.20.0
2024-09-23 17:36:13 +00:00
dependabot[bot]
dea8767d8d
build(deps): bump tox from 4.18.0 to 4.20.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.18.0 to 4.20.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.18.0...4.20.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-23 17:34:04 +00:00
Emil Stenström
4398cbee0b Minor README changes made by LLM. 2024-09-22 23:07:18 +02:00
Emil Stenström
e32cfb27da Try upgrading docs dependencies: hatch-pip-compile docs --upgrade 2024-09-22 22:33:58 +02:00
Juro Oravec
849a869a66
feat: add JS dependency manager (#666)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-22 16:42:41 +02:00
github-actions[bot]
0026fa4a44
Merge pull request #677 from EmilStenstrom/dependabot/pip/cffi-1.17.1
build(deps): bump cffi from 1.17.0 to 1.17.1
2024-09-16 17:33:53 +00:00
dependabot[bot]
b994e7fb46
build(deps): bump cffi from 1.17.0 to 1.17.1
Bumps [cffi](https://github.com/python-cffi/cffi) from 1.17.0 to 1.17.1.
- [Release notes](https://github.com/python-cffi/cffi/releases)
- [Commits](https://github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1)

---
updated-dependencies:
- dependency-name: cffi
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:32:40 +00:00
github-actions[bot]
f222a01f64
Merge pull request #680 from EmilStenstrom/dependabot/pip/pytest-8.3.3
build(deps-dev): bump pytest from 8.3.2 to 8.3.3
2024-09-16 17:31:56 +00:00
dependabot[bot]
083f67132f
build(deps-dev): bump pytest from 8.3.2 to 8.3.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.3.2 to 8.3.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:30:43 +00:00
github-actions[bot]
c7d2e574a9
Merge pull request #678 from EmilStenstrom/dependabot/pip/importlib-resources-6.4.5
build(deps): bump importlib-resources from 6.4.4 to 6.4.5
2024-09-16 17:29:35 +00:00
dependabot[bot]
134f356604
build(deps): bump importlib-resources from 6.4.4 to 6.4.5
Bumps [importlib-resources](https://github.com/python/importlib_resources) from 6.4.4 to 6.4.5.
- [Release notes](https://github.com/python/importlib_resources/releases)
- [Changelog](https://github.com/python/importlib_resources/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_resources/compare/v6.4.4...v6.4.5)

---
updated-dependencies:
- dependency-name: importlib-resources
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:28:23 +00:00
github-actions[bot]
91caa2eb00
Merge pull request #676 from EmilStenstrom/dependabot/pip/mkdocstrings-python-1.11.1
build(deps): bump mkdocstrings-python from 1.10.9 to 1.11.1
2024-09-16 17:27:34 +00:00
dependabot[bot]
94a5b30f9a
build(deps): bump mkdocstrings-python from 1.10.9 to 1.11.1
Bumps [mkdocstrings-python](https://github.com/mkdocstrings/python) from 1.10.9 to 1.11.1.
- [Release notes](https://github.com/mkdocstrings/python/releases)
- [Changelog](https://github.com/mkdocstrings/python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/python/compare/1.10.9...1.11.1)

---
updated-dependencies:
- dependency-name: mkdocstrings-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:26:14 +00:00
github-actions[bot]
ddbaa922cd
Merge pull request #679 from EmilStenstrom/dependabot/pip/idna-3.10
build(deps): bump idna from 3.8 to 3.10
2024-09-16 17:25:29 +00:00
dependabot[bot]
e417993726
build(deps): bump idna from 3.8 to 3.10
Bumps [idna](https://github.com/kjd/idna) from 3.8 to 3.10.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.8...v3.10)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:24:10 +00:00
github-actions[bot]
b01ffe9d24
Merge pull request #675 from EmilStenstrom/dependabot/pip/pytz-2024.2
build(deps): bump pytz from 2024.1 to 2024.2
2024-09-16 17:23:38 +00:00
dependabot[bot]
e3bf445cc8
build(deps): bump pytz from 2024.1 to 2024.2
Bumps [pytz](https://github.com/stub42/pytz) from 2024.1 to 2024.2.
- [Release notes](https://github.com/stub42/pytz/releases)
- [Commits](https://github.com/stub42/pytz/compare/release_2024.1...release_2024.2)

---
updated-dependencies:
- dependency-name: pytz
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-16 17:22:25 +00:00
Juro Oravec
a3d66586b1
chore: bump v0.101 (#674) 2024-09-14 22:51:48 +02:00
Juro Oravec
ee9b92975a
fix: autoimport with nested apps (#672)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-14 22:47:30 +02:00
Juro Oravec
6b3c112968
fix: Using empty default fill with no whitespace (#673) 2024-09-14 22:22:22 +02:00
Emil Stenström
fa556d281c
Merge pull request #668 from spapas/fix-base-dir-path
Make sure BASE_DIR is a Path - fixesd #687
2024-09-12 09:56:27 +02:00
pre-commit-ci[bot]
7a88231ecb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-09-12 07:08:10 +00:00
Serafeim Papastefanos
d2b3b79b52 Add tests for base_dir str/path 2024-09-12 10:07:52 +03:00
Serafeim Papastefanos
d1224c13c9 Make sure BASE_DIR is a Path 2024-09-12 09:34:22 +03:00
Juro Oravec
f7846b9c0a
chore: bump v0.100 (#665) 2024-09-11 21:59:15 +02:00
Juro Oravec
239923b221
refactor: pass instantiated component to as_view (#664) 2024-09-11 21:55:11 +02:00
Emil Stenström
313afee1d9
Merge pull request #654 from EmilStenstrom/minimize-tox
Minimize tox config and add black
2024-09-11 21:02:49 +02:00
Emil Stenström
3b810fbd76 Avoid building new wheel for each env. 2024-09-11 21:01:22 +02:00
Emil Stenström
8d9ea4b7e4 Minimize tox config and add black- 2024-09-11 21:01:22 +02:00
Juro Oravec
e1382d3ccd
refactor: Remove safer_staticfiles, replace STATICFILES_DIRS with COMPONENTS.dirs, support [app]/components (#652)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-11 08:45:55 +02:00
Emil Stenström
728b4ffad7
Merge pull request #655 from EmilStenstrom/new-pitch
Improve pitch in README
2024-09-11 07:09:23 +02:00
Juro Oravec
7ca06d80f3
Merge branch 'master' into new-pitch 2024-09-09 22:36:04 +02:00
github-actions[bot]
92df15e37d
Merge pull request #662 from EmilStenstrom/dependabot/pip/mypy-1.11.2
build(deps-dev): bump mypy from 1.11.1 to 1.11.2
2024-09-09 17:55:32 +00:00
dependabot[bot]
f50d6042d3
build(deps-dev): bump mypy from 1.11.1 to 1.11.2
Bumps [mypy](https://github.com/python/mypy) from 1.11.1 to 1.11.2.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11.1...v1.11.2)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:54:12 +00:00
github-actions[bot]
8e653d3c5c
Merge pull request #661 from EmilStenstrom/dependabot/pip/django-5.1.1
build(deps): bump django from 5.1 to 5.1.1
2024-09-09 17:53:21 +00:00
dependabot[bot]
2b971707d2
build(deps): bump django from 5.1 to 5.1.1
Bumps [django](https://github.com/django/django) from 5.1 to 5.1.1.
- [Commits](https://github.com/django/django/compare/5.1...5.1.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:52:12 +00:00
github-actions[bot]
f5caf74afe
Merge pull request #659 from EmilStenstrom/dependabot/pip/mkdocstrings-0.26.1
build(deps): bump mkdocstrings from 0.25.2 to 0.26.1
2024-09-09 17:50:50 +00:00
dependabot[bot]
307fe3fc2f
build(deps): bump mkdocstrings from 0.25.2 to 0.26.1
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.25.2 to 0.26.1.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.25.2...0.26.1)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:49:43 +00:00
github-actions[bot]
c3d9fa8691
Merge pull request #663 from EmilStenstrom/dependabot/pip/watchdog-5.0.2
build(deps): bump watchdog from 5.0.0 to 5.0.2
2024-09-09 17:48:54 +00:00
dependabot[bot]
01479ef50b
build(deps): bump watchdog from 5.0.0 to 5.0.2
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 5.0.0 to 5.0.2.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v5.0.0...v5.0.2)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:47:43 +00:00
github-actions[bot]
545a19b68d
Merge pull request #660 from EmilStenstrom/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.2.8
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.2.7 to 1.2.8
2024-09-09 17:46:54 +00:00
dependabot[bot]
3c08e05701
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.2.7 to 1.2.8.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.2.7...v1.2.8)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:45:41 +00:00
github-actions[bot]
81199b1926
Merge pull request #658 from EmilStenstrom/dependabot/pip/platformdirs-4.3.2
build(deps): bump platformdirs from 4.2.2 to 4.3.2
2024-09-09 17:44:42 +00:00
dependabot[bot]
a228f435a2
build(deps): bump platformdirs from 4.2.2 to 4.3.2
Bumps [platformdirs](https://github.com/platformdirs/platformdirs) from 4.2.2 to 4.3.2.
- [Release notes](https://github.com/platformdirs/platformdirs/releases)
- [Changelog](https://github.com/tox-dev/platformdirs/blob/main/CHANGES.rst)
- [Commits](https://github.com/platformdirs/platformdirs/compare/4.2.2...4.3.2)

---
updated-dependencies:
- dependency-name: platformdirs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 17:43:29 +00:00
Emil Stenström
0233a8d7a6 Improve pitch. 2024-09-08 10:44:39 +02:00
Emil Stenström
b7e913a860
Merge pull request #653 from dalito/docs-action-cleanup
Clean up docs action
2024-09-07 21:19:04 +02:00
David Linke
97bc371f91 Clean up docs action 2024-09-07 12:34:36 +02:00
Juro Oravec
30d04fe1b0
chore: bump v0.97 (#651) 2024-09-06 22:45:25 +02:00
Juro Oravec
841dd77e91
refactor: Fix template caching, expose cached_template, Component.template API changes (#647)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-06 22:40:39 +02:00
Emil Stenström
589e802625
Merge pull request #648 from JuroOravec/646-fix-broken-links
refactor: fix broken links
2024-09-06 08:24:50 +02:00
Juro Oravec
91e5a2940d refactor: fix broken links 2024-09-06 08:16:58 +02:00
Juro Oravec
8f13a641ac
chore: bump v0.96 + release notes (#645) 2024-09-04 22:15:29 +02:00
Juro Oravec
e712800f5e
feat: add self context var and make is_filled into attribute (#632)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-09-04 21:41:20 +02:00
Juro Oravec
2d0f270df4
fix: populate RequestContext with context processors (#643) 2024-09-04 21:31:44 +02:00
Emil Stenström
96a4717631
Merge pull request #633 from dalito/issue625-docs-action
Fix docs action
2024-09-04 21:10:13 +02:00
David Linke
2f3524d0d0
Merge branch 'master' into issue625-docs-action 2024-09-02 23:09:53 +02:00
github-actions[bot]
bf6eba6a01
Merge pull request #640 from EmilStenstrom/dependabot/pip/griffe-1.2.0
build(deps): bump griffe from 0.42.1 to 1.2.0
2024-09-02 17:40:43 +00:00
dependabot[bot]
6359852747
build(deps): bump griffe from 0.42.1 to 1.2.0
Bumps [griffe](https://github.com/mkdocstrings/griffe) from 0.42.1 to 1.2.0.
- [Release notes](https://github.com/mkdocstrings/griffe/releases)
- [Changelog](https://github.com/mkdocstrings/griffe/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/griffe/compare/0.42.1...1.2.0)

---
updated-dependencies:
- dependency-name: griffe
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:39:31 +00:00
github-actions[bot]
6e251d9d91
Merge pull request #637 from EmilStenstrom/dependabot/pip/importlib-resources-6.4.4
build(deps): bump importlib-resources from 6.4.0 to 6.4.4
2024-09-02 17:38:45 +00:00
dependabot[bot]
14cb37b363
build(deps): bump importlib-resources from 6.4.0 to 6.4.4
Bumps [importlib-resources](https://github.com/python/importlib_resources) from 6.4.0 to 6.4.4.
- [Release notes](https://github.com/python/importlib_resources/releases)
- [Changelog](https://github.com/python/importlib_resources/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_resources/compare/v6.4.0...v6.4.4)

---
updated-dependencies:
- dependency-name: importlib-resources
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:37:32 +00:00
github-actions[bot]
5c418c8287
Merge pull request #642 from EmilStenstrom/dependabot/pip/mkdocs-git-authors-plugin-0.9.0
build(deps): bump mkdocs-git-authors-plugin from 0.8.0 to 0.9.0
2024-09-02 17:36:38 +00:00
dependabot[bot]
0dc571cbdc
build(deps): bump mkdocs-git-authors-plugin from 0.8.0 to 0.9.0
Bumps [mkdocs-git-authors-plugin](https://github.com/timvink/mkdocs-git-authors-plugin) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/timvink/mkdocs-git-authors-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-authors-plugin/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: mkdocs-git-authors-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:35:27 +00:00
github-actions[bot]
d838f2275d
Merge pull request #639 from EmilStenstrom/dependabot/pip/pyparsing-3.1.4
build(deps): bump pyparsing from 3.1.2 to 3.1.4
2024-09-02 17:34:39 +00:00
dependabot[bot]
1b561a1215
build(deps): bump pyparsing from 3.1.2 to 3.1.4
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/pyparsing_3.1.2...3.1.4)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:33:32 +00:00
github-actions[bot]
e053e03df8
Merge pull request #641 from EmilStenstrom/dependabot/pip/mkdocs-git-revision-date-localized-plugin-1.2.7
build(deps): bump mkdocs-git-revision-date-localized-plugin from 1.2.4 to 1.2.7
2024-09-02 17:32:48 +00:00
dependabot[bot]
60867bab2f
build(deps): bump mkdocs-git-revision-date-localized-plugin
Bumps [mkdocs-git-revision-date-localized-plugin](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin) from 1.2.4 to 1.2.7.
- [Release notes](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases)
- [Commits](https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/compare/v1.2.4...v1.2.7)

---
updated-dependencies:
- dependency-name: mkdocs-git-revision-date-localized-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:31:41 +00:00
github-actions[bot]
aceef6cc43
Merge pull request #638 from EmilStenstrom/dependabot/pip/watchdog-5.0.0
build(deps): bump watchdog from 4.0.0 to 5.0.0
2024-09-02 17:30:55 +00:00
dependabot[bot]
580c688806
build(deps): bump watchdog from 4.0.0 to 5.0.0
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 4.0.0 to 5.0.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v4.0.0...v5.0.0)

---
updated-dependencies:
- dependency-name: watchdog
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:29:43 +00:00
github-actions[bot]
447db85269
Merge pull request #636 from EmilStenstrom/dependabot/pip/mkdocs-1.6.1
build(deps): bump mkdocs from 1.5.3 to 1.6.1
2024-09-02 17:29:00 +00:00
dependabot[bot]
79456b32af
build(deps): bump mkdocs from 1.5.3 to 1.6.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.3 to 1.6.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.3...1.6.1)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-02 17:27:48 +00:00
David Linke
9b2e83954d Add 2nd version specifier 2024-09-02 15:19:40 +02:00
David Linke
2abfb1dc9c Fix docs gh-action 2024-09-02 11:28:58 +02:00
David Linke
aa0dcff6d1 Update requirements-docs 2024-09-02 11:28:32 +02:00
Emil Stenström
254817e235 Revert "Upgrade all the docs dependencies to fix dependency issue."
This reverts commit 3c6f478f8a.
2024-08-31 14:53:57 +02:00
Juro Oravec
0cfc40231b
feat: add component hooks (#631) 2024-08-31 13:38:28 +02:00
Emil Stenström
3c6f478f8a Upgrade all the docs dependencies to fix dependency issue. 2024-08-31 10:33:01 +02:00
Juro Oravec
4a9cf7e26d
feat: validate component inputs if types are given (#629)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-29 23:09:36 +02:00
Juro Oravec
682bfc4239
chore: bump v0.95 (#628) 2024-08-29 11:33:23 +02:00
Juro Oravec
e76227b8df
feat: Add dynamic component (#627)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-29 11:28:00 +02:00
Juro Oravec
8c5b088c31
Update pyproject.toml (#626) 2024-08-28 07:55:21 +02:00
Juro Oravec
ab059f362d
Multi-line tag support, watch component files, and cleanup (#624)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-28 07:46:48 +02:00
Juro Oravec
b26a201138
chore: bump v0.93 (#623) 2024-08-27 06:28:22 +02:00
Juro Oravec
3b1f6088a0
feat: allow different template settings for ComponentRegistries (#615)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-27 06:18:50 +02:00
github-actions[bot]
ee5c92ba00
Merge pull request #621 from EmilStenstrom/dependabot/pip/importlib-metadata-8.4.0
build(deps): bump importlib-metadata from 7.1.0 to 8.4.0
2024-08-26 17:30:35 +00:00
dependabot[bot]
2ad7083187
build(deps): bump importlib-metadata from 7.1.0 to 8.4.0
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 7.1.0 to 8.4.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v7.1.0...v8.4.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:29:18 +00:00
github-actions[bot]
99f90d36b1
Merge pull request #619 from EmilStenstrom/dependabot/pip/paginate-0.5.7
build(deps): bump paginate from 0.5.6 to 0.5.7
2024-08-26 17:28:35 +00:00
dependabot[bot]
ceed212dc0
build(deps): bump paginate from 0.5.6 to 0.5.7
Bumps [paginate](https://github.com/Signum/paginate) from 0.5.6 to 0.5.7.
- [Changelog](https://github.com/Pylons/paginate/blob/master/CHANGELOG.txt)
- [Commits](https://github.com/Signum/paginate/compare/0.5.6...0.5.7)

---
updated-dependencies:
- dependency-name: paginate
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:27:17 +00:00
github-actions[bot]
be4dde7bca
Merge pull request #620 from EmilStenstrom/dependabot/pip/mkdocstrings-0.25.2
build(deps): bump mkdocstrings from 0.24.1 to 0.25.2
2024-08-26 17:26:34 +00:00
dependabot[bot]
4e548bbce7
build(deps): bump mkdocstrings from 0.24.1 to 0.25.2
Bumps [mkdocstrings](https://github.com/mkdocstrings/mkdocstrings) from 0.24.1 to 0.25.2.
- [Release notes](https://github.com/mkdocstrings/mkdocstrings/releases)
- [Changelog](https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mkdocstrings/mkdocstrings/compare/0.24.1...0.25.2)

---
updated-dependencies:
- dependency-name: mkdocstrings
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:25:26 +00:00
github-actions[bot]
aafe00e487
Merge pull request #618 from EmilStenstrom/dependabot/pip/regex-2024.7.24
build(deps): bump regex from 2022.10.31 to 2024.7.24
2024-08-26 17:24:40 +00:00
dependabot[bot]
606604b494
build(deps): bump regex from 2022.10.31 to 2024.7.24
Bumps [regex](https://github.com/mrabarnett/mrab-regex) from 2022.10.31 to 2024.7.24.
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](https://github.com/mrabarnett/mrab-regex/compare/2022.10.31...2024.7.24)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:23:29 +00:00
github-actions[bot]
02cb3f213a
Merge pull request #616 from EmilStenstrom/dependabot/pip/requests-2.32.3
build(deps): bump requests from 2.32.2 to 2.32.3
2024-08-26 17:22:44 +00:00
dependabot[bot]
2663ba6ba0
build(deps): bump requests from 2.32.2 to 2.32.3
Bumps [requests](https://github.com/psf/requests) from 2.32.2 to 2.32.3.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.2...v2.32.3)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:21:24 +00:00
github-actions[bot]
4bd90811cf
Merge pull request #617 from EmilStenstrom/dependabot/pip/pymdown-extensions-10.9
build(deps): bump pymdown-extensions from 10.7.1 to 10.9
2024-08-26 17:20:42 +00:00
dependabot[bot]
212463ef36
build(deps): bump pymdown-extensions from 10.7.1 to 10.9
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.7.1 to 10.9.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.7.1...10.9)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-26 17:19:35 +00:00
Juro Oravec
b90961b4a7
feat: dynamic slots, fills, and provides (#609)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-25 22:35:10 +02:00
Emil Stenström
6793aec9b4
Merge pull request #608 from dalito/gh-docs-redirect-mike2.0
Fix redirect to latest for mike 2.0
2024-08-25 16:42:50 +02:00
David Linke
1efdff7daf Fix redirect to latest for mike 2.0 2024-08-25 16:41:27 +02:00
Juro Oravec
39cff5a1d0
feat: add dynamic expressions (#605)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-25 12:53:40 +02:00
Emil Stenström
fc5ea78739
Merge pull request #607 from EmilStenstrom/up-test-coverage
Increase minimum coverage to 97%
2024-08-25 12:35:07 +02:00
Emil Stenström
038d2c3e97 Increase minimum coverage to 97% 2024-08-25 12:33:57 +02:00
Emil Stenström
a1cd97ceda
Merge pull request #606 from dalito/docs-at-gh-pages
Fix docs deployment to gh-pages.
2024-08-25 10:45:26 +02:00
David Linke
2feb339387 Fix docs deployment to gh-pages. 2024-08-24 19:48:08 +02:00
Juro Oravec
d6ec62c6be
feat: add spread operator (#596)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-24 15:01:18 +02:00
Emil Stenström
36b8fcfbe6 Make sure we run on master. 2024-08-24 14:31:40 +02:00
Emil Stenström
3f38a25dd3 Try adding write permissions to action. 2024-08-24 14:02:43 +02:00
github-actions[bot]
d8f858b891
Merge pull request #604 from EmilStenstrom/dependabot/pip/requests-2.32.2
build(deps): bump requests from 2.31.0 to 2.32.2
2024-08-24 09:50:45 +00:00
dependabot[bot]
fa6a3c5336
build(deps): bump requests from 2.31.0 to 2.32.2
Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:49:30 +00:00
github-actions[bot]
818fb3655d
Merge pull request #602 from EmilStenstrom/dependabot/pip/idna-3.7
build(deps): bump idna from 3.6 to 3.7
2024-08-24 09:48:48 +00:00
dependabot[bot]
5676f61301
build(deps): bump idna from 3.6 to 3.7
Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:47:43 +00:00
github-actions[bot]
8817b70d6d
Merge pull request #603 from EmilStenstrom/dependabot/pip/jinja2-3.1.4
build(deps): bump jinja2 from 3.1.3 to 3.1.4
2024-08-24 09:47:16 +00:00
dependabot[bot]
b06a0c6bd8
build(deps): bump jinja2 from 3.1.3 to 3.1.4
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:46:10 +00:00
github-actions[bot]
49f681597e
Merge pull request #597 from EmilStenstrom/dependabot/pip/certifi-2024.7.4
build(deps): bump certifi from 2024.2.2 to 2024.7.4
2024-08-24 09:45:26 +00:00
dependabot[bot]
645a72ba9a
build(deps): bump certifi from 2024.2.2 to 2024.7.4
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.2.2 to 2024.7.4.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.02.02...2024.07.04)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:44:17 +00:00
github-actions[bot]
6d4181d6b2
Merge pull request #601 from EmilStenstrom/dependabot/pip/sqlparse-0.5.0
build(deps): bump sqlparse from 0.4.4 to 0.5.0
2024-08-24 09:43:50 +00:00
dependabot[bot]
8beb35fb4c
build(deps): bump sqlparse from 0.4.4 to 0.5.0
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.4 to 0.5.0.
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.4...0.5.0)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:42:45 +00:00
github-actions[bot]
d2dc611c2e
Merge pull request #600 from EmilStenstrom/dependabot/pip/urllib3-2.2.2
build(deps): bump urllib3 from 2.2.1 to 2.2.2
2024-08-24 09:42:03 +00:00
dependabot[bot]
73dad70c04
build(deps): bump urllib3 from 2.2.1 to 2.2.2
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.2.1...2.2.2)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:40:52 +00:00
github-actions[bot]
8ffc0e9b62
Merge pull request #599 from EmilStenstrom/dependabot/pip/django-5.0.8
build(deps): bump django from 5.0.3 to 5.0.8
2024-08-24 09:40:24 +00:00
dependabot[bot]
15600ee83f
build(deps): bump django from 5.0.3 to 5.0.8
Bumps [django](https://github.com/django/django) from 5.0.3 to 5.0.8.
- [Commits](https://github.com/django/django/compare/5.0.3...5.0.8)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:39:21 +00:00
github-actions[bot]
e6797049f9
Merge pull request #598 from EmilStenstrom/dependabot/pip/zipp-3.19.1
build(deps): bump zipp from 3.18.1 to 3.19.1
2024-08-24 09:38:48 +00:00
dependabot[bot]
570b56509a
build(deps): bump zipp from 3.18.1 to 3.19.1
Bumps [zipp](https://github.com/jaraco/zipp) from 3.18.1 to 3.19.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.18.1...v3.19.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-24 09:37:37 +00:00
Emil Stenström
a8a3828076
Merge pull request #420 from GabDug/docs/init
docs: add mkdocs
2024-08-24 11:37:06 +02:00
Gabriel Dugny
4947bfe0f6 chore: banner 2024-08-24 11:24:43 +02:00
Gabriel Dugny
3f87571ce3 chore: remove content, keep only README 2024-08-24 11:24:43 +02:00
Gabriel Dugny
7211679bae chore: warn about WIP docs state 2024-08-24 11:24:43 +02:00
Gabriel Dugny
052945415e docs: add advanced topics 2024-08-24 11:24:43 +02:00
Gabriel Dugny
ab0b5c6266 chore: update README 2024-08-24 11:24:43 +02:00
Gabriel Dugny
19ee26a811 docs: absolute image link in the README 2024-08-24 11:24:26 +02:00
Gabriel Dugny
d56e27c05a chore: fix links, remove top navigation 2024-08-24 11:23:43 +02:00
Gabriel Dugny
95400944ec chore: working docs 2024-08-24 11:23:24 +02:00
Gabriel Dugny
295ea95d1b chore: remove hardcoded reference 2024-08-24 11:23:24 +02:00
Gabriel Dugny
d30eaaa801 chore: fixup 2024-08-24 11:23:24 +02:00
Gabriel Dugny
38b62e854b chore: add black in docs env 2024-08-24 11:23:24 +02:00
Gabriel Dugny
f56aa747c9 chore: upgrade docs CI 2024-08-24 11:23:24 +02:00
Gabriel Dugny
163b0941c2 chore: init docs 2024-08-24 11:23:24 +02:00
Juro Oravec
899b9a2738
refactor: move kwargs resolution to render-time + cleanup (#594)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-23 18:15:28 +02:00
Emil Stenström
83dcc3fe80
Merge pull request #595 from hostnfly/fix-annotated-type
fix: mypy checking with django plugin is broken
2024-08-23 17:58:35 +02:00
Felipe Batista da Silva
107702bcbd fix: mypy checking with django plugin is broken 2024-08-23 15:57:17 +02:00
Juro Oravec
f97717cdb3
chore: bump v0.92 (#593) 2024-08-22 23:45:19 +02:00
Juro Oravec
efd05d6150
feat: Typing for component inputs and access inputs during render (#585) 2024-08-22 23:42:34 +02:00
Emil Stenström
4dd3e3d5b3
Merge pull request #588 from EmilStenstrom/dependabot/pip/tox-4.18.0
build(deps-dev): bump tox from 4.17.1 to 4.18.0
2024-08-22 07:08:43 +02:00
dependabot[bot]
1b53f3a4a6
build(deps-dev): bump tox from 4.17.1 to 4.18.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.17.1 to 4.18.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.17.1...4.18.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-21 12:35:50 +00:00
Juro Oravec
5cb649fae6
chore: bump v0.91 (#592) 2024-08-21 14:34:27 +02:00
Juro Oravec
3a599ff369
fix: Allow None for attrs in html_attrs tag (#591) 2024-08-21 14:32:36 +02:00
Juro Oravec
03af25aad6
chore: bump v0.90 (#584) 2024-08-18 17:02:01 +02:00
Juro Oravec
71d8679e8d
feat: TagFormatter - Allow users to customize component template tags (#572)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-18 16:58:56 +02:00
Juro Oravec
b89c09aa5f
chore: bump v0.89 (#583) 2024-08-16 23:32:55 +02:00
Juro Oravec
b8e92dac37
fix: Set Context.template for components to work with include (#582) 2024-08-16 23:31:00 +02:00
Emil Stenström
b2fece49d2
Merge pull request #581 from EmilStenstrom/EmilStenstrom-patch-1
Create automate-dependabot.yml
2024-08-16 16:00:40 +02:00
Emil Stenström
6f664cf4b1 Create automate-dependabot.yml
This workflow runs gh pr merge automatically on all PR's from dependabot. Fixes https://github.com/EmilStenstrom/django-components/issues/575
2024-08-16 15:59:28 +02:00
Emil Stenström
a9bc3a0ba1
Don't run status checks twice for new PR:s. 2024-08-14 21:09:04 +02:00
Emil Stenström
d6944da56d
Merge pull request #579 from EmilStenstrom/dependabot/pip/tox-4.17.1
build(deps-dev): bump tox from 4.16.0 to 4.17.1
2024-08-13 22:28:07 +02:00
dependabot[bot]
4d8d5108d0 build(deps-dev): bump tox from 4.16.0 to 4.17.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.16.0 to 4.17.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.16.0...4.17.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-13 22:26:44 +02:00
Emil Stenström
9d872296e8
Merge pull request #578 from EmilStenstrom/dependabot/pip/django-5.1
build(deps): bump django from 5.0.8 to 5.1
2024-08-13 22:26:29 +02:00
dependabot[bot]
97f54a0264 build(deps): bump django from 5.0.8 to 5.1
Bumps [django](https://github.com/django/django) from 5.0.8 to 5.1.
- [Commits](https://github.com/django/django/compare/5.0.8...5.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-13 08:04:01 +02:00
Emil Stenström
3f17be9f32
Update README.md 2024-08-13 08:02:55 +02:00
Emil Stenström
28d9450ebf
Merge pull request #574 from EmilStenstrom/dependabot/pip/django-5.0.8
build(deps): bump django from 5.0.7 to 5.0.8
2024-08-08 06:43:52 +02:00
dependabot[bot]
404b1cc011
build(deps): bump django from 5.0.7 to 5.0.8
Bumps [django](https://github.com/django/django) from 5.0.7 to 5.0.8.
- [Commits](https://github.com/django/django/compare/5.0.7...5.0.8)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 19:35:53 +00:00
pre-commit-ci[bot]
8215b7d84e
[pre-commit.ci] pre-commit autoupdate (#573)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-06 08:59:52 +02:00
Juro Oravec
7bbfcf7565
chore: bump v0.88 (#571) 2024-08-05 22:40:29 +02:00
dependabot[bot]
15be52e343
build(deps-dev): bump mypy from 1.11.0 to 1.11.1 (#568)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-08-05 22:38:31 +02:00
dependabot[bot]
78edd5cf0f
build(deps-dev): bump black from 24.4.2 to 24.8.0 (#569)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-08-05 22:36:35 +02:00
dependabot[bot]
972d654bfd
build(deps-dev): bump flake8 from 7.1.0 to 7.1.1 (#570)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-08-05 22:34:24 +02:00
Juro Oravec
d6dec450ed
refactor: prepare registry for custom template tags and docs (#566)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-05 22:31:49 +02:00
Juro Oravec
c202c5a901
chore: bump v0.87 (#565) 2024-08-03 08:33:42 +02:00
Juro Oravec
e771a0aaaf
refactor: Use top-level exports as public API (#562)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-03 08:30:39 +02:00
Juro Oravec
d819f3ff49
chore: bump v0.86 (#564) 2024-07-30 09:39:42 +02:00
Jake Duth
6d8e6d8a49
Fix upgradecomponent (#563) 2024-07-30 09:37:34 +02:00
Juro Oravec
fbbbf6c694
fix: do not aggregate kwargs that start with colon (#561) 2024-07-29 20:58:55 +02:00
Juro Oravec
8cb88558f0
refactor: Prepare autodiscover and template loader for v1 (#533) 2024-07-29 20:27:35 +02:00
dependabot[bot]
b1bd430a07
build(deps-dev): bump pre-commit from 3.7.1 to 3.8.0 (#559)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-07-29 20:18:46 +02:00
dependabot[bot]
055bee326e
build(deps-dev): bump pytest from 8.3.1 to 8.3.2 (#560)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 19:44:43 +02:00
Emil Stenström
26a3f1473a
Merge pull request #553 from daniboygg/docs-single-file-components-jetbrains
Add documentation for jetbrains IDEs
2024-07-22 23:32:47 +02:00
daniboygg
82d532ab26 docs: add documentation for jetbrains IDEs
* Add documentation about code highlight on single-file-components
2024-07-22 23:15:54 +02:00
Emil Stenström
abe8d2051c
Merge pull request #555 from EmilStenstrom/dependabot/pip/mypy-1.11.0
build(deps-dev): bump mypy from 1.10.1 to 1.11.0
2024-07-22 23:14:20 +02:00
dependabot[bot]
301b302bd3 build(deps-dev): bump mypy from 1.10.1 to 1.11.0
Bumps [mypy](https://github.com/python/mypy) from 1.10.1 to 1.11.0.
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.1...v1.11)

---
updated-dependencies:
- dependency-name: mypy
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 23:12:32 +02:00
Emil Stenström
82aef5c381
Merge pull request #554 from EmilStenstrom/dependabot/pip/pytest-8.3.1
build(deps-dev): bump pytest from 8.2.2 to 8.3.1
2024-07-22 23:12:12 +02:00
dependabot[bot]
f5b9e236ea
build(deps-dev): bump pytest from 8.2.2 to 8.3.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.2 to 8.3.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 17:18:10 +00:00
Emil Stenström
42b6785528
Update tests.yml 2024-07-12 11:41:32 +02:00
Emil Stenström
f5da6bbd3a
Merge pull request #549 from EmilStenstrom/dependabot/pip/django-5.0.7
build(deps): bump django from 5.0.6 to 5.0.7
2024-07-11 16:17:12 +02:00
dependabot[bot]
ef0912bf37
build(deps): bump django from 5.0.6 to 5.0.7
Bumps [django](https://github.com/django/django) from 5.0.6 to 5.0.7.
- [Commits](https://github.com/django/django/compare/5.0.6...5.0.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-10 22:21:02 +00:00
dependabot[bot]
cd3dd2ff41
build(deps-dev): bump tox from 4.15.1 to 4.16.0 (#546)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 21:16:20 +02:00
Juro Oravec
d47927054c
chore: bump v0.84 (#544) 2024-07-08 11:04:38 +02:00
Juro Oravec
2953ca4dba
fix: do not monkeypatch already patched templates (#543) 2024-07-08 11:02:50 +02:00
Juro Oravec
31257a475d
chore: bump v0.83 (#542) 2024-07-08 10:27:38 +02:00
Juro Oravec
2684b41c07
fix: various fixes for inject/provide and html_attrs (#541)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-08 10:25:38 +02:00
Juro Oravec
23d91218bd
refactor: usage notes + tests for safer_staticfiles (#538)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-07-08 07:25:03 +02:00
dependabot[bot]
3dadba6636
build(deps-dev): bump mypy from 1.10.0 to 1.10.1 (#537)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-02 15:40:37 +02:00
Juro Oravec
e2222f291a
docs: fix table of contents (#535) 2024-06-25 21:49:53 +02:00
Juro Oravec
a4b4905bee
chore: bump v0.82 (#532) 2024-06-21 19:39:50 +02:00
Juro Oravec
3c5a7ad823
feat: paths as objects + user-provided Media cls + handle static (#526)
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
2024-06-21 19:36:53 +02:00
Emil Stenström
1d0d960211
Merge pull request #529 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-06-18 00:59:47 +02:00
pre-commit-ci[bot]
44247728a1
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/flake8: 7.0.0 → 7.1.0](https://github.com/pycqa/flake8/compare/7.0.0...7.1.0)
2024-06-17 22:32:08 +00:00
dependabot[bot]
1f3fa148a7
build(deps-dev): bump flake8 from 7.0.0 to 7.1.0 (#528)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 21:10:02 +02:00
Juro Oravec
09a7200097
chore: bump v0.81 (#525) 2024-06-12 09:12:54 +02:00
Emil Stenström
3f80dacb3c
Merge pull request #521 from JuroOravec/520-render-as-func
feat: refactor render fn and allow slots as functions
2024-06-11 22:30:57 +02:00
Juro Oravec
0a6d263ba3
Merge branch 'master' into 520-render-as-func 2024-06-11 21:57:06 +02:00
pre-commit-ci[bot]
49c4e84f07 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-06-11 19:43:02 +00:00
Juro Oravec
bca26c46f3 docs: update README 2024-06-11 21:42:45 +02:00
Juro Oravec
36cd6e3f06 refactor: compat with comp as view by reusing comp instance 2024-06-11 21:41:56 +02:00
Juro Oravec
7c52acf411 refactor: linter fixes 2024-06-11 15:08:02 +02:00
Juro Oravec
c6e3c0a213 refactor: update Component.render docstring 2024-06-11 15:06:14 +02:00
Juro Oravec
5c89d4dbeb refactor: pass slot data and slot default to slot render fn and rename LazySlot to SlotRef 2024-06-11 14:34:04 +02:00
Emil Stenström
c95c4e621c
Merge pull request #524 from EmilStenstrom/dependabot/pip/pytest-8.2.2
build(deps-dev): bump pytest from 8.2.1 to 8.2.2
2024-06-10 22:37:37 +02:00
Emil Stenström
ba920c98a0
Merge branch 'master' into dependabot/pip/pytest-8.2.2 2024-06-10 22:37:16 +02:00
Emil Stenström
eb8c402b28
Merge pull request #523 from EmilStenstrom/dependabot/pip/tox-4.15.1
build(deps-dev): bump tox from 4.15.0 to 4.15.1
2024-06-10 22:37:02 +02:00
dependabot[bot]
f526e71c85
build(deps-dev): bump pytest from 8.2.1 to 8.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.1 to 8.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.1...8.2.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 17:10:10 +00:00
dependabot[bot]
db46d194eb
build(deps-dev): bump tox from 4.15.0 to 4.15.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.15.0 to 4.15.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.15.0...4.15.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 17:09:37 +00:00
Juro Oravec
40f4476993 refactor: add test for response_class 2024-06-02 16:37:22 +02:00
pre-commit-ci[bot]
a5a0c74d31 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-06-02 14:23:56 +00:00
Juro Oravec
5f07f3d4da refactor: update tests 2024-06-02 16:22:49 +02:00
Juro Oravec
fee26ec1d8 feat: refactor render fn and allow slots as functions 2024-06-02 16:22:38 +02:00
Juro Oravec
3a7d5355cf
chore: bump v0.80 (#519) 2024-06-01 10:55:15 +02:00
Juro Oravec
8ca2814ee3
feat: dependency injection with inject/provide (#506) 2024-06-01 10:51:21 +02:00
Juro Oravec
9bfb50b8f2
chore: bump v0.79 (#517) 2024-06-01 09:33:47 +02:00
Juro Oravec
f3e0bf6b62
refactor: change context_behavior default to "django" (#515) 2024-06-01 09:24:52 +02:00
Juro Oravec
881c36219a
chore: bump v0.78 (#514) 2024-05-30 08:38:50 +02:00
Juro Oravec
b8ff610a48
fix: compat with block tag in django mode (#511)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-30 08:34:58 +02:00
Zach Bellay
0101f6dae6
fix: typo in html_attrs defaults dict fetching (#513)
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-05-30 08:29:57 +02:00
Juro Oravec
95f6554f4c
tests: Split test files and run template tests under both context behavior modes (#509)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-28 08:23:32 +02:00
Juro Oravec
8bbe81d717
chore: bump v0.77 (#505) 2024-05-23 20:28:33 +02:00
Juro Oravec
edb2f347f2
refactor: change fill alias from "as var" to default=var (#504) 2024-05-23 20:25:16 +02:00
Juro Oravec
c07f0e6341
chore: bump v0.76 (#503) 2024-05-23 07:10:18 +02:00
Juro Oravec
b1b66fd751
feat: Scoped slots + Updated docs (#495)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-23 07:08:10 +02:00
Emil Stenström
bdeb9c4e32
Merge pull request #501 from EmilStenstrom/dependabot/pip/pytest-8.2.1
build(deps-dev): bump pytest from 8.2.0 to 8.2.1
2024-05-20 20:06:00 +02:00
dependabot[bot]
0a2884cd74
build(deps-dev): bump pytest from 8.2.0 to 8.2.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.2.0 to 8.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.0...8.2.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-20 17:05:29 +00:00
Juro Oravec
badffdda35
chore: bump v0.75 (#500) 2024-05-19 09:58:36 +02:00
Michał Kuczaj
1817edd391
feat: alias component_registry imports for mypy (#499) 2024-05-19 09:56:48 +02:00
Emil Stenström
453b2a7e66
Merge pull request #497 from EmilStenstrom/dependabot/pip/pre-commit-3.7.1
build(deps-dev): bump pre-commit from 3.7.0 to 3.7.1
2024-05-14 18:18:57 +02:00
Emil Stenström
7af2473cf3
Merge branch 'master' into dependabot/pip/pre-commit-3.7.1 2024-05-14 18:18:01 +02:00
Emil Stenström
aa0167bccf
Merge pull request #496 from EmilStenstrom/dependabot/pip/django-5.0.6
build(deps): bump django from 5.0.5 to 5.0.6
2024-05-14 18:17:48 +02:00
dependabot[bot]
a5978f7fc7
build(deps-dev): bump pre-commit from 3.7.0 to 3.7.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.7.0...v3.7.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 17:48:16 +00:00
dependabot[bot]
90d6d940ef
build(deps): bump django from 5.0.5 to 5.0.6
Bumps [django](https://github.com/django/django) from 5.0.5 to 5.0.6.
- [Commits](https://github.com/django/django/compare/5.0.5...5.0.6)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 17:47:55 +00:00
Juro Oravec
dd292b0350
chore: bump v0.74 (#493) 2024-05-12 11:26:26 +02:00
Juro Oravec
610475353f
feat: Support for HTML attributes and html_attrs tag (#491) 2024-05-12 11:21:34 +02:00
Juro Oravec
ba86cee578
chore: bump v0.73 (#492) 2024-05-07 21:44:57 +02:00
Alex Martin (Contexte)
d18aefc629
fix: make template_loader consider tuples for STATICFILES_DIRS (#489)
Co-authored-by: Juro Oravec <juraj.oravec.josefson@gmail.com>
2024-05-07 21:41:46 +02:00
Juro Oravec
085c60a8c9
chore: bump v0.72 (#490) 2024-05-07 15:15:15 +02:00
Juro Oravec
dd6540cfcc
fix: incorrect name for default slot in is_filled dict (#482) 2024-05-07 15:11:40 +02:00
dependabot[bot]
dee1524dc0
build(deps): bump django from 5.0.4 to 5.0.5 (#487)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 20:59:32 +02:00
Juro Oravec
2316f79dff
chore: bump v0.71 (#481) 2024-05-05 14:31:59 +02:00
Juro Oravec
bf61df81b7
feat: support special chars # @ - . : in component kwargs (#477)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-05 14:23:27 +02:00
Emil Stenström
4646695b3e
Merge pull request #474 from JuroOravec/470-refactor-tests
tests: add inline syntax highlight, inline template files
2024-05-03 23:38:00 +02:00
Juro Oravec
49f64ec61c refactor: fix linter issues 2024-05-03 15:03:01 +02:00
Juro Oravec
13ecb2dace
Merge branch 'master' into 470-refactor-tests 2024-05-03 12:10:06 +02:00
Emil Stenström
d06dab6703
Merge pull request #475 from EmilStenstrom/standalone-tests
Inline component view tests
2024-05-03 10:37:16 +02:00
pre-commit-ci[bot]
3bef2cae11 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-05-02 21:17:20 +00:00
Emil Stenström
7de554b440 Cleanup unneeded stuff. 2024-05-02 23:14:28 +02:00
Emil Stenström
9b56f1d165 Inline test_replace_context_in_view_with_insecure_content. 2024-05-02 23:11:05 +02:00
Emil Stenström
61b0832525 Inline test_replace_slot_in_view_with_insecure_content. 2024-05-02 23:09:17 +02:00
Emil Stenström
2949969ea5 Inline test_replace_slot_in_view. 2024-05-02 23:00:40 +02:00
Emil Stenström
8d8ae35c0e Inline test_get_request & test_post_request. 2024-05-02 22:57:39 +02:00
Emil Stenström
678346313c Inline data for test_render_component_from_template. 2024-05-02 22:53:02 +02:00
pre-commit-ci[bot]
04d968ace9 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-05-02 20:34:46 +00:00
Juro Oravec
8c4a55901c tests: add inline syntax highlight, inline template files 2024-05-02 22:33:02 +02:00
Juro Oravec
e566d8ecbb
fix: loader tags compatibility (#468) 2024-05-02 22:24:49 +02:00
Shixian Sheng
eef331e903
Update README.md (#469) 2024-05-01 22:16:13 +02:00
Juro Oravec
e346c07298
chore: bump v0.70 (#467) 2024-05-01 21:09:41 +02:00
Juro Oravec
3fc90e4956
feat: merge context settings, replace if_filled tag with var
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-05-01 20:55:09 +02:00
TheSteveBurgess
0f3491850b
feat: Support both sync and async in ComponentDependencyMiddleware
Co-authored-by: TheSteveBurgess
2024-05-01 17:01:09 +02:00
pre-commit-ci[bot]
8ada8ec3c7
[pre-commit.ci] pre-commit autoupdate (#463)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-30 11:32:32 +02:00
dependabot[bot]
3e96c583cc
build(deps-dev): bump pytest from 8.1.1 to 8.2.0 (#462)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 11:12:00 +02:00
dependabot[bot]
15a8b21a76
build(deps-dev): bump mypy from 1.9.0 to 1.10.0 (#461)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 11:07:51 +02:00
dependabot[bot]
4bad8d7415
build(deps-dev): bump tox from 4.14.2 to 4.15.0 (#460)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 11:04:40 +02:00
dependabot[bot]
f491a6d250
build(deps-dev): bump black from 24.4.0 to 24.4.2 (#459)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 11:01:15 +02:00
Juro Oravec
981eb59cf1
feat: Allow multiple slots with the same name in the same template
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-29 15:09:25 +02:00
Juro Oravec
29c931f150
refactor: fix slot fills for components nested in themselves (#456)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-25 20:36:05 +02:00
Juro Oravec
091da26da5
refactor: Tests cleanup and better test isolation (#452)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-25 14:20:33 +02:00
Juro Oravec
ae22eff8af
refactor: fix context vars missing in isolated slot (#455)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-04-25 12:08:20 +02:00
Juro Oravec
e4e787b29d
chore: bump v0.68 (#451) 2024-04-23 21:41:37 +02:00
Juro Oravec
3ad0dd8677
refactor: fix slot context behavior (#445) 2024-04-23 21:35:45 +02:00
Dylan Castillo
f3d6337ecc
Merge pull request #448 from tanssinet/doc-fixes
Documentation fixes
2024-04-21 19:59:20 +02:00
Mikko Ahonen
8f674000fa Fix: Fixed calendar view example in README
Fixes EmilStenstrom/django-components#446
2024-04-21 20:11:05 +03:00
Mikko Ahonen
a2225bf58f Fix: Fixed load tag name in README
Fixes EmilStenstrom/django-components#447
2024-04-21 20:05:22 +03:00
Juro Oravec
be4b1f1a02
Merge pull request #443 from JuroOravec/jo-drop-support-django-32-40-41 2024-04-19 09:41:35 +02:00
pre-commit-ci[bot]
9e6c645346 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-18 11:35:01 +00:00
Juro Oravec
eb40afba7b refactor: remove Django30CompatibleTestCase 2024-04-18 13:33:58 +02:00
Juro Oravec
6478776269 chore: drop support for Django 3.2, 4.0, 4.1 2024-04-18 10:44:19 +02:00
Juro Oravec
4a25c9d56b refactor: update Django supported versions scraper 2024-04-18 10:43:43 +02:00
Juro Oravec
0abb5aa63f
Merge pull request #442 from JuroOravec/master 2024-04-17 23:44:20 +02:00
Juro Oravec
23528b0a96
Merge branch 'master' into master 2024-04-17 23:39:47 +02:00
Juro Oravec
267a196d26 chore: release v0.67 2024-04-17 23:32:34 +02:00
Juro Oravec
c422f20ee4
Merge pull request #437 from JuroOravec/350-feat-slot-context-resolution 2024-04-17 23:22:01 +02:00
Juro Oravec
2c451693ab refactor: add TRACE log level 2024-04-17 11:17:06 +02:00
Juro Oravec
bacd683c44 refactor: fix type imports in tests 2024-04-16 23:25:13 +02:00
Juro Oravec
8b8121bde2 docs: fix typos 2024-04-16 23:25:13 +02:00
Juro Oravec
1b6cc7c192 refactor: fix settings in sampleproject 2024-04-16 23:25:13 +02:00
Juro Oravec
691b663ed5 refactor: use copy() instead of __copy__ 2024-04-16 23:25:13 +02:00
Juro Oravec
091a692993 refactor: remove extra type: ignore 2024-04-16 23:25:13 +02:00
Juro Oravec
3e75db59ae refactor: replace Sequence with List 2024-04-16 23:25:13 +02:00
Juro Oravec
1d0da559b4 refactor: remove typealias import 2024-04-16 23:25:13 +02:00
Juro Oravec
f28e5695f4 docs: add settings info to README 2024-04-16 23:25:13 +02:00
Juro Oravec
623a5fe365 refactor: fix types for render and render_to_response 2024-04-16 23:25:13 +02:00
Juro Oravec
bb114b4002 refactor: fix linter errors 2024-04-16 23:25:13 +02:00
pre-commit-ci[bot]
ab7f3e0cdb [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-16 23:25:13 +02:00
Juro Oravec
089cda54c5 refactor: fix tests 2024-04-16 23:25:13 +02:00
Juro Oravec
ce5b5c40d8 refactor: use component IDs as keys for slot fill llokup 2024-04-16 23:25:13 +02:00
Juro Oravec
c1369ab2c7 feat: add tracing logger statements 2024-04-16 23:25:13 +02:00
Juro Oravec
f86eeb25a9 feat: add unique IDs to our nodes for easier debugging 2024-04-16 23:25:13 +02:00
Juro Oravec
f3a2bcbc4f refactor: rename for easier debugging 2024-04-16 23:25:13 +02:00
Juro Oravec
1dd492314a refactor: use component_id instead of Template as slot fill cache key 2024-04-16 23:25:13 +02:00
Juro Oravec
969f0bdc32 refactor: make settings getter react to changes in settings 2024-04-16 23:25:13 +02:00
Juro Oravec
7b64aa6791 refactor: update example of config to sampleproject settings 2024-04-16 23:25:12 +02:00
Juro Oravec
390b16f764 refactor: fix minor errors 2024-04-16 23:25:12 +02:00
pre-commit-ci[bot]
7fbccbf009 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-16 23:25:12 +02:00
Juro Oravec
9d9462162a refactor: merge Base, Implicit and Named FillNodes into FillNode 2024-04-16 23:25:12 +02:00
pre-commit-ci[bot]
c0c9e145a9 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-16 23:25:12 +02:00
Juro Oravec
d297249d9f feat: resolve slot context based on settings 2024-04-16 23:25:12 +02:00
Juro Oravec
ec12a3bcb8 feat: capture root context 2024-04-16 23:25:12 +02:00
Juro Oravec
8d3a2ba8db refactor: simplify slot intermediate slot types 2024-04-16 23:25:12 +02:00
Juro Oravec
094e05054d refactor: make fill parsers always return list 2024-04-16 23:25:12 +02:00
Emil Stenström
4562f3b3da
Merge pull request #438 from EmilStenstrom/dependabot/pip/black-24.4.0
build(deps-dev): bump black from 24.3.0 to 24.4.0
2024-04-16 22:26:22 +02:00
Emil Stenström
ffba0994c6
Merge branch 'master' into dependabot/pip/black-24.4.0 2024-04-16 22:26:13 +02:00
Emil Stenström
98d56ba9b0
Merge pull request #439 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-04-16 22:25:58 +02:00
dependabot[bot]
b3f5e8a690
build(deps-dev): bump black from 24.3.0 to 24.4.0
Bumps [black](https://github.com/psf/black) from 24.3.0 to 24.4.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.3.0...24.4.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 11:02:36 +00:00
pre-commit-ci[bot]
890fcc2e7e [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 24.3.0 → 24.4.0](https://github.com/psf/black/compare/24.3.0...24.4.0)
2024-04-16 13:02:06 +02:00
Emil Stenström
ffeeb1355e
Merge pull request #440 from EmilStenstrom/dependabot/pip/sqlparse-0.5.0
build(deps): bump sqlparse from 0.4.4 to 0.5.0
2024-04-16 13:01:34 +02:00
dependabot[bot]
cae046ceee
build(deps): bump sqlparse from 0.4.4 to 0.5.0
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.4 to 0.5.0.
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.4...0.5.0)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 22:53:50 +00:00
Emil Stenström
c3a80b7290 Bump version. 2024-04-14 23:09:00 +02:00
Emil Stenström
3ba8b16a68 Add PNG logo too. 2024-04-14 23:08:26 +02:00
Emil Stenström
6c4466b7b2
Merge pull request #435 from JuroOravec/431-fix-autodiscovery-name-clash
refactor: fix clash with autodiscovery
2024-04-14 23:05:59 +02:00
Juro Oravec
e4950b79f7 refactor: update readme about autodiscovery 2024-04-14 20:38:12 +02:00
Juro Oravec
9104a43944 refactor: use BASE_DIR for project_root 2024-04-14 20:21:13 +02:00
pre-commit-ci[bot]
752567bf7c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-14 14:49:07 +00:00
Juro Oravec
fd9c441024 refactor: fix linter errors 2024-04-14 16:48:55 +02:00
Juro Oravec
e6725c8445 refactor: update tests 2024-04-14 16:46:43 +02:00
Juro Oravec
a08072c515 refactor: add logger and move importlib one scope up 2024-04-14 16:46:17 +02:00
Juro Oravec
5ca4313238 refactor: fix mypy error 2024-04-14 13:54:39 +02:00
Juro Oravec
1f72535cf1 refactor: skip test 2024-04-14 13:51:08 +02:00
pre-commit-ci[bot]
8ff35ae5e5 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-04-14 11:10:56 +00:00
Juro Oravec
dae49c42a8 refactor: add tests 2024-04-14 13:10:45 +02:00
Juro Oravec
78503de0ec refactor: linter fixes 2024-04-13 21:37:52 +02:00
Juro Oravec
003c8ba4d5 refactor: fix clash with autodiscovery 2024-04-13 21:34:43 +02:00
Emil Stenström
ddc62c7dfc Make background white for black backgrounds. 2024-04-13 10:29:09 +02:00
Emil Stenström
e9b0874ff8 Use relative URL. 2024-04-13 10:22:59 +02:00
Emil Stenström
9b5a691606 Testing setting a white background to make logo work on dark backgrounds. 2024-04-13 10:22:11 +02:00
Emil Stenström
a1c7952067 Add logotype to project. 2024-04-13 10:18:21 +02:00
Emil Stenström
274be10478 Bump version. 2024-04-11 23:54:13 +02:00
Emil Stenström
3facfb14a2
Merge pull request #432 from JuroOravec/fix-relative-templates
refactor: use sys.modules to get component file path
2024-04-11 23:53:21 +02:00
Juro Oravec
3050dc71b9 refactor: add test 2024-04-11 23:44:36 +02:00
Juro Oravec
3f8abc7388 refactor: use sys.modules to get component file path 2024-04-11 23:22:48 +02:00
Emil Stenström
bc7ff0af1a
Merge pull request #428 from franciscobmacedo/fix-inconsistent-file-names-in-README
fix: inconsistent file names in README.md
2024-04-09 14:05:49 +02:00
Francisco Macedo
c31395ea28 fix: inconsistent file names in README.md 2024-04-09 11:22:39 +01:00
Emil Stenström
2e126065e7
Merge pull request #427 from EmilStenstrom/dependabot/pip/django-5.0.4
Bump django from 5.0.3 to 5.0.4
2024-04-08 21:46:08 +02:00
dependabot[bot]
91b66be56b
Bump django from 5.0.3 to 5.0.4
Bumps [django](https://github.com/django/django) from 5.0.3 to 5.0.4.
- [Commits](https://github.com/django/django/compare/5.0.3...5.0.4)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 17:39:38 +00:00
Emil Stenström
cd791caa57 Bump version. 2024-04-04 08:35:06 +02:00
Dylan Castillo
0f278f3c25
Fix issue #421 (#422) 2024-04-04 08:29:26 +02:00
Gabriel Dugny
84db2b7314
build: move to PEP517 and pyproject.toml, drop support for Py3.6 and Py3.7 (#417)
* chore: move to pyproject.toml

* chore: forced to drop Python 3.6 to upgrade

* chore: drop support for Python 3.6 and 3.7

* chore: remove old references to py36/py37

* chore: remove setup.py, replaced by pyproject.toml
2024-03-31 19:20:35 +02:00
Juro Oravec
9aa446acc8
refactor: move slots logic to own file (#416)
* refactor: move slots logic to own file

* docs: add readme section for how slots work

* chore: isort

* refactor: fix type alias

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* refactor: fix isort issues again

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-30 22:55:27 +01:00
Emil Stenström
ae5cda9f72 Bump version. 2024-03-30 09:18:33 +01:00
Juro Oravec
2c8fc6c3a2
fix: avoid nested django contexts when rendering (#415)
* fix: avoid nested django contexts when rendering

* refactor: make input for slot context processing more specific

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-30 09:17:55 +01:00
Emil Stenström
20847b978b Bump version. 2024-03-29 23:41:49 +01:00
Emil Stenström
7e90444ae2
Merge pull request #410 from GabDug/feat/type-hints
feat: full type hints
2024-03-29 23:41:00 +01:00
Gabriel Dugny
b9f4e596a4 feat: add type hints everywhere 2024-03-29 08:51:58 +01:00
Emil Stenström
c11f30ec7c
Merge pull request #407 from GabDug/fix/tox-use-wheel
Use wheel in tests, adopt src layout
2024-03-29 07:56:06 +01:00
pre-commit-ci[bot]
05fbd70b32 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-03-29 07:50:10 +01:00
Gabriel Dugny
a818f18423 fix: support legacy tox and setuptools for Python 3.6 2024-03-29 07:50:10 +01:00
Gabriel Dugny
44f984c84b fix: make tox use the wheel 2024-03-29 07:50:10 +01:00
Gabriel Dugny
a7901c7c17 chore: use src layout 2024-03-29 07:50:10 +01:00
Emil Stenström
f2c925e1e2
Merge pull request #408 from EmilStenstrom/dependabot/pip/pre-commit-3.7.0
Bump pre-commit from 3.6.2 to 3.7.0
2024-03-25 22:52:51 +01:00
dependabot[bot]
e47fa0d85c Bump pre-commit from 3.6.2 to 3.7.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.2 to 3.7.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.2...v3.7.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 22:52:34 +01:00
Emil Stenström
ae9e99a412
Merge pull request #409 from EmilStenstrom/dependabot/pip/tox-4.14.2
Bump tox from 4.14.1 to 4.14.2
2024-03-25 22:52:18 +01:00
dependabot[bot]
23671cf6a2
Bump tox from 4.14.1 to 4.14.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.14.1 to 4.14.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.14.1...4.14.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 17:55:06 +00:00
Emil Stenström
a9c922c8e6
Merge pull request #406 from GabDug/fix/type-component-registry
fix: type component registry
2024-03-24 21:52:27 +01:00
pre-commit-ci[bot]
0a1b6ca6ab [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-03-24 17:01:07 +00:00
Gabriel Dugny
715326b5c2 fix: 3.6 syntax for type hints 2024-03-24 18:00:55 +01:00
Gabriel Dugny
3952fd7437 fix: type component registry 2024-03-24 17:40:16 +01:00
Emil Stenström
04160f4e0b Bump version. 2024-03-24 12:11:13 +01:00
Emil Stenström
fa6abab06e
Merge pull request #404 from JuroOravec/fix-release-v0.60
Fix realeases v0.60 and v0.52
2024-03-24 12:10:47 +01:00
Juro Oravec
12463c365b refactor: move py.typed into django_components dir 2024-03-24 10:09:36 +01:00
Juro Oravec
d4244578ed refactor: change utils dir to file to fix missing import 2024-03-24 10:09:15 +01:00
Emil Stenström
ceb74b289d
Merge pull request #400 from EmilStenstrom/dependabot/pip/black-24.3.0
Bump black from 24.2.0 to 24.3.0
2024-03-23 19:03:53 +01:00
Emil Stenström
d512cfb0fe Bump version. 2024-03-23 19:03:05 +01:00
Juro Oravec
37fd901908
Resolve media and template files relative to component class dir (#395), thanks @JuroOravec
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
2024-03-23 19:01:39 +01:00
dependabot[bot]
4c997fde9a Bump black from 24.2.0 to 24.3.0
Bumps [black](https://github.com/psf/black) from 24.2.0 to 24.3.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.2.0...24.3.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-23 18:50:27 +01:00
pre-commit-ci[bot]
1de859bd34
[pre-commit.ci] pre-commit autoupdate (#402)
updates:
- [github.com/psf/black: 24.2.0 → 24.3.0](https://github.com/psf/black/compare/24.2.0...24.3.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-18 23:27:13 +01:00
Emil Stenström
95d6eacb5c Bump version. 2024-03-15 23:39:35 +01:00
Emil Stenström
33bd14e75c Remove unnessesary debug from tox run. 2024-03-15 23:39:00 +01:00
Emil Stenström
5f30917664 Remove old comments. 2024-03-15 23:38:15 +01:00
Juro Oravec
b14dec9777
Add mypy support (#396), thanks @JuroOravec 2024-03-15 23:31:15 +01:00
dependabot[bot]
4090c928ee Bump pytest from 8.0.2 to 8.1.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.2 to 8.1.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.2...8.1.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 21:50:21 +01:00
dependabot[bot]
f1c2a1b310 Bump tox from 4.13.0 to 4.14.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.13.0 to 4.14.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.13.0...4.14.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 21:49:33 +01:00
Emil Stenström
7058f05e04 Bump version. 2024-03-07 08:21:47 +01:00
Emil Stenström
454b9ee4dc
Merge pull request #391 from dylanjcastillo/add-type-hints
Add type hints
2024-03-05 11:05:56 +01:00
Dylan Castillo
b58100eb9d Remove typing-extensions 2024-03-05 10:29:39 +01:00
Dylan Castillo
25fe39c6d6
Merge branch 'master' into add-type-hints 2024-03-04 21:45:37 +01:00
Emil Stenström
f7dbad34f9
Merge pull request #393 from EmilStenstrom/dependabot/pip/django-5.0.3
Bump django from 5.0.2 to 5.0.3
2024-03-04 20:55:09 +01:00
Emil Stenström
0782639c96
Merge pull request #392 from EmilStenstrom/dependabot/pip/black-24.2.0
Bump black from 24.1.1 to 24.2.0
2024-03-04 20:54:56 +01:00
dependabot[bot]
1ec1c54500
Bump django from 5.0.2 to 5.0.3
Bumps [django](https://github.com/django/django) from 5.0.2 to 5.0.3.
- [Commits](https://github.com/django/django/compare/5.0.2...5.0.3)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 17:13:52 +00:00
dependabot[bot]
2f3ea75a22
Bump black from 24.1.1 to 24.2.0
Bumps [black](https://github.com/psf/black) from 24.1.1 to 24.2.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/24.1.1...24.2.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 17:13:28 +00:00
Dylan Castillo
2ed3b40d05 Add type hints 2024-03-02 14:39:26 +01:00
Emil Stenström
24517ddd61
Merge pull request #389 from EmilStenstrom/EmilStenstrom-patch-1
Update README.md
2024-02-26 22:59:17 +01:00
Emil Stenström
5a13a611f5
Update README.md 2024-02-26 22:59:09 +01:00
Emil Stenström
a074d0c70f
Merge pull request #376 from EmilStenstrom/simplify-api
Rename component_block to compnent (Fixes #232)
2024-02-26 22:55:19 +01:00
Emil Stenström
58f46448bd
Merge branch 'master' into simplify-api 2024-02-26 22:52:55 +01:00
Emil Stenström
c932f28cb4 Make a big version jump to signify big change. 2024-02-26 22:51:49 +01:00
Emil Stenström
02ca78a480
Merge pull request #388 from EmilStenstrom/dependabot/pip/pytest-8.0.2
Bump pytest from 8.0.1 to 8.0.2
2024-02-26 21:09:16 +01:00
dependabot[bot]
da2dfab489
Bump pytest from 8.0.1 to 8.0.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.1...8.0.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 17:28:57 +00:00
Emil Stenström
f5855b50e3
Merge pull request #387 from dylanjcastillo/add-community-examples
Add django-htmx-components
2024-02-24 16:28:14 +01:00
Dylan Castillo
b5acdd6a99 Add django-htmx-components 2024-02-24 15:25:15 +01:00
Emil Stenström
76a0cde3af Bump version. 2024-02-22 08:58:36 +01:00
Emil Stenström
f4bfeb2404 Bump version. 2024-02-22 08:54:08 +01:00
Emil Stenström
a32128a420 Don't rely on BASE_DIR being a Path. 2024-02-22 08:31:50 +01:00
Emil Stenström
94110b5e91 Add red notice to README. 2024-02-21 22:38:06 +01:00
pre-commit-ci[bot]
c8a1915f58 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-02-21 22:38:06 +01:00
Emil Stenström
1f50ed0bd5 Add script to upgrade component syntax. 2024-02-21 22:38:06 +01:00
Emil Stenström
926877d1d6 Make tox read from pyproject.toml too. 2024-02-21 22:38:06 +01:00
Emil Stenström
eb5f5952ae Remove duplicate mention of component tag. 2024-02-21 22:38:06 +01:00
Emil Stenström
edf3885632 Replace all instances of component_block with component. Remove duplicate tests. 2024-02-21 22:38:06 +01:00
Emil Stenström
48fe8171b4 Reformat lines that became too long. And enforce 119 line length. 2024-02-21 22:38:06 +01:00
Emil Stenström
ef6a082238 Remove component tag in favour of component_block. 2024-02-21 22:38:06 +01:00
dependabot[bot]
f3350ced11 Bump tox from 4.12.1 to 4.13.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.12.1...4.13.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-21 21:38:20 +01:00
Emil Stenström
4b28793a99 Ignore python-version. 2024-02-21 21:31:32 +01:00
dependabot[bot]
143e79e28e Bump pytest from 8.0.0 to 8.0.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 22:37:42 +01:00
Emil Stenström
c73cc0a763
Merge pull request #382 from EmilStenstrom/dependabot/pip/pre-commit-3.6.2
Bump pre-commit from 3.6.1 to 3.6.2
2024-02-19 22:36:41 +01:00
dependabot[bot]
22395ae3f4
Bump pre-commit from 3.6.1 to 3.6.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.1 to 3.6.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.1...v3.6.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 17:53:46 +00:00
Emil Stenström
1f943bd264
Merge pull request #378 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-02-13 22:09:32 +01:00
pre-commit-ci[bot]
f563c8a907
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 24.1.1 → 24.2.0](https://github.com/psf/black/compare/24.1.1...24.2.0)
2024-02-13 00:13:45 +00:00
Emil Stenström
20d5dd81a1
Merge pull request #377 from EmilStenstrom/dependabot/pip/pre-commit-3.6.1
Bump pre-commit from 3.6.0 to 3.6.1
2024-02-12 19:57:20 +01:00
dependabot[bot]
7ec8073df9
Bump pre-commit from 3.6.0 to 3.6.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.6.0...v3.6.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 17:16:03 +00:00
Emil Stenström
188a9dc7ee Bump version. 2024-02-09 09:24:15 +01:00
Emil Stenström
a3e162c94f
Merge pull request #372 from dylanjcastillo/fix-issue-290
Look for components in BASE_DIR/components as well
2024-02-08 08:51:55 +01:00
Dylan Castillo
5b296b02a3 Remove more prints, sorry :/ 2024-02-08 08:45:00 +01:00
Dylan Castillo
5c2b7eb640 Remove unnecessary function 2024-02-08 08:45:00 +01:00
Dylan Castillo
bb639d45c6 Remove unnecessary print 2024-02-08 08:45:00 +01:00
Dylan Castillo
567c8ccc3d Fix for #290 2024-02-08 08:45:00 +01:00
Emil Stenström
87cf485a5d
Merge pull request #373 from EmilStenstrom/dependabot/pip/django-5.0.2
Bump django from 5.0.1 to 5.0.2
2024-02-08 08:43:34 +01:00
dependabot[bot]
ef3548cebb
Bump django from 5.0.1 to 5.0.2
Bumps [django](https://github.com/django/django) from 5.0.1 to 5.0.2.
- [Commits](https://github.com/django/django/compare/5.0.1...5.0.2)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 17:40:16 +00:00
Emil Stenström
91a7e0943f
Merge pull request #370 from EmilStenstrom/dependabot/pip/pytest-8.0.0
Bump pytest from 7.4.4 to 8.0.0
2024-02-02 21:12:16 +01:00
dependabot[bot]
46bcef798f Bump pytest from 7.4.4 to 8.0.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.4 to 8.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.4...8.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 22:38:13 +01:00
Emil Stenström
4761d6d50f
Merge pull request #371 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-01-29 22:37:56 +01:00
pre-commit-ci[bot]
eac0cb6f4b [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-29 20:46:50 +00:00
pre-commit-ci[bot]
40147319fe
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.12.1 → 24.1.1](https://github.com/psf/black/compare/23.12.1...24.1.1)
2024-01-29 20:46:43 +00:00
Emil Stenström
9f42432320 Bump version. 2024-01-27 23:12:18 +01:00
Dylan Castillo
dc9f1b46b2
Fix issue #368 and add tests (#369) 2024-01-27 23:10:03 +01:00
Emil Stenström
997ed52bb6 Lower coverage threshold to 93 because it's lower in CI. 2024-01-27 22:27:22 +01:00
Emil Stenström
4a7c248d83 Run coverage locally aswell. 2024-01-27 22:20:36 +01:00
Emil Stenström
c003c4be1b Use GitHub Actions with node20 to avoid warnings. 2024-01-27 22:12:54 +01:00
Emil Stenström
db03e0dcbc Add coverage in CI. Pin to current 94%. 2024-01-27 22:08:32 +01:00
Emil Stenström
b8c6ebf4c4 Add coverage in CI. Pin to current 94%. 2024-01-27 22:04:32 +01:00
Emil Stenström
084a06fad8 Another way to comment to avoid Github error. 2024-01-27 13:48:13 +01:00
Emil Stenström
0778ec8e3b Creating a virtualenv for Python 3.6 requires older virtualenv version. 2024-01-27 13:44:08 +01:00
Emil Stenström
f75086115f Creating a virtualenv for Python 3.6 requires older virtualenv version. 2024-01-27 13:42:32 +01:00
Emil Stenström
6874b1531d Bump version. 2024-01-27 09:22:20 +01:00
Emil Stenström
8239359c0a Make py.test work on recent tox 2024-01-27 09:11:45 +01:00
Dylan Castillo
91b4accfeb
Render components as views (#366) (thanks @dylanjcastillo) 2024-01-24 22:36:57 +01:00
Emil Stenström
b29e7fba80 Update dependencies. 2024-01-24 10:17:58 +01:00
Emil Stenström
6c528d7a72
Merge pull request #365 from EmilStenstrom/dependabot/pip/tox-4.12.1
Bump tox from 4.12.0 to 4.12.1
2024-01-22 18:43:04 +01:00
dependabot[bot]
767a507147
Bump tox from 4.12.0 to 4.12.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.12.0 to 4.12.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.12.0...4.12.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 17:21:45 +00:00
Emil Stenström
ea33e0db6c Bump version. 2024-01-19 22:58:03 +01:00
Emil Stenström
83ba14d699
Merge pull request #364 from dylanjcastillo/fix-django-compressor
Fix for issue with django-compressor
2024-01-19 22:56:40 +01:00
Dylan Castillo
90d41c6946 Make nodelist a public attribute 2024-01-19 16:09:54 +01:00
Emil Stenström
bab1b09f73
Merge pull request #363 from EmilStenstrom/EmilStenstrom-patch-1
Update CODE_OF_CONDUCT.md
2024-01-17 09:40:25 +01:00
Emil Stenström
de13acfa82
Update CODE_OF_CONDUCT.md 2024-01-17 09:40:07 +01:00
dependabot[bot]
0ca738e4c0 Bump tox from 4.11.4 to 4.12.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.11.4 to 4.12.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.11.4...4.12.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 22:02:52 +01:00
pre-commit-ci[bot]
665d5af827 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-15 21:58:42 +01:00
Dylan Castillo
560b721523 Change context behavior setting to enum 2024-01-15 21:58:42 +01:00
Dylan Castillo
8971849922 Revert formatting changes 2024-01-15 21:58:42 +01:00
Dylan Castillo
aa1b4e1903 Add setting to isolate components' context by default 2024-01-15 21:58:42 +01:00
Dylan Castillo
d38f6a8426 Revert formatting changes 2024-01-15 21:58:42 +01:00
Dylan Castillo
4da76c178b Add setting to isolate components' context by default 2024-01-15 21:58:42 +01:00
Emil Stenström
93facba53e Bump version. 2024-01-14 22:47:12 +01:00
Dylan Castillo
864c85b067 Update README.md 2024-01-14 22:40:17 +01:00
Dylan Castillo
ec656f25cb Document ComponentDependencyMiddleware 2024-01-14 22:40:17 +01:00
Dylan Castillo
d7cfb9ae9e Fix example in readme 2024-01-14 22:36:55 +01:00
Dylan Castillo
70a2a01400 Implement single file components 2024-01-14 22:36:55 +01:00
dependabot[bot]
27521a5402 Bump flake8 from 6.1.0 to 7.0.0
Bumps [flake8](https://github.com/pycqa/flake8) from 6.1.0 to 7.0.0.
- [Commits](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 09:51:33 +01:00
dependabot[bot]
5e360cd51f Bump django from 5.0 to 5.0.1
Bumps [django](https://github.com/django/django) from 5.0 to 5.0.1.
- [Commits](https://github.com/django/django/compare/5.0...5.0.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 09:18:39 +01:00
pre-commit-ci[bot]
89879ab053 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/flake8: 6.1.0 → 7.0.0](https://github.com/pycqa/flake8/compare/6.1.0...7.0.0)
2024-01-09 08:59:40 +01:00
dependabot[bot]
9038353bca Bump pytest from 7.4.3 to 7.4.4
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-03 12:32:14 +01:00
pre-commit-ci[bot]
9e66d7710b [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.12.0 → 23.12.1](https://github.com/psf/black/compare/23.12.0...23.12.1)
2023-12-25 23:17:05 +01:00
pre-commit-ci[bot]
c7e0f7fa5b [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 5.13.0 → 5.13.2](https://github.com/pycqa/isort/compare/5.13.0...5.13.2)
- [github.com/psf/black: 23.11.0 → 23.12.0](https://github.com/psf/black/compare/23.11.0...23.12.0)
2023-12-20 10:32:32 +01:00
dependabot[bot]
f6ad4cf8d6 Bump isort from 5.13.0 to 5.13.2
Bumps [isort](https://github.com/pycqa/isort) from 5.13.0 to 5.13.2.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.13.0...5.13.2)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-18 21:24:17 +01:00
Emil Stenström
8ce649498f Bump version. 2023-12-17 23:41:27 +01:00
Dylan Castillo
27b35f32b9
Add startcomponent test cases and setup (#346) 2023-12-17 23:40:12 +01:00
pre-commit-ci[bot]
3b89480bfc [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 5.12.0 → 5.13.0](https://github.com/pycqa/isort/compare/5.12.0...5.13.0)
2023-12-11 22:40:34 +01:00
dependabot[bot]
77a1fe1870 Bump isort from 5.12.0 to 5.13.0
Bumps [isort](https://github.com/pycqa/isort) from 5.12.0 to 5.13.0.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.12.0...5.13.0)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 22:37:51 +01:00
dependabot[bot]
89b7ade415 Bump pre-commit from 3.5.0 to 3.6.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 22:22:52 +01:00
Emil Stenström
4f1a818446 Bump version (correct this time). 2023-12-09 14:06:53 +01:00
Emil Stenström
99bf7ad9f8 Fix incorrect PyPI classifier preventing release. 2023-12-09 13:53:28 +01:00
Emil Stenström
a322dcf3f4 Bump version. 2023-12-09 13:48:46 +01:00
Emil Stenström
a13253d9e5 Add 3.12 to CI. 2023-12-09 13:43:29 +01:00
Emil Stenström
99b0cbc67a Update django-components to support Python 3.12 and Django 5.0. 2023-12-09 13:41:34 +01:00
Emil Stenström
5a6dc23e67 Add versions for CI. 2023-12-09 13:13:56 +01:00
Emil Stenström
2cbf34eddf Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-12-09 12:56:44 +01:00
Emil Stenström
266b1a13c5 Include testing version upgrades. 2023-12-09 12:56:09 +01:00
Emil Stenström
de9b2c03a0 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-12-09 12:07:24 +01:00
Emil Stenström
f4899795e8 Update supported versions script slightly. 2023-12-09 12:06:33 +01:00
Emil Stenström
5ca0c43071 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-12-09 12:05:02 +01:00
Emil Stenström
8a7dd1a53c Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-12-09 11:32:10 +01:00
Emil Stenström
ef583d8edb Build README automatically too. 2023-12-09 11:32:07 +01:00
dependabot[bot]
054c9d2f84 Bump django from 4.2.7 to 5.0
Bumps [django](https://github.com/django/django) from 4.2.7 to 5.0.
- [Commits](https://github.com/django/django/compare/4.2.7...5.0)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-09 08:41:49 +01:00
dependabot[bot]
1b79f3a282 Bump tox from 4.11.3 to 4.11.4
Bumps [tox](https://github.com/tox-dev/tox) from 4.11.3 to 4.11.4.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.11.3...4.11.4)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-07 14:25:07 +01:00
Wessel Blokzijl
63ce90f25a Rename calendar.js/css to script.js/style.css 2023-12-03 12:50:05 +01:00
Wessel Blokzijl
89498af722 Clean up README.md
- Remove trailing whitespace
- Use the same quotes as django defaults
- Use consisten name for css and js in tutorial
2023-12-03 12:50:05 +01:00
pre-commit-ci[bot]
726060d3e3 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.10.1 → 23.11.0](https://github.com/psf/black/compare/23.10.1...23.11.0)
2023-11-13 22:21:41 +01:00
dependabot[bot]
b66f4db431 Bump django from 4.2.6 to 4.2.7
Bumps [django](https://github.com/django/django) from 4.2.6 to 4.2.7.
- [Commits](https://github.com/django/django/compare/4.2.6...4.2.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-04 10:38:56 +01:00
dependabot[bot]
5a4a6b0cd6 Bump pytest from 7.4.2 to 7.4.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.2 to 7.4.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 23:24:03 +01:00
Hanif Birgani
92341b4f8d
Merge pull request #329 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2023-10-27 20:24:46 +03:30
pre-commit-ci[bot]
5a26670843
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.9.1 → 23.10.1](https://github.com/psf/black/compare/23.9.1...23.10.1)
2023-10-23 20:57:44 +00:00
Hanif Birgani
c31af0c549 feat(docs): add startcomponent docs to the README.md file. related #323 2023-10-21 23:37:36 +02:00
dependabot[bot]
52645ddb37 Bump pre-commit from 3.4.0 to 3.5.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 22:51:57 +02:00
Emil Stenström
24032ac2ea Bump version. 2023-10-09 22:31:44 +02:00
Hanif Birgani
4753698765 fix(context): change context template in the template file and rename context dict keys with default values. 2023-10-09 22:28:11 +02:00
Hanif Birgani
ba436c0080 fix: raise command error if path or BASE_DIR not available 2023-10-09 22:28:11 +02:00
pre-commit-ci[bot]
4f4b81b7a0 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-09 22:28:11 +02:00
Hanif Birgani
58c7d55256 fix(management):
- Add `path` argument for custom component path
- Add `js`, `css`, `template` arguments for custom component script, style and template files
- Add `force` argument to force rewrite the existing component
- Add `verbose` option to make the command more informative
- Add `dry-run` option to simulate the command without writing to disk
- related #249
2023-10-09 22:28:11 +02:00
Hanif Birgani
af107910a6 fix(management):
- use `textwrap.dedent` for better readability
- remove unused comments from generated python file
- related #249
2023-10-09 22:28:11 +02:00
Hanif Birgani
a45bfdc837 fix(management): change a line to pass flake8. related #249 2023-10-09 22:28:11 +02:00
pre-commit-ci[bot]
deb17c6c70 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-10-09 22:28:11 +02:00
Hanif Birgani
825b0cbbaa feat(management): [WIP] add startcomponent management command. related #249 2023-10-09 22:28:11 +02:00
dependabot[bot]
cba42271f7 Bump django from 4.2.5 to 4.2.6
Bumps [django](https://github.com/django/django) from 4.2.5 to 4.2.6.
- [Commits](https://github.com/django/django/compare/4.2.5...4.2.6)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 20:58:59 +02:00
Emil Stenström
9d7d0b40b9 Bump version. 2023-09-29 16:08:32 +02:00
Roman Imankulov
16826f45f9 Change the order of arguments in assertHTMLEqual() 2023-09-29 16:06:52 +02:00
Roman Imankulov
0cc507fd5d Replace self.assertEqual() with self.assertHTMLEqual() 2023-09-29 16:06:52 +02:00
pre-commit-ci[bot]
6a633c67a8 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-29 16:06:52 +02:00
Roman Imankulov
a919b648b3 Add support for - and / in component names in middleware
- Fix the COMPONENT_COMMENT_REGEX to find component names with special symbols.
- Fix the test to catch the error.

Follow-up of e0c29e5 and ref: #262
2023-09-29 16:06:52 +02:00
Emil Stenström
c0fc6c0a12 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-09-29 12:48:29 +02:00
Emil Stenström
719637b3aa Minor: Remove type attribute from right side to make usage more intuitive. 2023-09-29 12:48:23 +02:00
dependabot[bot]
3318bde9c3 Bump tox from 4.11.1 to 4.11.3
Bumps [tox](https://github.com/tox-dev/tox) from 4.11.1 to 4.11.3.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.11.1...4.11.3)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-14 23:17:20 +02:00
dependabot[bot]
f15db9a152 Bump pytest from 7.4.1 to 7.4.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.1 to 7.4.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.1...7.4.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-14 23:17:11 +02:00
pre-commit-ci[bot]
b2e5ad432c [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.7.0 → 23.9.1](https://github.com/psf/black/compare/23.7.0...23.9.1)
2023-09-14 23:16:49 +02:00
dependabot[bot]
d934278226 Bump django from 4.2.4 to 4.2.5
Bumps [django](https://github.com/django/django) from 4.2.4 to 4.2.5.
- [Commits](https://github.com/django/django/compare/4.2.4...4.2.5)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 21:14:09 +02:00
dependabot[bot]
f9b6315cfa Bump pytest from 7.4.0 to 7.4.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.0 to 7.4.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.0...7.4.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 21:13:52 +02:00
dependabot[bot]
359394431a Bump tox from 4.10.0 to 4.11.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.10.0 to 4.11.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.10.0...4.11.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 21:13:33 +02:00
dependabot[bot]
8f4f96eeef Bump pre-commit from 3.3.3 to 3.4.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.3.3 to 3.4.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.3.3...v3.4.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 21:10:48 +02:00
Emil Stenström
9797810125 Bump version. 2023-09-03 11:47:06 +02:00
Emil Stenström
e0c29e55b7 Add support for - and / in component names in middleware. 2023-09-03 11:44:40 +02:00
dependabot[bot]
dd71c9abb8 Bump tox from 4.6.4 to 4.10.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.4 to 4.10.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.4...4.10.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-26 19:17:16 +02:00
Arkadiusz Adamski
a56fc40f19 fix: endfill instead of endslot in README.md 2023-08-26 09:42:57 +02:00
Jake Duth
480bb45d35 Add missing syntax 2023-08-14 07:11:33 +02:00
dependabot[bot]
dd14f508d1 Bump django from 4.2.3 to 4.2.4
Bumps [django](https://github.com/django/django) from 4.2.3 to 4.2.4.
- [Commits](https://github.com/django/django/compare/4.2.3...4.2.4)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 23:43:51 +02:00
pre-commit-ci[bot]
214ded2800 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/flake8: 6.0.0 → 6.1.0](https://github.com/pycqa/flake8/compare/6.0.0...6.1.0)
2023-08-03 13:35:55 +02:00
dependabot[bot]
9a65c885db Bump flake8 from 6.0.0 to 6.1.0
Bumps [flake8](https://github.com/pycqa/flake8) from 6.0.0 to 6.1.0.
- [Commits](https://github.com/pycqa/flake8/compare/6.0.0...6.1.0)

---
updated-dependencies:
- dependency-name: flake8
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 22:39:39 +02:00
pre-commit-ci[bot]
a44d350ce3 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.3.0 → 23.7.0](https://github.com/psf/black/compare/23.3.0...23.7.0)
2023-07-14 08:03:17 +02:00
dependabot[bot]
ad8f5addfe Bump tox from 4.6.3 to 4.6.4
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.3 to 4.6.4.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.3...4.6.4)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 09:14:39 +02:00
dependabot[bot]
abe258ee30 Bump django from 4.2.2 to 4.2.3
Bumps [django](https://github.com/django/django) from 4.2.2 to 4.2.3.
- [Commits](https://github.com/django/django/compare/4.2.2...4.2.3)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-04 12:43:45 +02:00
dependabot[bot]
1d39dcc358 Bump tox from 4.6.2 to 4.6.3
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.2 to 4.6.3.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.2...4.6.3)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 07:31:02 +02:00
dependabot[bot]
d2b59aad80 Bump pre-commit from 3.3.2 to 3.3.3
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.3.2...v3.3.3)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 07:28:44 +02:00
dependabot[bot]
5026cbdbc5 Bump pytest from 7.3.2 to 7.4.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.2 to 7.4.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.2...7.4.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 07:27:00 +02:00
dependabot[bot]
0bf5370a4b Bump tox from 4.6.0 to 4.6.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.6.0 to 4.6.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.6.0...4.6.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 21:19:25 +02:00
dependabot[bot]
36b1c4386e Bump pytest from 7.3.1 to 7.3.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.1...7.3.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-12 21:06:57 +02:00
dependabot[bot]
d6f93b4320 Bump django from 4.2.1 to 4.2.2
Bumps [django](https://github.com/django/django) from 4.2.1 to 4.2.2.
- [Commits](https://github.com/django/django/compare/4.2.1...4.2.2)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 16:49:02 +02:00
dependabot[bot]
e6feb51e93 Bump tox from 4.5.2 to 4.6.0
Bumps [tox](https://github.com/tox-dev/tox) from 4.5.2 to 4.6.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.5.2...4.6.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 16:47:07 +02:00
dependabot[bot]
e4bce7868f Bump tox from 4.5.1 to 4.5.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.5.1...4.5.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 09:08:12 +02:00
Hanif Birgani
215308afee
Merge pull request #285 from EmilStenstrom/dependabot/pip/pre-commit-3.3.2
Bump pre-commit from 3.3.1 to 3.3.2
2023-05-23 15:44:54 +03:30
dependabot[bot]
c818979673
Bump pre-commit from 3.3.1 to 3.3.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.3.1...v3.3.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 17:57:12 +00:00
lemontheme
c174aa9802 Bump version 2023-05-22 14:59:19 +02:00
VojtechPetru
26bd72a9e2
Invalid slot more helpful message (#283)
* more helpful message when filling invalid slot name

* Update tests/test_templatetags.py

Co-authored-by: Emil Stenström <emil@emilstenstrom.se>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add missing import; set -> typing.Set

* fix after rebase

* set -> typing.Set

* let -> typing.List

* Reduce duplicated effort; extend helpfulness; add extra comments

code qa

---------

Co-authored-by: Emil Stenström <emil@emilstenstrom.se>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: lemontheme <lemontheme@gmail.com>
2023-05-22 14:54:18 +02:00
lemontheme
e0a5c2a4bc Bump version 2023-05-18 20:11:22 +02:00
VojtechPetru
9fd53436d7
Fix - fill inside loop (#273)
* simple iteration fill test case

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* a couple more tests

* distinguish between filled & default value

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: adriaan <lemontheme@gmail.com>
2023-05-18 15:46:46 +02:00
adriaan
2d86f042da
Implement #231 – default slot filling (#269)
* Add 'default' slot option + implicit fills; tests; docs
* Differentiate between standard fillnodes and implicitfillnodes on type lvl
* Reworking slot-fill rendering logic. Simplifying component interfact. Add new get_string_template method
* First working implementation of chainmap instead of stacks for slot resolution
* Stop passing FillNode to Component initalizer -> better decoupling
* Treat fill name and alias and component name as filterexpression, dropping namedvariable
* Name arg of if_filled tags and slots must be string literal
2023-05-18 14:58:46 +02:00
Emil Stenström
349e9fe65f Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-05-18 09:40:10 +02:00
Emil Stenström
a1b5b73af5 Add back synchronize trigger again. 2023-05-18 09:38:35 +02:00
Emil Stenström
e5eaf86a7e All back synchronize again. 2023-05-18 09:37:41 +02:00
dependabot[bot]
16a59e0640 Bump django from 4.2 to 4.2.1
Bumps [django](https://github.com/django/django) from 4.2 to 4.2.1.
- [Commits](https://github.com/django/django/compare/4.2...4.2.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 21:42:18 +02:00
dependabot[bot]
b324c76c2e Bump pre-commit from 3.2.2 to 3.3.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.2 to 3.3.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.2.2...v3.3.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 21:15:52 +02:00
Emil Stenström
b1ea325c5e
Run tests for all officially supported Django/Python combos
This PR updates the CI to run against the same combinations of Django and Python that Django officially supports.

It additionally adds a new script, that can automate this dance the next time: You simply run the script, and copy the results to tox.ini and setup.py.
2023-05-03 22:01:25 +02:00
Emil Stenström
d57db39f51
Merge pull request #279 from EmilStenstrom/dependabot/pip/tox-4.5.1
Bump tox from 4.4.12 to 4.5.1
2023-05-03 10:06:22 +02:00
dependabot[bot]
cb0561e3bf
Bump tox from 4.4.12 to 4.5.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.12 to 4.5.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.12...4.5.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 17:56:50 +00:00
adriaan
316310e842
Bump version 2023-04-24 17:44:29 +02:00
Timothy
1bbd4a1f3c
Use valid script tag HTML to avoid console errors (#271) 2023-04-24 17:37:59 +02:00
Emil Stenström
44a74c5353
Merge pull request #274 from EmilStenstrom/dependabot/pip/sqlparse-0.4.4
Bump sqlparse from 0.4.3 to 0.4.4
2023-04-22 08:04:18 +02:00
Emil Stenström
64af42891a
Merge branch 'master' into dependabot/pip/sqlparse-0.4.4 2023-04-22 08:03:24 +02:00
Emil Stenström
c865726b5e
Merge pull request #275 from VojtechPetru/update/collectstatic-ignore_pycache
ignore .pyc files in collectstatic management command
2023-04-22 08:02:52 +02:00
vojtech
814f526658 ignore .pyc files in collectstatic 2023-04-22 01:27:35 +02:00
dependabot[bot]
713c8d9ef4
Bump sqlparse from 0.4.3 to 0.4.4
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/andialbrecht/sqlparse/releases)
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.3...0.4.4)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 22:38:38 +00:00
Emil Stenström
80f116d289
Merge pull request #268 from EmilStenstrom/dependabot/pip/pytest-7.3.1
Bump pytest from 7.3.0 to 7.3.1
2023-04-16 21:29:54 +02:00
dependabot[bot]
2ecf62500b
Bump pytest from 7.3.0 to 7.3.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.3.0...7.3.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-16 19:28:54 +00:00
Emil Stenström
6fe22b27be
Update dependabot.yml
Update doc link which didn't work any more, and change interval to weekly to avoid some spam.
2023-04-16 21:28:16 +02:00
Emil Stenström
2a122f259d
Merge pull request #266 from EmilStenstrom/dependabot/pip/tox-4.4.12
Bump tox from 4.4.11 to 4.4.12
2023-04-16 21:23:26 +02:00
dependabot[bot]
89743f9d1a
Bump tox from 4.4.11 to 4.4.12
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.11 to 4.4.12.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.11...4.4.12)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-14 17:56:46 +00:00
lemontheme
fcbfae3c5f Bump version 2023-04-13 14:26:10 +02:00
adriaan
6f49339c91
fix/263 performance regression (#264)
* Replace deep copies in Component.render
* Add 2nd example component to sampleproject
2023-04-13 14:20:43 +02:00
lemontheme
2cfc7285e1 Bump version 2023-04-11 14:00:45 +02:00
adriaan
fa41387a53
Introduce safer_staticfiles app as user-friendly security measure for #260 (#261)
* Introduce safer_staticfiles app to ignore .py,.html as security measure. Docs up-to-date

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-04-11 13:55:11 +02:00
Emil Stenström
2fa8b46936
Merge pull request #259 from EmilStenstrom/dependabot/pip/pytest-7.3.0
Bump pytest from 7.2.2 to 7.3.0
2023-04-10 20:32:11 +02:00
dependabot[bot]
7c9aa90510
Bump pytest from 7.2.2 to 7.3.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.2 to 7.3.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.2...7.3.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 17:57:17 +00:00
Emil Stenström
544c562f2b
Merge pull request #258 from EmilStenstrom/dependabot/pip/tox-4.4.11
Bump tox from 4.4.8 to 4.4.11
2023-04-06 21:28:12 +02:00
dependabot[bot]
a7144db747 Bump tox from 4.4.8 to 4.4.11
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.8 to 4.4.11.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.8...4.4.11)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 21:27:05 +02:00
Emil Stenström
1ce8483c54
Merge pull request #255 from EmilStenstrom/dependabot/pip/pre-commit-3.2.2
Bump pre-commit from 3.2.1 to 3.2.2
2023-04-06 21:26:51 +02:00
Emil Stenström
d6dd5a31de
Merge branch 'master' into dependabot/pip/pre-commit-3.2.2 2023-04-06 21:25:52 +02:00
Emil Stenström
93a32ced27
Merge pull request #254 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2023-04-06 21:25:41 +02:00
Emil Stenström
e0734b4c17
Merge branch 'master' into dependabot/pip/pre-commit-3.2.2 2023-04-06 21:24:46 +02:00
Emil Stenström
a1c440fa32
Merge branch 'master' into pre-commit-ci-update-config 2023-04-06 21:24:23 +02:00
Emil Stenström
302e9f32fa
Merge pull request #253 from EmilStenstrom/dependabot/pip/django-4.2
Bump django from 4.1.7 to 4.2
2023-04-06 21:24:12 +02:00
dependabot[bot]
658c9a7a7a
Bump pre-commit from 3.2.1 to 3.2.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.2.1...v3.2.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 19:22:34 +00:00
dependabot[bot]
3ce71cf048
Bump django from 4.1.7 to 4.2
Bumps [django](https://github.com/django/django) from 4.1.7 to 4.2.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.7...4.2)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-06 19:22:33 +00:00
Emil Stenström
ea7beb518c Bump version. 2023-04-06 21:21:05 +02:00
Emil Stenström
980a08e9fa
Merge pull request #257 from lemontheme/fix/250-failing-tests
Fix #250 (3.6 failing) by removing postponed eval of type hints
2023-04-06 21:13:09 +02:00
lemontheme
15269922a8 empty 2023-04-06 21:10:02 +02:00
pre-commit-ci[bot]
14f9d87d7a [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-04-06 14:09:51 +00:00
lemontheme
bb181f47b0 Remove dangling comment 2023-04-06 16:08:17 +02:00
lemontheme
a47b007f67 Fix #250 (3.6 failing) by removing postponed eval of type hints. 2023-04-06 15:52:45 +02:00
Emil Stenström
2848a3184d Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-04-04 21:00:38 +02:00
Emil Stenström
be243c2844 Try adding the django bits back again. 2023-04-04 21:00:35 +02:00
pre-commit-ci[bot]
2e9d597891
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 23.1.0 → 23.3.0](https://github.com/psf/black/compare/23.1.0...23.3.0)
2023-04-04 06:50:13 +00:00
Emil Stenström
7895f7e075
Merge pull request #251 from EmilStenstrom/dependabot/pip/tox-4.4.8
Bump tox from 4.4.7 to 4.4.8
2023-03-27 23:15:42 +02:00
dependabot[bot]
3070f50fa8
Bump tox from 4.4.7 to 4.4.8
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.7 to 4.4.8.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.7...4.4.8)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 21:13:46 +00:00
Emil Stenström
3bca11c393
Merge pull request #252 from EmilStenstrom/dependabot/pip/pre-commit-3.2.1
Bump pre-commit from 3.2.0 to 3.2.1
2023-03-27 23:08:45 +02:00
dependabot[bot]
05dd86fa80
Bump pre-commit from 3.2.0 to 3.2.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 17:57:55 +00:00
Emil Stenström
3db493f123 Specify fail_on_no_env = True. 2023-03-25 09:54:03 +01:00
Emil Stenström
656011c2a4 Downgrade to Ubuntu 20 to get 3.6 support back. 2023-03-25 09:36:43 +01:00
Emil Stenström
c8f73cde35 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-03-25 09:34:17 +01:00
Emil Stenström
89c3ac7407 Upgrade CI to latest version, and simplify tox.ini 2023-03-25 09:31:14 +01:00
Emil Stenström
196c748a9f Upgrade CI to latest version, and simplify tox.ini 2023-03-25 09:29:22 +01:00
Emil Stenström
d658fecf5c Remove contributors, they are already in the sidebar. 2023-03-24 21:47:15 +01:00
Emil Stenström
e292c9b9da
Merge pull request #248 from EmilStenstrom/contributors-readme-action-iAKvpMskk4
docs(contributor): contributors readme action update
2023-03-23 22:25:56 +01:00
github-actions[bot]
82fa0e9f5d
docs(contributor): contrib-readme-action has updated readme 2023-03-23 20:38:24 +00:00
adriaan
7544bd10e2
Add regression test for #239 (broke extends tags) + minor tweaks (#247) 2023-03-23 21:38:08 +01:00
Emil Stenström
6fcddccd6c
Merge pull request #245 from EmilStenstrom/contributors-readme-action-j2n48unB18
docs(contributor): contributors readme action update
2023-03-21 23:00:20 +01:00
Emil Stenström
d02865c5b1
Merge pull request #233 from EmilStenstrom/dependabot/pip/pytest-7.2.2
Bump pytest from 7.2.1 to 7.2.2
2023-03-21 22:59:11 +01:00
github-actions[bot]
9a27c5c9cc
docs(contributor): contrib-readme-action has updated readme 2023-03-21 21:58:20 +00:00
Emil Stenström
ee7dab1435
Merge branch 'master' into dependabot/pip/pytest-7.2.2 2023-03-21 22:58:16 +01:00
dependabot[bot]
d6a5c1bc86 Bump tox from 4.4.6 to 4.4.7
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.6 to 4.4.7.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.6...4.4.7)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 22:58:05 +01:00
dependabot[bot]
2e62cede67 Bump pre-commit from 3.1.1 to 3.2.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 22:56:13 +01:00
lemontheme
16022429da Bump version 2023-03-20 17:24:28 +01:00
Serafeim Papastefanos
f68390953a
Fix for #239 (#240)
* Fix for #239
* Improve patch
2023-03-20 17:06:00 +01:00
Emil Stenström
69660e31c5
Create .github/FUNDING.yml 2023-03-16 08:58:10 +01:00
Emil Stenström
13aba82983
Merge branch 'master' into dependabot/pip/pytest-7.2.2 2023-03-15 00:03:17 +01:00
github-actions[bot]
a0f29b249d docs(contributor): contrib-readme-action has updated readme 2023-03-15 00:02:34 +01:00
Emil Stenström
a350ad1a86 Bump version. 2023-03-15 00:00:12 +01:00
Emil Stenström
2ae7dfcee3
Update README.md 2023-03-14 23:59:11 +01:00
dependabot[bot]
da4c3fde4d
Bump pytest from 7.2.1 to 7.2.2
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.1 to 7.2.2.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.1...7.2.2)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 22:43:24 +00:00
Emil Stenström
c102019811 Bump version. 2023-03-14 23:42:05 +01:00
lemontheme
898d148382 Add required kwd to slot tag and add test
Move required slot check to SlotNode.render(); clean up needed

Remove unused code; drop caching

Update docs

Incorporate PR feedback
2023-03-14 23:40:21 +01:00
lemontheme
a8dfcce24e Introduce {% fill %} replacing 'fill' func of 'slot' tag
Partial implementation fill-tags plus update tests

Implement {% fill %} tags. Next: update tests.

Bring back support for {%slot%} blocks for bckwrd-compat and implement ambig. resolution policy

Update tests to use fill blocks. Add extra checks that raise errors

Add new tests for fill-slot nesting

Update README. Editing still required

remove unused var ctxt after flake8 complaint

fix flake8 warning about slotless f-string

[pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

Add new slot aliases in fill context. Clean up rendering logic in Component. Update docs.

fix flake8, isort, black errors

Refactor duplicated name validation

Add if_filled tag + elif_filled...else_filled...endif_filled for cond. slots

Fix mistake in do_if_filled() docstring

Upload templates for tests! D'oh

Incorporate PR feedback

Drop Literal type hint; Use isort off-on instead of skip in tests

Treat all fill,slot,if_filled,component names as variables

Reset sampleproject components

Add test for variable filled name

Update examples in docs
2023-03-14 23:40:21 +01:00
Emil Stenström
714fc9edb0
Merge pull request #230 from EmilStenstrom/dependabot/pip/pre-commit-3.1.1
Bump pre-commit from 3.1.0 to 3.1.1
2023-03-02 16:46:25 +01:00
dependabot[bot]
fd4998b356
Bump pre-commit from 3.1.0 to 3.1.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 17:57:12 +00:00
Emil Stenström
61697949a8
Merge pull request #229 from EmilStenstrom/dependabot/pip/pre-commit-3.1.0
Bump pre-commit from 3.0.4 to 3.1.0
2023-02-23 19:13:34 +01:00
dependabot[bot]
69ee122a1f
Bump pre-commit from 3.0.4 to 3.1.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.0.4 to 3.1.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.0.4...v3.1.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-23 17:13:27 +00:00
Emil Stenström
586dc76d5e
Merge pull request #228 from EmilStenstrom/dependabot/pip/tox-4.4.6
Bump tox from 4.4.5 to 4.4.6
2023-02-21 22:53:09 +01:00
dependabot[bot]
75441112c1
Bump tox from 4.4.5 to 4.4.6
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.5 to 4.4.6.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.5...4.4.6)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-21 18:30:16 +00:00
Emil Stenström
94ae7dea1f
Merge pull request #227 from EmilStenstrom/dependabot/pip/django-4.1.7
Bump django from 4.1.6 to 4.1.7
2023-02-14 22:48:21 +01:00
dependabot[bot]
a420dbef93
Bump django from 4.1.6 to 4.1.7
Bumps [django](https://github.com/django/django) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.6...4.1.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 17:57:05 +00:00
Emil Stenström
6751501583
Merge pull request #224 from EmilStenstrom/dependabot/pip/tox-4.4.5
Bump tox from 4.4.4 to 4.4.5
2023-02-12 09:42:32 +01:00
dependabot[bot]
4e82f11ef7
Bump tox from 4.4.4 to 4.4.5
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.4 to 4.4.5.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.4...4.4.5)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 21:19:36 +00:00
Emil Stenström
384ff79e08 Bump version. 2023-02-09 22:17:58 +01:00
Emil Stenström
47af3151e2 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2023-02-09 22:15:51 +01:00
Emil Stenström
36237f0752 Make Media.css and Media.js optional. 2023-02-09 22:15:47 +01:00
Emil Stenström
de14a940ec
Merge pull request #223 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2023-02-07 09:05:36 +01:00
pre-commit-ci[bot]
0996a14544 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-02-07 04:59:41 +00:00
pre-commit-ci[bot]
09f2b8c5dd
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 22.12.0 → 23.1.0](https://github.com/psf/black/compare/22.12.0...23.1.0)
2023-02-07 04:59:35 +00:00
Emil Stenström
d949e6d3c0
Merge pull request #222 from EmilStenstrom/dependabot/pip/pre-commit-3.0.4
Bump pre-commit from 3.0.3 to 3.0.4
2023-02-06 22:52:10 +01:00
dependabot[bot]
a5365df1ea
Bump pre-commit from 3.0.3 to 3.0.4
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 17:01:16 +00:00
Emil Stenström
f92b2ee3ad
Merge pull request #219 from EmilStenstrom/dependabot/pip/django-4.1.6
Bump django from 4.1.5 to 4.1.6
2023-02-03 21:16:58 +01:00
Emil Stenström
389c97db96
Merge branch 'master' into dependabot/pip/django-4.1.6 2023-02-03 21:15:43 +01:00
Emil Stenström
cde708493f
Merge pull request #220 from EmilStenstrom/dependabot/pip/pre-commit-3.0.3
Bump pre-commit from 3.0.2 to 3.0.3
2023-02-03 10:16:11 +01:00
dependabot[bot]
5beb87a09f
Bump pre-commit from 3.0.2 to 3.0.3
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-02 17:01:06 +00:00
Emil Stenström
feebfa8e1e
Merge branch 'master' into dependabot/pip/django-4.1.6 2023-02-02 11:01:41 +01:00
Emil Stenström
5b48a2da82
Merge pull request #218 from EmilStenstrom/dependabot/pip/tox-4.4.4
Bump tox from 4.4.2 to 4.4.4
2023-02-02 11:01:23 +01:00
dependabot[bot]
f5862aa44f
Bump django from 4.1.5 to 4.1.6
Bumps [django](https://github.com/django/django) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.5...4.1.6)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 17:02:23 +00:00
dependabot[bot]
eee8dd5959
Bump tox from 4.4.2 to 4.4.4
Bumps [tox](https://github.com/tox-dev/tox) from 4.4.2 to 4.4.4.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.4.2...4.4.4)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-01 17:01:25 +00:00
Emil Stenström
675038f508
Merge pull request #216 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2023-01-31 08:16:27 +01:00
pre-commit-ci[bot]
d5a80559d4
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 5.11.4 → 5.12.0](https://github.com/pycqa/isort/compare/5.11.4...5.12.0)
2023-01-31 03:58:22 +00:00
Emil Stenström
f3bc744e7e
Merge pull request #214 from EmilStenstrom/dependabot/pip/pre-commit-3.0.2
Bump pre-commit from 3.0.1 to 3.0.2
2023-01-30 22:59:19 +01:00
Emil Stenström
d20e947ebe
Merge branch 'master' into dependabot/pip/pre-commit-3.0.2 2023-01-30 22:28:02 +01:00
Emil Stenström
de5dbd76fd
Merge pull request #215 from EmilStenstrom/dependabot/pip/isort-5.12.0
Bump isort from 5.11.4 to 5.12.0
2023-01-30 22:27:44 +01:00
dependabot[bot]
c2d7f7df6a
Bump isort from 5.11.4 to 5.12.0
Bumps [isort](https://github.com/pycqa/isort) from 5.11.4 to 5.12.0.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.4...5.12.0)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 17:02:06 +00:00
dependabot[bot]
758afa0209
Bump pre-commit from 3.0.1 to 3.0.2
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 17:01:11 +00:00
Emil Stenström
f34a8a4651
Merge pull request #213 from EmilStenstrom/dependabot/pip/tox-4.4.2
Bump tox from 4.1.1 to 4.4.2
2023-01-27 21:20:11 +01:00
dependabot[bot]
162189b648
Bump tox from 4.1.1 to 4.4.2
Bumps [tox](https://github.com/tox-dev/tox) from 4.1.1 to 4.4.2.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.1.1...4.4.2)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 17:01:06 +00:00
Emil Stenström
b6769ff5ad
Merge pull request #210 from EmilStenstrom/dependabot/pip/pytest-7.2.1
Bump pytest from 7.2.0 to 7.2.1
2023-01-26 18:05:56 +01:00
Emil Stenström
3c06428402
Merge branch 'master' into dependabot/pip/pytest-7.2.1 2023-01-26 18:05:03 +01:00
Emil Stenström
b616922297
Merge pull request #212 from EmilStenstrom/dependabot/pip/pre-commit-3.0.1
Bump pre-commit from 2.21.0 to 3.0.1
2023-01-26 18:03:22 +01:00
dependabot[bot]
f0e1a35daa
Bump pre-commit from 2.21.0 to 3.0.1
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.21.0 to 3.0.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.21.0...v3.0.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 17:01:06 +00:00
dependabot[bot]
35fcea5b32
Bump pytest from 7.2.0 to 7.2.1
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.2.0 to 7.2.1.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.2.0...7.2.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 17:01:27 +00:00
Emil Stenström
9103eda2f4
Merge pull request #208 from EmilStenstrom/contributors-readme-action-BKMOtBTSKT
docs(contributor): contributors readme action update
2023-01-07 13:44:25 +01:00
Emil Stenström
42e5606654 Bump version. 2023-01-07 13:42:16 +01:00
github-actions[bot]
ac8c12f43d
docs(contributor): contrib-readme-action has updated readme 2023-01-07 12:31:57 +00:00
Emil Stenström
0f601628b5
Merge pull request #207 from hjalves/master
Issue loading media when RENDER_DEPENDENCIES True
2023-01-07 13:31:42 +01:00
Humberto Alves
f7ae307c79 Add test for passing a response to the middleware without Content-Type header. 2023-01-05 09:59:55 +00:00
Emil Stenström
9578ef16cd
Merge branch 'master' into master 2023-01-04 00:07:03 +01:00
Emil Stenström
d99abc0537
Merge pull request #206 from EmilStenstrom/dependabot/pip/django-4.1.5
Bump django from 4.1.4 to 4.1.5
2023-01-02 19:08:01 +01:00
dependabot[bot]
5faf151662
Bump django from 4.1.4 to 4.1.5
Bumps [django](https://github.com/django/django) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.4...4.1.5)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 17:00:47 +00:00
Emil Stenström
4e9c5c9e4e
Merge pull request #205 from EmilStenstrom/dependabot/pip/tox-4.1.1
Bump tox from 4.0.19 to 4.1.1
2022-12-30 20:22:07 +01:00
dependabot[bot]
82e7fcd194
Bump tox from 4.0.19 to 4.1.1
Bumps [tox](https://github.com/tox-dev/tox) from 4.0.19 to 4.1.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.0.19...4.1.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-30 17:00:52 +00:00
Emil Stenström
7c6bff3d87
Merge pull request #204 from EmilStenstrom/dependabot/pip/tox-4.0.19
Bump tox from 4.0.18 to 4.0.19
2022-12-28 21:32:09 +01:00
dependabot[bot]
9eb64470c3
Bump tox from 4.0.18 to 4.0.19
Bumps [tox](https://github.com/tox-dev/tox) from 4.0.18 to 4.0.19.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.0.18...4.0.19)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-28 17:00:45 +00:00
Emil Stenström
0447d8d4b9
Merge pull request #203 from EmilStenstrom/dependabot/pip/tox-4.0.18
Bump tox from 4.0.16 to 4.0.18
2022-12-27 20:04:06 +01:00
dependabot[bot]
e0a5f7d303
Bump tox from 4.0.16 to 4.0.18
Bumps [tox](https://github.com/tox-dev/tox) from 4.0.16 to 4.0.18.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.0.16...4.0.18)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-27 08:53:59 +00:00
Emil Stenström
a5f4ceefaa
Merge pull request #200 from EmilStenstrom/dependabot/pip/pre-commit-2.21.0
Bump pre-commit from 2.20.0 to 2.21.0
2022-12-27 09:52:56 +01:00
Emil Stenström
830501daa6
Merge branch 'master' into dependabot/pip/pre-commit-2.21.0 2022-12-27 09:52:18 +01:00
Emil Stenström
d0c3b1db1b
Merge pull request #202 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-12-27 09:51:52 +01:00
pre-commit-ci[bot]
812454fe03
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: v5.11.3 → 5.11.4](https://github.com/pycqa/isort/compare/v5.11.3...5.11.4)
2022-12-27 02:31:44 +00:00
dependabot[bot]
0bd7895fad
Bump pre-commit from 2.20.0 to 2.21.0
Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.20.0 to 2.21.0.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pre-commit/pre-commit/compare/v2.20.0...v2.21.0)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-26 17:00:46 +00:00
Emil Stenström
8af63ad3ad Ignore type="text/css" in tests, it doesn't matter. 2022-12-25 23:00:59 +01:00
Emil Stenström
8ebe65d31e Include pre-commit in dev requirements. 2022-12-25 23:00:38 +01:00
Emil Stenström
606a8d1522 Update dependencies. 2022-12-25 12:37:08 +01:00
Emil Stenström
02d31fbef5
Merge pull request #199 from EmilStenstrom/dependabot/pip/isort-5.11.4
Bump isort from 5.11.3 to 5.11.4
2022-12-24 00:29:40 +01:00
dependabot[bot]
ccbdbf6fdf
Bump isort from 5.11.3 to 5.11.4
Bumps [isort](https://github.com/pycqa/isort) from 5.11.3 to 5.11.4.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.3...5.11.4)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-22 17:00:48 +00:00
Emil Stenström
11dad5a808
Merge pull request #198 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-12-20 08:58:26 +01:00
pre-commit-ci[bot]
30a7788e05
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 5.11.1 → v5.11.3](https://github.com/pycqa/isort/compare/5.11.1...v5.11.3)
2022-12-20 01:35:20 +00:00
Emil Stenström
1fcfc0c972
Merge pull request #197 from EmilStenstrom/dependabot/pip/isort-5.11.3
Bump isort from 5.11.2 to 5.11.3
2022-12-19 22:17:30 +01:00
dependabot[bot]
e5f9251ae5
Bump isort from 5.11.2 to 5.11.3
Bumps [isort](https://github.com/pycqa/isort) from 5.11.2 to 5.11.3.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.11.2...5.11.3)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 17:01:13 +00:00
Emil Stenström
728576f378
Merge pull request #194 from EmilStenstrom/dependabot/pip/isort-5.11.2
Bump isort from 5.10.1 to 5.11.2
2022-12-14 20:55:33 +01:00
dependabot[bot]
d986ffa5b7
Bump isort from 5.10.1 to 5.11.2
Bumps [isort](https://github.com/pycqa/isort) from 5.10.1 to 5.11.2.
- [Release notes](https://github.com/pycqa/isort/releases)
- [Changelog](https://github.com/PyCQA/isort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pycqa/isort/compare/5.10.1...5.11.2)

---
updated-dependencies:
- dependency-name: isort
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-14 17:00:48 +00:00
Emil Stenström
24d9db39c3 Bump version. 2022-12-13 12:36:20 +01:00
Emil Stenström
b2a328d9ab Add *args and **kwargs to make typecheckers and linters happy. 2022-12-13 12:30:56 +01:00
Emil Stenström
af6a0e5917
Merge pull request #192 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-12-13 12:26:07 +01:00
pre-commit-ci[bot]
59f299b494 [pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/isort: 5.10.1 → 5.11.1](https://github.com/pycqa/isort/compare/5.10.1...5.11.1)
- [github.com/psf/black: 22.10.0 → 22.12.0](https://github.com/psf/black/compare/22.10.0...22.12.0)
- [github.com/pycqa/flake8: 5.0.4 → 6.0.0](https://github.com/pycqa/flake8/compare/5.0.4...6.0.0)
2022-12-13 12:25:15 +01:00
Emil Stenström
5ac531189f Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2022-12-13 12:21:27 +01:00
Emil Stenström
23169876f9 Downgrade to ubuntu 20.04 to avoid breaking Python 3.6. 2022-12-13 12:19:22 +01:00
Emil Stenström
e4b5011f61
Merge pull request #190 from EmilStenstrom/dependabot/pip/tox-3.27.1
Bump tox from 3.27.0 to 3.27.1
2022-11-14 18:46:27 +01:00
dependabot[bot]
9a31e9fc15
Bump tox from 3.27.0 to 3.27.1
Bumps [tox](https://github.com/tox-dev/tox) from 3.27.0 to 3.27.1.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/3.27.0...3.27.1)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 17:01:04 +00:00
Emil Stenström
ae97930683
Merge pull request #188 from EmilStenstrom/dependabot/pip/tox-3.27.0
Bump tox from 3.25.1 to 3.27.0
2022-11-04 20:51:36 +01:00
dependabot[bot]
4bd19800b9
Bump tox from 3.25.1 to 3.27.0
Bumps [tox](https://github.com/tox-dev/tox) from 3.25.1 to 3.27.0.
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/master/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/3.25.1...3.27.0)

---
updated-dependencies:
- dependency-name: tox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-04 17:01:04 +00:00
Emil Stenström
aadaf12911
Merge pull request #185 from EmilStenstrom/dependabot/pip/pytest-7.2.0
Bump pytest from 7.1.3 to 7.2.0
2022-10-25 21:49:49 +02:00
dependabot[bot]
e3153dd196
Bump pytest from 7.1.3 to 7.2.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.3 to 7.2.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.3...7.2.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 17:01:45 +00:00
Emil Stenström
c7f4810be2
Merge pull request #181 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-10-11 16:13:55 +02:00
pre-commit-ci[bot]
e7eb0407f7
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 22.8.0 → 22.10.0](https://github.com/psf/black/compare/22.8.0...22.10.0)
2022-10-11 00:46:43 +00:00
Emil Stenström
86d41c8d0a
Merge pull request #179 from EmilStenstrom/dependabot/pip/django-4.0.8
Bump django from 4.0.7 to 4.0.8
2022-10-06 12:41:33 +02:00
dependabot[bot]
6e02b3e464
Bump django from 4.0.7 to 4.0.8
Bumps [django](https://github.com/django/django) from 4.0.7 to 4.0.8.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.0.7...4.0.8)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-04 17:01:32 +00:00
Emil Stenström
92ba63c5a6
Merge pull request #178 from EmilStenstrom/contributors-readme-action-HypFrkmJeX 2022-09-10 16:18:52 +02:00
github-actions[bot]
e8a5a4aee3
docs(contributor): contrib-readme-action has updated readme 2022-09-10 14:12:57 +00:00
Emil Stenström
3b81622455
Merge pull request #177 from mands/patch-1
(Docs) Fix param name of autodiscovery -> autodiscover
2022-09-10 16:12:39 +02:00
Mandeep Gill
156587f39c
Fix param name of autodiscovery -> autodiscover
The docs say to set `autodiscovery: False` in `settings.COMPONENTS` to disable autodiscovery, but in the `app_settings` code the field is called `autodiscover`.

Cheers!
2022-09-10 14:45:38 +01:00
Emil Stenström
36928557ac
Merge pull request #176 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-09-06 07:06:17 +02:00
pre-commit-ci[bot]
915fdd1177
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 22.6.0 → 22.8.0](https://github.com/psf/black/compare/22.6.0...22.8.0)
2022-09-05 23:46:47 +00:00
Emil Stenström
fc4e9da116
Merge pull request #174 from EmilStenstrom/dependabot/pip/pytest-7.1.3
Bump pytest from 7.1.2 to 7.1.3
2022-09-02 21:03:09 +02:00
dependabot[bot]
b2892e8ace
Bump pytest from 7.1.2 to 7.1.3
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.1.2...7.1.3)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-02 17:01:57 +00:00
Emil Stenström
64b35c9860 Remove unused variable. 2022-08-11 10:15:00 +02:00
Emil Stenström
521c112002 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2022-08-11 08:19:02 +02:00
Emil Stenström
39fb7eda13 Update to latest version that fixes escapes. 2022-08-11 08:18:52 +02:00
Emil Stenström
bfcd0719a7
Merge pull request #169 from EmilStenstrom/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2022-08-10 09:28:48 +02:00
pre-commit-ci[bot]
24fbaee551
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/pycqa/flake8: 4.0.1 → 5.0.4](https://github.com/pycqa/flake8/compare/4.0.1...5.0.4)
2022-08-08 23:15:32 +00:00
Emil Stenström
6b2942b063
Merge pull request #170 from EmilStenstrom/dependabot/pip/django-4.0.7
Bump django from 4.0.6 to 4.0.7
2022-08-05 14:11:36 +02:00
dependabot[bot]
72d62ffbe5
Bump django from 4.0.6 to 4.0.7
Bumps [django](https://github.com/django/django) from 4.0.6 to 4.0.7.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.0.6...4.0.7)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-03 17:02:18 +00:00
Rafael P
dcbe0bccd1 Issue loading media when RENDER_DEPENDENCIES True 2022-07-31 20:18:41 -05:00
Emil Stenström
84ae5fb4bd
Merge pull request #166 from EmilStenstrom/contributors-readme-action-HHqpMpSNqD
contributors readme action update
2022-07-27 10:47:01 +02:00
github-actions[bot]
05e8e15ee3
contrib-readme-action has updated readme 2022-07-27 08:45:42 +00:00
Emil Stenström
12e39835e6 Update to latest version of contributor workflow. 2022-07-27 10:45:23 +02:00
Emil Stenström
c9d3316b36
Merge pull request #165 from EmilStenstrom/contributors-readme-action-QnHBjKbmzd
contributors readme action update
2022-07-26 20:15:22 +02:00
github-actions[bot]
4a1c8be2ae
contrib-readme-action has updated readme 2022-07-26 18:14:26 +00:00
Emil Stenström
cbebba23e0
Merge pull request #164 from simkimsia/fix-163
🐛Prevent potential null elements
2022-07-26 20:13:57 +02:00
KimSia, Sim
bb256f2ec8
🐛Prevent potential null elements
because {% component_js_dependencies %} loads all the components regardless
2022-07-23 14:42:48 +08:00
Emil Stenström
f5c3f64c86 Handle case with SETTINGS_MODULE not set. 2022-07-18 09:23:04 +02:00
Emil Stenström
681c540cb7 Can't use wahlrus operator in old pythons. 2022-07-18 09:21:10 +02:00
Emil Stenström
46533000cb Bump version. 2022-07-18 09:19:38 +02:00
Emil Stenström
e30cc0a635 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2022-07-18 09:19:03 +02:00
Emil Stenström
ea4c709811 Update recommendations for how to setup components. 2022-07-18 09:18:59 +02:00
Emil Stenström
c0ed45b920 Improve structure of sampleproject. 2022-07-18 09:13:36 +02:00
Emil Stenström
18ee5ad3b0 Autodetect components inside component subdirectories to make setup easier. 2022-07-18 09:13:03 +02:00
Emil Stenström
1a4144e2cf
Update README.md 2022-07-18 09:09:42 +02:00
Emil Stenström
1d091f5099 Bump version. 2022-07-17 13:27:44 +02:00
Emil Stenström
2a72329041 Add sample project to repo to show config. 2022-07-17 13:27:17 +02:00
Emil Stenström
58c6e476f1 Automitically load component templates from directory where settings.py files is (old style), and from settings.py parent dir (new style). 2022-07-17 13:26:27 +02:00
Emil Stenström
373de73787 Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2022-07-17 09:29:23 +02:00
Emil Stenström
16e2a8dda9 Introduce a sample project to illustrate setup. 2022-07-17 09:29:15 +02:00
Emil Stenström
07c9265a9a
Merge pull request #159 from EmilStenstrom/contributors-readme-action-GXkQ2YhoG9
contributors readme action update
2022-07-15 19:35:27 +02:00
github-actions[bot]
0366569a69
contrib-readme-action has updated readme 2022-07-15 17:31:52 +00:00
Emil Stenström
10560227a9
Merge pull request #157 from simkimsia/patch-1
Update README.md
2022-07-15 19:31:35 +02:00
KimSia Sim
5910d8d004
Update README.md
Typo in `believe` and also missing `{}`  for `{ slot.super }`
2022-07-15 14:00:39 +08:00
Emil Stenström
87e2889cdf
Merge pull request #155 from EmilStenstrom/contributors-readme-action-tdC7RjzhNl
contributors readme action update
2022-07-14 13:38:57 +02:00
Emil Stenström
9d00320aeb Merge branch 'master' of https://github.com/EmilStenstrom/django-components 2022-07-14 13:35:01 +02:00
github-actions[bot]
8ad135d30e
contrib-readme-action has updated readme 2022-07-14 11:31:55 +00:00
Emil Stenström
6005b48867
Allow passing in component_name as a variable (thanks @housUnus) 2022-07-14 13:31:33 +02:00
Emil Stenström
812e455dec Update tests to include component_block versions too. 2022-07-14 13:29:35 +02:00
Emil Stenström
84fcaf7ba7 Add tests for calling template tag with variable. 2022-07-14 12:49:21 +02:00
Emil Stenström
29e6d1a4a0 Delay loading component until rendering, and clean up usage of component variable. 2022-07-14 12:47:06 +02:00
Emil Stenström
235c34a986 Merge branch 'patch-5' of https://github.com/housunus/django-components-as-variable into pr/housUnus/153 2022-07-14 10:59:46 +02:00
pre-commit-ci[bot]
16065367d5 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-07-14 10:34:34 +02:00
AIT ALI EL HOSAYN
bfd55f9fbe Component name as variable
I have removed the exception raising when a variable without quotes is given, and keep the variable name until the render function where I'm resolving it if it's a String (which means it's a variable, not a component) then I'm moving the slot parts which relies on the component from __init__ to render after getting the component.
2022-07-14 10:34:34 +02:00
pre-commit-ci[bot]
ff9367b214 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-07-12 12:44:54 +00:00
AIT ALI EL HOSAYN
bab9aa097f
Component name as variable
I have removed the exception raising when a variable without quotes is given, and keep the variable name until the render function where I'm resolving it if it's a String (which means it's a variable, not a component) then I'm moving the slot parts which relies on the component from __init__ to render after getting the component.
2022-07-12 13:44:16 +01:00
489 changed files with 112811 additions and 3166 deletions

View file

@ -0,0 +1,385 @@
{
"Components vs Django.peakmem_render_lg_first": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - large - first render (mem)\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n setup=lambda renderer: setup_templating_memory_benchmark(renderer, \"lg\", \"first\", \"isolated\"),\n )\n def peakmem_render_lg_first(self, renderer: TemplatingRenderer):\n do_render()\n\nsetup=lambda renderer: setup_templating_memory_benchmark(renderer, \"lg\", \"first\", \"isolated\"),",
"name": "Components vs Django.peakmem_render_lg_first",
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - large - first render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "301c396f017f45a5b3f71e85df58d15f54153fcfd951af7ef424641d4b31b528"
},
"Components vs Django.peakmem_render_lg_subsequent": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - large - second render (mem)\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n setup=lambda renderer: setup_templating_memory_benchmark(renderer, \"lg\", \"subsequent\", \"isolated\"),\n )\n def peakmem_render_lg_subsequent(self, renderer: TemplatingRenderer):\n do_render()\n\nsetup=lambda renderer: setup_templating_memory_benchmark(renderer, \"lg\", \"subsequent\", \"isolated\"),",
"name": "Components vs Django.peakmem_render_lg_subsequent",
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - large - second render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "9a44e9999ef3ef42ea7e01323727490244febb43d66a87a4d8f88c6b8a133b8b"
},
"Components vs Django.peakmem_render_sm_first": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - small - first render (mem)\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n setup=lambda renderer: setup_templating_memory_benchmark(renderer, \"sm\", \"first\", \"isolated\"),\n )\n def peakmem_render_sm_first(self, renderer: TemplatingRenderer):\n do_render()\n\nsetup=lambda renderer: setup_templating_memory_benchmark(renderer, \"sm\", \"first\", \"isolated\"),",
"name": "Components vs Django.peakmem_render_sm_first",
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - small - first render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "e93b7a5193681c883edf85bdb30b1bc0821263bf51033fdcee215b155085e036"
},
"Components vs Django.peakmem_render_sm_subsequent": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - small - second render (mem)\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n setup=lambda renderer: setup_templating_memory_benchmark(renderer, \"sm\", \"subsequent\", \"isolated\"),\n )\n def peakmem_render_sm_subsequent(self, renderer: TemplatingRenderer):\n do_render()\n\nsetup=lambda renderer: setup_templating_memory_benchmark(renderer, \"sm\", \"subsequent\", \"isolated\"),",
"name": "Components vs Django.peakmem_render_sm_subsequent",
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - small - second render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "b46e0820b18950aa7cc5e61306ff3425b76b4da9dca42d64fae5b1d25c6c9026"
},
"Components vs Django.timeraw_render_lg_first": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - large - first render\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n include_in_quick_benchmark=True,\n )\n def timeraw_render_lg_first(self, renderer: TemplatingRenderer):\n return prepare_templating_benchmark(renderer, \"lg\", \"first\", \"isolated\")",
"min_run_count": 2,
"name": "Components vs Django.timeraw_render_lg_first",
"number": 1,
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - large - first render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "be3bf6236960046a028b6ea007aad28b2337fc2b906b8ce317a09a5d4f1a6193",
"warmup_time": -1
},
"Components vs Django.timeraw_render_lg_subsequent": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - large - second render\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n )\n def timeraw_render_lg_subsequent(self, renderer: TemplatingRenderer):\n return prepare_templating_benchmark(renderer, \"lg\", \"subsequent\", \"isolated\")",
"min_run_count": 2,
"name": "Components vs Django.timeraw_render_lg_subsequent",
"number": 1,
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - large - second render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "b98221c11a0ee6e9de0778d416d31b9dd514a674d9017a2bb9b2fc1cd0f01920",
"warmup_time": -1
},
"Components vs Django.timeraw_render_sm_first": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - small - first render\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n )\n def timeraw_render_sm_first(self, renderer: TemplatingRenderer):\n return prepare_templating_benchmark(renderer, \"sm\", \"first\", \"isolated\")",
"min_run_count": 2,
"name": "Components vs Django.timeraw_render_sm_first",
"number": 1,
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - small - first render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "f1fc17e4a31c71f4d9265f1122da52e7cf57addb4dfa02606e303b33d6431b9b",
"warmup_time": -1
},
"Components vs Django.timeraw_render_sm_subsequent": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"render - small - second render\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n )\n def timeraw_render_sm_subsequent(self, renderer: TemplatingRenderer):\n return prepare_templating_benchmark(renderer, \"sm\", \"subsequent\", \"isolated\")",
"min_run_count": 2,
"name": "Components vs Django.timeraw_render_sm_subsequent",
"number": 1,
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "render - small - second render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "6fce1cd85a9344fee383b40a22f27862120b9488a628420625592dc14e0307d3",
"warmup_time": -1
},
"Components vs Django.timeraw_startup_lg": {
"code": "class DjangoComponentsVsDjangoTests:\n @benchmark(\n pretty_name=\"startup - large\",\n group_name=DJC_VS_DJ_GROUP,\n number=1,\n rounds=5,\n params={\n \"renderer\": [\"django\", \"django-components\"],\n },\n )\n def timeraw_startup_lg(self, renderer: TemplatingRenderer):\n return prepare_templating_benchmark(renderer, \"lg\", \"startup\", \"isolated\")",
"min_run_count": 2,
"name": "Components vs Django.timeraw_startup_lg",
"number": 1,
"param_names": [
"renderer"
],
"params": [
[
"'django'",
"'django-components'"
]
],
"pretty_name": "startup - large",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "53151821c128ad0ecfb0707fff3146e1abd8d0bcfa301aa056b5d3fae3d793e2",
"warmup_time": -1
},
"Other.timeraw_import_time": {
"code": "class OtherTests:\n @benchmark(\n pretty_name=\"import time\",\n group_name=OTHER_GROUP,\n number=1,\n rounds=5,\n )\n def timeraw_import_time(self):\n return prepare_templating_benchmark(\"django-components\", \"lg\", \"startup\", \"isolated\", imports_only=True)",
"min_run_count": 2,
"name": "Other.timeraw_import_time",
"number": 1,
"param_names": [],
"params": [],
"pretty_name": "import time",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "a0a1c1c0db22509410b946d0d4384b52ea4a09b47b6048d7d1cfb89b0c7fe5c3",
"warmup_time": -1
},
"isolated vs django modes.peakmem_render_lg_first": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - large - first render (mem)\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n setup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"lg\",\n \"first\",\n context_mode,\n ),\n )\n def peakmem_render_lg_first(self, context_mode: DjcContextMode):\n do_render()\n\nsetup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"lg\",\n \"first\",\n context_mode,\n),",
"name": "isolated vs django modes.peakmem_render_lg_first",
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - large - first render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "c4bf0016d48d210f08b8db733b57c7dcba1cebbf548c458b93b86ace387067e9"
},
"isolated vs django modes.peakmem_render_lg_subsequent": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - large - second render (mem)\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n setup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"lg\",\n \"subsequent\",\n context_mode,\n ),\n )\n def peakmem_render_lg_subsequent(self, context_mode: DjcContextMode):\n do_render()\n\nsetup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"lg\",\n \"subsequent\",\n context_mode,\n),",
"name": "isolated vs django modes.peakmem_render_lg_subsequent",
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - large - second render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "65bb1b8586487197a79bb6073e4c71642877b845b6eb42d1bd32398299daffbf"
},
"isolated vs django modes.peakmem_render_sm_first": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - small - first render (mem)\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n setup=lambda context_mode: setup_templating_memory_benchmark(\"django-components\", \"sm\", \"first\", context_mode),\n )\n def peakmem_render_sm_first(self, context_mode: DjcContextMode):\n do_render()\n\nsetup=lambda context_mode: setup_templating_memory_benchmark(\"django-components\", \"sm\", \"first\", context_mode),",
"name": "isolated vs django modes.peakmem_render_sm_first",
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - small - first render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "c51b91fc583295776062822225e720b5ed71aef9c9288217c401c54283c62840"
},
"isolated vs django modes.peakmem_render_sm_subsequent": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - small - second render (mem)\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n setup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"sm\",\n \"subsequent\",\n context_mode,\n ),\n )\n def peakmem_render_sm_subsequent(self, context_mode: DjcContextMode):\n do_render()\n\nsetup=lambda context_mode: setup_templating_memory_benchmark(\n \"django-components\",\n \"sm\",\n \"subsequent\",\n context_mode,\n),",
"name": "isolated vs django modes.peakmem_render_sm_subsequent",
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - small - second render (mem)",
"type": "peakmemory",
"unit": "bytes",
"version": "54d747fb8f40179b7ff3d2fc49eb195909ad1c880b5ef7b82f82742b27b67260"
},
"isolated vs django modes.timeraw_render_lg_first": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - large - first render\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n )\n def timeraw_render_lg_first(self, context_mode: DjcContextMode):\n return prepare_templating_benchmark(\"django-components\", \"lg\", \"first\", context_mode)",
"min_run_count": 2,
"name": "isolated vs django modes.timeraw_render_lg_first",
"number": 1,
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - large - first render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "f94af83427c6346f88f8785a3cd2fc42415ac5a9fbbdb7de71d27e22e6a81699",
"warmup_time": -1
},
"isolated vs django modes.timeraw_render_lg_subsequent": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - large - second render\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n )\n def timeraw_render_lg_subsequent(self, context_mode: DjcContextMode):\n return prepare_templating_benchmark(\"django-components\", \"lg\", \"subsequent\", context_mode)",
"min_run_count": 2,
"name": "isolated vs django modes.timeraw_render_lg_subsequent",
"number": 1,
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - large - second render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "9f7c2fde6b33f0451a1794ed903c48d96cd7822f67da502cec36fe8e977c2414",
"warmup_time": -1
},
"isolated vs django modes.timeraw_render_sm_first": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - small - first render\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n )\n def timeraw_render_sm_first(self, context_mode: DjcContextMode):\n return prepare_templating_benchmark(\"django-components\", \"sm\", \"first\", context_mode)",
"min_run_count": 2,
"name": "isolated vs django modes.timeraw_render_sm_first",
"number": 1,
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - small - first render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "d15ca68909d7f1f43ff16863befb6f42681f17461417fc0069eefd6db3569296",
"warmup_time": -1
},
"isolated vs django modes.timeraw_render_sm_subsequent": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"render - small - second render\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n )\n def timeraw_render_sm_subsequent(self, context_mode: DjcContextMode):\n return prepare_templating_benchmark(\"django-components\", \"sm\", \"subsequent\", context_mode)",
"min_run_count": 2,
"name": "isolated vs django modes.timeraw_render_sm_subsequent",
"number": 1,
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "render - small - second render",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "7444bc9516dd087e3f420349345eae991ad6941bbd22fce45265b18034b7cf77",
"warmup_time": -1
},
"isolated vs django modes.timeraw_startup_lg": {
"code": "class IsolatedVsDjangoContextModesTests:\n @benchmark(\n pretty_name=\"startup - large\",\n group_name=DJC_ISOLATED_VS_NON_GROUP,\n number=1,\n rounds=5,\n params={\n \"context_mode\": [\"isolated\", \"django\"],\n },\n )\n def timeraw_startup_lg(self, context_mode: DjcContextMode):\n return prepare_templating_benchmark(\"django-components\", \"lg\", \"startup\", context_mode)",
"min_run_count": 2,
"name": "isolated vs django modes.timeraw_startup_lg",
"number": 1,
"param_names": [
"context_mode"
],
"params": [
[
"'isolated'",
"'django'"
]
],
"pretty_name": "startup - large",
"repeat": 0,
"rounds": 5,
"sample_time": 0.01,
"type": "time",
"unit": "seconds",
"version": "eabe311ebee4a15c5816617be12f00ec30376f7506bd668219e1c50bc897c134",
"warmup_time": -1
},
"version": 2
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,4 @@
{
"machine": "ci-linux",
"version": 1
}

View file

@ -0,0 +1,32 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.0/containers/python-3
{
// Uncomment to run Python 3.13 or other specific version
// "image": "mcr.microsoft.com/devcontainers/python:3.13-bullseye",
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"python.defaultInterpreterPath": "/usr/local/bin/python",
"python.linting.enabled": true
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.vscode-python-envs",
"jurooravec.python-inline-source-2"
]
}
}
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
//"postCreateCommand": ""
}

2
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1,2 @@
github: ["EmilStenstrom"]

View file

@ -1,11 +1,17 @@
# To get started with Dependabot version updates, you'll need to specify which # To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located. # package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options: # Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2 version: 2
updates: updates:
- package-ecosystem: "pip" # See documentation for possible values - package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests directory: "/" # Location of package manifests
schedule: schedule:
interval: "daily" interval: "weekly"
- package-ecosystem: github-actions
# This actually targets ./.github/workflows/
# See https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#directories-or-directory--
directory: "/"
schedule:
interval: monthly

View file

@ -0,0 +1,22 @@
name: Dependabot auto-merge
on: pull_request
permissions:
contents: write
pull-requests: write
jobs:
dependabot:
runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]'
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}

View file

@ -1,19 +0,0 @@
name: Add contributors to readme
on:
push:
branches:
- master
workflow_dispatch:
jobs:
contrib-readme-job:
runs-on: ubuntu-latest
name: Add contributors to readme
steps:
- name: Contribute List
uses: akhilmhdh/contributors-readme-action@v2.3.3
with:
is_protected: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

195
.github/workflows/docs.yml vendored Normal file
View file

@ -0,0 +1,195 @@
---
name: Docs - build & deploy
on:
push:
tags:
# for versions 0.### (before 1.0.0)
- '0.[0-9]+'
# after 1.0.0
- '[0-9]+.[0-9]+.[0-9]+'
branches:
- master
workflow_dispatch:
jobs:
docs:
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
contents: write # to let mkdocs write the new docs
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
runs-on: ubuntu-latest
# Only run in original repo (not in forks)
if: github.repository == 'django-components/django-components'
steps:
##############################
# SETUP
##############################
# Authenticate with git with the Github App that has permission
# to push to master, in order to push benchmark results.
# See https://stackoverflow.com/a/79142962/9788634
- uses: actions/create-github-app-token@v2
id: app-token
with:
app-id: ${{ vars.RELEASE_BOT_APP_ID }}
private-key: ${{ secrets.RELEASE_BOT_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ steps.app-token.outputs.token }}
fetch-depth: 0
- name: Configure git account
run: |
git config user.name components-release-bot
git config user.email "components-release-bot@users.noreply.github.com"
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel
# NOTE: pin virtualenv to <20.31 until asv fixes it.
# See https://github.com/airspeed-velocity/asv/issues/1484
python -m pip install -q hatch pre-commit asv virtualenv==20.30
hatch --version
###########################################
# RECORD BENCHMARK - ONLY ON PUSH TO MASTER
###########################################
- name: Run benchmarks for tag
if: github.ref_type == 'tag' && github.event_name == 'push'
env:
# See https://github.com/github/docs/issues/21930
# And https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Get the master branch so we can run benchmarks on it
git remote add upstream https://github.com/${{ github.repository }}.git
git fetch origin master:master
git checkout master
# Get tag name
TAG=${GITHUB_REF#refs/tags/}
echo "TAG: $TAG"
# TODO: REMOVE ONCE FIXED UPSTREAM
# Fix for https://github.com/airspeed-velocity/asv_runner/issues/45
# Prepare virtual environment
# Currently, we have to monkeypatch the `timeit` function in the `timeraw` benchmark.
# The problem is that `asv` passes the code to execute via command line, and when the
# code is too big, it fails with `OSError: [Errno 7] Argument list too long`.
# So we have to tweak it to pass the code via STDIN, which doesn't have this limitation.
#
# 1. First create the virtual environment, so that asv generates the directories where
# the monkeypatch can be applied.
echo "Creating virtual environment..."
asv setup -v || true
echo "Virtual environment created."
# 2. Now let's apply the monkeypatch by appending it to the `timeraw.py` files.
# First find all `timeraw.py` files
echo "Applying monkeypatch..."
find .asv/env -type f -path "*/site-packages/asv_runner/benchmarks/timeraw.py" | while read -r file; do
# Add a newline and then append the monkeypatch contents
echo "" >> "$file"
cat "benchmarks/monkeypatch_asv_ci.txt" >> "$file"
done
echo "Monkeypatch applied."
# END OF MONKEYPATCH
# Prepare the profile under which the benchmarks will be saved.
# We assume that the CI machine has a name that is unique and stable.
# See https://github.com/airspeed-velocity/asv/issues/796#issuecomment-1188431794
echo "Preparing benchmarks profile..."
asv machine --yes --machine ci-linux
echo "Benchmarks profile DONE."
# Run benchmarks for the current tag
# - `^` means that we mean the COMMIT of the tag's branch, not the BRANCH itself.
# Without it, we would run benchmarks for the whole branch history.
# With it, we run benchmarks FROM the tag's commit (incl) TO ...
# - `!` means that we want to select range spanning a single commit.
# Without it, we would run benchmarks for all commits FROM the tag's commit
# TO the start of the branch history.
# With it, we run benchmarks ONLY FOR the tag's commit.
echo "Running benchmarks for tag ${TAG}..."
asv run master^! -v
echo "Benchmarks for tag ${TAG} DONE."
# Generate benchmarks site
# This should save it in `docs/benchmarks/`, so we can then use it when
# building docs site with `mkdocs`.
echo "Generating benchmarks site..."
asv publish
echo "Benchmarks site DONE."
# Commit benchmark results
echo "Staging and committing benchmark results..."
git add .asv/results/
git add docs/benchmarks/
git commit -m "Add benchmark results for ${TAG}"
echo "Benchmark results committed."
# Push to the new branch
echo "Pushing benchmark results..."
git push origin master
echo "Benchmark results pushed to master."
###########################################
# BUILD & RELEASE DOCS
###########################################
# Change git authentication to Github Actions, so the rest of the
# workflow will have lower privileges.
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure git
run: |
# required for "mike deploy" command below which pushes to gh-pages
git config user.name github-actions
git config user.email github-actions@github.com
# Conditions make sure to select the right step, depending on the job trigger.
# Only one of the steps below will run at a time. The others will be skipped.
- name: Check docs in pull requests with strict mode
if: github.event_name == 'pull_request'
run: |
# XXX Enable strict mode once docs are clean
echo "Strict check of docs disabled."
# hatch run docs:build --strict
- name: Build & deploy "dev" docs for a new commit to master
if: github.event_name == 'push' && github.ref_type != 'tag'
run: |
# Fetch and checkout gh-pages to ensure we have the latest version
git fetch origin gh-pages
git checkout gh-pages
git pull origin gh-pages
git checkout master
export SHORT_SHA=$(echo "${GITHUB_SHA}" | cut -c1-7)
hatch run docs:mike deploy --push --update-aliases --title "dev (${SHORT_SHA})" dev
- name: Build & deploy docs for a new tag
if: github.ref_type == 'tag' && github.event_name == 'push'
run: |
# Fetch and checkout gh-pages to ensure we have the latest version
git fetch origin gh-pages
git checkout gh-pages
git pull origin gh-pages
git checkout master
hatch run docs:mike deploy --push --update-aliases ${{ github.ref_name }} latest
hatch run docs:mike set-default latest --push

View file

@ -0,0 +1,99 @@
# Run benchmark report on pull requests to master.
# The report is added to the PR as a comment.
#
# NOTE: When making a PR from a fork, the worker doesn't have sufficient
# access to make comments on the target repo's PR. And so, this workflow
# is split to two parts:
#
# 1. Benchmarking and saving results as artifacts
# 2. Downloading the results and commenting on the PR
#
# See https://stackoverflow.com/a/71683208/9788634
name: PR benchmark comment
on:
workflow_run:
# NOTE: The name here MUST match the name of the workflow that generates the data
workflows: [PR benchmarks generate]
types:
- completed
jobs:
download:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
repository-projects: write
steps:
########## USE FOR DEBUGGING ##########
- name: Debug workflow run info
uses: actions/github-script@v7
with:
script: |
console.log('Workflow Run ID:', context.payload.workflow_run.id);
const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: context.payload.workflow_run.id
});
console.log('Available artifacts:');
console.log(JSON.stringify(artifacts.data, null, 2));
console.log(`PRs: ` + JSON.stringify(context.payload.workflow_run.pull_requests));
#########################################
# NOTE: The next two steps (download and unzip) are equivalent to using `actions/download-artifact@v4`
# However, `download-artifact` was not picking up the artifact, while the REST client does.
- name: Download benchmark results
uses: actions/github-script@v7
with:
script: |
const fs = require('fs');
// Find the artifact that was generated by the "pr-benchmark-generate" workflow
const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
// Explicitly search the workflow run that generated the the results
// (AKA the "pr-benchmark-generate" workflow).
run_id: context.payload.workflow_run.id,
});
const matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
return artifact.name == "benchmark_results"
})[0];
// Download the artifact
const download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
fs.writeFileSync(
`${process.env.GITHUB_WORKSPACE}/benchmark_results.zip`,
Buffer.from(download.data),
);
- name: Unzip artifact
run: unzip benchmark_results.zip
- name: Comment on PR
# See https://github.com/actions/github-script
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const results = fs.readFileSync('./benchmark_results.md', 'utf8');
const issue_number = Number.parseInt(fs.readFileSync('./pr_number.txt', 'utf8'));
const body = `## Performance Benchmark Results\n\nComparing PR changes against master branch:\n\n${results}`;
// See https://octokit.github.io/rest.js/v21/#issues-create-comment
await github.rest.issues.createComment({
body: body,
// See https://github.com/actions/toolkit/blob/662b9d91f584bf29efbc41b86723e0e376010e41/packages/github/src/context.ts#L66
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue_number,
});

View file

@ -0,0 +1,112 @@
# Run benchmark report on pull requests to master.
# The report is added to the PR as a comment.
#
# NOTE: When making a PR from a fork, the worker doesn't have sufficient
# access to make comments on the target repo's PR. And so, this workflow
# is split to two parts:
#
# 1. Benchmarking and saving results as artifacts
# 2. Downloading the results and commenting on the PR
#
# See https://stackoverflow.com/a/71683208/9788634
name: PR benchmarks generate
on:
pull_request:
branches: [ master ]
jobs:
benchmark:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Need full history for ASV
- name: Fetch base branch
run: |
git remote add upstream https://github.com/${{ github.repository }}.git
git fetch upstream master
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
cache: 'pip'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# NOTE: pin virtualenv to <20.31 until asv fixes it.
# See https://github.com/airspeed-velocity/asv/issues/1484
pip install asv virtualenv==20.30
- name: Run benchmarks
run: |
# TODO: REMOVE ONCE FIXED UPSTREAM
# Fix for https://github.com/airspeed-velocity/asv_runner/issues/45
# Prepare virtual environment
# Currently, we have to monkeypatch the `timeit` function in the `timeraw` benchmark.
# The problem is that `asv` passes the code to execute via command line, and when the
# code is too big, it fails with `OSError: [Errno 7] Argument list too long`.
# So we have to tweak it to pass the code via STDIN, which doesn't have this limitation.
#
# 1. First create the virtual environment, so that asv generates the directories where
# the monkeypatch can be applied.
echo "Creating virtual environment..."
asv setup -v || true
echo "Virtual environment created."
# 2. Now let's apply the monkeypatch by appending it to the `timeraw.py` files.
# First find all `timeraw.py` files
echo "Applying monkeypatch..."
find .asv/env -type f -path "*/site-packages/asv_runner/benchmarks/timeraw.py" | while read -r file; do
# Add a newline and then append the monkeypatch contents
echo "" >> "$file"
cat "benchmarks/monkeypatch_asv_ci.txt" >> "$file"
done
echo "Monkeypatch applied."
# END OF MONKEYPATCH
# Prepare the profile under which the benchmarks will be saved.
# We assume that the CI machine has a name that is unique and stable.
# See https://github.com/airspeed-velocity/asv/issues/796#issuecomment-1188431794
echo "Preparing benchmarks profile..."
MACHINE="ci_benchmark_${{ github.event.pull_request.number }}"
asv machine --yes -v --machine ${MACHINE}
echo "Benchmarks profile DONE."
# Generate benchmark data
# - `^` means that we mean the COMMIT of the branch, not the BRANCH itself.
# Without it, we would run benchmarks for the whole branch history.
# With it, we run benchmarks FROM the latest commit (incl) TO ...
# - `!` means that we want to select range spanning a single commit.
# Without it, we would run benchmarks for all commits FROM the latest commit
# TO the start of the branch history.
# With it, we run benchmarks ONLY FOR the latest commit.
echo "Running benchmarks for upstream/master..."
DJC_BENCHMARK_QUICK=1 asv run upstream/master^! -v --machine ${MACHINE}
echo "Benchmarks for upstream/master DONE."
echo "Running benchmarks for HEAD..."
DJC_BENCHMARK_QUICK=1 asv run HEAD^! -v --machine ${MACHINE}
echo "Benchmarks for HEAD DONE."
echo "Creating pr directory..."
mkdir -p pr
# Save the PR number to a file, so that it can be used by the next step.
echo "${{ github.event.pull_request.number }}" > ./pr/pr_number.txt
# Compare against master
# NOTE: The command is run twice, once so we can see the debug output, and once to save the results.
echo "Comparing benchmarks... (debug)"
asv compare upstream/master HEAD --factor 1.1 --split --machine ${MACHINE} --verbose
echo "Comparing benchmarks... (saving results)"
asv compare upstream/master HEAD --factor 1.1 --split --machine ${MACHINE} > ./pr/benchmark_results.md
echo "Benchmarks comparison DONE."
- name: Save benchmark results
uses: actions/upload-artifact@v4
with:
name: benchmark_results
path: pr/

View file

@ -12,15 +12,15 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.repository == 'django-components/django-components'
steps: steps:
- name: Checkout the repo - name: Checkout the repo
uses: actions/checkout@v2 uses: actions/checkout@v4
- name: Setup python - name: Setup python
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: '3.9' python-version: '3.13'
- name: Install pypa/build - name: Install pypa/build
run: >- run: >-

View file

@ -1,28 +1,101 @@
name: Run tests name: Run tests
on: [push, pull_request, workflow_dispatch] on:
push:
branches:
- 'master'
- 'dev'
pull_request:
workflow_dispatch:
jobs: jobs:
run-tests: build:
runs-on: ubuntu-latest runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
python-version: python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
- "3.6" os: [ubuntu-latest, windows-latest]
- "3.7"
- "3.8"
- "3.9"
- "3.10"
steps: steps:
- uses: actions/checkout@v2 # Configure git to handle long paths
# See https://stackoverflow.com/questions/22575662/filename-too-long-in-git-for-windows
#
# Long paths that are over the limit are because of the benchmarking data
# created by asv, as these may look like this:
# docs/benchmarks/graphs/arch-x86_64/branch-master/cpu-AMD EPYC 7763 64-Core Processor/django-5.1/djc-core-html-parser/machine-fv-az1693-854/num_cpu-4/os-Linux 6.8.0-1021-azure/python-3.13/ram-16373792/isolated vs django modes.timeraw_render_lg_subsequent.json
- name: Configure git
run: |
git config --global core.longpaths true
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install tox tox-gh-actions python -m pip install -r requirements-ci.txt
# See https://playwright.dev/python/docs/intro#installing-playwright-pytest
playwright install chromium --with-deps
- name: Run tests - name: Run tests
run: tox
# Verify that docs build
test_docs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.13']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: | run: |
tox python -m pip install --upgrade pip
python -m pip install -r requirements-docs.txt
# Install your package locally
python -m pip install -e .
- name: Build documentation
run: mkdocs build --verbose
# Verify that the sample project works
test_sampleproject:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.13']
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
cd sampleproject
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
# Install django-components locally
python -m pip install -e ..
- name: Check Django project
run: |
cd sampleproject
python manage.py check
python manage.py migrate --noinput
# Start the server, make request, and exit with error if it fails
python manage.py runserver & sleep 5
curl http://127.0.0.1:8000/ || exit 1

25
.gitignore vendored
View file

@ -1,3 +1,6 @@
# Project-specific files
sampleproject/staticfiles/
# Byte-compiled / optimized / DLL files # Byte-compiled / optimized / DLL files
__pycache__/ __pycache__/
*.py[cod] *.py[cod]
@ -43,6 +46,7 @@ htmlcov/
nosetests.xml nosetests.xml
coverage.xml coverage.xml
*,cover *,cover
.pytest_cache/
# Translations # Translations
*.mo *.mo
@ -50,6 +54,7 @@ coverage.xml
# Django stuff: # Django stuff:
*.log *.log
*.sqlite3
# Sphinx documentation # Sphinx documentation
docs/_build/ docs/_build/
@ -64,4 +69,22 @@ target/
# lock file is not needed for development # lock file is not needed for development
# as project supports variety of Django versions # as project supports variety of Django versions
poetry.lock poetry.lock
pyproject.toml
# PyCharm
.idea/
# Python environment
.venv/
.DS_Store
.python-version
site
.direnv/
.envrc
.mypy_cache/
# JS, NPM Dependency directories
node_modules/
jspm_packages/
# Cursor
.cursorrules

View file

@ -1,14 +1,14 @@
repos: repos:
- repo: https://github.com/pycqa/isort - repo: https://github.com/pycqa/isort
rev: 5.10.1 rev: 5.13.2
hooks: hooks:
- id: isort - id: isort
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: 22.6.0 rev: 24.10.0
hooks: hooks:
- id: black - id: black
- repo: https://github.com/pycqa/flake8 - repo: https://github.com/pycqa/flake8
rev: 4.0.1 rev: 7.1.1
hooks: hooks:
- id: flake8 - id: flake8
additional_dependencies: [flake8-pyproject]

2655
CHANGELOG.md Normal file

File diff suppressed because it is too large Load diff

View file

@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement ## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at em@kth.se. All reported by contacting the project team at emil@emilstenstrom.se. All
complaints will be reviewed and investigated and will result in a response that complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident. obligated to maintain confidentiality with regard to the reporter of an incident.

5
MANIFEST.in Normal file
View file

@ -0,0 +1,5 @@
# MANIFEST.in is defined so we can include non-Python (e.g. JS) files
# in the built distribution.
# See https://setuptools.pypa.io/en/latest/userguide/miscellaneous.html
graft src/django_components/static
prune tests

827
README.md
View file

@ -1,406 +1,565 @@
# django-components # <img src="https://raw.githubusercontent.com/django-components/django-components/master/logo/logo-black-on-white.svg" alt="django-components" style="max-width: 100%; background: white; color: black;">
<a href="https://github.com/EmilStenstrom/django-components/actions?query=workflow%3A%22Run+tests%22"><img align="right" src="https://github.com/EmilStenstrom/django-components/workflows/Run%20tests/badge.svg" alt="Show test status"></a>
<a href="https://pepy.tech/project/django-components"><img align="right" src="https://pepy.tech/badge/django-components" alt="Show download stats"></a>
A way to create simple reusable template components in Django. [![PyPI - Version](https://img.shields.io/pypi/v/django-components)](https://pypi.org/project/django-components/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-components)](https://pypi.org/project/django-components/) [![PyPI - License](https://img.shields.io/pypi/l/django-components)](https://github.com/django-components/django-components/blob/master/LICENSE/) [![PyPI - Downloads](https://img.shields.io/pypi/dm/django-components)](https://pypistats.org/packages/django-components) [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/django-components/django-components/tests.yml)](https://github.com/django-components/django-components/actions/workflows/tests.yml) [![asv](https://img.shields.io/badge/benchmarked%20by-asv-blue.svg?style=flat)](https://django-components.github.io/django-components/latest/benchmarks/)
It lets you create "template components", that contains both the template, the Javascript and the CSS needed to generate the front end code you need for a modern app. Components look like this: ### <table><td>[Read the full documentation](https://django-components.github.io/django-components/latest/)</td></table>
```htmldjango `django-components` is a modular and extensible UI framework for Django.
{% component "calendar" date="2015-06-19" %}
It combines Django's templating system with the modularity seen
in modern frontend frameworks like Vue or React.
With `django-components` you can support Django projects small and large without leaving the Django ecosystem.
## Quickstart
A component in django-components can be as simple as a Django template and Python code to declare the component:
```django
{# components/calendar/calendar.html #}
<div class="calendar">
Today's date is <span>{{ date }}</span>
</div>
``` ```
And this is what gets rendered (plus the CSS and Javascript you've specified): ```py
# components/calendar/calendar.py
from django_components import Component, register
```html @register("calendar")
<div class="calendar-component">Today's date is <span>2015-06-19</span></div> class Calendar(Component):
template_file = "calendar.html"
``` ```
Read on to learn about the details! Or a combination of Django template, Python, CSS, and Javascript:
# Release notes ```django
{# components/calendar/calendar.html #}
*Version 0.17* renames `Component.context` and `Component.template` to `get_context_data` and `get_template_name`. The old methods still work, but emit a deprecation warning. This change was done to sync naming with Django's class based views, and make using django-components more familiar to Django users. `Component.context` and `Component.template` will be removed when version 1.0 is released. <div class="calendar">
Today's date is <span>{{ date }}</span>
# Installation </div>
Install the app into your environment:
> ```pip install django_components```
Then add the app into INSTALLED APPS in settings.py
```python
INSTALLED_APPS = [
...,
"django_components",
...
]
``` ```
Modify `TEMPLATES` section of settings.py as follows:
- Remove `'APP_DIRS': True,`
- add `loaders` to `OPTIONS` list and set it to following value:
```python
TEMPLATES = [
{
...,
'OPTIONS': {
'context_processors': [
...
],
'loaders':[(
'django.template.loaders.cached.Loader', [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django_components.template_loader.Loader',
]
)],
},
},
]
```
## Optional
To avoid loading the app in each template using ``` {% load django_components %} ```, you can add the tag as a 'builtin' in settings.py
```python
TEMPLATES = [
{
...,
'OPTIONS': {
'context_processors': [
...
],
'builtins': [
'django_components.templatetags.component_tags',
]
},
},
]
```
# Contributors
<!-- readme: contributors -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/EmilStenstrom">
<img src="https://avatars.githubusercontent.com/u/224130?v=4" width="100;" alt="EmilStenstrom"/>
<br />
<sub><b>Emil Stenström</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/hanifbirgani">
<img src="https://avatars.githubusercontent.com/u/53351186?v=4" width="100;" alt="hanifbirgani"/>
<br />
<sub><b>Hanif Birgani</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ryanhiebert">
<img src="https://avatars.githubusercontent.com/u/425099?v=4" width="100;" alt="ryanhiebert"/>
<br />
<sub><b>Ryan Hiebert</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/rbeard0330">
<img src="https://avatars.githubusercontent.com/u/2442690?v=4" width="100;" alt="rbeard0330"/>
<br />
<sub><b>Rbeard0330</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/BradleyKirton">
<img src="https://avatars.githubusercontent.com/u/6583221?v=4" width="100;" alt="BradleyKirton"/>
<br />
<sub><b>Bradley Stuart Kirton</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/David-Guillot">
<img src="https://avatars.githubusercontent.com/u/1136694?v=4" width="100;" alt="David-Guillot"/>
<br />
<sub><b>David Guillot</b></sub>
</a>
</td></tr>
<tr>
<td align="center">
<a href="https://github.com/danjac">
<img src="https://avatars.githubusercontent.com/u/249779?v=4" width="100;" alt="danjac"/>
<br />
<sub><b>Dan Jacob</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Real-Gecko">
<img src="https://avatars.githubusercontent.com/u/2231969?v=4" width="100;" alt="Real-Gecko"/>
<br />
<sub><b>Real-Gecko</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/telenieko">
<img src="https://avatars.githubusercontent.com/u/10505?v=4" width="100;" alt="telenieko"/>
<br />
<sub><b>Marc Fargas</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/spollard">
<img src="https://avatars.githubusercontent.com/u/1459574?v=4" width="100;" alt="spollard"/>
<br />
<sub><b>Spollard</b></sub>
</a>
</td></tr>
</table>
<!-- readme: contributors -end -->
# Compatiblity
Django-components supports all <a href="https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django">officially supported versions</a> of Django and Python.
| Python version | Django version |
|----------------|--------------------------|
| 3.6 | 3.2 |
| 3.7 | 3.2 |
| 3.8 | 3.2, 4.0 |
| 3.9 | 3.2, 4.0 |
| 3.10 | 4.0 |
# Create your first component
A component in django-components is the combination of four things: CSS, Javascript, a Django template, and some Python code to put them all together.
First you need a CSS file. Be sure to prefix all rules with a unique class so they don't clash with other rules.
```css ```css
/* In a file called [your app]/components/calendar/style.css */ /* components/calendar/calendar.css */
.calendar-component { width: 200px; background: pink; } .calendar {
.calendar-component span { font-weight: bold; } width: 200px;
background: pink;
}
``` ```
Then you need a javascript file that specifies how you interact with this component. You are free to use any javascript framework you want. A good way to make sure this component doesn't clash with other components is to define all code inside an anonymous function that calls itself. This makes all variables defined only be defined inside this component and not affect other components.
```js ```js
/* In a file called [your app]/components/calendar/script.js */ /* components/calendar/calendar.js */
(function(){ document.querySelector(".calendar").onclick = () => {
$(".calendar-component").click(function(){ alert("Clicked calendar!"); }) alert("Clicked calendar!");
})() };
``` ```
Now you need a Django template for your component. Feel free to define more variables like `date` in this example. When creating an instance of this component we will send in the values for these variables. The template will be rendered with whatever template backend you've specified in your Django settings file. ```py
# components/calendar/calendar.py
from django_components import Component, register
```htmldjango @register("calendar")
{# In a file called [your app]/components/calendar/calendar.html #} class Calendar(Component):
<div class="calendar-component">Today's date is <span>{{ date }}</span></div> template_file = "calendar.html"
js_file = "calendar.js"
css_file = "calendar.css"
def get_template_data(self, args, kwargs, slots, context):
return {"date": kwargs["date"]}
``` ```
Finally, we use django-components to tie this together. Start by creating a file called `components.py` in any of your apps. It will be auto-detected and loaded by the app. Use the component like this:
Inside this file we create a Component by inheriting from the Component class and specifying the context method. We also register the global component registry so that we easily can render it anywhere in our templates. ```django
{% component "calendar" date="2024-11-06" %}{% endcomponent %}
```
And this is what gets rendered:
```html
<div class="calendar-component">
Today's date is <span>2024-11-06</span>
</div>
```
Read on to learn about all the exciting details and configuration possibilities!
(If you instead prefer to jump right into the code, [check out the example project](https://github.com/django-components/django-components/tree/master/sampleproject))
## Features
### Modern and modular UI
- Create self-contained, reusable UI elements.
- Each component can include its own HTML, CSS, and JS, or additional third-party JS and CSS.
- HTML, CSS, and JS can be defined on the component class, or loaded from files.
```python ```python
from django_components import component from django_components import Component
@component.register("calendar") @register("calendar")
class Calendar(component.Component): class Calendar(Component):
# Note that Django will look for templates inside `[your app]/components` dir template = """
# To customize which template to use based on context override get_template_name instead <div class="calendar">
template_name = "calendar/calendar.html" Today's date is
<span>{{ date }}</span>
</div>
"""
# This component takes one parameter, a date string to show in the template css = """
def get_context_data(self, date): .calendar {
width: 200px;
background: pink;
}
"""
js = """
document.querySelector(".calendar")
.addEventListener("click", () => {
alert("Clicked calendar!");
});
"""
# Additional JS and CSS
class Media:
js = ["https://cdn.jsdelivr.net/npm/htmx.org@2/dist/htmx.min.js"]
css = ["bootstrap/dist/css/bootstrap.min.css"]
# Variables available in the template
def get_template_data(self, args, kwargs, slots, context):
return { return {
"date": date, "date": kwargs["date"]
}
```
### Composition with slots
- Render components inside templates with
[`{% component %}`](https://django-components.github.io/django-components/latest/reference/template_tags#component) tag.
- Compose them with [`{% slot %}`](https://django-components.github.io/django-components/latest/reference/template_tags#slot)
and [`{% fill %}`](https://django-components.github.io/django-components/latest/reference/template_tags#fill) tags.
- Vue-like slot system, including [scoped slots](https://django-components.github.io/django-components/latest/concepts/fundamentals/slots/#slot-data).
```django
{% component "Layout"
bookmarks=bookmarks
breadcrumbs=breadcrumbs
%}
{% fill "header" %}
<div class="flex justify-between gap-x-12">
<div class="prose">
<h3>{{ project.name }}</h3>
</div>
<div class="font-semibold text-gray-500">
{{ project.start_date }} - {{ project.end_date }}
</div>
</div>
{% endfill %}
{# Access data passed to `{% slot %}` with `data` #}
{% fill "tabs" data="tabs_data" %}
{% component "TabItem" header="Project Info" %}
{% component "ProjectInfo"
project=project
project_tags=project_tags
attrs:class="py-5"
attrs:width=tabs_data.width
/ %}
{% endcomponent %}
{% endfill %}
{% endcomponent %}
```
### Extended template tags
`django-components` is designed for flexibility, making working with templates a breeze.
It extends Django's template tags syntax with:
<!-- TODO - Document literal lists and dictionaries -->
- Literal lists and dictionaries in the template
- [Self-closing tags](https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax#self-closing-tags) `{% mytag / %}`
- [Multi-line template tags](https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax#multiline-tags)
- [Spread operator](https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax#spread-operator) `...` to dynamically pass args or kwargs into the template tag
- [Template tags inside literal strings](https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax#template-tags-inside-literal-strings) like `"{{ first_name }} {{ last_name }}"`
- [Pass dictonaries by their key-value pairs](https://django-components.github.io/django-components/latest/concepts/fundamentals/template_tag_syntax#pass-dictonary-by-its-key-value-pairs) `attr:key=val`
```django
{% component "table"
...default_attrs
title="Friend list for {{ user.name }}"
headers=["Name", "Age", "Email"]
data=[
{
"name": "John"|upper,
"age": 30|add:1,
"email": "john@example.com",
"hobbies": ["reading"],
},
{
"name": "Jane"|upper,
"age": 25|add:1,
"email": "jane@example.com",
"hobbies": ["reading", "coding"],
},
],
attrs:class="py-4 ma-2 border-2 border-gray-300 rounded-md"
/ %}
```
You too can define template tags with these features by using
[`@template_tag()`](https://django-components.github.io/django-components/latest/reference/api/#django_components.template_tag)
or [`BaseNode`](https://django-components.github.io/django-components/latest/reference/api/#django_components.BaseNode).
Read more on [Custom template tags](https://django-components.github.io/django-components/latest/concepts/advanced/template_tags/).
### Full programmatic access
When you render a component, you can access everything about the component:
- Component input: [args, kwargs, slots and context](https://django-components.github.io/django-components/latest/concepts/fundamentals/render_api/#component-inputs)
- Component's template, CSS and JS
- Django's [context processors](https://django-components.github.io/django-components/latest/concepts/fundamentals/render_api/#request-and-context-processors)
- Unique [render ID](https://django-components.github.io/django-components/latest/concepts/fundamentals/render_api/#component-id)
```python
class Table(Component):
js_file = "table.js"
css_file = "table.css"
template = """
<div class="table">
<span>{{ variable }}</span>
</div>
"""
def get_template_data(self, args, kwargs, slots, context):
# Access component's ID
assert self.id == "djc1A2b3c"
# Access component's inputs and slots
assert self.args == [123, "str"]
assert self.kwargs == {"variable": "test", "another": 1}
footer_slot = self.slots["footer"]
some_var = self.context["some_var"]
# Access the request object and Django's context processors, if available
assert self.request.GET == {"query": "something"}
assert self.context_processors_data['user'].username == "admin"
return {
"variable": kwargs["variable"],
} }
class Media: # Access component's HTML / JS / CSS
css = '[your app]/components/calendar/calendar.css' Table.template
js = '[your app]/components/calendar/calendar.js' Table.js
Table.css
# Render the component
rendered = Table.render(
kwargs={"variable": "test", "another": 1},
args=(123, "str"),
slots={"footer": "MY_FOOTER"},
)
``` ```
And voilá!! We've created our first component. ### Granular HTML attributes
# Use the component in a template Use the [`{% html_attrs %}`](https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/) template tag to render HTML attributes.
First load the `component_tags` tag library, then use the `component_[js/css]_dependencies` and `component` tags to render the component to the page. It supports:
```htmldjango - Defining attributes as whole dictionaries or keyword arguments
{% load component_tags %} - Merging attributes from multiple sources
<!DOCTYPE html> - Boolean attributes
<html> - Appending attributes
<head> - Removing attributes
<title>My example calendar</title> - Defining default attributes
{% component_css_dependencies %}
</head> ```django
<div
{% html_attrs
attrs
defaults:class="default-class"
class="extra-class"
%}
>
```
[`{% html_attrs %}`](https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/) offers a Vue-like granular control for
[`class`](https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/#merging-class-attributes)
and [`style`](https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/#merging-style-attributes)
HTML attributes,
where you can use a dictionary to manage each class name or style property separately.
```django
{% html_attrs
class="foo bar"
class={
"baz": True,
"foo": False,
}
class="extra"
%}
```
```django
{% html_attrs
style="text-align: center; background-color: blue;"
style={
"background-color": "green",
"color": None,
"width": False,
}
style="position: absolute; height: 12px;"
%}
```
Read more about [HTML attributes](https://django-components.github.io/django-components/latest/concepts/fundamentals/html_attributes/).
### HTML fragment support
`django-components` makes integration with HTMX, AlpineJS or jQuery easy by allowing components to be rendered as [HTML fragments](https://django-components.github.io/django-components/latest/concepts/advanced/html_fragments/):
- Components's JS and CSS files are loaded automatically when the fragment is inserted into the DOM.
- Components can be [exposed as Django Views](https://django-components.github.io/django-components/latest/concepts/fundamentals/component_views_urls/) with `get()`, `post()`, `put()`, `patch()`, `delete()` methods
- Automatically create an endpoint for a component with [`Component.View.public`](https://django-components.github.io/django-components/latest/concepts/fundamentals/component_views_urls/#register-urls-automatically)
```py
# components/calendar/calendar.py
@register("calendar")
class Calendar(Component):
template_file = "calendar.html"
class View:
# Register Component with `urlpatterns`
public = True
# Define handlers
def get(self, request, *args, **kwargs):
page = request.GET.get("page", 1)
return self.component.render_to_response(
request=request,
kwargs={
"page": page,
},
)
def get_template_data(self, args, kwargs, slots, context):
return {
"page": kwargs["page"],
}
# Get auto-generated URL for the component
url = get_component_url(Calendar)
# Or define explicit URL in urls.py
path("calendar/", Calendar.as_view())
```
### Provide / Inject
`django-components` supports the provide / inject pattern, similarly to React's [Context Providers](https://react.dev/learn/passing-data-deeply-with-context) or Vue's [provide / inject](https://vuejs.org/guide/components/provide-inject):
- Use the [`{% provide %}`](https://django-components.github.io/django-components/latest/reference/template_tags/#provide) tag to provide data to the component tree
- Use the [`Component.inject()`](https://django-components.github.io/django-components/latest/reference/api/#django_components.Component.inject) method to inject data into the component
Read more about [Provide / Inject](https://django-components.github.io/django-components/latest/concepts/advanced/provide_inject).
```django
<body> <body>
{% component "calendar" date="2015-06-19" %} {% provide "theme" variant="light" %}
{% component_js_dependencies %} {% component "header" / %}
{% endprovide %}
</body> </body>
<html>
``` ```
The output from the above template will be: ```djc_py
@register("header")
class Header(Component):
template = "..."
```html def get_template_data(self, args, kwargs, slots, context):
<!DOCTYPE html> theme = self.inject("theme").variant
<html> return {
<head> "theme": theme,
<title>My example calendar</title> }
<link href="style.css" type="text/css" media="all" rel="stylesheet">
</head>
<body>
<div class="calendar-component">Today's date is <span>2015-06-19</span></div>
<script src="script.js"></script>
</body>
<html>
``` ```
This makes it possible to organize your front-end around reusable components. Instead of relying on template tags and keeping your CSS and Javascript in the static directory. ### Input validation and static type hints
# Using slots in templates Avoid needless errors with [type hints and runtime input validation](https://django-components.github.io/django-components/latest/concepts/fundamentals/typing_and_validation/).
Components support something called slots. They work a lot like Django blocks, but only inside components you define. Let's update our calendar component to support more customization, by updating our calendar.html template: To opt-in to input validation, define types for component's args, kwargs, slots, and more:
```htmldjango ```py
<div class="calendar-component"> from typing import NamedTuple, Optional
<div class="header"> from django.template import Context
{% slot "header" %}Calendar header{% endslot %} from django_components import Component, Slot, SlotInput
</div>
<div class="body"> class Button(Component):
{% slot "body" %}Today's date is <span>{{ date }}</span>{% endslot %} class Args(NamedTuple):
</div> size: int
</div> text: str
class Kwargs(NamedTuple):
variable: str
another: int
maybe_var: Optional[int] = None # May be omitted
class Slots(NamedTuple):
my_slot: Optional[SlotInput] = None
another_slot: SlotInput
def get_template_data(self, args: Args, kwargs: Kwargs, slots: Slots, context: Context):
args.size # int
kwargs.variable # str
slots.my_slot # Slot[MySlotData]
``` ```
When using the component, you specify what slots you want to fill and where you want to use the defaults from the template. It looks like this: To have type hints when calling
[`Button.render()`](https://django-components.github.io/django-components/latest/reference/api/#django_components.Component.render) or
[`Button.render_to_response()`](https://django-components.github.io/django-components/latest/reference/api/#django_components.Component.render_to_response),
wrap the inputs in their respective `Args`, `Kwargs`, and `Slots` classes:
```htmldjango ```py
{% component_block "calendar" date="2020-06-06" %} Button.render(
{% slot "body" %}Can you belive it's already <span>{{ date }}</span>??{% endslot %} # Error: First arg must be `int`, got `float`
{% endcomponent_block %} args=Button.Args(
size=1.25,
text="abc",
),
# Error: Key "another" is missing
kwargs=Button.Kwargs(
variable="text",
),
)
``` ```
Since the header block is unspecified, it's taken from the base template. If you put this in a template, and send in date=2020-06-06, this is what's rendered: ### Extensions
```html Django-components functionality can be extended with [Extensions](https://django-components.github.io/django-components/latest/concepts/advanced/extensions/).
<div class="calendar-component"> Extensions allow for powerful customization and integrations. They can:
<div class="header">
Calendar header
</div>
<div class="body">
Can you believe it's already <span>2020-06-06</span>??
</div>
</div>
- Tap into lifecycle events, such as when a component is created, deleted, or registered
- Add new attributes and methods to the components
- Add custom CLI commands
- Add custom URLs
Some of the extensions include:
- [Component caching](https://github.com/django-components/django-components/blob/master/src/django_components/extensions/cache.py)
- [Django View integration](https://github.com/django-components/django-components/blob/master/src/django_components/extensions/view.py)
- [Component defaults](https://github.com/django-components/django-components/blob/master/src/django_components/extensions/defaults.py)
- [Pydantic integration (input validation)](https://github.com/django-components/djc-ext-pydantic)
Some of the planned extensions include:
- AlpineJS integration
- Storybook integration
- Component-level benchmarking with asv
### Caching
- [Components can be cached](https://django-components.github.io/django-components/latest/concepts/advanced/component_caching/) using Django's cache framework.
- Caching rules can be configured on a per-component basis.
- Components are cached based on their input. Or you can write custom caching logic.
```py
from django_components import Component
class MyComponent(Component):
class Cache:
enabled = True
ttl = 60 * 60 * 24 # 1 day
def hash(self, *args, **kwargs):
return hash(f"{json.dumps(args)}:{json.dumps(kwargs)}")
``` ```
As you can see, component slots lets you write reusable containers, that you fill out when you use a component. This makes for highly reusable components, that can be used in different circumstances. ### Simple testing
If you want to include a slot's default content while adding additional content, you can call `slot.super` to insert the base content, which works similarly to `block.super`. - Write tests for components with [`@djc_test`](https://django-components.github.io/django-components/latest/concepts/advanced/testing/) decorator.
- The decorator manages global state, ensuring that tests don't leak.
```htmldjango - If using `pytest`, the decorator allows you to parametrize Django or Components settings.
{% component_block "calendar" date="2020-06-06" %} - The decorator also serves as a stand-in for Django's [`@override_settings`](https://docs.djangoproject.com/en/5.2/topics/testing/tools/#django.test.override_settings).
{% slot "body" %}{ slot.super }. Have a great day!{% endslot %}
{% endcomponent_block %}
```
Produces:
```html
<div class="calendar-component">
<div class="header">
Calendar header
</div>
<div class="body">
Today's date is <span>2020-06-06</span>. Have a great day!
</div>
</div>
```
# Component context and scope
By default, components can access context variables from the parent template, just like templates that are included with the `{% include %}` tag. Just like with `{% include %}`, if you don't want the component template to have access to the parent context, add `only` to the end of the `{% component %}` (or `{% component_block %}` tag):
```htmldjango
{% component "calendar" date="2015-06-19" only %}
```
NOTE: `{% csrf_token %}` tags need access to the top-level context, and they will not function properly if they are rendered in a component that is called with the `only` modifier.
Components can also access the outer context in their context methods by accessing the property `outer_context`.
# Available settings
All library settings are handled from a global COMPONENTS variable that is read from settings.py. By default you don't need it set, there are resonable defaults.
## Configure the module where components are loaded from
Configure the location where components are loaded. To do this, add a COMPONENTS variable to you settings.py with a list of python paths to load. This allows you to build a structure of components that are independent from your apps.
```python ```python
COMPONENTS = { from django_components.testing import djc_test
"libraries": [
"mysite.components.forms", from components.my_table import MyTable
"mysite.components.buttons",
"mysite.components.cards", @djc_test
], def test_my_table():
} rendered = MyTable.render(
kwargs={
"title": "My table",
},
)
assert rendered == "<table>My table</table>"
``` ```
## Disable autodiscovery ### Debugging features
If you specify all the component locations with the setting above and have a lot of apps, you can (very) slightly speed things up by disabling autodiscovery. - **Visual component inspection**: Highlight components and slots directly in your browser.
- **Detailed tracing logs to supply AI-agents with context**: The logs include component and slot names and IDs, and their position in the tree.
```python <div style="text-align: center;">
COMPONENTS = { <img src="https://github.com/django-components/django-components/blob/master/docs/images/debug-highlight-slots.png?raw=true" alt="Component debugging visualization showing slot highlighting" width="500" style="margin: auto;">
"autodiscovery": False, </div>
}
```
## Tune the template cache ### Sharing components
Each time a template is rendered it is cached to a global in-memory cache (using Python's lru_cache decorator). This speeds up the next render of the component. As the same component is often used many times on the same page, these savings add up. By default the cache holds 128 component templates in memory, which should be enough for most sites. But if you have a lot of components, or if you are using the `template` method of a component to render lots of dynamic templates, you can increase this number. To remove the cache limit altogether and cache everything, set template_cache_size to `None`. - Install and use third-party components from PyPI
- Or publish your own "component registry"
- Highly customizable - Choose how the components are called in the template (and more):
```python ```django
COMPONENTS = { {% component "calendar" date="2024-11-06" %}
"template_cache_size": 256, {% endcomponent %}
}
```
# Install locally and run the tests {% calendar date="2024-11-06" %}
{% endcalendar %}
```
Start by forking the project by clicking the **Fork button** up in the right corner in the GitHub . This makes a copy of the repository in your own name. Now you can clone this repository locally and start adding features: ## Documentation
```sh [Read the full documentation here](https://django-components.github.io/django-components/latest/).
git clone https://github.com/<your GitHub username>/django-components.git
```
To quickly run the tests install the local dependencies by running: ... or jump right into the code, [check out the example project](https://github.com/django-components/django-components/tree/master/sampleproject).
```sh ## Performance
pip install -r requirements-dev.txt
```
Now you can run the tests to make sure everything works as expected: Our aim is to be at least as fast as Django templates.
```sh As of `0.130`, `django-components` is ~4x slower than Django templates.
pytest
```
The library is also tested across many versions of Python and Django. To run tests that way: | | Render time|
|----------|----------------------|
| django | 68.9±0.6ms |
| django-components | 259±4ms |
```sh See the [full performance breakdown](https://django-components.github.io/django-components/latest/benchmarks/) for more information.
pyenv install 3.6.9
pyenv install 3.7.9
pyenv install 3.8.9
pyenv install 3.9.4
pyenv local 3.6.9 3.7.9 3.8.9 3.9.4
tox -p
```
## Release notes
Read the [Release Notes](https://github.com/django-components/django-components/tree/master/CHANGELOG.md)
to see the latest features and fixes.
## Community examples
One of our goals with `django-components` is to make it easy to share components between projects. If you have a set of components that you think would be useful to others, please open a pull request to add them to the list below.
- [django-htmx-components](https://github.com/iwanalabs/django-htmx-components): A set of components for use with [htmx](https://htmx.org/).
- [djc-heroicons](https://pypi.org/project/djc-heroicons/): A component that renders icons from [Heroicons.com](https://heroicons.com/).
## Contributing and development
Get involved or sponsor this project - [See here](https://django-components.github.io/django-components/dev/overview/contributing/)
Running django-components locally for development - [See here](https://django-components.github.io/django-components/dev/overview/development/)

210
asv.conf.json Normal file
View file

@ -0,0 +1,210 @@
{
// The version of the config file format. Do not change, unless
// you know what you are doing
"version": 1,
// The name of the project being benchmarked
"project": "django-components",
// The project's homepage
// "project_url": "https://django-components.github.io/django-components/",
"project_url": "/django-components/", // Relative path, since benchmarks are nested under the docs site
// The URL or local path of the source code repository for the
// project being benchmarked
"repo": ".",
// The Python project's subdirectory in your repo. If missing or
// the empty string, the project is assumed to be located at the root
// of the repository.
// "repo_subdir": "",
// Customizable commands for building the project.
// See asv.conf.json documentation.
// To build the package using pyproject.toml (PEP518), uncomment the following lines
// "build_command": [
// "python -m pip install build",
// "python -m build",
// "python -mpip wheel -w {build_cache_dir} {build_dir}"
// ],
// To build the package using setuptools and a setup.py file, uncomment the following lines
// "build_command": [
// "python setup.py build",
// "python -mpip wheel -w {build_cache_dir} {build_dir}"
// ],
// Customizable commands for installing and uninstalling the project.
// See asv.conf.json documentation.
// "install_command": ["in-dir={env_dir} python -mpip install {wheel_file}"],
// "uninstall_command": ["return-code=any python -mpip uninstall -y {project}"],
"install_command": ["in-dir={env_dir} python -mpip install ./project"],
// List of branches to benchmark. If not provided, defaults to "main"
// (for git) or "default" (for mercurial).
// "branches": ["main"], // for git
// "branches": ["default"], // for mercurial
"branches": [
"master"
],
// The DVCS being used. If not set, it will be automatically
// determined from "repo" by looking at the protocol in the URL
// (if remote), or by looking for special directories, such as
// ".git" (if local).
// "dvcs": "git",
// The tool to use to create environments. May be "conda",
// "virtualenv", "mamba" (above 3.8)
// or other value depending on the plugins in use.
// If missing or the empty string, the tool will be automatically
// determined by looking for tools on the PATH environment
// variable.
"environment_type": "virtualenv",
// timeout in seconds for installing any dependencies in environment
// defaults to 10 min
//"install_timeout": 600,
// the base URL to show a commit for the project.
// "show_commit_url": "http://github.com/owner/project/commit/",
// The Pythons you'd like to test against. If not provided, defaults
// to the current version of Python used to run `asv`.
"pythons": [
"3.13"
],
// The list of conda channel names to be searched for benchmark
// dependency packages in the specified order
// "conda_channels": ["conda-forge", "defaults"],
// A conda environment file that is used for environment creation.
// "conda_environment_file": "environment.yml",
// The matrix of dependencies to test. Each key of the "req"
// requirements dictionary is the name of a package (in PyPI) and
// the values are version numbers. An empty list or empty string
// indicates to just test against the default (latest)
// version. null indicates that the package is to not be
// installed. If the package to be tested is only available from
// PyPi, and the 'environment_type' is conda, then you can preface
// the package name by 'pip+', and the package will be installed
// via pip (with all the conda available packages installed first,
// followed by the pip installed packages).
//
// The ``@env`` and ``@env_nobuild`` keys contain the matrix of
// environment variables to pass to build and benchmark commands.
// An environment will be created for every combination of the
// cartesian product of the "@env" variables in this matrix.
// Variables in "@env_nobuild" will be passed to every environment
// during the benchmark phase, but will not trigger creation of
// new environments. A value of ``null`` means that the variable
// will not be set for the current combination.
//
// "matrix": {
// "req": {
// "numpy": ["1.6", "1.7"],
// "six": ["", null], // test with and without six installed
// "pip+emcee": [""] // emcee is only available for install with pip.
// },
// "env": {"ENV_VAR_1": ["val1", "val2"]},
// "env_nobuild": {"ENV_VAR_2": ["val3", null]},
// },
"matrix": {
"req": {
"django": [
"5.1"
],
"djc-core-html-parser": [""] // Empty string means the latest version
}
},
// Combinations of libraries/python versions can be excluded/included
// from the set to test. Each entry is a dictionary containing additional
// key-value pairs to include/exclude.
//
// An exclude entry excludes entries where all values match. The
// values are regexps that should match the whole string.
//
// An include entry adds an environment. Only the packages listed
// are installed. The 'python' key is required. The exclude rules
// do not apply to includes.
//
// In addition to package names, the following keys are available:
//
// - python
// Python version, as in the *pythons* variable above.
// - environment_type
// Environment type, as above.
// - sys_platform
// Platform, as in sys.platform. Possible values for the common
// cases: 'linux2', 'win32', 'cygwin', 'darwin'.
// - req
// Required packages
// - env
// Environment variables
// - env_nobuild
// Non-build environment variables
//
// "exclude": [
// {"python": "3.2", "sys_platform": "win32"}, // skip py3.2 on windows
// {"environment_type": "conda", "req": {"six": null}}, // don't run without six on conda
// {"env": {"ENV_VAR_1": "val2"}}, // skip val2 for ENV_VAR_1
// ],
//
// "include": [
// // additional env for python3.12
// {"python": "3.12", "req": {"numpy": "1.26"}, "env_nobuild": {"FOO": "123"}},
// // additional env if run on windows+conda
// {"platform": "win32", "environment_type": "conda", "python": "3.12", "req": {"libpython": ""}},
// ],
// The directory (relative to the current directory) that benchmarks are
// stored in. If not provided, defaults to "benchmarks"
"benchmark_dir": "benchmarks",
// The directory (relative to the current directory) to cache the Python
// environments in. If not provided, defaults to "env"
"env_dir": ".asv/env",
// The directory (relative to the current directory) that raw benchmark
// results are stored in. If not provided, defaults to "results".
"results_dir": ".asv/results",
// The directory (relative to the current directory) that the html tree
// should be written to. If not provided, defaults to "html".
// "html_dir": ".asv/html",
"html_dir": "docs/benchmarks", // # TODO
// The number of characters to retain in the commit hashes.
// "hash_length": 8,
// `asv` will cache results of the recent builds in each
// environment, making them faster to install next time. This is
// the number of builds to keep, per environment.
// "build_cache_size": 2,
// The commits after which the regression search in `asv publish`
// should start looking for regressions. Dictionary whose keys are
// regexps matching to benchmark names, and values corresponding to
// the commit (exclusive) after which to start looking for
// regressions. The default is to start from the first commit
// with results. If the commit is `null`, regression detection is
// skipped for the matching benchmark.
//
// "regressions_first_commits": {
// "some_benchmark": "352cdf", // Consider regressions only after this commit
// "another_benchmark": null, // Skip regression detection altogether
// },
// The thresholds for relative change in results, after which `asv
// publish` starts reporting regressions. Dictionary of the same
// form as in ``regressions_first_commits``, with values
// indicating the thresholds. If multiple entries match, the
// maximum is taken. If no entry matches, the default is 5%.
//
// "regressions_thresholds": {
// "some_benchmark": 0.01, // Threshold of 1%
// "another_benchmark": 0.5, // Threshold of 50%
// },
}

195
benchmarks/README.md Normal file
View file

@ -0,0 +1,195 @@
# Benchmarks
## Overview
[`asv`](https://github.com/airspeed-velocity/) (Airspeed Velocity) is used for benchmarking performance.
`asv` covers the entire benchmarking workflow. We can:
1. Define benchmark tests similarly to writing pytest tests (supports both timing and memory benchmarks)
2. Run the benchmarks and generate results for individual git commits, tags, or entire branches
3. View results as an HTML report (dashboard with charts)
4. Compare performance between two commits / tags / branches for CI integration
![asv dashboard](./assets/asv_dashboard.png)
django-components uses `asv` for these use cases:
- Benchmarking across releases:
1. When a git tag is created and pushed, this triggers a Github Action workflow (see `docs.yml`).
2. The workflow runs the benchmarks with the latest release, and commits the results to the repository.
Thus, we can see how performance changes across releases.
- Displaying performance results on the website:
1. When a git tag is created and pushed, we also update the documentation website (see `docs.yml`).
2. Before we publish the docs website, we generate the HTML report for the benchmark results.
3. The generated report is placed in the `docs/benchmarks/` directory, and is thus
published with the rest of the docs website and available under [`/benchmarks/`](https://django-components.github.io/django-components/latest/benchmarks).
- NOTE: The location where the report is placed is defined in `asv.conf.json`.
- Compare performance between commits on pull requests:
1. When a pull request is made, this triggers a Github Action workflow (see `benchmark.yml`).
2. The workflow compares performance between commits.
3. The report is added to the PR as a comment made by a bot.
## Interpreting benchmarks
The results CANNOT be taken as ABSOLUTE values e.g.:
"This example took 200ms to render, so my page will also take 200ms to render."
Each UI may consist of different number of Django templates, template tags, and components, and all these may influence the rendering time differently.
Instead, the results MUST be understood as RELATIVE values.
- If a commit is 10% slower than the master branch, that's valid.
- If Django components are 10% slower than vanilla Django templates, that's valid.
- If "isolated" mode is 10% slower than "django" mode, that's valid.
## Development
Let's say we want to generate results for the last 5 commits.
1. Install `asv`
```bash
pip install asv
```
2. Run benchmarks and generate results
```bash
asv run HEAD --steps 5 -e
```
- `HEAD` means that we want to run benchmarks against the [current branch](https://stackoverflow.com/a/2304106/9788634).
- `--steps 5` means that we want to run benchmarks for the last 5 commits.
- `-e` to print out any errors.
The results will be stored in `.asv/results/`, as configured in `asv.conf.json`.
3. Generate HTML report
```bash
asv publish
asv preview
```
- `publish` generates the HTML report and stores it in `docs/benchmarks/`, as configured in `asv.conf.json`.
- `preview` starts a local server and opens the report in the browser.
NOTE: Since the results are stored in `docs/benchmarks/`, you can also view the results
with `mkdocs serve` and navigating to `http://localhost:9000/django-components/benchmarks/`.
NOTE 2: Running `publish` will overwrite the existing contents of `docs/benchmarks/`.
## Writing benchmarks
`asv` supports writing different [types of benchmarks](https://asv.readthedocs.io/en/latest/writing_benchmarks.html#benchmark-types). What's relevant for us is:
- [Raw timing benchmarks](https://asv.readthedocs.io/en/latest/writing_benchmarks.html#raw-timing-benchmarks)
- [Peak memory benchmarks](https://asv.readthedocs.io/en/latest/writing_benchmarks.html#peak-memory)
Notes:
- The difference between "raw timing" and "timing" tests is that "raw timing" is ran in a separate process.
And instead of running the logic within the test function itself, we return a script (string)
that will be executed in the separate process.
- The difference between "peak memory" and "memory" tests is that "memory" calculates the memory
of the object returned from the test function. On the other hand, "peak memory" detects the
peak memory usage during the execution of the test function (including the setup function).
You can write the test file anywhere in the `benchmarks/` directory, `asv` will automatically find it.
Inside the file, write a test function. Depending on the type of the benchmark,
prefix the test function name with `timeraw_` or `peakmem_`. See [`benchmarks/benchmark_templating.py`](benchmark_templating.py) for examples.
### Ensuring that the benchmarked logic is correct
The approach I (Juro) took with benchmarking the overall template rendering is that
I've defined the actual logic in `tests/test_benchmark_*.py` files. So those files
are part of the normal pytest testing, and even contain a section with pytest tests.
This ensures that the benchmarked logic remains functional and error-free.
However, there's some caveats:
1. I wasn't able to import files from `tests/`.
2. When running benchmarks, we don't want to run the pytest tests.
To work around that, the approach I used for loading the files from the `tests/` directory is to:
1. Get the file's source code as a string.
2. Cut out unwanted sections (like the pytest tests).
3. Append the benchmark-specific code to the file (e.g. to actually render the templates).
4. In case of "timeraw" benchmarks, we can simply return the remaining code as a string
to be run in a separate process.
5. In case of "peakmem" benchmarks, we need to access this modified source code as Python objects.
So the code is made available as a "virtual" module, which makes it possible to import Python objects like so:
```py
from my_virtual_module import run_my_benchmark
```
## Using `asv`
### Compare latest commit against master
Note: Before comparing, you must run the benchmarks first to generate the results. The `continuous` command does not generate the results by itself.
```bash
asv continuous master^! HEAD^! --factor 1.1
```
- Factor of `1.1` means that the new commit is allowed to be 10% slower/faster than the master commit.
- `^` means that we mean the COMMIT of the branch, not the BRANCH itself.
Without it, we would run benchmarks for the whole branch history.
With it, we run benchmarks FROM the latest commit (incl) TO ...
- `!` means that we want to select range spanning a single commit.
Without it, we would run benchmarks for all commits FROM the latest commit
TO the start of the branch history.
With it, we run benchmarks ONLY FOR the latest commit.
### More Examples
Notes:
- Use `~1` to select the second-latest commit, `~2` for the third-latest, etc..
Generate benchmarks for the latest commit in `master` branch.
```bash
asv run master^!
```
Generate benchmarks for second-latest commit in `master` branch.
```bash
asv run master~1^!
```
Generate benchmarks for all commits in `master` branch.
```bash
asv run master
```
Generate benchmarks for all commits in `master` branch, but exclude the latest commit.
```bash
asv run master~1
```
Generate benchmarks for the LAST 5 commits in `master` branch, but exclude the latest commit.
```bash
asv run master~1 --steps 5
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

View file

@ -0,0 +1,446 @@
# Write the benchmarking functions here
# See "Writing benchmarks" in the asv docs for more information.
import re
from pathlib import Path
from types import ModuleType
from typing import Literal
# Fix for for https://github.com/airspeed-velocity/asv_runner/pull/44
import benchmarks.monkeypatch_asv # noqa: F401
from benchmarks.utils import benchmark, create_virtual_module
DJC_VS_DJ_GROUP = "Components vs Django"
DJC_ISOLATED_VS_NON_GROUP = "isolated vs django modes"
OTHER_GROUP = "Other"
DjcContextMode = Literal["isolated", "django"]
TemplatingRenderer = Literal["django", "django-components", "none"]
TemplatingTestSize = Literal["lg", "sm"]
TemplatingTestType = Literal[
"first", # Testing performance of the first time the template is rendered
"subsequent", # Testing performance of the subsequent times the template is rendered
"startup", # Testing performance of the startup time (e.g. defining classes and templates)
]
def _get_templating_filepath(renderer: TemplatingRenderer, size: TemplatingTestSize) -> Path:
if renderer == "none":
raise ValueError("Cannot get filepath for renderer 'none'")
elif renderer not in ["django", "django-components"]:
raise ValueError(f"Invalid renderer: {renderer}")
if size not in ("lg", "sm"):
raise ValueError(f"Invalid size: {size}, must be one of ('lg', 'sm')")
# At this point, we know the renderer is either "django" or "django-components"
root = file_path = Path(__file__).parent.parent
if renderer == "django":
if size == "lg":
file_path = root / "tests" / "test_benchmark_django.py"
else:
file_path = root / "tests" / "test_benchmark_django_small.py"
else:
if size == "lg":
file_path = root / "tests" / "test_benchmark_djc.py"
else:
file_path = root / "tests" / "test_benchmark_djc_small.py"
return file_path
def _get_templating_script(
renderer: TemplatingRenderer,
size: TemplatingTestSize,
context_mode: DjcContextMode,
imports_only: bool,
) -> str:
if renderer == "none":
return ""
elif renderer not in ["django", "django-components"]:
raise ValueError(f"Invalid renderer: {renderer}")
# At this point, we know the renderer is either "django" or "django-components"
file_path = _get_templating_filepath(renderer, size)
contents = file_path.read_text()
# The files with benchmarked code also have a section for testing them with pytest.
# We remove that pytest section, so the script is only the benchmark code.
contents = contents.split("# ----------- TESTS START ------------ #")[0]
if imports_only:
# There is a benchmark test for measuring the time it takes to import the module.
# For that, we exclude from the code everything AFTER this line
contents = contents.split("# ----------- IMPORTS END ------------ #")[0]
else:
# Set the context mode by replacing variable in the script
contents = re.sub(r"CONTEXT_MODE.*?\n", f"CONTEXT_MODE = '{context_mode}'\n", contents, count=1)
return contents
def _get_templating_module(
renderer: TemplatingRenderer,
size: TemplatingTestSize,
context_mode: DjcContextMode,
imports_only: bool,
) -> ModuleType:
if renderer not in ("django", "django-components"):
raise ValueError(f"Invalid renderer: {renderer}")
file_path = _get_templating_filepath(renderer, size)
script = _get_templating_script(renderer, size, context_mode, imports_only)
# This makes it possible to import the module in the benchmark function
# as `import test_templating`
module = create_virtual_module("test_templating", script, str(file_path))
return module
# The `timeraw_` tests run in separate processes. But when running memory benchmarks,
# the tested logic runs in the same process as the where we run the benchmark functions
# (e.g. `peakmem_render_lg_first()`). Thus, the `peakmem_` functions have access to this file
# when the tested logic runs.
#
# Secondly, `asv` doesn't offer any way to pass data from `setup` to actual test.
#
# And so we define this global, which, when running memory benchmarks, the `setup` function
# populates. And then we trigger the actual render from within the test body.
do_render = lambda: None # noqa: E731
def setup_templating_memory_benchmark(
renderer: TemplatingRenderer,
size: TemplatingTestSize,
test_type: TemplatingTestType,
context_mode: DjcContextMode,
imports_only: bool = False,
):
global do_render
module = _get_templating_module(renderer, size, context_mode, imports_only)
data = module.gen_render_data()
render = module.render
do_render = lambda: render(data) # noqa: E731
# Do the first render as part of setup if we're testing the subsequent renders
if test_type == "subsequent":
do_render()
# The timing benchmarks run the actual code in a separate process, by using the `timeraw_` prefix.
# As such, we don't actually load the code in this file. Instead, we only prepare a script (raw string)
# that will be run in the new process.
def prepare_templating_benchmark(
renderer: TemplatingRenderer,
size: TemplatingTestSize,
test_type: TemplatingTestType,
context_mode: DjcContextMode,
imports_only: bool = False,
):
setup_script = _get_templating_script(renderer, size, context_mode, imports_only)
# If we're testing the startup time, then the setup is actually the tested code
if test_type == "startup":
return setup_script
else:
# Otherwise include also data generation as part of setup
setup_script += "\n\n" "render_data = gen_render_data()\n"
# Do the first render as part of setup if we're testing the subsequent renders
if test_type == "subsequent":
setup_script += "render(render_data)\n"
benchmark_script = "render(render_data)\n"
return benchmark_script, setup_script
# - Group: django-components vs django
# - time: djc vs django (startup lg)
# - time: djc vs django (lg - FIRST)
# - time: djc vs django (sm - FIRST)
# - time: djc vs django (lg - SUBSEQUENT)
# - time: djc vs django (sm - SUBSEQUENT)
# - mem: djc vs django (lg - FIRST)
# - mem: djc vs django (sm - FIRST)
# - mem: djc vs django (lg - SUBSEQUENT)
# - mem: djc vs django (sm - SUBSEQUENT)
#
# NOTE: While the name suggests we're comparing Django and Django-components, be aware that
# in our "Django" tests, we still install and import django-components. We also use
# django-components's `{% html_attrs %}` tag in the Django scenario. `{% html_attrs %}`
# was used because the original sample code was from django-components.
#
# As such, these tests should seen not as "Using Django vs Using Components". But instead,
# it should be "What is the relative cost of using Components?".
#
# As an example, the benchmarking for the startup time and memory usage is not comparing
# two independent approaches. Rather, the test is checking if defining Components classes
# is more expensive than vanilla Django templates.
class DjangoComponentsVsDjangoTests:
# Testing startup time (e.g. defining classes and templates)
@benchmark(
pretty_name="startup - large",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
)
def timeraw_startup_lg(self, renderer: TemplatingRenderer):
return prepare_templating_benchmark(renderer, "lg", "startup", "isolated")
@benchmark(
pretty_name="render - small - first render",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
)
def timeraw_render_sm_first(self, renderer: TemplatingRenderer):
return prepare_templating_benchmark(renderer, "sm", "first", "isolated")
@benchmark(
pretty_name="render - small - second render",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
)
def timeraw_render_sm_subsequent(self, renderer: TemplatingRenderer):
return prepare_templating_benchmark(renderer, "sm", "subsequent", "isolated")
@benchmark(
pretty_name="render - large - first render",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
include_in_quick_benchmark=True,
)
def timeraw_render_lg_first(self, renderer: TemplatingRenderer):
return prepare_templating_benchmark(renderer, "lg", "first", "isolated")
@benchmark(
pretty_name="render - large - second render",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
)
def timeraw_render_lg_subsequent(self, renderer: TemplatingRenderer):
return prepare_templating_benchmark(renderer, "lg", "subsequent", "isolated")
@benchmark(
pretty_name="render - small - first render (mem)",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
setup=lambda renderer: setup_templating_memory_benchmark(renderer, "sm", "first", "isolated"),
)
def peakmem_render_sm_first(self, renderer: TemplatingRenderer):
do_render()
@benchmark(
pretty_name="render - small - second render (mem)",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
setup=lambda renderer: setup_templating_memory_benchmark(renderer, "sm", "subsequent", "isolated"),
)
def peakmem_render_sm_subsequent(self, renderer: TemplatingRenderer):
do_render()
@benchmark(
pretty_name="render - large - first render (mem)",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
setup=lambda renderer: setup_templating_memory_benchmark(renderer, "lg", "first", "isolated"),
)
def peakmem_render_lg_first(self, renderer: TemplatingRenderer):
do_render()
@benchmark(
pretty_name="render - large - second render (mem)",
group_name=DJC_VS_DJ_GROUP,
number=1,
rounds=5,
params={
"renderer": ["django", "django-components"],
},
setup=lambda renderer: setup_templating_memory_benchmark(renderer, "lg", "subsequent", "isolated"),
)
def peakmem_render_lg_subsequent(self, renderer: TemplatingRenderer):
do_render()
# - Group: Django-components "isolated" vs "django" modes
# - time: Isolated vs django djc (startup lg)
# - time: Isolated vs django djc (lg - FIRST)
# - time: Isolated vs django djc (sm - FIRST)
# - time: Isolated vs django djc (lg - SUBSEQUENT)
# - time: Isolated vs django djc (sm - SUBSEQUENT)
# - mem: Isolated vs django djc (lg - FIRST)
# - mem: Isolated vs django djc (sm - FIRST)
# - mem: Isolated vs django djc (lg - SUBSEQUENT)
# - mem: Isolated vs django djc (sm - SUBSEQUENT)
class IsolatedVsDjangoContextModesTests:
# Testing startup time (e.g. defining classes and templates)
@benchmark(
pretty_name="startup - large",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
)
def timeraw_startup_lg(self, context_mode: DjcContextMode):
return prepare_templating_benchmark("django-components", "lg", "startup", context_mode)
@benchmark(
pretty_name="render - small - first render",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
)
def timeraw_render_sm_first(self, context_mode: DjcContextMode):
return prepare_templating_benchmark("django-components", "sm", "first", context_mode)
@benchmark(
pretty_name="render - small - second render",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
)
def timeraw_render_sm_subsequent(self, context_mode: DjcContextMode):
return prepare_templating_benchmark("django-components", "sm", "subsequent", context_mode)
@benchmark(
pretty_name="render - large - first render",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
)
def timeraw_render_lg_first(self, context_mode: DjcContextMode):
return prepare_templating_benchmark("django-components", "lg", "first", context_mode)
@benchmark(
pretty_name="render - large - second render",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
)
def timeraw_render_lg_subsequent(self, context_mode: DjcContextMode):
return prepare_templating_benchmark("django-components", "lg", "subsequent", context_mode)
@benchmark(
pretty_name="render - small - first render (mem)",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
setup=lambda context_mode: setup_templating_memory_benchmark("django-components", "sm", "first", context_mode),
)
def peakmem_render_sm_first(self, context_mode: DjcContextMode):
do_render()
@benchmark(
pretty_name="render - small - second render (mem)",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
setup=lambda context_mode: setup_templating_memory_benchmark(
"django-components",
"sm",
"subsequent",
context_mode,
),
)
def peakmem_render_sm_subsequent(self, context_mode: DjcContextMode):
do_render()
@benchmark(
pretty_name="render - large - first render (mem)",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
setup=lambda context_mode: setup_templating_memory_benchmark(
"django-components",
"lg",
"first",
context_mode,
),
)
def peakmem_render_lg_first(self, context_mode: DjcContextMode):
do_render()
@benchmark(
pretty_name="render - large - second render (mem)",
group_name=DJC_ISOLATED_VS_NON_GROUP,
number=1,
rounds=5,
params={
"context_mode": ["isolated", "django"],
},
setup=lambda context_mode: setup_templating_memory_benchmark(
"django-components",
"lg",
"subsequent",
context_mode,
),
)
def peakmem_render_lg_subsequent(self, context_mode: DjcContextMode):
do_render()
class OtherTests:
@benchmark(
pretty_name="import time",
group_name=OTHER_GROUP,
number=1,
rounds=5,
)
def timeraw_import_time(self):
return prepare_templating_benchmark("django-components", "lg", "startup", "isolated", imports_only=True)

View file

@ -1,170 +0,0 @@
from time import perf_counter
from django.template import Context, Template
from django.test import override_settings
from django_components import component
from django_components.middleware import (
CSS_DEPENDENCY_PLACEHOLDER,
JS_DEPENDENCY_PLACEHOLDER,
)
from tests.django_test_setup import * # NOQA
from tests.testutils import Django30CompatibleSimpleTestCase as SimpleTestCase
from tests.testutils import create_and_process_template_response
class SlottedComponent(component.Component):
template_name = "slotted_template.html"
class SimpleComponent(component.Component):
template_name = "simple_template.html"
def get_context_data(self, variable, variable2="default"):
return {
"variable": variable,
"variable2": variable2,
}
class Media:
css = {"all": ["style.css"]}
js = ["script.js"]
class BreadcrumbComponent(component.Component):
template_name = "mdn_component_template.html"
LINKS = [
(
"https://developer.mozilla.org/en-US/docs/Learn",
"Learn web development",
),
(
"https://developer.mozilla.org/en-US/docs/Learn/HTML",
"Structuring the web with HTML",
),
(
"https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML",
"Introduction to HTML",
),
(
"https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Document_and_website_structure",
"Document and website structure",
),
]
def get_context_data(self, items):
if items > 4:
items = 4
elif items < 0:
items = 0
return {"links": self.LINKS[: items - 1]}
class Media:
css = {"all": ["test.css"]}
js = ["test.js"]
EXPECTED_CSS = """<link href="test.css" media="all" rel="stylesheet">"""
EXPECTED_JS = """<script src="test.js"></script>"""
@override_settings(COMPONENTS={"RENDER_DEPENDENCIES": True})
class RenderBenchmarks(SimpleTestCase):
def setUp(self):
component.registry.clear()
component.registry.register("test_component", SlottedComponent)
component.registry.register("inner_component", SimpleComponent)
component.registry.register(
"breadcrumb_component", BreadcrumbComponent
)
@staticmethod
def timed_loop(func, iterations=1000):
"""Run func iterations times, and return the time in ms per iteration."""
start_time = perf_counter()
for _ in range(iterations):
func()
end_time = perf_counter()
total_elapsed = end_time - start_time # NOQA
return total_elapsed * 1000 / iterations
def test_render_time_for_small_component(self):
template = Template(
"{% load component_tags %}{% component_block 'test_component' %}"
"{% slot \"header\" %}{% component 'inner_component' variable='foo' %}{% endslot %}"
"{% endcomponent_block %}",
name="root",
)
print(
f"{self.timed_loop(lambda: template.render(Context({})))} ms per iteration"
)
def test_middleware_time_with_dependency_for_small_page(self):
template = Template(
"{% load component_tags %}{% component_dependencies %}"
"{% component_block 'test_component' %}{% slot \"header\" %}"
"{% component 'inner_component' variable='foo' %}{% endslot %}{% endcomponent_block %}",
name="root",
)
# Sanity tests
response_content = create_and_process_template_response(template)
self.assertNotIn(CSS_DEPENDENCY_PLACEHOLDER, response_content)
self.assertNotIn(JS_DEPENDENCY_PLACEHOLDER, response_content)
self.assertIn("style.css", response_content)
self.assertIn("script.js", response_content)
without_middleware = self.timed_loop(
lambda: create_and_process_template_response(
template, use_middleware=False
)
)
with_middleware = self.timed_loop(
lambda: create_and_process_template_response(
template, use_middleware=True
)
)
print("Small page middleware test")
self.report_results(with_middleware, without_middleware)
def test_render_time_with_dependency_for_large_page(self):
from django.template.loader import get_template
template = get_template("mdn_complete_page.html")
response_content = create_and_process_template_response(template, {})
self.assertNotIn(CSS_DEPENDENCY_PLACEHOLDER, response_content)
self.assertNotIn(JS_DEPENDENCY_PLACEHOLDER, response_content)
self.assertIn("test.css", response_content)
self.assertIn("test.js", response_content)
without_middleware = self.timed_loop(
lambda: create_and_process_template_response(
template, {}, use_middleware=False
)
)
with_middleware = self.timed_loop(
lambda: create_and_process_template_response(
template, {}, use_middleware=True
)
)
print("Large page middleware test")
self.report_results(with_middleware, without_middleware)
@staticmethod
def report_results(with_middleware, without_middleware):
print(f"Middleware active\t\t{with_middleware:.3f} ms per iteration")
print(
f"Middleware inactive\t{without_middleware:.3f} ms per iteration"
)
time_difference = with_middleware - without_middleware
if without_middleware > with_middleware:
print(
f"Decrease of {-100 * time_difference / with_middleware:.2f}%"
)
else:
print(
f"Increase of {100 * time_difference / without_middleware:.2f}%"
)

View file

@ -0,0 +1,29 @@
from asv_runner.benchmarks.timeraw import TimerawBenchmark, _SeparateProcessTimer
# Fix for https://github.com/airspeed-velocity/asv_runner/pull/44
def _get_timer(self, *param):
"""
Returns a timer that runs the benchmark function in a separate process.
#### Parameters
**param** (`tuple`)
: The parameters to pass to the benchmark function.
#### Returns
**timer** (`_SeparateProcessTimer`)
: A timer that runs the function in a separate process.
"""
if param:
def func():
# ---------- OUR CHANGES: ADDED RETURN STATEMENT ----------
return self.func(*param)
# ---------- OUR CHANGES END ----------
else:
func = self.func
return _SeparateProcessTimer(func)
TimerawBenchmark._get_timer = _get_timer

View file

@ -0,0 +1,66 @@
# ------------ FIX FOR #45 ------------
# See https://github.com/airspeed-velocity/asv_runner/issues/45
# This fix is applied in CI in the `benchmark.yml` file.
# This file is intentionally named `monkeypatch_asv_ci.txt` to avoid being
# loaded as a python file by `asv`.
# -------------------------------------
def timeit(self, number):
"""
Run the function's code `number` times in a separate Python process, and
return the execution time.
#### Parameters
**number** (`int`)
: The number of times to execute the function's code.
#### Returns
**time** (`float`)
: The time it took to execute the function's code `number` times.
#### Notes
The function's code is executed in a separate Python process to avoid
interference from the parent process. The function can return either a
single string of code to be executed, or a tuple of two strings: the
code to be executed and the setup code to be run before timing.
"""
stmt = self.func()
if isinstance(stmt, tuple):
stmt, setup = stmt
else:
setup = ""
stmt = textwrap.dedent(stmt)
setup = textwrap.dedent(setup)
stmt = stmt.replace(r'"""', r"\"\"\"")
setup = setup.replace(r'"""', r"\"\"\"")
# TODO
# -----------ORIGINAL CODE-----------
# code = self.subprocess_tmpl.format(stmt=stmt, setup=setup, number=number)
# res = subprocess.check_output([sys.executable, "-c", code])
# return float(res.strip())
# -----------NEW CODE-----------
code = self.subprocess_tmpl.format(stmt=stmt, setup=setup, number=number)
evaler = textwrap.dedent(
"""
import sys
code = sys.stdin.read()
exec(code)
"""
)
proc = subprocess.Popen([sys.executable, "-c", evaler],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
stdout, stderr = proc.communicate(input=code.encode("utf-8"))
if proc.returncode != 0:
raise RuntimeError(f"Subprocess failed: {stderr.decode()}")
return float(stdout.decode("utf-8").strip())
_SeparateProcessTimer.timeit = timeit
# ------------ END FIX #45 ------------

99
benchmarks/utils.py Normal file
View file

@ -0,0 +1,99 @@
import os
import sys
from importlib.abc import Loader
from importlib.util import spec_from_loader, module_from_spec
from types import ModuleType
from typing import Any, Dict, List, Optional
# NOTE: benchmark_name constraints:
# - MUST BE UNIQUE
# - MUST NOT CONTAIN `-`
# - MUST START WITH `time_`, `mem_`, `peakmem_`
# See https://github.com/airspeed-velocity/asv/pull/1470
def benchmark(
*,
pretty_name: Optional[str] = None,
timeout: Optional[int] = None,
group_name: Optional[str] = None,
params: Optional[Dict[str, List[Any]]] = None,
number: Optional[int] = None,
min_run_count: Optional[int] = None,
include_in_quick_benchmark: bool = False,
**kwargs,
):
def decorator(func):
# For pull requests, we want to run benchmarks only for a subset of tests,
# because the full set of tests takes about 10 minutes to run (5 min per commit).
# This is done by setting DJC_BENCHMARK_QUICK=1 in the environment.
if os.getenv("DJC_BENCHMARK_QUICK") and not include_in_quick_benchmark:
# By setting the benchmark name to something that does NOT start with
# valid prefixes like `time_`, `mem_`, or `peakmem_`, this function will be ignored by asv.
func.benchmark_name = "noop"
return func
# "group_name" is our custom field, which we actually convert to asv's "benchmark_name"
if group_name is not None:
benchmark_name = f"{group_name}.{func.__name__}"
func.benchmark_name = benchmark_name
# Also "params" is custom, so we normalize it to "params" and "param_names"
if params is not None:
func.params, func.param_names = list(params.values()), list(params.keys())
if pretty_name is not None:
func.pretty_name = pretty_name
if timeout is not None:
func.timeout = timeout
if number is not None:
func.number = number
if min_run_count is not None:
func.min_run_count = min_run_count
# Additional, untyped kwargs
for k, v in kwargs.items():
setattr(func, k, v)
return func
return decorator
class VirtualModuleLoader(Loader):
def __init__(self, code_string):
self.code_string = code_string
def exec_module(self, module):
exec(self.code_string, module.__dict__)
def create_virtual_module(name: str, code_string: str, file_path: str) -> ModuleType:
"""
To avoid the headaches of importing the tested code from another diretory,
we create a "virtual" module that we can import from anywhere.
E.g.
```py
from benchmarks.utils import create_virtual_module
create_virtual_module("my_module", "print('Hello, world!')", __file__)
# Now you can import my_module from anywhere
import my_module
```
"""
# Create the module specification
spec = spec_from_loader(name, VirtualModuleLoader(code_string))
# Create the module
module = module_from_spec(spec) # type: ignore[arg-type]
module.__file__ = file_path
module.__name__ = name
# Add it to sys.modules
sys.modules[name] = module
# Execute the module
spec.loader.exec_module(module) # type: ignore[union-attr]
return module

View file

@ -1,17 +0,0 @@
from importlib import import_module
import django
from django.utils.module_loading import autodiscover_modules
if django.VERSION < (3, 2):
default_app_config = "django_components.apps.ComponentsConfig"
def autodiscover():
# look for "components" module/pkg in each app
from . import app_settings
if app_settings.AUTODISCOVER:
autodiscover_modules("components")
for path in app_settings.LIBRARIES:
import_module(path)

View file

@ -1,25 +0,0 @@
import sys
from django.conf import settings
class AppSettings:
def __init__(self):
self.settings = getattr(settings, "COMPONENTS", {})
@property
def AUTODISCOVER(self):
return self.settings.setdefault("autodiscover", True)
@property
def LIBRARIES(self):
return self.settings.setdefault("libraries", [])
@property
def TEMPLATE_CACHE_SIZE(self):
return self.settings.setdefault("template_cache_size", 128)
app_settings = AppSettings()
app_settings.__name__ = __name__
sys.modules[__name__] = app_settings

View file

@ -1,8 +0,0 @@
from django.apps import AppConfig
class ComponentsConfig(AppConfig):
name = "django_components"
def ready(self):
self.module.autodiscover()

View file

@ -1,179 +0,0 @@
import warnings
from functools import lru_cache
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.forms.widgets import MediaDefiningClass
from django.template.base import Node, TokenType
from django.template.loader import get_template
from django.utils.safestring import mark_safe
# Allow "component.AlreadyRegistered" instead of having to import these everywhere
from django_components.component_registry import ( # noqa
AlreadyRegistered,
ComponentRegistry,
NotRegistered,
)
TEMPLATE_CACHE_SIZE = getattr(settings, "COMPONENTS", {}).get(
"TEMPLATE_CACHE_SIZE", 128
)
ACTIVE_SLOT_CONTEXT_KEY = "_DJANGO_COMPONENTS_ACTIVE_SLOTS"
class SimplifiedInterfaceMediaDefiningClass(MediaDefiningClass):
def __new__(mcs, name, bases, attrs):
if "Media" in attrs:
media = attrs["Media"]
# Allow: class Media: css = "style.css"
if isinstance(media.css, str):
media.css = [media.css]
# Allow: class Media: css = ["style.css"]
if isinstance(media.css, list):
media.css = {"all": media.css}
# Allow: class Media: css = {"all": "style.css"}
if isinstance(media.css, dict):
for media_type, path_list in media.css.items():
if isinstance(path_list, str):
media.css[media_type] = [path_list]
# Allow: class Media: js = "script.js"
if isinstance(media.js, str):
media.js = [media.js]
return super().__new__(mcs, name, bases, attrs)
class Component(metaclass=SimplifiedInterfaceMediaDefiningClass):
template_name = None
def __init__(self, component_name):
self._component_name = component_name
self.instance_template = None
self.slots = {}
def get_context_data(self):
return {}
def get_template_name(self, context=None):
if not self.template_name:
raise ImproperlyConfigured(
f"Template name is not set for Component {self.__class__.__name__}"
)
return self.template_name
def render_dependencies(self):
"""Helper function to access media.render()"""
return self.media.render()
def render_css_dependencies(self):
"""Render only CSS dependencies available in the media class."""
return mark_safe("\n".join(self.media.render_css()))
def render_js_dependencies(self):
"""Render only JS dependencies available in the media class."""
return mark_safe("\n".join(self.media.render_js()))
@staticmethod
def slots_in_template(template):
return {
node.name: node.nodelist
for node in template.template.nodelist
if Component.is_slot_node(node)
}
@staticmethod
def is_slot_node(node):
return (
isinstance(node, Node)
and node.token.token_type == TokenType.BLOCK
and node.token.split_contents()[0] == "slot"
)
@lru_cache(maxsize=TEMPLATE_CACHE_SIZE)
def get_processed_template(self, template_name):
"""Retrieve the requested template and check for unused slots."""
component_template = get_template(template_name).template
# Traverse template nodes and descendants
visited_nodes = set()
nodes_to_visit = list(component_template.nodelist)
slots_seen = set()
while nodes_to_visit:
current_node = nodes_to_visit.pop()
if current_node in visited_nodes:
continue
visited_nodes.add(current_node)
for nodelist_name in current_node.child_nodelists:
nodes_to_visit.extend(getattr(current_node, nodelist_name, []))
if self.is_slot_node(current_node):
slots_seen.add(current_node.name)
# Check and warn for unknown slots
if settings.DEBUG:
filled_slot_names = set(self.slots.keys())
unused_slots = filled_slot_names - slots_seen
if unused_slots:
warnings.warn(
"Component {} was provided with slots that were not used in a template: {}".format(
self._component_name, unused_slots
)
)
return component_template
def render(self, context):
if hasattr(self, "context"):
warnings.warn(
f"{self.__class__.__name__}: `context` method is deprecated, use `get_context` instead",
DeprecationWarning,
)
if hasattr(self, "template"):
warnings.warn(
f"{self.__class__.__name__}: `template` method is deprecated, \
set `template_name` or override `get_template_name` instead",
DeprecationWarning,
)
template_name = self.template(context)
else:
template_name = self.get_template_name(context)
instance_template = self.get_processed_template(template_name)
with context.update({ACTIVE_SLOT_CONTEXT_KEY: self.slots}):
return instance_template.render(context)
class Media:
css = {}
js = []
# This variable represents the global component registry
registry = ComponentRegistry()
def register(name):
"""Class decorator to register a component.
Usage:
@register("my_component")
class MyComponent(component.Component):
...
"""
def decorator(component):
registry.register(name=name, component=component)
return component
return decorator

View file

@ -1,36 +0,0 @@
class AlreadyRegistered(Exception):
pass
class NotRegistered(Exception):
pass
class ComponentRegistry(object):
def __init__(self):
self._registry = {} # component name -> component_class mapping
def register(self, name=None, component=None):
if name in self._registry:
raise AlreadyRegistered(
'The component "%s" is already registered' % name
)
self._registry[name] = component
def unregister(self, name):
self.get(name)
del self._registry[name]
def get(self, name):
if name not in self._registry:
raise NotRegistered('The component "%s" is not registered' % name)
return self._registry[name]
def all(self):
return self._registry
def clear(self):
self._registry = {}

View file

@ -1,91 +0,0 @@
import re
from django.conf import settings
from django.forms import Media
from django.http import StreamingHttpResponse
RENDERED_COMPONENTS_CONTEXT_KEY = "_COMPONENT_DEPENDENCIES"
CSS_DEPENDENCY_PLACEHOLDER = '<link name="CSS_PLACEHOLDER">'
JS_DEPENDENCY_PLACEHOLDER = '<script name="JS_PLACEHOLDER">'
SCRIPT_TAG_REGEX = re.compile("<script")
COMPONENT_COMMENT_REGEX = re.compile(rb"<!-- _RENDERED (?P<name>\w+?) -->")
PLACEHOLDER_REGEX = re.compile(
rb"<!-- _RENDERED (?P<name>\w+?) -->"
rb'|<link name="CSS_PLACEHOLDER">'
rb'|<script name="JS_PLACEHOLDER">'
)
class ComponentDependencyMiddleware:
"""Middleware that inserts CSS/JS dependencies for all rendered components at points marked with template tags."""
dependency_regex = COMPONENT_COMMENT_REGEX
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
if (
getattr(settings, "COMPONENTS", {}).get(
"RENDER_DEPENDENCIES", False
)
and not isinstance(response, StreamingHttpResponse)
and response["Content-Type"].startswith("text/html")
):
response.content = process_response_content(response.content)
return response
def process_response_content(content):
from django_components.component import registry
component_names_seen = {
match.group("name")
for match in COMPONENT_COMMENT_REGEX.finditer(content)
}
all_components = [
registry.get(name.decode("utf-8"))("") for name in component_names_seen
]
all_media = join_media(all_components)
js_dependencies = b"".join(
media.encode("utf-8") for media in all_media.render_js()
)
css_dependencies = b"".join(
media.encode("utf-8") for media in all_media.render_css()
)
return PLACEHOLDER_REGEX.sub(
DependencyReplacer(css_dependencies, js_dependencies), content
)
def add_module_attribute_to_scripts(scripts):
return re.sub(SCRIPT_TAG_REGEX, '<script type="module"', scripts)
class DependencyReplacer:
"""Replacer for use in re.sub that replaces the first placeholder CSS and JS
tags it encounters and removes any subsequent ones."""
CSS_PLACEHOLDER = bytes(CSS_DEPENDENCY_PLACEHOLDER, encoding="utf-8")
JS_PLACEHOLDER = bytes(JS_DEPENDENCY_PLACEHOLDER, encoding="utf-8")
def __init__(self, css_string, js_string):
self.js_string = js_string
self.css_string = css_string
def __call__(self, match):
if match[0] == self.CSS_PLACEHOLDER:
replacement, self.css_string = self.css_string, b""
elif match[0] == self.JS_PLACEHOLDER:
replacement, self.js_string = self.js_string, b""
else:
replacement = b""
return replacement
def join_media(components):
"""Return combined media object for iterable of components."""
return sum([component.media for component in components], Media())

View file

@ -1,11 +0,0 @@
"""
Template loader that loads templates from each Django app's "components" directory.
"""
from django.template.loaders.filesystem import Loader as FilesystemLoader
from django.template.utils import get_app_template_dirs
class Loader(FilesystemLoader):
def get_dirs(self):
return get_app_template_dirs("components")

View file

@ -1,393 +0,0 @@
from collections import defaultdict
from django import template
from django.conf import settings
from django.template.base import Node, NodeList, TemplateSyntaxError, TokenType
from django.template.library import parse_bits
from django.utils.safestring import mark_safe
from django_components.component import ACTIVE_SLOT_CONTEXT_KEY, registry
from django_components.middleware import (
CSS_DEPENDENCY_PLACEHOLDER,
JS_DEPENDENCY_PLACEHOLDER,
)
register = template.Library()
RENDERED_COMMENT_TEMPLATE = "<!-- _RENDERED {name} -->"
def get_components_from_registry(registry):
"""Returns a list unique components from the registry."""
unique_component_classes = set(registry.all().values())
components = []
for component_class in unique_component_classes:
components.append(component_class(component_class.__name__))
return components
def get_components_from_preload_str(preload_str):
"""Returns a list of unique components from a comma-separated str"""
components = []
for component_name in preload_str.split(","):
component_name = component_name.strip()
if not component_name:
continue
component_class = registry.get(component_name)
components.append(component_class(component_name))
return components
@register.simple_tag(name="component_dependencies")
def component_dependencies_tag(preload=""):
"""Marks location where CSS link and JS script tags should be rendered."""
if is_dependency_middleware_active():
preloaded_dependencies = []
for component in get_components_from_preload_str(preload):
preloaded_dependencies.append(
RENDERED_COMMENT_TEMPLATE.format(
name=component._component_name
)
)
return mark_safe(
"\n".join(preloaded_dependencies)
+ CSS_DEPENDENCY_PLACEHOLDER
+ JS_DEPENDENCY_PLACEHOLDER
)
else:
rendered_dependencies = []
for component in get_components_from_registry(registry):
rendered_dependencies.append(component.render_dependencies())
return mark_safe("\n".join(rendered_dependencies))
@register.simple_tag(name="component_css_dependencies")
def component_css_dependencies_tag(preload=""):
"""Marks location where CSS link tags should be rendered."""
if is_dependency_middleware_active():
preloaded_dependencies = []
for component in get_components_from_preload_str(preload):
preloaded_dependencies.append(
RENDERED_COMMENT_TEMPLATE.format(
name=component._component_name
)
)
return mark_safe(
"\n".join(preloaded_dependencies) + CSS_DEPENDENCY_PLACEHOLDER
)
else:
rendered_dependencies = []
for component in get_components_from_registry(registry):
rendered_dependencies.append(component.render_css_dependencies())
return mark_safe("\n".join(rendered_dependencies))
@register.simple_tag(name="component_js_dependencies")
def component_js_dependencies_tag(preload=""):
"""Marks location where JS script tags should be rendered."""
if is_dependency_middleware_active():
preloaded_dependencies = []
for component in get_components_from_preload_str(preload):
preloaded_dependencies.append(
RENDERED_COMMENT_TEMPLATE.format(
name=component._component_name
)
)
return mark_safe(
"\n".join(preloaded_dependencies) + JS_DEPENDENCY_PLACEHOLDER
)
else:
rendered_dependencies = []
for component in get_components_from_registry(registry):
rendered_dependencies.append(component.render_js_dependencies())
return mark_safe("\n".join(rendered_dependencies))
@register.tag(name="component")
def do_component(parser, token):
bits = token.split_contents()
bits, isolated_context = check_for_isolated_context_keyword(bits)
component, context_args, context_kwargs = parse_component_with_args(
parser, bits, "component"
)
return ComponentNode(
component,
context_args,
context_kwargs,
isolated_context=isolated_context,
)
class SlotNode(Node):
def __init__(self, name, nodelist, component=None):
self.name, self.nodelist, self.component = name, nodelist, component
self.component = None
self.parent_component = None
self.context = None
def __repr__(self):
return "<Slot Node: %s. Contents: %r>" % (self.name, self.nodelist)
def render(self, context):
# Thread safety: storing the context as a property of the cloned SlotNode without using
# the render_context facility should be thread-safe, since each cloned_node
# is only used for a single render.
cloned_node = SlotNode(self.name, self.nodelist, self.component)
cloned_node.parent_component = self.parent_component
cloned_node.context = context
with context.update({"slot": cloned_node}):
return self.get_nodelist(context).render(context)
def get_nodelist(self, context):
if ACTIVE_SLOT_CONTEXT_KEY not in context:
raise TemplateSyntaxError(
f"Attempted to render SlotNode {self.name} outside of a parent Component or "
"without access to context provided by its parent Component. This will not"
"work properly."
)
overriding_nodelist = context[ACTIVE_SLOT_CONTEXT_KEY].get(
self.name, None
)
return (
overriding_nodelist
if overriding_nodelist is not None
else self.nodelist
)
def super(self):
"""Render default slot content."""
return mark_safe(self.nodelist.render(self.context))
@register.tag("slot")
def do_slot(parser, token, component=None):
bits = token.split_contents()
if len(bits) != 2:
raise TemplateSyntaxError("'%s' tag takes only one argument" % bits[0])
slot_name = bits[1].strip('"')
nodelist = parser.parse(parse_until=["endslot"])
parser.delete_first_token()
return SlotNode(slot_name, nodelist, component=component)
class ComponentNode(Node):
class InvalidSlot:
def super(self):
raise TemplateSyntaxError(
"slot.super may only be called within a {% slot %}/{% endslot %} block."
)
def __init__(
self,
component,
context_args,
context_kwargs,
slots=None,
isolated_context=False,
):
self.context_args = context_args or []
self.context_kwargs = context_kwargs or {}
self.component, self.isolated_context = component, isolated_context
# Group slot notes by name and concatenate their nodelists
self.component.slots = defaultdict(NodeList)
for slot in slots or []:
self.component.slots[slot.name].extend(slot.nodelist)
self.should_render_dependencies = is_dependency_middleware_active()
def __repr__(self):
return "<Component Node: %s. Contents: %r>" % (
self.component,
getattr(self.component.instance_template, "nodelist", None),
)
def render(self, context):
self.component.outer_context = context.flatten()
# Resolve FilterExpressions and Variables that were passed as args to the component, then call component's
# context method to get values to insert into the context
resolved_context_args = [
safe_resolve(arg, context) for arg in self.context_args
]
resolved_context_kwargs = {
key: safe_resolve(kwarg, context)
for key, kwarg in self.context_kwargs.items()
}
component_context = self.component.get_context_data(
*resolved_context_args, **resolved_context_kwargs
)
# Create a fresh context if requested
if self.isolated_context:
context = context.new()
with context.update(component_context):
rendered_component = self.component.render(context)
if self.should_render_dependencies:
return (
RENDERED_COMMENT_TEMPLATE.format(
name=self.component._component_name
)
+ rendered_component
)
else:
return rendered_component
@register.tag("component_block")
def do_component_block(parser, token):
"""
To give the component access to the template context:
{% component_block "name" positional_arg keyword_arg=value ... %}
To render the component in an isolated context:
{% component_block "name" positional_arg keyword_arg=value ... only %}
Positional and keyword arguments can be literals or template variables.
The component name must be a single- or double-quotes string and must
be either the first positional argument or, if there are no positional
arguments, passed as 'name'.
"""
bits = token.split_contents()
bits, isolated_context = check_for_isolated_context_keyword(bits)
component, context_args, context_kwargs = parse_component_with_args(
parser, bits, "component_block"
)
return ComponentNode(
component,
context_args,
context_kwargs,
slots=[
do_slot(parser, slot_token, component=component)
for slot_token in slot_tokens(parser)
],
isolated_context=isolated_context,
)
def slot_tokens(parser):
"""Yield each 'slot' token appearing before the next 'endcomponent_block' token.
Raises TemplateSyntaxError if there are other content tokens or if there is no endcomponent_block token."""
def is_whitespace(token):
return (
token.token_type == TokenType.TEXT and not token.contents.strip()
)
def is_block_tag(token, name):
return (
token.token_type == TokenType.BLOCK
and token.split_contents()[0] == name
)
while True:
try:
token = parser.next_token()
except IndexError:
raise TemplateSyntaxError("Unclosed component_block tag")
if is_block_tag(token, name="endcomponent_block"):
return
elif is_block_tag(token, name="slot"):
yield token
elif (
not is_whitespace(token) and token.token_type != TokenType.COMMENT
):
raise TemplateSyntaxError(
f"Content tokens in component blocks must be inside of slot tags: {token}"
)
def check_for_isolated_context_keyword(bits):
"""Return True and strip the last word if token ends with 'only' keyword."""
if bits[-1] == "only":
return bits[:-1], True
return bits, False
def parse_component_with_args(parser, bits, tag_name):
tag_args, tag_kwargs = parse_bits(
parser=parser,
bits=bits,
params=["tag_name", "name"],
takes_context=False,
name=tag_name,
varargs=True,
varkw=[],
defaults=None,
kwonly=[],
kwonly_defaults=None,
)
assert (
tag_name == tag_args[0].token
), "Internal error: Expected tag_name to be {}, but it was {}".format(
tag_name, tag_args[0].token
)
if (
len(tag_args) > 1
): # At least one position arg, so take the first as the component name
component_name = tag_args[1].token
context_args = tag_args[2:]
context_kwargs = tag_kwargs
else: # No positional args, so look for component name as keyword arg
try:
component_name = tag_kwargs.pop("name").token
context_args = []
context_kwargs = tag_kwargs
except IndexError:
raise TemplateSyntaxError(
"Call the '%s' tag with a component name as the first parameter"
% tag_name
)
if not is_wrapped_in_quotes(component_name):
raise TemplateSyntaxError(
"Component name '%s' should be in quotes" % component_name
)
trimmed_component_name = component_name[1:-1]
component_class = registry.get(trimmed_component_name)
component = component_class(trimmed_component_name)
return component, context_args, context_kwargs
def safe_resolve(context_item, context):
"""Resolve FilterExpressions and Variables in context if possible. Return other items unchanged."""
return (
context_item.resolve(context)
if hasattr(context_item, "resolve")
else context_item
)
def is_wrapped_in_quotes(s):
return s.startswith(('"', "'")) and s[0] == s[-1]
def is_dependency_middleware_active():
return getattr(settings, "COMPONENTS", {}).get(
"RENDER_DEPENDENCIES", False
)

10
docs/.nav.yml Normal file
View file

@ -0,0 +1,10 @@
# For navigation content inspo see Pydantic https://docs.pydantic.dev/latest
#
# `.nav.yml` is provided by https://lukasgeiter.github.io/mkdocs-awesome-nav
nav:
- overview
- Getting Started: getting_started
- concepts
- guides
- API Documentation: reference
- Release Notes: release_notes.md

6
docs/README.md Normal file
View file

@ -0,0 +1,6 @@
---
title: Welcome to Django Components
weight: 1
---
<!-- NOTE: This README.md page is required, because it generates the top-level `index.html` -->
--8<-- "docs/overview/welcome.md:4"

161
docs/benchmarks/asv.css Normal file
View file

@ -0,0 +1,161 @@
/* Basic navigation */
.asv-navigation {
padding: 2px;
}
nav ul li.active a {
height: 52px;
}
nav li.active span.navbar-brand {
background-color: #e7e7e7;
height: 52px;
}
nav li.active span.navbar-brand:hover {
background-color: #e7e7e7;
}
.navbar-default .navbar-link {
color: #2458D9;
}
.panel-body {
padding: 0;
}
.panel {
margin-bottom: 4px;
-webkit-box-shadow: none;
box-shadow: none;
border-radius: 0;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.panel-default>.panel-heading,
.panel-heading {
font-size: 12px;
font-weight:bold;
padding: 2px;
text-align: center;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
background-color: #eee;
}
.btn,
.btn-group,
.btn-group-vertical>.btn:first-child,
.btn-group-vertical>.btn:last-child:not(:first-child),
.btn-group-vertical>.btn:last-child {
border: none;
border-radius: 0px;
overflow: hidden;
}
.btn-default:focus, .btn-default:active, .btn-default.active {
border: none;
color: #fff;
background-color: #99bfcd;
}
#range {
font-family: monospace;
text-align: center;
background: #ffffff;
}
.form-control {
border: none;
border-radius: 0px;
font-size: 12px;
padding: 0px;
}
.tooltip-inner {
min-width: 100px;
max-width: 800px;
text-align: left;
white-space: pre-wrap;
font-family: monospace;
}
/* Benchmark tree */
.nav-list {
font-size: 12px;
padding: 0;
padding-left: 15px;
}
.nav-list>li {
overflow-x: hidden;
}
.nav-list>li>a {
padding: 0;
padding-left: 5px;
color: #000;
}
.nav-list>li>a:focus {
color: #fff;
background-color: #99bfcd;
box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}
.nav-list>li>.nav-header {
white-space: nowrap;
font-weight: 500;
margin-bottom: 2px;
}
.caret-right {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-left: 4px solid;
border-bottom: 4px solid transparent;
border-top: 4px solid transparent;
}
/* Summary page */
.benchmark-group > h1 {
text-align: center;
}
.benchmark-container {
width: 300px;
height: 116px;
padding: 4px;
border-radius: 3px;
}
.benchmark-container:hover {
background-color: #eee;
}
.benchmark-plot {
width: 292px;
height: 88px;
}
.benchmark-text {
font-size: 12px;
color: #000;
width: 292px;
overflow: hidden;
}
#extra-buttons {
margin: 1em;
}
#extra-buttons a {
border: solid 1px #ccc;
}

525
docs/benchmarks/asv.js Normal file
View file

@ -0,0 +1,525 @@
'use strict';
$(document).ready(function() {
/* GLOBAL STATE */
/* The index.json content as returned from the server */
var main_timestamp = '';
var main_json = {};
/* Extra pages: {name: show_function} */
var loaded_pages = {};
/* Previous window scroll positions */
var window_scroll_positions = {};
/* Previous window hash location */
var window_last_location = null;
/* Graph data cache */
var graph_cache = {};
var graph_cache_max_size = 5;
var colors = [
'#247AAD',
'#E24A33',
'#988ED5',
'#777777',
'#FBC15E',
'#8EBA42',
'#FFB5B8'
];
var time_units = [
['ps', 'picoseconds', 0.000000000001],
['ns', 'nanoseconds', 0.000000001],
['μs', 'microseconds', 0.000001],
['ms', 'milliseconds', 0.001],
['s', 'seconds', 1],
['m', 'minutes', 60],
['h', 'hours', 60 * 60],
['d', 'days', 60 * 60 * 24],
['w', 'weeks', 60 * 60 * 24 * 7],
['y', 'years', 60 * 60 * 24 * 7 * 52],
['C', 'centuries', 60 * 60 * 24 * 7 * 52 * 100]
];
var mem_units = [
['', 'bytes', 1],
['k', 'kilobytes', 1000],
['M', 'megabytes', 1000000],
['G', 'gigabytes', 1000000000],
['T', 'terabytes', 1000000000000]
];
function pretty_second(x) {
for (var i = 0; i < time_units.length - 1; ++i) {
if (Math.abs(x) < time_units[i+1][2]) {
return (x / time_units[i][2]).toFixed(3) + time_units[i][0];
}
}
return 'inf';
}
function pretty_byte(x) {
for (var i = 0; i < mem_units.length - 1; ++i) {
if (Math.abs(x) < mem_units[i+1][2]) {
break;
}
}
if (i == 0) {
return x + '';
}
return (x / mem_units[i][2]).toFixed(3) + mem_units[i][0];
}
function pretty_unit(x, unit) {
if (unit == "seconds") {
return pretty_second(x);
}
else if (unit == "bytes") {
return pretty_byte(x);
}
else if (unit && unit != "unit") {
return '' + x.toPrecision(3) + ' ' + unit;
}
else {
return '' + x.toPrecision(3);
}
}
function pad_left(s, c, num) {
s = '' + s;
while (s.length < num) {
s = c + s;
}
return s;
}
function format_date_yyyymmdd(date) {
return (pad_left(date.getFullYear(), '0', 4)
+ '-' + pad_left(date.getMonth() + 1, '0', 2)
+ '-' + pad_left(date.getDate(), '0', 2));
}
function format_date_yyyymmdd_hhmm(date) {
return (format_date_yyyymmdd(date) + ' '
+ pad_left(date.getHours(), '0', 2)
+ ':' + pad_left(date.getMinutes(), '0', 2));
}
/* Convert a flat index to permutation to the corresponding value */
function param_selection_from_flat_idx(params, idx) {
var selection = [];
if (idx < 0) {
idx = 0;
}
for (var k = params.length-1; k >= 0; --k) {
var j = idx % params[k].length;
selection.unshift([j]);
idx = (idx - j) / params[k].length;
}
selection.unshift([null]);
return selection;
}
/* Convert a benchmark parameter value from their native Python
repr format to a number or a string, ready for presentation */
function convert_benchmark_param_value(value_repr) {
var match = Number(value_repr);
if (!isNaN(match)) {
return match;
}
/* Python str */
match = value_repr.match(/^'(.+)'$/);
if (match) {
return match[1];
}
/* Python unicode */
match = value_repr.match(/^u'(.+)'$/);
if (match) {
return match[1];
}
/* Python class */
match = value_repr.match(/^<class '(.+)'>$/);
if (match) {
return match[1];
}
return value_repr;
}
/* Convert loaded graph data to a format flot understands, by
treating either time or one of the parameters as x-axis,
and selecting only one value of the remaining axes */
function filter_graph_data(raw_series, x_axis, other_indices, params) {
if (params.length == 0) {
/* Simple time series */
return raw_series;
}
/* Compute position of data entry in the results list,
and stride corresponding to plot x-axis parameter */
var stride = 1;
var param_stride = 0;
var param_idx = 0;
for (var k = params.length - 1; k >= 0; --k) {
if (k == x_axis - 1) {
param_stride = stride;
}
else {
param_idx += other_indices[k + 1] * stride;
}
stride *= params[k].length;
}
if (x_axis == 0) {
/* x-axis is time axis */
var series = new Array(raw_series.length);
for (var k = 0; k < raw_series.length; ++k) {
if (raw_series[k][1] === null) {
series[k] = [raw_series[k][0], null];
} else {
series[k] = [raw_series[k][0],
raw_series[k][1][param_idx]];
}
}
return series;
}
else {
/* x-axis is some parameter axis */
var time_idx = null;
if (other_indices[0] === null) {
time_idx = raw_series.length - 1;
}
else {
/* Need to search for the correct time value */
for (var k = 0; k < raw_series.length; ++k) {
if (raw_series[k][0] == other_indices[0]) {
time_idx = k;
break;
}
}
if (time_idx === null) {
/* No data points */
return [];
}
}
var x_values = params[x_axis - 1];
var series = new Array(x_values.length);
for (var k = 0; k < x_values.length; ++k) {
if (raw_series[time_idx][1] === null) {
series[k] = [convert_benchmark_param_value(x_values[k]),
null];
}
else {
series[k] = [convert_benchmark_param_value(x_values[k]),
raw_series[time_idx][1][param_idx]];
}
param_idx += param_stride;
}
return series;
}
}
function filter_graph_data_idx(raw_series, x_axis, flat_idx, params) {
var selection = param_selection_from_flat_idx(params, flat_idx);
var flat_selection = [];
$.each(selection, function(i, v) {
flat_selection.push(v[0]);
});
return filter_graph_data(raw_series, x_axis, flat_selection, params);
}
/* Escape special characters in graph item file names.
The implementation must match asv.util.sanitize_filename */
function sanitize_filename(name) {
var bad_re = /[<>:"\/\\^|?*\x00-\x1f]/g;
var bad_names = ["CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3",
"COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1",
"LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8",
"LPT9"];
name = name.replace(bad_re, "_");
if (bad_names.indexOf(name.toUpperCase()) != -1) {
name = name + "_";
}
return name;
}
/* Given a specific group of parameters, generate the URL to
use to load that graph.
The implementation must match asv.graph.Graph.get_file_path
*/
function graph_to_path(benchmark_name, state) {
var parts = [];
$.each(state, function(key, value) {
var part;
if (value === null) {
part = key + "-null";
} else if (value) {
part = key + "-" + value;
} else {
part = key;
}
parts.push(sanitize_filename('' + part));
});
parts.sort();
parts.splice(0, 0, "graphs");
parts.push(sanitize_filename(benchmark_name));
/* Escape URI components */
parts = $.map(parts, function (val) { return encodeURIComponent(val); });
return parts.join('/') + ".json";
}
/*
Load and cache graph data (on javascript side)
*/
function load_graph_data(url, success, failure) {
var dfd = $.Deferred();
if (graph_cache[url]) {
setTimeout(function() {
dfd.resolve(graph_cache[url]);
}, 1);
}
else {
$.ajax({
url: url + '?timestamp=' + $.asv.main_timestamp,
dataType: "json",
cache: true
}).done(function(data) {
if (Object.keys(graph_cache).length > graph_cache_max_size) {
$.each(Object.keys(graph_cache), function (i, key) {
delete graph_cache[key];
});
}
graph_cache[url] = data;
dfd.resolve(data);
}).fail(function() {
dfd.reject();
});
}
return dfd.promise();
}
/*
Parse hash string, assuming format similar to standard URL
query strings
*/
function parse_hash_string(str) {
var info = {location: [''], params: {}};
if (str && str[0] == '#') {
str = str.slice(1);
}
if (str && str[0] == '/') {
str = str.slice(1);
}
var match = str.match(/^([^?]*?)\?/);
if (match) {
info['location'] = decodeURIComponent(match[1]).replace(/\/+/, '/').split('/');
var rest = str.slice(match[1].length+1);
var parts = rest.split('&');
for (var i = 0; i < parts.length; ++i) {
var part = parts[i].split('=');
if (part.length != 2) {
continue;
}
var key = decodeURIComponent(part[0].replace(/\+/g, " "));
var value = decodeURIComponent(part[1].replace(/\+/g, " "));
if (value == '[none]') {
value = null;
}
if (info['params'][key] === undefined) {
info['params'][key] = [value];
}
else {
info['params'][key].push(value);
}
}
}
else {
info['location'] = decodeURIComponent(str).replace(/\/+/, '/').split('/');
}
return info;
}
/*
Generate a hash string, inverse of parse_hash_string
*/
function format_hash_string(info) {
var parts = info['params'];
var str = '#' + info['location'];
if (parts) {
str = str + '?';
var first = true;
$.each(parts, function (key, values) {
$.each(values, function (idx, value) {
if (!first) {
str = str + '&';
}
if (value === null) {
value = '[none]';
}
str = str + encodeURIComponent(key) + '=' + encodeURIComponent(value);
first = false;
});
});
}
return str;
}
/*
Dealing with sub-pages
*/
function show_page(name, params) {
if (loaded_pages[name] !== undefined) {
$("#nav ul li.active").removeClass('active');
$("#nav-li-" + name).addClass('active');
$("#graph-display").hide();
$("#summarygrid-display").hide();
$("#summarylist-display").hide();
$('#regressions-display').hide();
$('.tooltip').remove();
loaded_pages[name](params);
return true;
}
else {
return false;
}
}
function hashchange() {
var info = parse_hash_string(window.location.hash);
/* Keep track of window scroll position; makes the back-button work */
var old_scroll_pos = window_scroll_positions[info.location.join('/')];
window_scroll_positions[window_last_location] = $(window).scrollTop();
window_last_location = info.location.join('/');
/* Redirect to correct handler */
if (show_page(info.location, info.params)) {
/* show_page does the work */
}
else {
/* Display benchmark page */
info.params['benchmark'] = info.location[0];
show_page('graphdisplay', info.params);
}
/* Scroll back to previous position, if any */
if (old_scroll_pos !== undefined) {
$(window).scrollTop(old_scroll_pos);
}
}
function get_commit_hash(revision) {
var commit_hash = main_json.revision_to_hash[revision];
if (commit_hash) {
// Return printable commit hash
commit_hash = commit_hash.slice(0, main_json.hash_length);
}
return commit_hash;
}
function get_revision(commit_hash) {
var rev = null;
$.each(main_json.revision_to_hash, function(revision, full_commit_hash) {
if (full_commit_hash.startsWith(commit_hash)) {
rev = revision;
// break the $.each loop
return false;
}
});
return rev;
}
function init_index() {
/* Fetch the main index.json and then set up the page elements
based on it. */
$.ajax({
url: "index.json" + '?timestamp=' + $.asv.main_timestamp,
dataType: "json",
cache: true
}).done(function (index) {
main_json = index;
$.asv.main_json = index;
/* Page title */
var project_name = $("#project-name")[0];
project_name.textContent = index.project;
project_name.setAttribute("href", index.project_url);
$("#project-name").textContent = index.project;
document.title = "airspeed velocity of an unladen " + index.project;
$(window).on('hashchange', hashchange);
$('#graph-display').hide();
$('#regressions-display').hide();
$('#summarygrid-display').hide();
$('#summarylist-display').hide();
hashchange();
}).fail(function () {
$.asv.ui.network_error();
});
}
function init() {
/* Fetch the info.json */
$.ajax({
url: "info.json",
dataType: "json",
cache: false
}).done(function (info) {
main_timestamp = info['timestamp'];
$.asv.main_timestamp = main_timestamp;
init_index();
}).fail(function () {
$.asv.ui.network_error();
});
}
/*
Set up $.asv
*/
this.register_page = function(name, show_function) {
loaded_pages[name] = show_function;
}
this.parse_hash_string = parse_hash_string;
this.format_hash_string = format_hash_string;
this.filter_graph_data = filter_graph_data;
this.filter_graph_data_idx = filter_graph_data_idx;
this.convert_benchmark_param_value = convert_benchmark_param_value;
this.param_selection_from_flat_idx = param_selection_from_flat_idx;
this.graph_to_path = graph_to_path;
this.load_graph_data = load_graph_data;
this.get_commit_hash = get_commit_hash;
this.get_revision = get_revision;
this.main_timestamp = main_timestamp; /* Updated after info.json loads */
this.main_json = main_json; /* Updated after index.json loads */
this.format_date_yyyymmdd = format_date_yyyymmdd;
this.format_date_yyyymmdd_hhmm = format_date_yyyymmdd_hhmm;
this.pretty_unit = pretty_unit;
this.time_units = time_units;
this.mem_units = mem_units;
this.colors = colors;
$.asv = this;
/*
Launch it
*/
init();
});

231
docs/benchmarks/asv_ui.js Normal file
View file

@ -0,0 +1,231 @@
'use strict';
$(document).ready(function() {
function make_panel(nav, heading) {
var panel = $('<div class="panel panel-default"/>');
nav.append(panel);
var panel_header = $(
'<div class="panel-heading">' + heading + '</div>');
panel.append(panel_header);
var panel_body = $('<div class="panel-body"/>');
panel.append(panel_body);
return panel_body;
}
function make_value_selector_panel(nav, heading, values, setup_callback) {
var panel_body = make_panel(nav, heading);
var vertical = false;
var buttons = $('<div class="btn-group" ' +
'data-toggle="buttons"/>');
panel_body.append(buttons);
$.each(values, function (idx, value) {
var button = $(
'<a class="btn btn-default btn-xs active" role="button"/>');
setup_callback(idx, value, button);
buttons.append(button);
});
return panel_body;
}
function reflow_value_selector_panels(no_timeout) {
$('.panel').each(function (i, panel_obj) {
var panel = $(panel_obj);
panel.find('.btn-group').each(function (i, buttons_obj) {
var buttons = $(buttons_obj);
var width = 0;
if (buttons.hasClass('reflow-done')) {
/* already processed */
return;
}
$.each(buttons.children(), function(idx, value) {
width += value.scrollWidth;
});
var max_width = panel_obj.clientWidth;
if (width >= max_width) {
buttons.addClass("btn-group-vertical");
buttons.css("width", "100%");
buttons.css("max-height", "20ex");
buttons.css("overflow-y", "auto");
}
else {
buttons.addClass("btn-group-justified");
}
/* The widths can be zero if the UI is not fully layouted yet,
so mark the adjustment complete only if this is not the case */
if (width > 0 && max_width > 0) {
buttons.addClass("reflow-done");
}
});
});
if (!no_timeout) {
/* Call again asynchronously, in case the UI was not fully layouted yet */
setTimeout(function() { $.asv.ui.reflow_value_selector_panels(true); }, 0);
}
}
function network_error(ajax, status, error) {
$("#error-message").text(
"Error fetching content. " +
"Perhaps web server has gone down.");
$("#error").modal('show');
}
function hover_graph(element, graph_url, benchmark_basename, parameter_idx, revisions) {
/* Show the summary graph as a popup */
var plot_div = $('<div/>');
plot_div.css('width', '11.8em');
plot_div.css('height', '7em');
plot_div.css('border', '2px solid black');
plot_div.css('background-color', 'white');
function update_plot() {
var markings = [];
if (revisions) {
$.each(revisions, function(i, revs) {
var rev_a = revs[0];
var rev_b = revs[1];
if (rev_a !== null) {
markings.push({ color: '#d00', lineWidth: 2, xaxis: { from: rev_a, to: rev_a }});
markings.push({ color: "rgba(255,0,0,0.1)", xaxis: { from: rev_a, to: rev_b }});
}
markings.push({ color: '#d00', lineWidth: 2, xaxis: { from: rev_b, to: rev_b }});
});
}
$.asv.load_graph_data(
graph_url
).done(function (data) {
var params = $.asv.main_json.benchmarks[benchmark_basename].params;
data = $.asv.filter_graph_data_idx(data, 0, parameter_idx, params);
var options = {
colors: ['#000'],
series: {
lines: {
show: true,
lineWidth: 2
},
shadowSize: 0
},
grid: {
borderWidth: 1,
margin: 0,
labelMargin: 0,
axisMargin: 0,
minBorderMargin: 0,
markings: markings,
},
xaxis: {
ticks: [],
},
yaxis: {
ticks: [],
min: 0
},
legend: {
show: false
}
};
var plot = $.plot(plot_div, [{data: data}], options);
}).fail(function () {
// TODO: Handle failure
});
return plot_div;
}
element.popover({
placement: 'left auto',
trigger: 'hover',
html: true,
delay: 50,
content: $('<div/>').append(plot_div)
});
element.on('show.bs.popover', update_plot);
}
function hover_summary_graph(element, benchmark_basename) {
/* Show the summary graph as a popup */
var plot_div = $('<div/>');
plot_div.css('width', '11.8em');
plot_div.css('height', '7em');
plot_div.css('border', '2px solid black');
plot_div.css('background-color', 'white');
function update_plot() {
var markings = [];
$.asv.load_graph_data(
'graphs/summary/' + benchmark_basename + '.json'
).done(function (data) {
var options = {
colors: $.asv.colors,
series: {
lines: {
show: true,
lineWidth: 2
},
shadowSize: 0
},
grid: {
borderWidth: 1,
margin: 0,
labelMargin: 0,
axisMargin: 0,
minBorderMargin: 0,
markings: markings,
},
xaxis: {
ticks: [],
},
yaxis: {
ticks: [],
min: 0
},
legend: {
show: false
}
};
var plot = $.plot(plot_div, [{data: data}], options);
}).fail(function () {
// TODO: Handle failure
});
return plot_div;
}
element.popover({
placement: 'left auto',
trigger: 'hover',
html: true,
delay: 50,
content: $('<div/>').append(plot_div)
});
element.on('show.bs.popover', update_plot);
}
/*
Set up $.asv.ui
*/
this.network_error = network_error;
this.make_panel = make_panel;
this.make_value_selector_panel = make_value_selector_panel;
this.reflow_value_selector_panels = reflow_value_selector_panels;
this.hover_graph = hover_graph;
this.hover_summary_graph = hover_summary_graph;
$.asv.ui = this;
});

View file

@ -0,0 +1,23 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>airspeed velocity error</title>
<link rel="shortcut icon" href="swallow.ico"/>
</head>
<body>
<h1>
<img src="swallow.png" width="22" height="22" alt="swallow"></img>
Can not determine continental origin of swallow.
</h1>
<h3>
One or more external (JavaScript) dependencies of airspeed velocity failed to load.
</h3>
<p>
Make sure you have an active internet connection and enable 3rd-party scripts
in your browser the first time you load airspeed velocity.
</p>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
[[1662, [52920320.0, 54566912.0]], [1672, [52350976.0, 54599680.0]], [1687, [52109312.0, 54779904.0]], [1691, [52899840.0, 54730752.0]], [1709, [52936704.0, 55009280.0]], [1726, [52379648.0, 54992896.0]], [1766, [53084160.0, 55382016.0]], [1770, [53047296.0, 55373824.0]], [1776, [52490240.0, 55361536.0]], [1801, [53153792.0, 55410688.0]], [1937, [52957184.0, 55177216.0]], [1960, [52932608.0, 55693312.0]], [1996, [53096448.0, 55484416.0]], [2029, [52715520.0, 56090624.0]]]

View file

@ -0,0 +1 @@
[[1662, [53800960.0, 54734848.0]], [1672, [52289536.0, 55099392.0]], [1687, [52142080.0, 55255040.0]], [1691, [53796864.0, 55238656.0]], [1709, [53768192.0, 55455744.0]], [1726, [51998720.0, 55451648.0]], [1766, [53739520.0, 55812096.0]], [1770, [53948416.0, 55824384.0]], [1776, [52097024.0, 55791616.0]], [1801, [53919744.0, 55799808.0]], [1937, [52822016.0, 56242176.0]], [1960, [53063680.0, 56180736.0]], [1996, [53018624.0, 56389632.0]], [2029, [52736000.0, 56791040.0]]]

View file

@ -0,0 +1 @@
[[1662, [44191744.0, 44191744.0]], [1672, [44056576.0, 44048384.0]], [1687, [44191744.0, 44310528.0]], [1691, [44183552.0, 44175360.0]], [1709, [44191744.0, 44314624.0]], [1726, [44195840.0, 44314624.0]], [1766, [44322816.0, 44314624.0]], [1770, [44326912.0, 44322816.0]], [1776, [44183552.0, 44306432.0]], [1801, [44195840.0, 44453888.0]], [1937, [44756992.0, 44744704.0]], [1960, [44716032.0, 44834816.0]], [1996, [44716032.0, 44969984.0]], [2029, [44871680.0, 44912640.0]]]

View file

@ -0,0 +1 @@
[[1662, [44195840.0, 44187648.0]], [1672, [44060672.0, 43917312.0]], [1687, [44105728.0, 44310528.0]], [1691, [44187648.0, 44183552.0]], [1709, [44191744.0, 44437504.0]], [1726, [44322816.0, 44314624.0]], [1766, [44322816.0, 44310528.0]], [1770, [44101632.0, 44310528.0]], [1776, [44314624.0, 44437504.0]], [1801, [44191744.0, 44453888.0]], [1937, [44527616.0, 44744704.0]], [1960, [44716032.0, 44838912.0]], [1996, [44724224.0, 44969984.0]], [2029, [44617728.0, 44986368.0]]]

View file

@ -0,0 +1 @@
[[1662, [0.06960565700001098, 0.25608221199996706]], [1672, [0.07114163800000028, 0.26389872900000455]], [1687, [0.06910802600003763, 0.25746033199999374]], [1691, [0.07048037500001669, 0.2598985070000026]], [1709, [0.07402671400001282, 0.26584690599997884]], [1726, [0.07297276199997782, 0.2569234329999972]], [1766, [0.07308550800001967, 0.26274096600002395]], [1770, [0.0749189080000292, 0.26436952000000247]], [1776, [0.07303507899999317, 0.2628890319999755]], [1801, [0.07360306399999672, 0.2678246009999725]], [1937, [0.07941284200001064, 0.26779402600004687]], [1960, [0.08026317200000221, 0.26819844099998136]], [1996, [0.0814841690000776, 0.28364495499999975]], [2029, [0.08105427499998541, 0.29477426600001877]]]

View file

@ -0,0 +1 @@
[[1662, [0.03327357099999517, 0.1421111020000012]], [1672, [0.033918617999972867, 0.14395761299999776]], [1687, [0.03317536700001256, 0.14245594600001255]], [1691, [0.034316510999985894, 0.1444248799999741]], [1709, [0.03742426899998463, 0.14901454800002512]], [1726, [0.03658580800001232, 0.1459621130000528]], [1766, [0.03723830100000214, 0.15196534300002895]], [1770, [0.03752758399997447, 0.15356457899997622]], [1776, [0.03678920999999491, 0.14955294699998944]], [1801, [0.037022983000014165, 0.15138703899998518]], [1937, [0.043317416999911984, 0.15457556900003055]], [1960, [0.04349111400000538, 0.15453611999998884]], [1996, [0.04362213900003553, 0.16551773399999092]], [2029, [0.043648402000002307, 0.17461173199995983]]]

View file

@ -0,0 +1 @@
[[1662, [0.0035443229999998493, 0.00467639600003622]], [1672, [0.0036137869999777195, 0.004807943000002979]], [1687, [0.0035223549999727766, 0.004706463999980315]], [1691, [0.00364059099999281, 0.004926952999994683]], [1709, [0.003602947999979733, 0.004853936999950292]], [1726, [0.0035008030000085455, 0.004695608999981005]], [1766, [0.003566315000000486, 0.004791812000007667]], [1770, [0.0036766670000361046, 0.004929383999979109]], [1776, [0.0035613420000117912, 0.004760385999986738]], [1801, [0.003639607999986083, 0.004848561000017071]], [1937, [0.0036632869999948525, 0.00493345400002454]], [1960, [0.0036145729999930154, 0.004811176000004025]], [1996, [0.00375721499995052, 0.0049729269999261305]], [2029, [0.0037106409999978496, 0.004899473999955717]]]

View file

@ -0,0 +1 @@
[[1662, [0.00010400499999718704, 0.0005328339999977061]], [1672, [0.00010086800000408402, 0.0005549249999887707]], [1687, [9.818199998790078e-05, 0.0005511469999817109]], [1691, [0.0001005780000014056, 0.0005555879999974422]], [1709, [0.00012266099997759738, 0.0005711430000019391]], [1726, [0.00011641800000461444, 0.0005489540000098714]], [1766, [0.00011609900002440554, 0.0005779780000239043]], [1770, [0.0001176700000087294, 0.0005864990000077341]], [1776, [0.00011622699999236374, 0.0005842630000074678]], [1801, [0.00011665800002447213, 0.000582710000003317]], [1937, [0.00012153600005149201, 0.0005999570000199128]], [1960, [0.00012332000000014887, 0.0005915369999911491]], [1996, [0.00012686900004155177, 0.0006182140000419167]], [2029, [0.00012706900002967814, 0.0006100459999629493]]]

View file

@ -0,0 +1 @@
[[1662, [0.21775109000003567, 0.21398552899995593]], [1672, [0.22476057199997967, 0.22048105400000395]], [1687, [0.21809406599999193, 0.2131839880000257]], [1691, [0.22356123500000535, 0.22167734499998915]], [1709, [0.22133603999998286, 0.21805855799999563]], [1726, [0.2166100470000174, 0.21420494400001644]], [1766, [0.22339861599999722, 0.22020213500002228]], [1770, [0.22985272800002576, 0.22544496099999378]], [1776, [0.22073260000001937, 0.2182690520000392]], [1801, [0.224061646999985, 0.2246476189999953]], [1937, [0.22743783699991127, 0.226070988999993]], [1960, [0.2252378419999843, 0.2247263650000093]], [1996, [0.23076480500003527, 0.23163660399995933]], [2029, [0.22799248500001568, 0.22723498599998493]]]

View file

@ -0,0 +1 @@
[[1662, 0.19832900800003017], [1672, 0.20217585500000723], [1687, 0.19726691500000015], [1691, 0.20350580199999513], [1709, 0.19950735400001918], [1726, 0.19625152499997967], [1766, 0.20073733000003813], [1770, 0.20376683500001036], [1776, 0.19919827600000417], [1801, 0.2053688209999791], [1937, 0.2063091950000171], [1960, 0.20468290799999522], [1996, 0.21042045099989082], [2029, 0.2056691309999792]]

View file

@ -0,0 +1 @@
[[1662, [54439936.0, 53968896.0]], [1672, [54616064.0, 54140928.0]], [1687, [54767616.0, 54296576.0]], [1691, [54743040.0, 54087680.0]], [1709, [55001088.0, 54312960.0]], [1726, [54992896.0, 54345728.0]], [1766, [55373824.0, 54894592.0]], [1770, [55246848.0, 54898688.0]], [1776, [55357440.0, 54874112.0]], [1801, [55382016.0, 54882304.0]], [1937, [55222272.0, 54722560.0]], [1960, [55263232.0, 54693888.0]], [1996, [55476224.0, 54968320.0]], [2029, [56090624.0, 55582720.0]]]

View file

@ -0,0 +1 @@
[[1662, [54968320.0, 54792192.0]], [1672, [54849536.0, 54841344.0]], [1687, [55271424.0, 55304192.0]], [1691, [54984704.0, 54964224.0]], [1709, [55439360.0, 55369728.0]], [1726, [55455744.0, 55177216.0]], [1766, [55545856.0, 55631872.0]], [1770, [55812096.0, 55611392.0]], [1776, [55640064.0, 55631872.0]], [1801, [55812096.0, 55902208.0]], [1937, [56008704.0, 56143872.0]], [1960, [55783424.0, 56160256.0]], [1996, [56352768.0, 56516608.0]], [2029, [56786944.0, 56778752.0]]]

View file

@ -0,0 +1 @@
[[1662, [44187648.0, 44183552.0]], [1672, [44048384.0, 44048384.0]], [1687, [44314624.0, 44310528.0]], [1691, [44179456.0, 44175360.0]], [1709, [44314624.0, 44310528.0]], [1726, [44314624.0, 44314624.0]], [1766, [44318720.0, 44314624.0]], [1770, [44322816.0, 44314624.0]], [1776, [44306432.0, 44240896.0]], [1801, [44453888.0, 44453888.0]], [1937, [44744704.0, 44744704.0]], [1960, [44838912.0, 44838912.0]], [1996, [44969984.0, 44969984.0]], [2029, [44843008.0, 44851200.0]]]

View file

@ -0,0 +1 @@
[[1662, [44187648.0, 44187648.0]], [1672, [44052480.0, 44052480.0]], [1687, [44314624.0, 44310528.0]], [1691, [44179456.0, 44179456.0]], [1709, [44310528.0, 44314624.0]], [1726, [44314624.0, 44314624.0]], [1766, [44310528.0, 44314624.0]], [1770, [44314624.0, 44318720.0]], [1776, [44437504.0, 44437504.0]], [1801, [44449792.0, 44449792.0]], [1937, [44744704.0, 44744704.0]], [1960, [44965888.0, 44834816.0]], [1996, [44974080.0, 44974080.0]], [2029, [44982272.0, 44986368.0]]]

View file

@ -0,0 +1 @@
[[1662, [0.2574955810000006, 0.2591010970000127]], [1672, [0.2600247560000071, 0.26185358800000813]], [1687, [0.2567828300000201, 0.2602957870000182]], [1691, [0.259077934000004, 0.2619792840000059]], [1709, [0.2646600410000133, 0.2676605120000204]], [1726, [0.2570519909999689, 0.2606809000000112]], [1766, [0.262679922000018, 0.2686107789999994]], [1770, [0.265977821000007, 0.26914772099999595]], [1776, [0.2626667089999728, 0.2663110299999971]], [1801, [0.2658582709999848, 0.2712929850000023]], [1937, [0.2675778039999841, 0.2724974679999832]], [1960, [0.26819597400000816, 0.2740507329999957]], [1996, [0.2794132599999557, 0.28440619299999526]], [2029, [0.2920349000000044, 0.2976166970000236]]]

View file

@ -0,0 +1 @@
[[1662, [0.14273938200000202, 0.1464969190000147]], [1672, [0.14515931700000806, 0.14909453600000688]], [1687, [0.1423055980000072, 0.14642362500001127]], [1691, [0.1436571560000175, 0.14915657599999577]], [1709, [0.14860135300000366, 0.15305296299999327]], [1726, [0.14520097999997006, 0.14991973799999414]], [1766, [0.15071133700001837, 0.15540660900001058]], [1770, [0.15150350199996865, 0.1558047899999906]], [1776, [0.14876902899999322, 0.15549233400000162]], [1801, [0.15248822700002052, 0.15465820200000735]], [1937, [0.15459265900005903, 0.15926110200007315]], [1960, [0.15396625699997912, 0.16023626799997714]], [1996, [0.16650312799993117, 0.17177308600003016]], [2029, [0.17414895399997476, 0.178393189000019]]]

View file

@ -0,0 +1 @@
[[1662, [0.004720848000005162, 0.004705489000002672]], [1672, [0.004856270999994194, 0.00490694800001279]], [1687, [0.00473016699999107, 0.004734037999980956]], [1691, [0.004871503999993365, 0.0048899079999955575]], [1709, [0.0048215560000244295, 0.004858458999990489]], [1726, [0.004671787999996013, 0.004672599999992144]], [1766, [0.00478528000002143, 0.0047485900000197034]], [1770, [0.004901490999998259, 0.004895917999988342]], [1776, [0.00480728600001612, 0.00472804499997892]], [1801, [0.004847185000016907, 0.004857667999999649]], [1937, [0.004923484000073586, 0.004925836999973399]], [1960, [0.004825538000005736, 0.0047952310000027865]], [1996, [0.005049280000093859, 0.004947880000145233]], [2029, [0.004897051999989799, 0.004863266000029398]]]

View file

@ -0,0 +1 @@
[[1662, [0.0005377129999999397, 0.0005395769999836375]], [1672, [0.000547750000009728, 0.0005677989999810507]], [1687, [0.0005471899999918151, 0.0005447550000212686]], [1691, [0.0005559489999882317, 0.0005480739999939033]], [1709, [0.0005736080000247057, 0.0005720849999875099]], [1726, [0.000542692999999872, 0.0005430530000012368]], [1766, [0.0005853119999983392, 0.000582014999963576]], [1770, [0.0005929909999622396, 0.000583071999983531]], [1776, [0.0005810670000130358, 0.000576186999978745]], [1801, [0.0005717709999828458, 0.0005785939999896073]], [1937, [0.0005969709999362749, 0.0005864510000037626]], [1960, [0.0005953940000154034, 0.0005933700000468889]], [1996, [0.0006160310000495883, 0.0006166809999967882]], [2029, [0.0006159270000125616, 0.0006080119999865019]]]

View file

@ -0,0 +1 @@
[[1662, [0.21402431699999624, 0.21364062999998623]], [1672, [0.2221746719999942, 0.2222580240000127]], [1687, [0.2142312400000037, 0.21397752699999728]], [1691, [0.22129613300000983, 0.21942976399998315]], [1709, [0.2199001029999863, 0.22046102699999892]], [1726, [0.2147675530000015, 0.21506381099999317]], [1766, [0.22056839900000114, 0.21916191200000412]], [1770, [0.22394285699999728, 0.22330144500000415]], [1776, [0.21867883100003382, 0.21859779499999377]], [1801, [0.22378945699995256, 0.22211803700002974]], [1937, [0.22545313400001987, 0.22602228000005198]], [1960, [0.22564571399999522, 0.22598634599995648]], [1996, [0.2295973340000046, 0.23030742100002044]], [2029, [0.22777395400004252, 0.2292747939999913]]]

View file

@ -0,0 +1 @@
[[1662, 53737309.613078326], [1672, 53463506.59363525], [1687, 53427924.42970294], [1691, 53807508.99158667], [1709, 53963042.655257314], [1726, 53670369.245800875], [1766, 54220916.6140389], [1770, 54198077.75539557], [1776, 53906774.26269022], [1801, 54270509.344660625], [1937, 54055804.31664803], [1960, 54295416.494559616], [1996, 54277301.04707094], [2029, 54376892.25474807]]

View file

@ -0,0 +1 @@
[[1662, 54265895.0709751], [1672, 53676080.7209516], [1687, 53675997.57883592], [1691, 54512993.537089705], [1709, 54605449.27839023], [1726, 53697436.790693834], [1766, 54766004.5031032], [1770, 54878384.55144014], [1776, 53912680.86221259], [1801, 54851721.60114168], [1937, 54505276.07990639], [1960, 54599968.83944605], [1996, 54678155.56971878], [2029, 54725974.50425164]]

View file

@ -0,0 +1 @@
[[1662, 44191743.99999999], [1672, 44052479.80957694], [1687, 44251096.14326895], [1691, 44179455.81012423], [1709, 44253141.3491094], [1726, 44255192.14695785], [1766, 44318719.81072088], [1770, 44324863.95268679], [1776, 44244949.34121254], [1801, 44324676.21343578], [1937, 44750847.578234404], [1960, 44775384.609963], [1996, 44842828.229087956], [2029, 44892155.328466915]]

View file

@ -0,0 +1 @@
[[1662, 44191743.81017703], [1672, 43988933.59873213], [1687, 44208009.40445502], [1691, 44185599.95253766], [1709, 44314453.63272547], [1726, 44318719.81072088], [1766, 44316671.57410231], [1770, 44205956.60747199], [1776, 44376021.4672124], [1801, 44322622.19567646], [1937, 44636028.0238471], [1960, 44777429.84849827], [1996, 44846935.655543014], [2029, 44801668.84315699]]

View file

@ -0,0 +1 @@
[[1662, 0.13350944016163727], [1672, 0.1370189324406613], [1687, 0.13338881256624893], [1691, 0.13534306127506], [1709, 0.14028461383291016], [1726, 0.1369248426273554], [1766, 0.13857329097819557], [1770, 0.14073477092350728], [1776, 0.1385645020210802], [1801, 0.14040196312080028], [1937, 0.14582964264952603], [1960, 0.14671897491501892], [1996, 0.15202819951982394], [2029, 0.15457268328939747]]

View file

@ -0,0 +1 @@
[[1662, 0.0687644082522681], [1672, 0.06987734456556612], [1687, 0.06874611472573841], [1691, 0.07039998567606925], [1709, 0.07467771106069107], [1726, 0.07307627413528986], [1766, 0.0752258677863117], [1770, 0.07591381717343901], [1776, 0.0741750279629251], [1801, 0.07486521068773488], [1937, 0.08182795598310513], [1960, 0.08198138820511656], [1996, 0.08497198126158123], [2029, 0.08730133488241124]]

View file

@ -0,0 +1 @@
[[1662, 0.004071198582731586], [1672, 0.004168318834979474], [1687, 0.004071589002161507], [1691, 0.004235212007582172], [1709, 0.004181923314217816], [1726, 0.004054429932062044], [1766, 0.004133897799028137], [1770, 0.004257194320585938], [1776, 0.004117446125697445], [1801, 0.004200816754404154], [1937, 0.004251194879485355], [1960, 0.0041701734817425696], [1996, 0.004322540447211732], [2029, 0.004263823296369016]]

View file

@ -0,0 +1 @@
[[1662, 0.00023540900613243872], [1672, 0.0002365886195511814], [1687, 0.0002326213978668684], [1691, 0.0002363893607261623], [1709, 0.0002646827752432008], [1726, 0.00025280056719810247], [1766, 0.00025904182642747317], [1770, 0.0002627038966898471], [1776, 0.00026058997620285855], [1801, 0.000260725493948419], [1937, 0.0002700303204925571], [1960, 0.00027008950893915996], [1996, 0.0002800574798090668], [2029, 0.000278420428825539]]

View file

@ -0,0 +1 @@
[[1662, 0.21586009863792485], [1672, 0.22261052942796597], [1687, 0.21562505130206716], [1691, 0.2226172972159168], [1709, 0.21969118716012626], [1726, 0.21540413874268913], [1766, 0.2217946171557135], [1770, 0.22763817627917332], [1776, 0.21949736979633283], [1801, 0.22435444169386096], [1937, 0.22675338309844276], [1960, 0.22498195815021013], [1996, 0.23120029358312028], [2029, 0.22761342037999505]]

View file

@ -0,0 +1 @@
[[1662, 0.19832900800003017], [1672, 0.20217585500000723], [1687, 0.19726691500000015], [1691, 0.20350580199999513], [1709, 0.19950735400001918], [1726, 0.19625152499997967], [1766, 0.20073733000003813], [1770, 0.20376683500001036], [1776, 0.19919827600000417], [1801, 0.2053688209999791], [1937, 0.2063091950000171], [1960, 0.20468290799999522], [1996, 0.21042045099989082], [2029, 0.2056691309999792]]

View file

@ -0,0 +1 @@
[[1662, 54203904.32644733], [1672, 54377977.05567385], [1687, 54531587.401090905], [1691, 54414373.37457081], [1709, 54655941.05401974], [1726, 54668354.35558938], [1766, 55133687.30603648], [1770, 55072492.873806104], [1776, 55115246.19008138], [1801, 55131593.83007953], [1937, 54971848.18483294], [1960, 54977822.99733244], [1996, 55221688.06930552], [2029, 55836094.494666085]]

View file

@ -0,0 +1 @@
[[1662, 54880185.34368702], [1672, 54845439.84705003], [1687, 55287805.57238104], [1691, 54974463.04630629], [1709, 55404533.06087942], [1726, 55316304.695168346], [1766, 55588847.36277981], [1770, 55711653.6193069], [1776, 55635967.849223286], [1801, 55857133.82825839], [1937, 56076247.273349956], [1960, 55971522.87008585], [1996, 56434628.542863145], [2029, 56782847.85226863]]

View file

@ -0,0 +1 @@
[[1662, 44185599.95253766], [1672, 44048383.99999999], [1687, 44312575.95267366], [1691, 44177407.95252886], [1709, 44312575.95267366], [1726, 44314624.0], [1766, 44316671.95267803], [1770, 44318719.81072088], [1776, 44273651.87380721], [1801, 44453888.0], [1937, 44744704.0], [1960, 44838912.00000001], [1996, 44969983.99999999], [2029, 44847103.812950954]]

View file

@ -0,0 +1 @@
[[1662, 44187648.0], [1672, 44052479.99999999], [1687, 44312575.95267366], [1691, 44179455.99999999], [1709, 44312575.95267366], [1726, 44314624.0], [1766, 44312575.95267366], [1770, 44316671.95267803], [1776, 44437504.0], [1801, 44449792.0], [1937, 44744704.0], [1960, 44900304.17220587], [1996, 44974080.0], [2029, 44984319.953380376]]

View file

@ -0,0 +1 @@
[[1662, 0.2582970915627115], [1672, 0.2609375697890752], [1687, 0.2585333418012986], [1691, 0.2605245701455466], [1709, 0.26615604836262874], [1726, 0.25886008645727265], [1766, 0.2656287982807661], [1770, 0.2675580766089799], [1776, 0.2644825926606367], [1801, 0.26856188100049755], [1937, 0.2700264321932048], [1960, 0.2711075492537049], [1996, 0.28189867248766043], [2029, 0.29481258851469266]]

View file

@ -0,0 +1 @@
[[1662, 0.144605946222714], [1672, 0.14711376894836906], [1687, 0.14434992731884352], [1691, 0.14638104217028877], [1709, 0.1508107336447194], [1726, 0.14754149544768042], [1766, 0.15304096778650703], [1770, 0.1536390943522132], [1776, 0.15209353551720362], [1801, 0.15356938175949056], [1937, 0.15690951925702573], [1960, 0.15706997937098616], [1996, 0.16911758076913888], [2029, 0.17625829701058932]]

View file

@ -0,0 +1 @@
[[1662, 0.004713162243622524], [1672, 0.004881543738505435], [1687, 0.004732102104161917], [1691, 0.00488069732533968], [1709, 0.004839972328668506], [1726, 0.004672193982353972], [1766, 0.004766899700580667], [1770, 0.004898703707479391], [1776, 0.004767500868992566], [1801, 0.004852423669122516], [1937, 0.004924660359490744], [1960, 0.004810360631940079], [1996, 0.004998322871483767], [2029, 0.004880129761791827]]

View file

@ -0,0 +1 @@
[[1662, 0.0005386441936864901], [1672, 0.0005576844109755481], [1687, 0.0005459711425132094], [1691, 0.0005519974567116778], [1709, 0.0005728459938648165], [1726, 0.0005428729701593198], [1766, 0.0005836611719634209], [1770, 0.0005880105852110292], [1776, 0.0005786218553806627], [1801, 0.0005751723828193878], [1937, 0.0005916876201898046], [1960, 0.000594381138510516], [1996, 0.0006163559143381376], [2029, 0.0006119567036345985]]

View file

@ -0,0 +1 @@
[[1662, 0.21383238744211777], [1672, 0.22221634409189991], [1687, 0.21410434591886193], [1691, 0.2203609725843055], [1709, 0.22018038637622225], [1726, 0.2149156309515977], [1766, 0.2198640308272821], [1770, 0.22362192103085216], [1776, 0.21863830924562072], [1801, 0.22295218072522197], [1937, 0.22573752762853083], [1960, 0.22581596577171012], [1996, 0.22995210340856065], [2029, 0.2285231418957897]]

161
docs/benchmarks/index.html Normal file
View file

@ -0,0 +1,161 @@
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>airspeed velocity</title>
<script type="text/javascript">
function js_load_failure() {
window.location = "error.html";
}
</script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js" integrity="sha512-eO1AKNIv7KSFl5n81oHCKnYLMi8UV4wWD1TcLYKNTssoECDuiGhoRsQkdiZkl8VUjoms2SeJY7zTSw5noGSqbQ==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.time.min.js" integrity="sha512-lcRowrkiQvFli9HkuJ2Yr58iEwAtzhFNJ1Galsko4SJDhcZfUub8UxGlMQIsMvARiTqx2pm7g6COxJozihOixA==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.selection.min.js" integrity="sha512-3EUG0t3qfbLaGN3FXO86i+57nvxHOXvIb/xMSKRrCuX/HXdn1bkbqwAeLd6U1PDmuEB2cnKhfM+SGLAVQbyjWQ==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.categories.min.js" integrity="sha512-x4QGSZkQ57pNuICMFFevIhDer5NVB5eJCRmENlCdJukMs8xWFH8OHfzWQVSkl9VQ4+4upPPTkHSAewR6KNMjGA==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script language="javascript" type="text/javascript" src="jquery.flot.axislabels.js"></script>
<script src="https://cdn.jsdelivr.net/npm/flot-orderbars@1.0.0/js/jquery.flot.orderBars.js" integrity="sha256-OXNbT0b5b/TgglckAfR8VaJ2ezZv0dHoIeRKjYMKEr8=" crossorigin="anonymous" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/stupidtable/1.0.1/stupidtable.min.js" integrity="sha512-GM3Ds3dUrgkpKVXc+4RxKbQDoeTemdlzXxn5d/QCOJT6EFdEufu1UTVBpIFDLd6YjIhSThNe+zpo1mwqzNq4GQ==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.19.0/js/md5.min.js" integrity="sha512-8pbzenDolL1l5OPSsoURCx9TEdMFTaeFipASVrMYKhuYtly+k3tcsQYliOEKTmuB1t7yuzAiVo+yd7SJz+ijFQ==" crossorigin="anonymous" referrerpolicy="no-referrer" onerror="js_load_failure()"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.1.1/dist/js/bootstrap.min.js" integrity="sha256-iY0FoX8s/FEg3c26R6iFw3jAtGbzDwcA5QJ1fiS0A6E=" crossorigin="anonymous" onerror="js_load_failure()"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.1.1/dist/css/bootstrap.min.css" integrity="sha256-6VA0SGkrc43SYPvX98q/LhHwm2APqX5us6Vuulsafps=" crossorigin="anonymous">
<script language="javascript" type="text/javascript"
src="asv.js">
</script>
<script language="javascript" type="text/javascript"
src="asv_ui.js">
</script>
<script language="javascript" type="text/javascript"
src="summarygrid.js">
</script>
<script language="javascript" type="text/javascript"
src="summarylist.js">
</script>
<script language="javascript" type="text/javascript"
src="graphdisplay.js">
</script>
<script language="javascript" type="text/javascript"
src="regressions.js">
</script>
<link href="asv.css" rel="stylesheet" type="text/css"/>
<link href="regressions.css" rel="stylesheet" type="text/css"/>
<link href="summarylist.css" rel="stylesheet" type="text/css"/>
<link rel="shortcut icon" href="swallow.ico"/>
<link rel="alternate" type="application/atom+xml" title="Regressions" href="regressions.xml"/>
</head>
<body>
<nav id="nav" class="navbar navbar-left navbar-default navbar-fixed-top" role="navigation">
<ul class="nav navbar-nav navbar-left">
<li>
<p class="navbar-text">
<a href="http://github.com/airspeed-velocity/asv/" class="navbar-link" target="_blank"><img src="swallow.png" width="22" height="22" alt="swallow"></img>airspeed velocity</a>
of an unladen
<a id="project-name" href="#" class="navbar-link" target="_blank">project</a>
</p>
</li>
<li id="nav-li-" class="active"><a href="#/">Benchmark grid</a></li>
<li id="nav-li-summarylist"><a href="#/summarylist">Benchmark list</a></li>
<li id="nav-li-regressions"><a href="#/regressions">Regressions</a></li>
<li id="nav-li-graphdisplay">
<span class="navbar-brand" id="title">
benchmark
</span>
</li>
</ul>
</nav>
<div id="summarygrid-display" style="position: absolute; left: 0; top: 55px; width: 100%; height: 100%">
</div>
<div id="summarylist-display" style="width: 100%; height: 100%">
<div id="summarylist-navigation" class="asv-navigation" style="position: absolute; left: 0; top: 55px; bottom: 0; width: 200px; overflow-y: scroll">
</div>
<div id="summarylist-body" style="position: absolute; left: 200px; top: 55px; bottom: 0px; right: 0px; overflow-y: scroll;">
</div>
</div>
<div id="graph-display" style="width: 100%; height: 100%;">
<div id="graphdisplay-navigation" class="asv-navigation" style="position: absolute; left: 0; top: 55px; bottom: 0; width: 200px; overflow-y: scroll">
<div class="panel panel-default">
<div class="panel-heading">
commits
</div>
<div class="panel-body">
<input id="range" type="text" class="form-control" size="24" readonly/>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
plot settings
</div>
<div class="panel-body">
<div class="btn-group-vertical" style="width: 100%" data-toggle="buttons">
<a id="log-scale" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Use a logarithmic scale on the y-axis">
log scale
</a>
<a id="zoom-y-axis" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Zoom y axis to the range of the data, rather than down to zero.">
zoom <i>y</i> axis
</a>
<a id="reference" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Select a reference point">
reference
</a>
<a id="even-spacing" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Space commits evenly, rather than by revision, along the x-axis">
even commit spacing
</a>
<a id="date-scale" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Space commits by commit date along the x-axis">
date scale
</a>
<a id="show-legend" class="btn btn-default btn-xs" role="button"
data-toggle="tooltip" data-placement="right"
title="Show legend in the graph">
legend
</a>
</div>
</div>
</div>
</div>
<div style="position: absolute; left: 220px; top: 60px; bottom: 10px; right: 20px;">
<div id="graph">
<div style="position: absolute; top: 48px; left: 0; right: 0; bottom: 100px;">
<div id="main-graph" style="min-height: 100px; width: 100%; height: 100%"></div>
</div>
<div style="position: absolute; height: 100px; left: 0; right: 0; bottom: 0; padding-top: 24px">
<div id="overview" style="min-height: 100px; width: 100%; height: 100%"></div>
</div>
</div>
</div>
</div>
<div id="regressions-display" style="position: absolute; left: 0; top: 55px; width: 100%; height: 100%">
<div id="regressions-body">
</div>
</div>
<!-- A modal dialog box for displaying error messages -->
<div class="modal fade" id="error" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title alert alert-danger" id="myModalLabel">Error</h4>
</div>
<div class="modal-body" id="error-message">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,4 @@
{
"asv-version": "0.6.4",
"timestamp": 1753049912703
}

View file

@ -0,0 +1,140 @@
/*
CAxis Labels Plugin for flot. :P
Copyright (c) 2010 Xuan Luo
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
(function ($) {
var options = { };
function init(plot) {
// This is kind of a hack. There are no hooks in Flot between
// the creation and measuring of the ticks (setTicks, measureTickLabels
// in setupGrid() ) and the drawing of the ticks and plot box
// (insertAxisLabels in setupGrid() ).
//
// Therefore, we use a trick where we run the draw routine twice:
// the first time to get the tick measurements, so that we can change
// them, and then have it draw it again.
var secondPass = false;
plot.hooks.draw.push(function (plot, ctx) {
if (!secondPass) {
// MEASURE AND SET OPTIONS
$.each(plot.getAxes(), function(axisName, axis) {
var opts = axis.options // Flot 0.7
|| plot.getOptions()[axisName]; // Flot 0.6
if (!opts || !opts.axisLabel)
return;
var w, h;
if (opts.axisLabelUseCanvas != false)
opts.axisLabelUseCanvas = true;
if (opts.axisLabelUseCanvas) {
// canvas text
if (!opts.axisLabelFontSizePixels)
opts.axisLabelFontSizePixels = 14;
if (!opts.axisLabelFontFamily)
opts.axisLabelFontFamily = 'sans-serif';
// since we currently always display x as horiz.
// and y as vertical, we only care about the height
w = opts.axisLabelFontSizePixels;
h = opts.axisLabelFontSizePixels;
} else {
// HTML text
var elem = $('<div class="axisLabels" style="position:absolute;">' + opts.axisLabel + '</div>');
plot.getPlaceholder().append(elem);
w = elem.outerWidth(true);
h = elem.outerHeight(true);
elem.remove();
}
if (axisName.charAt(0) == 'x')
axis.labelHeight += h;
else
axis.labelWidth += w;
opts.labelHeight = axis.labelHeight;
opts.labelWidth = axis.labelWidth;
});
// re-draw with new label widths and heights
secondPass = true;
plot.setupGrid();
plot.draw();
} else {
// DRAW
$.each(plot.getAxes(), function(axisName, axis) {
var opts = axis.options // Flot 0.7
|| plot.getOptions()[axisName]; // Flot 0.6
if (!opts || !opts.axisLabel)
return;
if (opts.axisLabelUseCanvas) {
// canvas text
var ctx = plot.getCanvas().getContext('2d');
ctx.save();
ctx.font = opts.axisLabelFontSizePixels + 'px ' +
opts.axisLabelFontFamily;
var width = ctx.measureText(opts.axisLabel).width;
var height = opts.axisLabelFontSizePixels;
var x, y;
if (axisName.charAt(0) == 'x') {
x = plot.getPlotOffset().left + plot.width()/2 - width/2;
y = plot.getCanvas().height;
} else {
x = height * 0.72;
y = plot.getPlotOffset().top + plot.height()/2 - width/2;
}
ctx.translate(x, y);
ctx.rotate((axisName.charAt(0) == 'x') ? 0 : -Math.PI/2);
ctx.fillText(opts.axisLabel, 0, 0);
ctx.restore();
} else {
// HTML text
plot.getPlaceholder().find('#' + axisName + 'Label').remove();
var elem = $('<div id="' + axisName + 'Label" " class="axisLabels" style="position:absolute;">' + opts.axisLabel + '</div>');
if (axisName.charAt(0) == 'x') {
elem.css('left', plot.getPlotOffset().left + plot.width()/2 - elem.outerWidth()/2 + 'px');
elem.css('bottom', '0px');
} else {
elem.css('top', plot.getPlotOffset().top + plot.height()/2 - elem.outerHeight()/2 + 'px');
elem.css('left', '0px');
}
plot.getPlaceholder().append(elem);
}
});
secondPass = false;
}
});
}
$.plot.plugins.push({
init: init,
options: options,
name: 'axisLabels',
version: '1.0'
});
})(jQuery);

Some files were not shown because too many files have changed in this diff Show more