generator-chisel 2.0.0-alpha.8 → 2.0.0

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 (174) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/bin/chisel.js +6 -0
  3. package/lib/commands/create/Creator.js +6 -0
  4. package/lib/commands/create/creators/app/chisel-starter-theme/.gitignore.chisel-tpl +3 -2
  5. package/lib/commands/create/creators/app/chisel-starter-theme/.nvmrc +1 -1
  6. package/lib/commands/create/creators/app/chisel-starter-theme/404.php +2 -2
  7. package/lib/commands/create/creators/app/chisel-starter-theme/README.md +37 -1
  8. package/lib/commands/create/creators/app/chisel-starter-theme/acf-json/group_6772609e3c28c.json +83 -0
  9. package/lib/commands/create/creators/app/chisel-starter-theme/acf-json/group_6772615562fb4.json +49 -0
  10. package/lib/commands/create/creators/app/chisel-starter-theme/archive.php +2 -4
  11. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/block.json +31 -0
  12. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/edit.js +35 -0
  13. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/editor.scss +3 -0
  14. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/index.js +45 -0
  15. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/save.js +20 -0
  16. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/script.js +7 -0
  17. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/style.scss +3 -0
  18. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/view.js +7 -0
  19. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example/view.scss +3 -0
  20. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/block.json +32 -0
  21. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/edit.js +33 -0
  22. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/editor.scss +3 -0
  23. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/index.js +45 -0
  24. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/render.php +12 -0
  25. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/render.twig +5 -0
  26. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/save.js +6 -0
  27. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/script.js +7 -0
  28. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/style.scss +3 -0
  29. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/view.js +7 -0
  30. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks/example-server-side/view.scss +3 -0
  31. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/block.json +36 -0
  32. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/critical.scss +3 -0
  33. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/editor.scss +3 -0
  34. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/example.twig +3 -0
  35. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/index.js +7 -0
  36. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/init.php +0 -0
  37. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/script.js +8 -0
  38. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/style.scss +3 -0
  39. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/view.js +7 -0
  40. package/lib/commands/create/creators/app/chisel-starter-theme/assets/example-blocks/blocks-acf/example/view.scss +3 -0
  41. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/arrow-left.svg +3 -0
  42. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/arrow-right.svg +3 -0
  43. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/chisel-icon.svg +1 -0
  44. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/chisel-logo.svg +1 -0
  45. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/close-line.svg +1 -0
  46. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/chisel-icon.svg +1 -0
  47. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/chisel-logo.svg +1 -0
  48. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/facebook-logo.svg +10 -0
  49. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/color/instagram-logo.svg +14 -0
  50. package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons-source/x-logo.svg +1 -0
  51. package/lib/commands/create/creators/app/chisel-starter-theme/author.php +3 -4
  52. package/lib/commands/create/creators/app/chisel-starter-theme/composer.json +3 -0
  53. package/lib/commands/create/creators/app/chisel-starter-theme/footer.php +2 -2
  54. package/lib/commands/create/creators/app/chisel-starter-theme/functions.php +18 -24
  55. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterAcfOptionsPage.php +62 -0
  56. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Factory}/RegisterBlocks.php +53 -22
  57. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterCustomPostType.php +211 -0
  58. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Factory/RegisterCustomTaxonomy.php +174 -0
  59. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AcfHelpers.php +46 -0
  60. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AjaxHelpers.php +33 -0
  61. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/AssetsHelpers.php +28 -0
  62. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/BlocksHelpers.php +118 -0
  63. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/CacheHelpers.php +41 -0
  64. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/CommentsHelpers.php +26 -0
  65. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/DataHelpers.php +35 -0
  66. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/GravityFormsHelpers.php +65 -0
  67. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/ImageHelpers.php +102 -0
  68. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/Helpers.php → inc/Helper/ThemeHelpers.php} +53 -93
  69. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/WoocommerceHelpers.php +72 -0
  70. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Helper/YoastHelpers.php +37 -0
  71. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/interfaces/Instance.php → inc/Interfaces/HooksInterface.php} +3 -8
  72. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Interfaces/InstanceInterface.php +16 -0
  73. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Module}/AcfSync.php +13 -20
  74. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Module}/Ajax.php +16 -41
  75. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Plugin}/GravityForms.php +15 -72
  76. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/Plugin}/Woocommerce.php +26 -80
  77. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Plugin/Yoast.php +46 -0
  78. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Traits/PageBlocks.php +92 -0
  79. package/lib/commands/create/creators/app/chisel-starter-theme/inc/Traits/Singleton.php +23 -0
  80. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/Acf.php +118 -0
  81. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/AcfBlocks.php +62 -61
  82. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/AjaxEnpoints.php +6 -6
  83. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Assets.php +258 -119
  84. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Blocks.php +69 -55
  85. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/Cache.php +103 -0
  86. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedImage.php → inc/WP/ChiselImage.php} +2 -2
  87. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedPost.php → inc/WP/ChiselPost.php} +4 -10
  88. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedProduct.php → inc/WP/ChiselProduct.php} +4 -3
  89. package/lib/commands/create/creators/app/chisel-starter-theme/{classes/ExtendedTerm.php → inc/WP/ChiselTerm.php} +2 -2
  90. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Comments.php +10 -32
  91. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Components.php +61 -36
  92. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/CustomPostTypes.php +124 -0
  93. package/lib/commands/create/creators/app/chisel-starter-theme/inc/WP/CustomTaxonomies.php +129 -0
  94. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Sidebars.php +11 -17
  95. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Site.php +15 -21
  96. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Theme.php +22 -15
  97. package/lib/commands/create/creators/app/chisel-starter-theme/{classes → inc/WP}/Twig.php +34 -21
  98. package/lib/commands/create/creators/app/chisel-starter-theme/index.php +2 -3
  99. package/lib/commands/create/creators/app/chisel-starter-theme/package.chisel-tpl.json +5 -1
  100. package/lib/commands/create/creators/app/chisel-starter-theme/page.php +3 -3
  101. package/lib/commands/create/creators/app/chisel-starter-theme/phpcs.xml +5 -2
  102. package/lib/commands/create/creators/app/chisel-starter-theme/search.php +3 -4
  103. package/lib/commands/create/creators/app/chisel-starter-theme/single.php +3 -3
  104. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks/accordion/accordion-item.js +2 -2
  105. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks/accordion/style.scss +12 -5
  106. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/acf-json/group_66462c70b851f.json +107 -105
  107. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/block.json +1 -1
  108. package/lib/commands/create/creators/app/chisel-starter-theme/src/blocks-acf/slider/slider.twig +4 -2
  109. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/settings/_index.scss +2 -1
  110. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_buttons.scss +1 -1
  111. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_icon.scss +39 -7
  112. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_index.scss +1 -0
  113. package/lib/commands/create/creators/app/chisel-starter-theme/src/design/tools/_layout.scss +11 -0
  114. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/admin/acf.js +65 -1
  115. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/app.js +2 -0
  116. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/blocks.js +10 -4
  117. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/mods/blocks-alignment.js +2 -2
  118. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/mods/core-button.js +18 -14
  119. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/editor/utils.js +0 -12
  120. package/lib/commands/create/creators/app/chisel-starter-theme/src/scripts/modules/loaded.js +7 -0
  121. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/admin.scss +2 -0
  122. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/blocks/_core-button.scss +14 -13
  123. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_buttons.scss +14 -13
  124. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_icons-preview.scss +97 -0
  125. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_main-nav.scss +19 -9
  126. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_posts-items.scss +6 -0
  127. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/objects/_icon.scss +51 -0
  128. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/objects/_layout.scss +0 -13
  129. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/wp-admin/_acf.scss +29 -0
  130. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/wp-admin/_index.scss +4 -0
  131. package/lib/commands/create/creators/app/chisel-starter-theme/style.chisel-tpl.css +1 -1
  132. package/lib/commands/create/creators/app/chisel-starter-theme/views/base.twig +1 -1
  133. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/header.twig +1 -1
  134. package/lib/commands/create/creators/app/chisel-starter-theme/views/{partials → components}/logo.twig +2 -2
  135. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/main-nav-item.twig +2 -1
  136. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/main-nav.twig +5 -2
  137. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/pagination.twig +70 -0
  138. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/post-item.twig +1 -1
  139. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/slider.twig +2 -2
  140. package/lib/commands/create/creators/app/chisel-starter-theme/views/{partials → components}/the-title.twig +1 -1
  141. package/lib/commands/create/creators/app/chisel-starter-theme/views/index.twig +10 -5
  142. package/lib/commands/create/creators/app/chisel-starter-theme/views/objects/icon.twig +37 -0
  143. package/lib/commands/create/creators/app/chisel-starter-theme/views/partials/icons-preview.twig +81 -0
  144. package/lib/commands/create/creators/app/chisel-starter-theme/views/sidebar-blog.twig +1 -1
  145. package/lib/commands/create/creators/app/chisel-starter-theme/views/sidebar-woocommerce.twig +1 -1
  146. package/lib/commands/create/creators/app/chisel-starter-theme/views/single.twig +2 -2
  147. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/archive-product.twig +2 -2
  148. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/linked-products.twig +2 -2
  149. package/lib/commands/create/creators/app/chisel-starter-theme/views/woocommerce/single-product.twig +4 -4
  150. package/lib/commands/create/creators/app/chisel-starter-theme/woocommerce.php +6 -6
  151. package/lib/commands/create/creators/app/index.js +74 -20
  152. package/lib/commands/create/creators/app/template/.devcontainer/Dockerfile +21 -0
  153. package/lib/commands/create/creators/app/template/.devcontainer/compose.chisel-tpl +3 -0
  154. package/lib/commands/create/creators/app/template/.devcontainer/devcontainer.json.chisel-tpl +31 -0
  155. package/lib/commands/create/creators/app/template/.devcontainer/docker-compose.yml.chisel-tpl +40 -0
  156. package/lib/commands/create/creators/app/template/.devcontainer/exec +8 -0
  157. package/lib/commands/create/creators/app/template/.devcontainer/post-create-command.sh.chisel-tpl +24 -0
  158. package/lib/commands/create/creators/devcontainer.js +62 -0
  159. package/lib/commands/create/creators/utils.js +58 -0
  160. package/lib/commands/create/creators/wp/index.js +24 -3
  161. package/lib/commands/create/creators/wp-plugins/plugins.json +1 -1
  162. package/lib/commands/create/index.js +9 -2
  163. package/lib/commands/create/packages-versions.js +3 -3
  164. package/package.json +3 -3
  165. package/lib/commands/create/creators/app/chisel-starter-theme/classes/Acf.php +0 -188
  166. package/lib/commands/create/creators/app/chisel-starter-theme/classes/ChiselCache.php +0 -87
  167. package/lib/commands/create/creators/app/chisel-starter-theme/classes/CustomPostTypes.php +0 -444
  168. package/lib/commands/create/creators/app/chisel-starter-theme/classes/Yoast.php +0 -78
  169. package/lib/commands/create/creators/app/chisel-starter-theme/src/styles/components/_icon.scss +0 -19
  170. package/lib/commands/create/creators/app/chisel-starter-theme/views/components/icon.twig +0 -1
  171. package/lib/commands/create/creators/app/chisel-starter-theme/views/partials/pagination.twig +0 -70
  172. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/icons/{loader.svg → animated/loader.svg} +0 -0
  173. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/{icons → icons-source}/minus.svg +0 -0
  174. /package/lib/commands/create/creators/app/chisel-starter-theme/assets/{icons → icons-source}/plus.svg +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,63 @@
2
2
 
3
3
  <!-- INSERT-NEW-ENTRIES-HERE -->
4
4
 
5
+ ## 2.0.0 (2025-04-07)
6
+
7
+ - Update chisel version and readme ([0aca167](https://github.com/xfiveco/generator-chisel/commit/0aca167))
8
+
9
+ ## 2.0.0-alpha.18 (2025-03-18)
10
+
11
+ - fix Interfaces and Traits namespaces in php < 8, add nvmrc to root folder ([cb60f42](https://github.com/xfiveco/generator-chisel/commit/cb60f42))
12
+ - update readme ([204adbe](https://github.com/xfiveco/generator-chisel/commit/204adbe))
13
+
14
+ ## 2.0.0-alpha.17 (2025-03-17)
15
+
16
+ - add ajax nonce, chisel readme and GF fix ([4738035](https://github.com/xfiveco/generator-chisel/commit/4738035))
17
+ - Publish ([8e3e3d2](https://github.com/xfiveco/generator-chisel/commit/8e3e3d2))
18
+
19
+ ## 2.0.0-alpha.16 (2025-02-04)
20
+
21
+ - blocks, scripts, images optimize, mega menu settings ([d8a8b3c](https://github.com/xfiveco/generator-chisel/commit/d8a8b3c))
22
+
23
+ ## 2.0.0-alpha.15 (2024-12-06)
24
+
25
+ - icons add color param and improve caching keys ([9619163](https://github.com/xfiveco/generator-chisel/commit/9619163))
26
+ - integrate icons feature, get_icon twig function with cache ([3612fe9](https://github.com/xfiveco/generator-chisel/commit/3612fe9))
27
+ - Merge branch 'v2-feature-icons-improved' of github.com:xfiveco/generator-chisel into v2-feature-icon ([cc45f09](https://github.com/xfiveco/generator-chisel/commit/cc45f09))
28
+ - feature: added missing files for icons ([772d4c4](https://github.com/xfiveco/generator-chisel/commit/772d4c4))
29
+ - feature: icons - improved icon.twig, updated examples preview, styles adjustments ([7b31431](https://github.com/xfiveco/generator-chisel/commit/7b31431))
30
+ - refactor: icons.mjs - updated preview generation ([16f7792](https://github.com/xfiveco/generator-chisel/commit/16f7792))
31
+ - fix: added missing files ([fd93bac](https://github.com/xfiveco/generator-chisel/commit/fd93bac))
32
+
33
+ ## 2.0.0-alpha.14 (2024-12-04)
34
+
35
+ - adjust base version logic, remove compose version ([69f340e](https://github.com/xfiveco/generator-chisel/commit/69f340e))
36
+ - run git hooks in devcontainer if .use-devcontainer is present ([d4fc782](https://github.com/xfiveco/generator-chisel/commit/d4fc782))
37
+ - theme refactor, example blocks, bugs fixes ([96bf7ce](https://github.com/xfiveco/generator-chisel/commit/96bf7ce))
38
+
39
+ ## 2.0.0-alpha.13 (2024-11-12)
40
+
41
+ - Adjust command ([c1b4471](https://github.com/xfiveco/generator-chisel/commit/c1b4471))
42
+
43
+ ## 2.0.0-alpha.12 (2024-11-12)
44
+
45
+ - Try adjusting commands ([1c322a0](https://github.com/xfiveco/generator-chisel/commit/1c322a0))
46
+
47
+ ## 2.0.0-alpha.11 (2024-11-12)
48
+
49
+ - V2: Add Devcontainers (#538) ([b878421](https://github.com/xfiveco/generator-chisel/commit/b878421)), closes [#538](https://github.com/xfiveco/generator-chisel/issues/538)
50
+ - composer, wp-config, plugins list updates ([642f983](https://github.com/xfiveco/generator-chisel/commit/642f983))
51
+
52
+ ## 2.0.0-alpha.10 (2024-10-31)
53
+
54
+ - add assets index ([fed4fd3](https://github.com/xfiveco/generator-chisel/commit/fed4fd3))
55
+ - CPTs, assets, blocks changes and fixes ([0014d9b](https://github.com/xfiveco/generator-chisel/commit/0014d9b))
56
+ - ignore assets index ([b951521](https://github.com/xfiveco/generator-chisel/commit/b951521))
57
+
58
+ ## 2.0.0-alpha.9 (2024-10-18)
59
+
60
+ - fixes, adjustments, optimize ([f73f855](https://github.com/xfiveco/generator-chisel/commit/f73f855))
61
+
5
62
  ## 2.0.0-alpha.8 (2024-10-07)
6
63
 
7
64
  - fixes ([4cdc3e1](https://github.com/xfiveco/generator-chisel/commit/4cdc3e1))
package/bin/chisel.js CHANGED
@@ -19,6 +19,12 @@ const createProgram = () => {
19
19
  '--link',
20
20
  'link Chisel packages (yarn link) in created project (for development)',
21
21
  )
22
+ .option('--devcontainer', 'create devcontainer', false)
23
+ .option(
24
+ '--devcontainer-complete <details>',
25
+ 'complete creation inside devcontainer',
26
+ false
27
+ )
22
28
  .action((...args) => {
23
29
  const cmd = args.slice(-1)[0];
24
30
  args = args.slice(0, -1);
@@ -15,6 +15,12 @@ module.exports = class Creator {
15
15
  this.args = opts.args;
16
16
  this.cmd = opts.cmd;
17
17
  this.index = 0;
18
+
19
+ if (this.cmd.devcontainerComplete) {
20
+ this.data.devcontainerComplete = JSON.parse(
21
+ Buffer.from(this.cmd.devcontainerComplete, 'base64').toString(),
22
+ );
23
+ }
18
24
  }
19
25
 
20
26
  schedule(priority, action) {
@@ -1,4 +1,5 @@
1
1
  /build
2
2
  /vendor
3
- package-lock.json
4
- composer.lock
3
+ /node_modules
4
+ /assets/hashes.php
5
+ /.use-devcontainer
@@ -1 +1 @@
1
- 20
1
+ 20.12.2
@@ -5,7 +5,7 @@
5
5
  * @package Chisel
6
6
  */
7
7
 
8
- use Chisel\ChiselCache;
8
+ use Chisel\Helper\CacheHelpers;
9
9
  use Timber\Timber;
10
10
 
11
11
  $context = Timber::context();
@@ -13,4 +13,4 @@ $context = Timber::context();
13
13
  $context['post']['ID'] = 'error-404';
14
14
  $context['post']['class'] = 'is-404';
15
15
 
16
- Timber::render( '404.twig', $context, ChiselCache::expiry() );
16
+ Timber::render( '404.twig', $context, CacheHelpers::expiry() );
@@ -1,3 +1,39 @@
1
- # Chisel WP Theme
1
+ # Chisel Wordpress Theme
2
2
 
3
3
  ## Wordpress Starter Theme based on Timber library
4
+
5
+ Chisel is a Wordpress Starter Theme powered by Timber library that helps to seprate the logic from view by using Twig engine to render html content. It also simplifies the code, makes it more readable and speeds up development.
6
+
7
+ ## Installation
8
+
9
+ Use node version `20.12.2`
10
+
11
+ Chisel is installed as a npm package using npx command: `npx generator-chisel`, which installs the whole projet for you including composer and node dependencies, however when you join the project and clone the repository, follow these steps to start the local developent:
12
+
13
+ 1. Go to the theme folder
14
+ 2. Run `composer install`
15
+ 3. Run `npm install`
16
+ 4. Run `npm run wp-config`
17
+
18
+ After creating the wp-config-local.php file make sure you have these lines in the file:
19
+
20
+ ```php
21
+ define( 'WP_DEBUG', true );
22
+ define( 'WP_DEBUG_LOG', true );
23
+ define( 'WP_DEBUG_DISPLAY', false );
24
+
25
+ // Required for the theme fast refresh mode.
26
+ define( 'SCRIPT_DEBUG', true );
27
+ define( 'WP_ENVIRONMENT_TYPE', 'development' );
28
+ ```
29
+
30
+ 5. Run `npm run build`
31
+
32
+ The local url for the new project should be `project-name.test`
33
+
34
+ 6. Run `npm run dev` to start local development. The url for local development is the same with "fast refresh" mode enabled for CSS and JavaScript.
35
+
36
+ ## Known issues
37
+
38
+ 1. Browser keeps refreshing after starting the dev mode - *Open dev tools (Chrome) Network tab, select "Disable cache" checkbox and refresh the browser*.
39
+ 2. Css does not refresh after modifying the styles - *Same as #1*
@@ -0,0 +1,83 @@
1
+ {
2
+ "key": "group_6772609e3c28c",
3
+ "title": "Mega Menu",
4
+ "fields": [
5
+ {
6
+ "key": "field_6772609e2dd03",
7
+ "label": "Enable Mega Menu",
8
+ "name": "mega_menu_enable",
9
+ "aria-label": "",
10
+ "type": "button_group",
11
+ "instructions": "",
12
+ "required": 0,
13
+ "conditional_logic": 0,
14
+ "wrapper": {
15
+ "width": "",
16
+ "class": "",
17
+ "id": ""
18
+ },
19
+ "choices": {
20
+ "yes": "Yes",
21
+ "no": "No"
22
+ },
23
+ "default_value": "no",
24
+ "return_format": "value",
25
+ "allow_null": 0,
26
+ "allow_in_bindings": 0,
27
+ "layout": "horizontal"
28
+ },
29
+ {
30
+ "key": "field_677260eefd533",
31
+ "label": "Number of Columns",
32
+ "name": "mega_menu_columns",
33
+ "aria-label": "",
34
+ "type": "button_group",
35
+ "instructions": "",
36
+ "required": 0,
37
+ "conditional_logic": [
38
+ [
39
+ {
40
+ "field": "field_6772609e2dd03",
41
+ "operator": "==",
42
+ "value": "yes"
43
+ }
44
+ ]
45
+ ],
46
+ "wrapper": {
47
+ "width": "",
48
+ "class": "",
49
+ "id": ""
50
+ },
51
+ "choices": {
52
+ "1": "1",
53
+ "2": "2",
54
+ "3": "3",
55
+ "4": "4"
56
+ },
57
+ "default_value": 3,
58
+ "return_format": "value",
59
+ "allow_null": 0,
60
+ "allow_in_bindings": 1,
61
+ "layout": "horizontal"
62
+ }
63
+ ],
64
+ "location": [
65
+ [
66
+ {
67
+ "param": "nav_menu",
68
+ "operator": "==",
69
+ "value": "location\/chisel_main_nav"
70
+ }
71
+ ]
72
+ ],
73
+ "menu_order": 0,
74
+ "position": "normal",
75
+ "style": "default",
76
+ "label_placement": "top",
77
+ "instruction_placement": "label",
78
+ "hide_on_screen": "",
79
+ "active": true,
80
+ "description": "",
81
+ "show_in_rest": 0,
82
+ "modified": 1735549249
83
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "key": "group_6772615562fb4",
3
+ "title": "Mega Menu - Submenu",
4
+ "fields": [
5
+ {
6
+ "key": "field_67726155705fb",
7
+ "label": "Switch to default submenu",
8
+ "name": "mega_menu_default_dropdown",
9
+ "aria-label": "",
10
+ "type": "button_group",
11
+ "instructions": "",
12
+ "required": 0,
13
+ "conditional_logic": 0,
14
+ "wrapper": {
15
+ "width": "",
16
+ "class": "",
17
+ "id": ""
18
+ },
19
+ "choices": {
20
+ "yes": "Yes",
21
+ "no": "No"
22
+ },
23
+ "default_value": "no",
24
+ "return_format": "value",
25
+ "allow_null": 0,
26
+ "allow_in_bindings": 0,
27
+ "layout": "horizontal"
28
+ }
29
+ ],
30
+ "location": [
31
+ [
32
+ {
33
+ "param": "nav_menu_item",
34
+ "operator": "==",
35
+ "value": "location\/chisel_main_nav"
36
+ }
37
+ ]
38
+ ],
39
+ "menu_order": 0,
40
+ "position": "normal",
41
+ "style": "default",
42
+ "label_placement": "top",
43
+ "instruction_placement": "label",
44
+ "hide_on_screen": "",
45
+ "active": true,
46
+ "description": "",
47
+ "show_in_rest": 0,
48
+ "modified": 1735549736
49
+ }
@@ -5,7 +5,7 @@
5
5
  * @package Chisel
6
6
  */
7
7
 
8
- use Chisel\ChiselCache;
8
+ use Chisel\Helper\CacheHelpers;
9
9
  use Timber\Timber;
10
10
 
11
11
  $templates = array( 'archive.twig', 'index.twig' );
@@ -22,6 +22,4 @@ if ( is_tag() ) {
22
22
  array_unshift( $templates, 'archive-' . get_queried_object()->taxonomy . '.twig' );
23
23
  }
24
24
 
25
- $context['posts'] = Timber::get_posts();
26
-
27
- Timber::render( $templates, $context, ChiselCache::expiry() );
25
+ Timber::render( $templates, $context, CacheHelpers::expiry() );
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "chisel/example-block",
3
+ "title": "example-block",
4
+ "description": "Example Block - This file contains the block settings. There is one custom setting, called ignoreScript, which should be used in cases when you use the script only to import scss - adding the script key to the ignoreScripts array will prevent the script from being loaded. The style array contains two values, because if the style.scss is imprted into both script.js and index.js two files will be built. All scripts and styles values may be arrays or strings.",
5
+ "category": "chisel-blocks",
6
+ "icon": "carrot",
7
+ "apiVersion": 3,
8
+ "keywords": ["example", "block"],
9
+ "textdomain": "chisel",
10
+ "styles": [
11
+ { "name": "default", "label": "Default", "isDefault": true },
12
+ { "name": "other", "label": "Other" }
13
+ ],
14
+ "supports": {
15
+ "anchor": true,
16
+ "align": false,
17
+ "alignWide": false,
18
+ "alignContent": false,
19
+ "className": true,
20
+ "customClassName": true,
21
+ "multiple": true,
22
+ "reusable": true
23
+ },
24
+ "ignoreScripts": ["script"],
25
+ "editorScript": "file:./index.js",
26
+ "editorStyle": "file:./index.css",
27
+ "style": ["file:./style-index.css", "file:./style-script.css"],
28
+ "script": "file:./script.js",
29
+ "viewScript": "file:./view.js",
30
+ "viewStyle": "file:./view.css"
31
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Retrieves the translation of text.
3
+ *
4
+ * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/
5
+ */
6
+ import { __ } from '@wordpress/i18n';
7
+
8
+ /**
9
+ * React hook that is used to mark the block wrapper element.
10
+ * It provides all the necessary props like the class name.
11
+ *
12
+ * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
13
+ */
14
+ import { useBlockProps } from '@wordpress/block-editor';
15
+
16
+ /**
17
+ * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.
18
+ * Those files can contain any CSS code that gets applied to the editor.
19
+ *
20
+ * @see https://www.npmjs.com/package/@wordpress/scripts#using-css
21
+ */
22
+ import './editor.scss';
23
+
24
+ /**
25
+ * The edit function describes the structure of your block in the context of the
26
+ * editor. This represents what the editor will render when the block is used.
27
+ *
28
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#edit
29
+ *
30
+ * @return {Element} Element to render.
31
+ */
32
+ // eslint-disable-next-line no-unused-vars
33
+ export default function Edit(props) {
34
+ return <div {...useBlockProps()}>{__('This is an example block.', 'chisel')}</div>;
35
+ }
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid green;
3
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * This file is loaded in the editor only.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ /**
8
+ * Registers a new block provided a unique name and an object defining its behavior.
9
+ *
10
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
11
+ */
12
+ import { registerBlockType } from '@wordpress/blocks';
13
+
14
+ /**
15
+ * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.
16
+ * All files containing `style` keyword are bundled together. The code used
17
+ * gets applied both to the front of your site and to the editor.
18
+ *
19
+ * @see https://www.npmjs.com/package/@wordpress/scripts#using-css
20
+ */
21
+ import './style.scss';
22
+
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+ import Edit from './edit';
27
+ import save from './save';
28
+ import metadata from './block.json';
29
+
30
+ /**
31
+ * Every block starts by registering a new block type definition.
32
+ *
33
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
34
+ */
35
+ registerBlockType(metadata.name, {
36
+ /**
37
+ * @see ./edit.js
38
+ */
39
+ edit: Edit,
40
+
41
+ /**
42
+ * @see ./save.js
43
+ */
44
+ save,
45
+ });
@@ -0,0 +1,20 @@
1
+ /**
2
+ * React hook that is used to mark the block wrapper element.
3
+ * It provides all the necessary props like the class name.
4
+ *
5
+ * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
6
+ */
7
+ import { useBlockProps } from '@wordpress/block-editor';
8
+
9
+ /**
10
+ * The save function defines the way in which the different attributes should
11
+ * be combined into the final markup, which is then serialized by the block
12
+ * editor into `post_content`.
13
+ *
14
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#save
15
+ *
16
+ * @return {Element} Element to render.
17
+ */
18
+ export default function save() {
19
+ return <p {...useBlockProps.save()}>{'Example Block – hello from the saved content!'}</p>;
20
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file is loaded in the editor and frontend.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ import './style.scss';
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid blue;
3
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file is loaded in frontend only.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ import './view.scss';
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid green;
3
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "chisel/example-server-side-block",
3
+ "title": "example-server-side-block",
4
+ "description": "Example Block - This file contains the block settings. There is one custom setting, called ignoreScript, which should be used in cases when you use the script only to import scss - adding the script key to the ignoreScripts array will prevent the script from being loaded. The style array contains two values, because if the style.scss is imprted into both script.js and index.js two files will be built. All scripts and styles values may be arrays or strings. In order to render the block on the server side add render setting with the render.php file name and use ServerSideRender component in edit.js file.",
5
+ "category": "chisel-blocks",
6
+ "icon": "carrot",
7
+ "apiVersion": 3,
8
+ "keywords": ["example", "block"],
9
+ "textdomain": "chisel",
10
+ "styles": [
11
+ { "name": "default", "label": "Default", "isDefault": true },
12
+ { "name": "other", "label": "Other" }
13
+ ],
14
+ "supports": {
15
+ "anchor": true,
16
+ "align": false,
17
+ "alignWide": false,
18
+ "alignContent": false,
19
+ "className": true,
20
+ "customClassName": true,
21
+ "multiple": true,
22
+ "reusable": true
23
+ },
24
+ "ignoreScripts": ["script"],
25
+ "editorScript": "file:./index.js",
26
+ "editorStyle": "file:./index.css",
27
+ "style": ["file:./style-index.css", "file:./style-script.css"],
28
+ "script": "file:./script.js",
29
+ "viewScript": "file:./view.js",
30
+ "viewStyle": "file:./view.css",
31
+ "render": "file:./render.php"
32
+ }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * React hook that is used to mark the block wrapper element.
3
+ * It provides all the necessary props like the class name.
4
+ *
5
+ * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops
6
+ */
7
+ import { useBlockProps } from '@wordpress/block-editor';
8
+ import ServerSideRender from '@wordpress/server-side-render';
9
+
10
+ /**
11
+ * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.
12
+ * Those files can contain any CSS code that gets applied to the editor.
13
+ *
14
+ * @see https://www.npmjs.com/package/@wordpress/scripts#using-css
15
+ */
16
+ import './editor.scss';
17
+
18
+ /**
19
+ * The edit function describes the structure of your block in the context of the
20
+ * editor. This represents what the editor will render when the block is used.
21
+ *
22
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#edit
23
+ *
24
+ * @return {Element} Element to render.
25
+ */
26
+ // eslint-disable-next-line no-unused-vars
27
+ export default function Edit(props) {
28
+ return (
29
+ <div {...useBlockProps()}>
30
+ <ServerSideRender block="chisel/example-server-side-block" />
31
+ </div>
32
+ );
33
+ }
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid green;
3
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * This file is loaded in the editor only.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ /**
8
+ * Registers a new block provided a unique name and an object defining its behavior.
9
+ *
10
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
11
+ */
12
+ import { registerBlockType } from '@wordpress/blocks';
13
+
14
+ /**
15
+ * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.
16
+ * All files containing `style` keyword are bundled together. The code used
17
+ * gets applied both to the front of your site and to the editor.
18
+ *
19
+ * @see https://www.npmjs.com/package/@wordpress/scripts#using-css
20
+ */
21
+ import './style.scss';
22
+
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+ import Edit from './edit';
27
+ import save from './save';
28
+ import metadata from './block.json';
29
+
30
+ /**
31
+ * Every block starts by registering a new block type definition.
32
+ *
33
+ * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
34
+ */
35
+ registerBlockType(metadata.name, {
36
+ /**
37
+ * @see ./edit.js
38
+ */
39
+ edit: Edit,
40
+
41
+ /**
42
+ * @see ./save.js
43
+ */
44
+ save,
45
+ });
@@ -0,0 +1,12 @@
1
+ <?php
2
+
3
+ use Chisel\Blocks;
4
+
5
+ $context = array(
6
+ 'wrapper_attributes' => get_block_wrapper_attributes(),
7
+ 'attributes' => $attributes,
8
+ 'content' => $content,
9
+ 'block' => $block,
10
+ );
11
+
12
+ Blocks::render_twig_file( $block->name, $context );
@@ -0,0 +1,6 @@
1
+ /**
2
+ * For server side rendering we do not need to save anything, so we return null.
3
+ */
4
+ export default function save() {
5
+ return null;
6
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file is loaded in the editor and frontend.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ import './style.scss';
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid blue;
3
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file is loaded in frontend only.
3
+ *
4
+ * You must import the scss file in order for css file to be built in the build folder.
5
+ */
6
+
7
+ import './view.scss';
@@ -0,0 +1,3 @@
1
+ .wp-chisel-example-block {
2
+ border: 1px solid green;
3
+ }