render-engine 2026.6.2a4__tar.gz → 2026.7.1a4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. render_engine-2026.7.1a4/.gitattributes +1 -0
  2. render_engine-2026.7.1a4/MANIFEST.in +21 -0
  3. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/PKG-INFO +5 -4
  4. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/README.md +4 -3
  5. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/pyproject.toml +11 -7
  6. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/__version__.py +3 -3
  7. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/site.py +38 -3
  8. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/site_map.py +84 -1
  9. render_engine-2026.7.1a4/src/render_engine.egg-info/SOURCES.txt +41 -0
  10. render_engine-2026.6.2a4/.all-contributorsrc +0 -207
  11. render_engine-2026.6.2a4/.devcontainer/Dockerfile +0 -5
  12. render_engine-2026.6.2a4/.devcontainer/devcontainer.json +0 -39
  13. render_engine-2026.6.2a4/.devcontainer/setup.sh +0 -6
  14. render_engine-2026.6.2a4/.github/FUNDING.yml +0 -12
  15. render_engine-2026.6.2a4/.github/ISSUE_TEMPLATE/config.yaml +0 -1
  16. render_engine-2026.6.2a4/.github/ISSUE_TEMPLATE/form_issue_template.yml +0 -57
  17. render_engine-2026.6.2a4/.github/PULL_REQUEST_TEMPLATE.md +0 -32
  18. render_engine-2026.6.2a4/.github/dependabot-bot.yml +0 -14
  19. render_engine-2026.6.2a4/.github/dependabot.yml +0 -30
  20. render_engine-2026.6.2a4/.github/labeler.yml +0 -43
  21. render_engine-2026.6.2a4/.github/release.yml +0 -4
  22. render_engine-2026.6.2a4/.github/scripts/publish_prerelease.py +0 -104
  23. render_engine-2026.6.2a4/.github/workflows/devcontainer-ci.yml +0 -28
  24. render_engine-2026.6.2a4/.github/workflows/labeler.yml +0 -16
  25. render_engine-2026.6.2a4/.github/workflows/lint.yml +0 -36
  26. render_engine-2026.6.2a4/.github/workflows/publish-prerelease.yml +0 -53
  27. render_engine-2026.6.2a4/.github/workflows/publish.yml +0 -55
  28. render_engine-2026.6.2a4/.github/workflows/scorecard.yml +0 -73
  29. render_engine-2026.6.2a4/.github/workflows/test.yml +0 -73
  30. render_engine-2026.6.2a4/.github/workflows/todos.yml +0 -89
  31. render_engine-2026.6.2a4/.github/workflows/ty.yml +0 -22
  32. render_engine-2026.6.2a4/.gitignore +0 -173
  33. render_engine-2026.6.2a4/.markdownlint.json +0 -13
  34. render_engine-2026.6.2a4/.pre-commit-config.yaml +0 -41
  35. render_engine-2026.6.2a4/.readthedocs.yml +0 -24
  36. render_engine-2026.6.2a4/.vscode/tasks.json +0 -10
  37. render_engine-2026.6.2a4/SECURITY.md +0 -14
  38. render_engine-2026.6.2a4/coverage-badge.svg +0 -1
  39. render_engine-2026.6.2a4/docs/docs/archive.md +0 -81
  40. render_engine-2026.6.2a4/docs/docs/assets/create environment vs code.gif +0 -0
  41. render_engine-2026.6.2a4/docs/docs/assets/create-app-help.png +0 -0
  42. render_engine-2026.6.2a4/docs/docs/assets/create-codespace.gif +0 -0
  43. render_engine-2026.6.2a4/docs/docs/assets/launching a dev container.gif +0 -0
  44. render_engine-2026.6.2a4/docs/docs/assets/render-engine-init-help.png +0 -0
  45. render_engine-2026.6.2a4/docs/docs/assets/render-engine-init.png +0 -0
  46. render_engine-2026.6.2a4/docs/docs/collection.md +0 -119
  47. render_engine-2026.6.2a4/docs/docs/content_manager.md +0 -89
  48. render_engine-2026.6.2a4/docs/docs/contributing/CODE_OF_CONDUCT.md +0 -113
  49. render_engine-2026.6.2a4/docs/docs/contributing/CONTRIBUTING.md +0 -171
  50. render_engine-2026.6.2a4/docs/docs/contributing/SECURITY.md +0 -18
  51. render_engine-2026.6.2a4/docs/docs/contributing/environment_setup.md +0 -93
  52. render_engine-2026.6.2a4/docs/docs/contributing/gen_badge.md +0 -24
  53. render_engine-2026.6.2a4/docs/docs/contributing/github-actions-file-patterns.md +0 -252
  54. render_engine-2026.6.2a4/docs/docs/contributing/style-guide.md +0 -181
  55. render_engine-2026.6.2a4/docs/docs/contributing/testing.md +0 -80
  56. render_engine-2026.6.2a4/docs/docs/contributing/typechecking.md +0 -60
  57. render_engine-2026.6.2a4/docs/docs/custom_collections.md +0 -97
  58. render_engine-2026.6.2a4/docs/docs/data_object.md +0 -67
  59. render_engine-2026.6.2a4/docs/docs/feeds.md +0 -42
  60. render_engine-2026.6.2a4/docs/docs/getting-started/building-your-site.md +0 -42
  61. render_engine-2026.6.2a4/docs/docs/getting-started/creating-a-collection.md +0 -93
  62. render_engine-2026.6.2a4/docs/docs/getting-started/creating-a-page.md +0 -105
  63. render_engine-2026.6.2a4/docs/docs/getting-started/creating-your-app.md +0 -35
  64. render_engine-2026.6.2a4/docs/docs/getting-started/extending-render-engine.md +0 -46
  65. render_engine-2026.6.2a4/docs/docs/getting-started/getting-started.md +0 -34
  66. render_engine-2026.6.2a4/docs/docs/getting-started/installation.md +0 -39
  67. render_engine-2026.6.2a4/docs/docs/getting-started/layout.md +0 -270
  68. render_engine-2026.6.2a4/docs/docs/index.md +0 -45
  69. render_engine-2026.6.2a4/docs/docs/page.md +0 -182
  70. render_engine-2026.6.2a4/docs/docs/parsers.md +0 -141
  71. render_engine-2026.6.2a4/docs/docs/plugins.md +0 -156
  72. render_engine-2026.6.2a4/docs/docs/site.md +0 -149
  73. render_engine-2026.6.2a4/docs/docs/site_map.md +0 -76
  74. render_engine-2026.6.2a4/docs/docs/templates.md +0 -124
  75. render_engine-2026.6.2a4/docs/docs/theme_management.md +0 -85
  76. render_engine-2026.6.2a4/docs/mkdocs.yml +0 -72
  77. render_engine-2026.6.2a4/justfile +0 -81
  78. render_engine-2026.6.2a4/noxfile.py +0 -18
  79. render_engine-2026.6.2a4/src/render_engine/.gitignore +0 -1
  80. render_engine-2026.6.2a4/src/render_engine/py.typed +0 -0
  81. render_engine-2026.6.2a4/src/render_engine/utils/__init__.py +0 -0
  82. render_engine-2026.6.2a4/src/render_engine.egg-info/PKG-INFO +0 -147
  83. render_engine-2026.6.2a4/src/render_engine.egg-info/SOURCES.txt +0 -135
  84. render_engine-2026.6.2a4/src/render_engine.egg-info/dependency_links.txt +0 -1
  85. render_engine-2026.6.2a4/src/render_engine.egg-info/requires.txt +0 -10
  86. render_engine-2026.6.2a4/src/render_engine.egg-info/scm_file_list.json +0 -131
  87. render_engine-2026.6.2a4/src/render_engine.egg-info/scm_version.json +0 -8
  88. render_engine-2026.6.2a4/src/render_engine.egg-info/top_level.txt +0 -1
  89. render_engine-2026.6.2a4/tests/conftest.py +0 -42
  90. render_engine-2026.6.2a4/tests/test_archive.py +0 -73
  91. render_engine-2026.6.2a4/tests/test_base_object.py +0 -79
  92. render_engine-2026.6.2a4/tests/test_blog.py +0 -92
  93. render_engine-2026.6.2a4/tests/test_collections.py +0 -418
  94. render_engine-2026.6.2a4/tests/test_engine.py +0 -51
  95. render_engine-2026.6.2a4/tests/test_feeds/conftest_feed.py +0 -42
  96. render_engine-2026.6.2a4/tests/test_feeds/test_feeds.py +0 -115
  97. render_engine-2026.6.2a4/tests/test_file_content_manager.py +0 -78
  98. render_engine-2026.6.2a4/tests/test_page.py +0 -199
  99. render_engine-2026.6.2a4/tests/test_parsers_remove_2024_3_1.py +0 -8
  100. render_engine-2026.6.2a4/tests/test_plugins.py +0 -365
  101. render_engine-2026.6.2a4/tests/test_site.py +0 -468
  102. render_engine-2026.6.2a4/tests/test_site_map.py +0 -192
  103. render_engine-2026.6.2a4/tests/test_templates/test_base_html.py +0 -71
  104. render_engine-2026.6.2a4/tests/test_theme_manager.py +0 -46
  105. render_engine-2026.6.2a4/uv.lock +0 -1340
  106. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/setup.cfg +0 -0
  107. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/__init__.py +0 -0
  108. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/_base_object.py +0 -0
  109. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/archive.py +0 -0
  110. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/blog.py +0 -0
  111. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/collection.py +0 -0
  112. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/content_managers/__init__.py +0 -0
  113. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/content_managers/base_content_manager.py +0 -0
  114. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/content_managers/file_content_manager.py +0 -0
  115. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/data_object.py +0 -0
  116. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/engine.py +0 -0
  117. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/feeds.py +0 -0
  118. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/hookspecs.py +0 -0
  119. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/links.py +0 -0
  120. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/page.py +0 -0
  121. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/parsers/__init__.py +0 -0
  122. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/parsers/base_parsers.py +0 -0
  123. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/parsers/markdown.py +0 -0
  124. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/plugins.py +0 -0
  125. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/__init__.py +0 -0
  126. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/archive.html +0 -0
  127. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/base.html +0 -0
  128. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/base_collection_path.md +0 -0
  129. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/base_templates/_archive.html +0 -0
  130. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/base_templates/_base.html +0 -0
  131. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/base_templates/_page.html +0 -0
  132. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/components/footer.html +0 -0
  133. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/components/page_title.html +0 -0
  134. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/page.html +0 -0
  135. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/redirect.html +0 -0
  136. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/rss2.0.xml +0 -0
  137. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/rss2.0_items.xml +0 -0
  138. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/sitemap.xml +0 -0
  139. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/render_engine_templates/sitemap_item.xml +0 -0
  140. {render_engine-2026.6.2a4 → render_engine-2026.7.1a4}/src/render_engine/themes.py +0 -0
@@ -0,0 +1 @@
1
+ **/*.sh text eol=lf
@@ -0,0 +1,21 @@
1
+ exclude README.md
2
+ exclude SECURITY.md
3
+
4
+ prune docs
5
+ prune tests
6
+ prune .github
7
+ prune .devcontainer
8
+ prune .vscode
9
+ prune src/render_engine.egg-info
10
+
11
+ exclude uv.lock
12
+ exclude .gitignore
13
+ exclude .all-contributorsrc
14
+ exclude .markdownlint.json
15
+ exclude .pre-commit-config.yaml
16
+ exclude .readthedocs.yml
17
+ exclude coverage-badge.svg
18
+ exclude justfile
19
+ exclude noxfile.py
20
+ exclude src/render_engine/.gitignore
21
+ exclude src/render_engine/py.typed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: render_engine
3
- Version: 2026.6.2a4
3
+ Version: 2026.7.1a4
4
4
  Summary: A Flexible Static Site Generator for Python
5
5
  Project-URL: homepage, https://github.com/render-engine/render-engine/
6
6
  Project-URL: repository, https://github.com/render-engine/render-engine/
@@ -22,7 +22,7 @@ Provides-Extra: extras
22
22
 
23
23
  <!-- markdownlint-disable -->
24
24
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
25
- [![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)
25
+ [![All Contributors](https://img.shields.io/badge/all_contributors-21-orange.svg?style=flat-square)](#contributors-)
26
26
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
27
27
  <!-- markdownlint-restore -->
28
28
 
@@ -93,22 +93,23 @@ Please review the [contributing][contributing] section of our docs for more info
93
93
  <tr>
94
94
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Tashuuuu"><img src="https://avatars.githubusercontent.com/u/85075827?v=4?s=57" width="57px;" alt="Akriti Sengar"/><br /><sub><b>Akriti Sengar</b></sub></a><br /><a href="#tool-Tashuuuu" title="Tools">🔧</a></td>
95
95
  <td align="center" valign="top" width="14.28%"><a href="https://tonybaloney.github.io/"><img src="https://avatars.githubusercontent.com/u/1532417?v=4?s=57" width="57px;" alt="Anthony Shaw"/><br /><sub><b>Anthony Shaw</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tonybaloney" title="Documentation">📖</a></td>
96
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/arushiiii18"><img src="https://avatars.githubusercontent.com/u/191345547?v=4?s=57" width="57px;" alt="Arushi Sagar"/><br /><sub><b>Arushi Sagar</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=arushiiii18" title="Code">💻</a></td>
96
97
  <td align="center" valign="top" width="14.28%"><a href="https://b.dougie.dev/"><img src="https://avatars.githubusercontent.com/u/5713670?v=4?s=57" width="57px;" alt="Brian Douglas"/><br /><sub><b>Brian Douglas</b></sub></a><br /><a href="#financial-bdougie" title="Financial">💵</a></td>
97
98
  <td align="center" valign="top" width="14.28%"><a href="https://brassnet.biz"><img src="https://avatars.githubusercontent.com/u/1806946?v=4?s=57" width="57px;" alt="Dan Shernicoff"/><br /><sub><b>Dan Shernicoff</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=brass75" title="Code">💻</a></td>
98
99
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/mannyanebi"><img src="https://avatars.githubusercontent.com/u/25439000?v=4?s=57" width="57px;" alt="Emmanuel Anebi"/><br /><sub><b>Emmanuel Anebi</b></sub></a><br /><a href="#plugin-mannyanebi" title="Plugin/utility libraries">🔌</a></td>
99
100
  <td align="center" valign="top" width="14.28%"><a href="http://giovannimartins.dev"><img src="https://avatars.githubusercontent.com/u/7796661?v=4?s=57" width="57px;" alt="Giovanni Martins"/><br /><sub><b>Giovanni Martins</b></sub></a><br /><a href="#infra-giovannism20" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
100
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/kjaymiller"><img src="https://avatars.githubusercontent.com/u/8632637?v=4?s=57" width="57px;" alt="Jay Miller"/><br /><sub><b>Jay Miller</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Code">💻</a> <a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Documentation">📖</a> <a href="#maintenance-kjaymiller" title="Maintenance">🚧</a></td>
101
101
  </tr>
102
102
  <tr>
103
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kjaymiller"><img src="https://avatars.githubusercontent.com/u/8632637?v=4?s=57" width="57px;" alt="Jay Miller"/><br /><sub><b>Jay Miller</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Code">💻</a> <a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Documentation">📖</a> <a href="#maintenance-kjaymiller" title="Maintenance">🚧</a></td>
103
104
  <td align="center" valign="top" width="14.28%"><a href="https://webology.dev"><img src="https://avatars.githubusercontent.com/u/50527?v=4?s=57" width="57px;" alt="Jeff Triplett"/><br /><sub><b>Jeff Triplett</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jefftriplett" title="Documentation">📖</a> <a href="#mentoring-jefftriplett" title="Mentoring">🧑‍🏫</a></td>
104
105
  <td align="center" valign="top" width="14.28%"><a href="https://linktr.ee/john0isaac"><img src="https://avatars.githubusercontent.com/u/64026625?v=4?s=57" width="57px;" alt="John Aziz"/><br /><sub><b>John Aziz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=john0isaac" title="Documentation">📖</a> <a href="#maintenance-john0isaac" title="Maintenance">🚧</a> <a href="#userTesting-john0isaac" title="User Testing">📓</a></td>
105
106
  <td align="center" valign="top" width="14.28%"><a href="https://www.jonafato.com"><img src="https://avatars.githubusercontent.com/u/392720?v=4?s=57" width="57px;" alt="Jon Banafato"/><br /><sub><b>Jon Banafato</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jonafato" title="Code">💻</a></td>
106
107
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/jlgimeno"><img src="https://avatars.githubusercontent.com/u/17421585?v=4?s=57" width="57px;" alt="Jorge L. Gimeno"/><br /><sub><b>Jorge L. Gimeno</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jlgimeno" title="Documentation">📖</a></td>
107
108
  <td align="center" valign="top" width="14.28%"><a href="http://lauralangdon.io"><img src="https://avatars.githubusercontent.com/u/48335772?v=4?s=57" width="57px;" alt="Laura Langdon"/><br /><sub><b>Laura Langdon</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=LauraLangdon" title="Documentation">📖</a></td>
108
109
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Mahhheshh"><img src="https://avatars.githubusercontent.com/u/100200105?v=4?s=57" width="57px;" alt="Mahhheshh"/><br /><sub><b>Mahhheshh</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=Mahhheshh" title="Documentation">📖</a> <a href="https://github.com/render-engine/render-engine/commits?author=Mahhheshh" title="Code">💻</a> <a href="#maintenance-Mahhheshh" title="Maintenance">🚧</a></td>
109
- <td align="center" valign="top" width="14.28%"><a href="https://www.pythonbynight.com"><img src="https://avatars.githubusercontent.com/u/46942991?v=4?s=57" width="57px;" alt="Mario Munoz"/><br /><sub><b>Mario Munoz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tataraba" title="Code">💻</a></td>
110
110
  </tr>
111
111
  <tr>
112
+ <td align="center" valign="top" width="14.28%"><a href="https://www.pythonbynight.com"><img src="https://avatars.githubusercontent.com/u/46942991?v=4?s=57" width="57px;" alt="Mario Munoz"/><br /><sub><b>Mario Munoz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tataraba" title="Code">💻</a></td>
112
113
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/MohitKambli"><img src="https://avatars.githubusercontent.com/u/31406633?v=4?s=57" width="57px;" alt="Mohit Kambli"/><br /><sub><b>Mohit Kambli</b></sub></a><br /><a href="#infra-MohitKambli" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
113
114
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/OsamaRab3"><img src="https://avatars.githubusercontent.com/u/159753803?v=4?s=57" width="57px;" alt="Osama Rabea "/><br /><sub><b>Osama Rabea </b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=OsamaRab3" title="Documentation">📖</a> <a href="https://github.com/render-engine/render-engine/commits?author=OsamaRab3" title="Tests">⚠️</a></td>
114
115
  <td align="center" valign="top" width="14.28%"><a href="https://www.pamelafox.org"><img src="https://avatars.githubusercontent.com/u/297042?v=4?s=57" width="57px;" alt="Pamela Fox"/><br /><sub><b>Pamela Fox</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=pamelafox" title="Documentation">📖</a></td>
@@ -3,7 +3,7 @@
3
3
 
4
4
  <!-- markdownlint-disable -->
5
5
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
6
- [![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)
6
+ [![All Contributors](https://img.shields.io/badge/all_contributors-21-orange.svg?style=flat-square)](#contributors-)
7
7
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
8
8
  <!-- markdownlint-restore -->
9
9
 
@@ -74,22 +74,23 @@ Please review the [contributing][contributing] section of our docs for more info
74
74
  <tr>
75
75
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Tashuuuu"><img src="https://avatars.githubusercontent.com/u/85075827?v=4?s=57" width="57px;" alt="Akriti Sengar"/><br /><sub><b>Akriti Sengar</b></sub></a><br /><a href="#tool-Tashuuuu" title="Tools">🔧</a></td>
76
76
  <td align="center" valign="top" width="14.28%"><a href="https://tonybaloney.github.io/"><img src="https://avatars.githubusercontent.com/u/1532417?v=4?s=57" width="57px;" alt="Anthony Shaw"/><br /><sub><b>Anthony Shaw</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tonybaloney" title="Documentation">📖</a></td>
77
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/arushiiii18"><img src="https://avatars.githubusercontent.com/u/191345547?v=4?s=57" width="57px;" alt="Arushi Sagar"/><br /><sub><b>Arushi Sagar</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=arushiiii18" title="Code">💻</a></td>
77
78
  <td align="center" valign="top" width="14.28%"><a href="https://b.dougie.dev/"><img src="https://avatars.githubusercontent.com/u/5713670?v=4?s=57" width="57px;" alt="Brian Douglas"/><br /><sub><b>Brian Douglas</b></sub></a><br /><a href="#financial-bdougie" title="Financial">💵</a></td>
78
79
  <td align="center" valign="top" width="14.28%"><a href="https://brassnet.biz"><img src="https://avatars.githubusercontent.com/u/1806946?v=4?s=57" width="57px;" alt="Dan Shernicoff"/><br /><sub><b>Dan Shernicoff</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=brass75" title="Code">💻</a></td>
79
80
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/mannyanebi"><img src="https://avatars.githubusercontent.com/u/25439000?v=4?s=57" width="57px;" alt="Emmanuel Anebi"/><br /><sub><b>Emmanuel Anebi</b></sub></a><br /><a href="#plugin-mannyanebi" title="Plugin/utility libraries">🔌</a></td>
80
81
  <td align="center" valign="top" width="14.28%"><a href="http://giovannimartins.dev"><img src="https://avatars.githubusercontent.com/u/7796661?v=4?s=57" width="57px;" alt="Giovanni Martins"/><br /><sub><b>Giovanni Martins</b></sub></a><br /><a href="#infra-giovannism20" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
81
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/kjaymiller"><img src="https://avatars.githubusercontent.com/u/8632637?v=4?s=57" width="57px;" alt="Jay Miller"/><br /><sub><b>Jay Miller</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Code">💻</a> <a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Documentation">📖</a> <a href="#maintenance-kjaymiller" title="Maintenance">🚧</a></td>
82
82
  </tr>
83
83
  <tr>
84
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/kjaymiller"><img src="https://avatars.githubusercontent.com/u/8632637?v=4?s=57" width="57px;" alt="Jay Miller"/><br /><sub><b>Jay Miller</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Code">💻</a> <a href="https://github.com/render-engine/render-engine/commits?author=kjaymiller" title="Documentation">📖</a> <a href="#maintenance-kjaymiller" title="Maintenance">🚧</a></td>
84
85
  <td align="center" valign="top" width="14.28%"><a href="https://webology.dev"><img src="https://avatars.githubusercontent.com/u/50527?v=4?s=57" width="57px;" alt="Jeff Triplett"/><br /><sub><b>Jeff Triplett</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jefftriplett" title="Documentation">📖</a> <a href="#mentoring-jefftriplett" title="Mentoring">🧑‍🏫</a></td>
85
86
  <td align="center" valign="top" width="14.28%"><a href="https://linktr.ee/john0isaac"><img src="https://avatars.githubusercontent.com/u/64026625?v=4?s=57" width="57px;" alt="John Aziz"/><br /><sub><b>John Aziz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=john0isaac" title="Documentation">📖</a> <a href="#maintenance-john0isaac" title="Maintenance">🚧</a> <a href="#userTesting-john0isaac" title="User Testing">📓</a></td>
86
87
  <td align="center" valign="top" width="14.28%"><a href="https://www.jonafato.com"><img src="https://avatars.githubusercontent.com/u/392720?v=4?s=57" width="57px;" alt="Jon Banafato"/><br /><sub><b>Jon Banafato</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jonafato" title="Code">💻</a></td>
87
88
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/jlgimeno"><img src="https://avatars.githubusercontent.com/u/17421585?v=4?s=57" width="57px;" alt="Jorge L. Gimeno"/><br /><sub><b>Jorge L. Gimeno</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=jlgimeno" title="Documentation">📖</a></td>
88
89
  <td align="center" valign="top" width="14.28%"><a href="http://lauralangdon.io"><img src="https://avatars.githubusercontent.com/u/48335772?v=4?s=57" width="57px;" alt="Laura Langdon"/><br /><sub><b>Laura Langdon</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=LauraLangdon" title="Documentation">📖</a></td>
89
90
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/Mahhheshh"><img src="https://avatars.githubusercontent.com/u/100200105?v=4?s=57" width="57px;" alt="Mahhheshh"/><br /><sub><b>Mahhheshh</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=Mahhheshh" title="Documentation">📖</a> <a href="https://github.com/render-engine/render-engine/commits?author=Mahhheshh" title="Code">💻</a> <a href="#maintenance-Mahhheshh" title="Maintenance">🚧</a></td>
90
- <td align="center" valign="top" width="14.28%"><a href="https://www.pythonbynight.com"><img src="https://avatars.githubusercontent.com/u/46942991?v=4?s=57" width="57px;" alt="Mario Munoz"/><br /><sub><b>Mario Munoz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tataraba" title="Code">💻</a></td>
91
91
  </tr>
92
92
  <tr>
93
+ <td align="center" valign="top" width="14.28%"><a href="https://www.pythonbynight.com"><img src="https://avatars.githubusercontent.com/u/46942991?v=4?s=57" width="57px;" alt="Mario Munoz"/><br /><sub><b>Mario Munoz</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=tataraba" title="Code">💻</a></td>
93
94
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/MohitKambli"><img src="https://avatars.githubusercontent.com/u/31406633?v=4?s=57" width="57px;" alt="Mohit Kambli"/><br /><sub><b>Mohit Kambli</b></sub></a><br /><a href="#infra-MohitKambli" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
94
95
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/OsamaRab3"><img src="https://avatars.githubusercontent.com/u/159753803?v=4?s=57" width="57px;" alt="Osama Rabea "/><br /><sub><b>Osama Rabea </b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=OsamaRab3" title="Documentation">📖</a> <a href="https://github.com/render-engine/render-engine/commits?author=OsamaRab3" title="Tests">⚠️</a></td>
95
96
  <td align="center" valign="top" width="14.28%"><a href="https://www.pamelafox.org"><img src="https://avatars.githubusercontent.com/u/297042?v=4?s=57" width="57px;" alt="Pamela Fox"/><br /><sub><b>Pamela Fox</b></sub></a><br /><a href="https://github.com/render-engine/render-engine/commits?author=pamelafox" title="Documentation">📖</a></td>
@@ -25,13 +25,11 @@ extras = []
25
25
  [dependency-groups]
26
26
  dev = [
27
27
  "ephemeral-port-reserve==1.1.4",
28
- "deptry>=0.24.0",
28
+ "deptry==0.25.1",
29
29
  "httpx==0.28.1",
30
- # TODO: Update typing with new versions in 0.0.24
31
- # Issue URL: https://github.com/render-engine/render-engine/issues/1142
32
- "ty==0.0.40",
30
+ "ty==0.0.55",
33
31
  "pre-commit==4.6.0",
34
- "pytest==9.0.3",
32
+ "pytest==9.1.1",
35
33
  "pytest-cov==7.1.0",
36
34
  "pytest-mock==3.15.1",
37
35
  "toml==0.10.2",
@@ -41,7 +39,7 @@ docs = [
41
39
  "mkdocs-material==9.7.6",
42
40
  "mkdocs-multirepo-plugin==0.8.3",
43
41
  "mkdocstrings[python]==1.0.4",
44
- "pymdown-extensions==10.21.3",
42
+ "pymdown-extensions==11.0",
45
43
  ]
46
44
 
47
45
  [tool.setuptools_scm]
@@ -69,6 +67,7 @@ branch = "main"
69
67
  line-length = 120
70
68
  indent-width = 4
71
69
  target-version = "py310"
70
+ exclude = ["*.md"]
72
71
 
73
72
  [tool.ruff.lint]
74
73
  select = ["E", "F", "I", "UP"]
@@ -77,4 +76,9 @@ select = ["E", "F", "I", "UP"]
77
76
  unresolved-import = "warn"
78
77
 
79
78
  [tool.deptry]
80
- pep621_dev_dependency_groups = ["extras"]
79
+ optional_dependencies_dev_groups = ["extras"]
80
+
81
+ [tool.deptry.package_module_name_map]
82
+ python-dateutil = "dateutil"
83
+ python-slugify = "slugify"
84
+ python-frontmatter = "frontmatter"
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '2026.6.2a4'
22
- __version_tuple__ = version_tuple = (2026, 6, 2, 'a4')
21
+ __version__ = version = '2026.7.1a4'
22
+ __version_tuple__ = version_tuple = (2026, 7, 1, 'a4')
23
23
 
24
- __commit_id__ = commit_id = 'gdeeaa1e6f'
24
+ __commit_id__ = commit_id = 'g0a3636986'
@@ -2,6 +2,7 @@ import copy
2
2
  import json
3
3
  import logging
4
4
  from collections import defaultdict
5
+ from collections.abc import Iterable
5
6
  from pathlib import Path
6
7
  from typing import Any, cast
7
8
 
@@ -59,12 +60,17 @@ class Site:
59
60
  *,
60
61
  output_path: str | Path = "output",
61
62
  template_path: str | Path = "templates",
62
- static_paths: set[str | Path] = {"static"},
63
+ static_paths: set[str | Path] | object = SENTINEL,
63
64
  plugin_settings: object | dict = SENTINEL,
64
65
  render_html_site_map: bool = False,
65
66
  render_xml_site_map: bool = False,
66
67
  slug_only_urls: bool = False,
67
68
  site_vars: object | dict = SENTINEL,
69
+ static_include_patterns: Iterable[str] | None = None,
70
+ static_exclude_patterns: Iterable[str] | None = None,
71
+ static_exclude_dirs: Iterable[str] | None = None,
72
+ static_include_dirs: Iterable[str] | None = None,
73
+ include_static_in_site_map: bool = False,
68
74
  ) -> None:
69
75
  """
70
76
  Constructor for the Site object.
@@ -75,18 +81,41 @@ class Site:
75
81
  :param output_path: Path to write rendered content
76
82
  :param template_path: Path to location of template files
77
83
  :param static_paths: Paths for static folders copied to output (recursive)
78
- :param plugin_settings: Dictionary caontaining plugin settings
84
+ :param plugin_settings: Dictionary containing plugin settings
79
85
  :param render_html_site_map: When True render the site map as an HTML file. Default: False
80
86
  :param render_xml_site_map: When True render the site map as an XMK file. Default: False
81
87
  :param slug_only_urls: Default value for Page objects rendering slub only URLS. Default: False
82
88
  :param site_vars: The site_vars dictionary containing data to be passed to all templates during rendering
89
+ :param static_include_patterns: Glob patterns a static file must match to be included. Default: None.
90
+ :param static_exclude_patterns: Glob patterns that exclude a static file even if it matched an include pattern.
91
+ :param static_exclude_dirs: Directory names to skip entirely under any static path.
92
+ :param static_include_dirs: Subdirectory paths that override static_exclude_dirs for matching subdirectories.
93
+ :param include_static_in_site_map: When True, static files are added to the site map.
94
+ They are always copied to output regardless of this setting. Default: False.
83
95
  """
84
96
  # Use getattr for the attributes moved from class level to constructor arguments
85
97
  # to properly handle subclassing. This will prefeer the value from the subclass
86
98
  # for these attributes
87
99
  template_path = getattr(self, "_template_path", template_path)
88
100
  output_path = getattr(self, "_output_path", output_path)
89
- static_paths = getattr(self, "_static_paths", static_paths)
101
+ static_paths = cast(
102
+ "set[str | Path]",
103
+ getattr(
104
+ self,
105
+ "_static_paths",
106
+ {"static"} if static_paths is SENTINEL else static_paths,
107
+ ),
108
+ )
109
+ self.static_include_patterns: Iterable[str] | None = getattr(
110
+ self, "static_include_patterns", static_include_patterns
111
+ )
112
+ self.static_exclude_patterns: Iterable[str] | None = getattr(
113
+ self, "static_exclude_patterns", static_exclude_patterns
114
+ )
115
+ self.static_exclude_dirs: Iterable[str] | None = getattr(self, "static_exclude_dirs", static_exclude_dirs)
116
+ self.static_include_dirs: Iterable[str] | None = getattr(self, "static_include_dirs", static_include_dirs)
117
+ self.include_static_in_site_map: bool = getattr(self, "include_static_in_site_map", include_static_in_site_map)
118
+
90
119
  self.plugin_settings: dict = cast(
91
120
  dict,
92
121
  getattr(
@@ -390,6 +419,12 @@ class Site:
390
419
  # to https://localhost:8000/ This task will update to the correct site URL and with the route list
391
420
  # as it will be rendered.
392
421
  self._site_map.site_url = site_url
422
+ self._site_map.static_paths = self.static_paths
423
+ self._site_map.static_include_patterns = self.static_include_patterns
424
+ self._site_map.static_exclude_patterns = self.static_exclude_patterns
425
+ self._site_map.static_exclude_dirs = self.static_exclude_dirs
426
+ self._site_map.static_include_dirs = self.static_include_dirs
427
+ self._site_map.include_static_in_site_map = self.include_static_in_site_map
393
428
  self._site_map.update(self.route_list)
394
429
 
395
430
  if self.render_html_site_map:
@@ -44,19 +44,51 @@ class SiteMapEntry:
44
44
  return self.url_for
45
45
 
46
46
 
47
+ class StaticSiteMapEntry(SiteMapEntry):
48
+ """Site map entry for a static file"""
49
+
50
+ def __init__(self, file_path: Path, static_root: Path, url_prefix: str = ""):
51
+ """
52
+ :param file_path: Absolute path to the static file on disk.
53
+ :param static_root: The static directory this file lives under (e.g. "static").
54
+ :param url_prefix: The folder name this static dir gets copied to in the
55
+ output directory. `ThemeManager._render_static` copies each static_path
56
+ to `output_path / static_path.name`, so this should be `static_root.name`.
57
+ """
58
+ relative = file_path.relative_to(static_root).as_posix()
59
+ self.slug = slugify.slugify(f"{url_prefix}/{relative}" if url_prefix else relative)
60
+ self.title = file_path.name
61
+ self.path_name = relative
62
+ prefix = url_prefix.strip("/")
63
+ self._route = f"/{prefix}/{relative}" if prefix else f"/{relative}"
64
+ self.entries: list = []
65
+
66
+
47
67
  class SiteMap:
48
68
  """Site map"""
49
69
 
50
- def __init__(self, site_url: str = "", route_list: dict | None = None) -> None:
70
+ def __init__(
71
+ self,
72
+ site_url: str = "",
73
+ route_list: dict | None = None,
74
+ static_paths: Iterable[str | Path] | None = None,
75
+ ) -> None:
51
76
  """
52
77
  Create the site map based on the route_list
53
78
 
54
79
  :param site_url: Used for rendering the HTML to have absolute URLs.
55
80
  :param route_list: The route list to parse
81
+ :param static_paths: Static directories to include in the site map
56
82
  """
57
83
  self._route_map = dict()
58
84
  self._collections = dict()
59
85
  self._site_url = site_url
86
+ self.static_paths = static_paths
87
+ self.static_include_patterns: Iterable[str] | None = None
88
+ self.static_exclude_patterns: Iterable[str] | None = None
89
+ self.static_exclude_dirs: Iterable[str] | None = None
90
+ self.static_include_dirs: Iterable[str] | None = None
91
+ self.include_static_in_site_map: bool = False
60
92
  if not route_list:
61
93
  return
62
94
  self.update(route_list)
@@ -85,6 +117,57 @@ class SiteMap:
85
117
  self._route_map[sm_entry.slug] = sm_entry
86
118
  if sm_entry.entries:
87
119
  self._collections[sm_entry.slug] = sm_entry
120
+ if self.static_paths and self.include_static_in_site_map:
121
+ self.add_static_files(
122
+ self.static_paths,
123
+ include_patterns=self.static_include_patterns,
124
+ exclude_patterns=self.static_exclude_patterns,
125
+ exclude_dirs=self.static_exclude_dirs,
126
+ include_dirs=self.static_include_dirs,
127
+ )
128
+
129
+ def add_static_files(
130
+ self,
131
+ static_paths: Iterable[str | Path],
132
+ include_patterns: Iterable[str] | None = None,
133
+ exclude_patterns: Iterable[str] | None = None,
134
+ exclude_dirs: Iterable[str] | None = None,
135
+ include_dirs: Iterable[str] | None = None,
136
+ ) -> None:
137
+ """
138
+ Add static files to the site map, optionally filtered by pattern or directory.
139
+
140
+ :param static_paths: Static directories to include in the site map
141
+ :param include_patterns: Glob patterns a file must match to be included. Default None: no filtering.
142
+ :param exclude_patterns: Glob patterns that exclude a matching file even if it matched an include pattern.
143
+ :param exclude_dirs: Directory names to skip entirely (matched against any path segment).
144
+ :param include_dirs: Subdirectory paths that override exclude_dirs, forcing inclusion for matching
145
+ subdirectories even if a parent directory was excluded.
146
+ """
147
+ for static in static_paths:
148
+ static = Path(static)
149
+ if not static.exists():
150
+ continue
151
+ url_prefix = static.name
152
+ for file_path in static.rglob("*"):
153
+ if not file_path.is_file():
154
+ continue
155
+ rel_dir = file_path.relative_to(static).parent
156
+ rel_parts = rel_dir.parts
157
+ rel_dir_str = rel_dir.as_posix()
158
+
159
+ excluded_by_dir = exclude_dirs is not None and any(part in exclude_dirs for part in rel_parts)
160
+ included_override = include_dirs is not None and any(
161
+ rel_dir_str == d or rel_dir_str.startswith(f"{d}/") for d in include_dirs
162
+ )
163
+ if excluded_by_dir and not included_override:
164
+ continue
165
+ if include_patterns and not any(file_path.match(p) for p in include_patterns):
166
+ continue
167
+ if exclude_patterns and any(file_path.match(p) for p in exclude_patterns):
168
+ continue
169
+ entry = StaticSiteMapEntry(file_path, static, url_prefix)
170
+ self._route_map[entry.slug] = entry
88
171
 
89
172
  def __iter__(self) -> Generator[SiteMapEntry]:
90
173
  """Iterator for the site map object"""
@@ -0,0 +1,41 @@
1
+ .gitattributes
2
+ MANIFEST.in
3
+ README.md
4
+ pyproject.toml
5
+ src/render_engine/__init__.py
6
+ src/render_engine/__version__.py
7
+ src/render_engine/_base_object.py
8
+ src/render_engine/archive.py
9
+ src/render_engine/blog.py
10
+ src/render_engine/collection.py
11
+ src/render_engine/data_object.py
12
+ src/render_engine/engine.py
13
+ src/render_engine/feeds.py
14
+ src/render_engine/hookspecs.py
15
+ src/render_engine/links.py
16
+ src/render_engine/page.py
17
+ src/render_engine/plugins.py
18
+ src/render_engine/site.py
19
+ src/render_engine/site_map.py
20
+ src/render_engine/themes.py
21
+ src/render_engine/content_managers/__init__.py
22
+ src/render_engine/content_managers/base_content_manager.py
23
+ src/render_engine/content_managers/file_content_manager.py
24
+ src/render_engine/parsers/__init__.py
25
+ src/render_engine/parsers/base_parsers.py
26
+ src/render_engine/parsers/markdown.py
27
+ src/render_engine/render_engine_templates/__init__.py
28
+ src/render_engine/render_engine_templates/archive.html
29
+ src/render_engine/render_engine_templates/base.html
30
+ src/render_engine/render_engine_templates/base_collection_path.md
31
+ src/render_engine/render_engine_templates/page.html
32
+ src/render_engine/render_engine_templates/redirect.html
33
+ src/render_engine/render_engine_templates/rss2.0.xml
34
+ src/render_engine/render_engine_templates/rss2.0_items.xml
35
+ src/render_engine/render_engine_templates/sitemap.xml
36
+ src/render_engine/render_engine_templates/sitemap_item.xml
37
+ src/render_engine/render_engine_templates/base_templates/_archive.html
38
+ src/render_engine/render_engine_templates/base_templates/_base.html
39
+ src/render_engine/render_engine_templates/base_templates/_page.html
40
+ src/render_engine/render_engine_templates/components/footer.html
41
+ src/render_engine/render_engine_templates/components/page_title.html
@@ -1,207 +0,0 @@
1
- {
2
- "files": [
3
- "README.md",
4
- "CONTRIBUTING.md"
5
- ],
6
- "imageSize": 57,
7
- "commit": false,
8
- "commitType": "docs",
9
- "commitConvention": "angular",
10
- "contributors": [
11
- {
12
- "login": "LauraLangdon",
13
- "name": "Laura Langdon",
14
- "avatar_url": "https://avatars.githubusercontent.com/u/48335772?v=4",
15
- "profile": "http://lauralangdon.io",
16
- "contributions": [
17
- "doc"
18
- ]
19
- },
20
- {
21
- "login": "tataraba",
22
- "name": "Mario Munoz",
23
- "avatar_url": "https://avatars.githubusercontent.com/u/46942991?v=4",
24
- "profile": "https://www.pythonbynight.com",
25
- "contributions": [
26
- "code"
27
- ]
28
- },
29
- {
30
- "login": "jlgimeno",
31
- "name": "Jorge L. Gimeno",
32
- "avatar_url": "https://avatars.githubusercontent.com/u/17421585?v=4",
33
- "profile": "https://github.com/jlgimeno",
34
- "contributions": [
35
- "doc"
36
- ]
37
- },
38
- {
39
- "login": "jonafato",
40
- "name": "Jon Banafato",
41
- "avatar_url": "https://avatars.githubusercontent.com/u/392720?v=4",
42
- "profile": "https://www.jonafato.com",
43
- "contributions": [
44
- "code"
45
- ]
46
- },
47
- {
48
- "login": "Mahhheshh",
49
- "name": "Mahhheshh",
50
- "avatar_url": "https://avatars.githubusercontent.com/u/100200105?v=4",
51
- "profile": "https://github.com/Mahhheshh",
52
- "contributions": [
53
- "doc",
54
- "code",
55
- "maintenance"
56
- ]
57
- },
58
- {
59
- "login": "pamelafox",
60
- "name": "Pamela Fox",
61
- "avatar_url": "https://avatars.githubusercontent.com/u/297042?v=4",
62
- "profile": "https://www.pamelafox.org",
63
- "contributions": [
64
- "doc"
65
- ]
66
- },
67
- {
68
- "login": "mannyanebi",
69
- "name": "Emmanuel Anebi",
70
- "avatar_url": "https://avatars.githubusercontent.com/u/25439000?v=4",
71
- "profile": "https://github.com/mannyanebi",
72
- "contributions": [
73
- "plugin"
74
- ]
75
- },
76
- {
77
- "login": "tonybaloney",
78
- "name": "Anthony Shaw",
79
- "avatar_url": "https://avatars.githubusercontent.com/u/1532417?v=4",
80
- "profile": "https://tonybaloney.github.io/",
81
- "contributions": [
82
- "doc"
83
- ]
84
- },
85
- {
86
- "login": "jefftriplett",
87
- "name": "Jeff Triplett",
88
- "avatar_url": "https://avatars.githubusercontent.com/u/50527?v=4",
89
- "profile": "https://webology.dev",
90
- "contributions": [
91
- "doc",
92
- "mentoring"
93
- ]
94
- },
95
- {
96
- "login": "viktoriussuwandi",
97
- "name": "Viktorius Suwandi",
98
- "avatar_url": "https://avatars.githubusercontent.com/u/68414300?v=4",
99
- "profile": "https://github.com/viktoriussuwandi",
100
- "contributions": [
101
- "code"
102
- ]
103
- },
104
- {
105
- "login": "Tashuuuu",
106
- "name": "Akriti Sengar",
107
- "avatar_url": "https://avatars.githubusercontent.com/u/85075827?v=4",
108
- "profile": "https://github.com/Tashuuuu",
109
- "contributions": [
110
- "tool"
111
- ]
112
- },
113
- {
114
- "login": "izaan17",
115
- "name": "izaan17",
116
- "avatar_url": "https://avatars.githubusercontent.com/u/93177492?v=4",
117
- "profile": "https://github.com/Izaan17",
118
- "contributions": [
119
- "plugin"
120
- ]
121
- },
122
- {
123
- "login": "VinayakG311",
124
- "name": "VinayakG311",
125
- "avatar_url": "https://avatars.githubusercontent.com/u/96966973?v=4",
126
- "profile": "https://github.com/VinayakG311",
127
- "contributions": [
128
- "plugin"
129
- ]
130
- },
131
- {
132
- "login": "john0isaac",
133
- "name": "John Aziz",
134
- "avatar_url": "https://avatars.githubusercontent.com/u/64026625?v=4",
135
- "profile": "https://linktr.ee/john0isaac",
136
- "contributions": [
137
- "doc",
138
- "maintenance",
139
- "userTesting"
140
- ]
141
- },
142
- {
143
- "login": "giovannism20",
144
- "name": "Giovanni Martins",
145
- "avatar_url": "https://avatars.githubusercontent.com/u/7796661?v=4",
146
- "profile": "http://giovannimartins.dev",
147
- "contributions": [
148
- "infra"
149
- ]
150
- },
151
- {
152
- "login": "MohitKambli",
153
- "name": "Mohit Kambli",
154
- "avatar_url": "https://avatars.githubusercontent.com/u/31406633?v=4",
155
- "profile": "https://github.com/MohitKambli",
156
- "contributions": [
157
- "infra"
158
- ]
159
- },
160
- {
161
- "login": "OsamaRab3",
162
- "name": "Osama Rabea ",
163
- "avatar_url": "https://avatars.githubusercontent.com/u/159753803?v=4",
164
- "profile": "https://github.com/OsamaRab3",
165
- "contributions": [
166
- "doc",
167
- "test"
168
- ]
169
- },
170
- {
171
- "login": "brass75",
172
- "name": "Dan Shernicoff",
173
- "avatar_url": "https://avatars.githubusercontent.com/u/1806946?v=4",
174
- "profile": "https://brassnet.biz",
175
- "contributions": [
176
- "code"
177
- ]
178
- },
179
- {
180
- "login": "kjaymiller",
181
- "name": "Jay Miller",
182
- "avatar_url": "https://avatars.githubusercontent.com/u/8632637?v=4",
183
- "profile": "https://github.com/kjaymiller",
184
- "contributions": [
185
- "code",
186
- "doc",
187
- "maintenance"
188
- ]
189
- },
190
- {
191
- "login": "bdougie",
192
- "name": "Brian Douglas",
193
- "avatar_url": "https://avatars.githubusercontent.com/u/5713670?v=4",
194
- "profile": "https://b.dougie.dev/",
195
- "contributions": [
196
- "financial"
197
- ]
198
- }
199
- ],
200
- "contributorsPerLine": 7,
201
- "contributorsSortAlphabetically": true,
202
- "skipCi": true,
203
- "repoType": "github",
204
- "repoHost": "https://github.com",
205
- "projectName": "render-engine",
206
- "projectOwner": "render-engine"
207
- }
@@ -1,5 +0,0 @@
1
- ARG IMAGE="python:3.11"
2
- FROM --platform=amd64 mcr.microsoft.com/vscode/devcontainers/${IMAGE}
3
- RUN apt-get update \
4
- && export DEBIAN_FRONTEND=noninteractive \
5
- && apt-get -y install --no-install-recommends build-essential libssl-dev gdb cmake