Compare commits

...

749 Commits

Author SHA1 Message Date
e502939f5f acf stylised icon select for solid and regular sets 2026-02-12 19:40:00 +00:00
08efd219c5 new spacing vars and framework classes 2026-02-12 16:32:35 +00:00
7c759213df minor typography changes 2026-02-11 22:39:54 +00:00
94328feaa0 scss: replace @use with @forward 2026-02-11 20:46:12 +00:00
2a0a96da84 app.scss: @use header and footer from views directory 2026-02-11 16:42:49 +00:00
9e368e75c9 article block: resolve parent/inner focus toggle issue 2026-02-11 15:49:44 +00:00
f72a2faec6 set image block width and height based on selected size, not the lazy size 2026-02-11 15:49:13 +00:00
266d757615 css colour classes: conditions for selection colours on white and black backgrounds 2026-02-11 12:41:36 +00:00
10d66ae8ee components.socials: fix variable typo 2026-02-10 16:43:48 +00:00
4967bc280c conditional socials 2026-02-10 15:51:11 +00:00
9846663b9c favicon title var 2026-02-10 15:43:03 +00:00
899bbd6129 update fontawesome integration and add kit support 2026-02-10 15:22:19 +00:00
da7f917af0 handle empty content error in core/image block 2026-02-10 13:40:24 +00:00
b1f960e182 composer update 2026-02-10 13:17:38 +00:00
21fc4ebb39 supporess acf load error 2026-02-10 11:43:44 +00:00
94d96b6526 add favicon support 2026-02-10 11:43:27 +00:00
0e24bfc8c5 add simple lightbox 2026-02-06 21:42:37 +00:00
5631760ea2 remove unused line 2026-02-06 16:36:11 +00:00
a8141c8624 remove commented out lines 2026-02-05 20:46:07 +00:00
82951123c9 core/image: only output <figure> rather than complete html document 2026-02-05 20:45:54 +00:00
0be38f4a71 add article block editor style overrides 2026-02-05 14:34:54 +00:00
7b96dedde3 wp core image block: parse html and add lightbox link 2026-02-05 14:34:36 +00:00
fccfad2c55 article block: more core block styles 2026-02-05 11:59:32 +00:00
9deb4a8f73 article block: organise styles by core block 2026-02-04 13:55:13 +00:00
a0ff9876db base article block styles 2026-02-03 22:54:29 +00:00
88a742fc27 app/blocks: comments for filters and actions 2026-02-03 17:18:39 +00:00
3e146218c4 add condition for disabling lazy background image 2026-02-03 13:03:02 +00:00
f17a84026c fix background condition in block classname js function 2026-02-03 13:01:17 +00:00
31158d734a block settings: toggle for text contrast and fix colour/tint 2026-02-03 13:00:27 +00:00
513c9c90a5 remove core block styles from wordpress block editor 2026-02-03 12:59:28 +00:00
6db11b741a remove wysiwyg class from article block wrapper 2026-02-03 12:58:46 +00:00
8e88d7e519 fix indent 2026-02-03 12:57:39 +00:00
926666dc65 remove inline css output from core wp blocks 2026-02-03 12:54:19 +00:00
21586e9525 composer update and add hard-boiled-security from wpackagist 2026-02-03 12:28:00 +00:00
d498831137 expose new image sizes to javascript and properly get specified image sizes in react 2026-01-05 17:23:59 +00:00
3103005a10 BackgroundImage component: support specific image sizes and lazy loading 2026-01-05 14:49:33 +00:00
b87e16d235 add lazy background image 2026-01-05 13:39:42 +00:00
526f6f937a add hero image size 2026-01-05 13:39:24 +00:00
f6e92bc49d add block READMEs 2026-01-04 18:03:17 +00:00
bcb370af84 add placeholder markup to example block editor file 2026-01-04 18:02:58 +00:00
f0b422d111 add placeholder js to example block 2026-01-04 18:02:36 +00:00
4a212e4531 remove unused styles and scripts from article block 2026-01-04 18:01:53 +00:00
46109b7bc6 remove unused js function 2026-01-04 18:01:18 +00:00
d3f0b9300b acf footer block can have buttons or blurb 2026-01-04 18:00:37 +00:00
2c4934fd3c add some placeholder markup to dynamic example block 2026-01-04 18:00:05 +00:00
254087d5df article block : add wysiwyg class to container 2026-01-04 17:59:40 +00:00
79fef2a135 background tint no longer requires background image 2026-01-04 17:59:01 +00:00
52d1901477 allow extra classes in className js function 2026-01-04 17:57:51 +00:00
e0e01911d3 use json lists in editor.js 2026-01-04 17:57:20 +00:00
e78681ef14 adjust framework css 2026-01-04 17:56:40 +00:00
60d2322994 acf blocks: adjust padding and contrast controls 2026-01-04 17:55:34 +00:00
2ca06917ff most block lists to json files 2026-01-04 17:54:46 +00:00
4fa387dbe9 adjust colour php functions 2026-01-04 17:53:45 +00:00
886a57931e add ajax thumbnail rebuild to dev 2026-01-04 14:55:22 +00:00
21227ab24c article block front end rendering 2026-01-03 13:33:13 +00:00
494a2697a6 package-lock.json 2026-01-03 10:32:26 +00:00
3a2cfa255a basic article block backend working 2026-01-03 10:31:24 +00:00
57d7dfd6a3 block background image settings 2026-01-02 20:21:33 +00:00
19e9795807 cleanup unused theme hook 2026-01-02 18:54:16 +00:00
efe4b91e8f block background colours and tint 2026-01-02 01:15:56 +00:00
6d4f040c45 add hard boiled security plugin 2026-01-01 21:56:56 +00:00
079a9b927b add css class name helper functions for blocks 2025-12-19 12:29:38 +00:00
94cc0750ce move restAPI class to utilities 2025-12-19 12:28:59 +00:00
3378469f2e fix editor styles after wp update 2025-12-19 12:28:25 +00:00
3de7686846 remove console.log from block js 2025-12-18 11:01:52 +00:00
38b596ec55 remove unused css 2025-12-18 11:00:43 +00:00
6444d246d5 setup endpoints class and add container widths for blocks 2025-12-18 10:59:25 +00:00
952b41890f integrating attributes 2025-12-18 10:57:50 +00:00
17ab6d6862 remove autoload_psr4 for old block approach 2025-12-18 10:54:43 +00:00
d969593bf7 tweak editor styles 2025-12-15 18:34:09 +00:00
1b4a512ee5 remove old style acf block 2025-12-15 18:24:46 +00:00
6196ec35bd use standard block.json method with ACF blocks 2025-12-15 18:10:06 +00:00
fc99788e23 composer update 2025-12-15 18:09:37 +00:00
fa0de9dbd1 auto-registering blocks in php and javascript with dynamic enqueuing of associated styles and scripts with support for scss and blade 2025-12-13 14:22:42 +00:00
2973a0ebdf cleanup allowed_blocks logic and add mechanism for disabling blade template for specific block 2025-12-12 13:12:37 +00:00
8f3da65237 a working react/php dynamic wordpress block example integrated with the Vite build process 2025-12-10 19:44:32 +00:00
9cedcee556 restrict core blocks to inner blocks of specified parent blocks. blocks blocks blocks 2025-12-09 22:40:44 +00:00
79f34023e1 stop loading blocks in main app.js 2025-12-09 22:11:20 +00:00
a18370a6f9 block whitelist json 2025-12-09 22:10:55 +00:00
1a73b05910 remove BadExample css 2025-12-09 22:10:35 +00:00
2584ebd25e remove old code 2025-12-09 22:09:49 +00:00
c14bb2f436 move Blocks.php stuff alongside top level includes 2025-12-09 22:07:50 +00:00
a20425c837 use json file for block whitelist 2025-12-09 22:06:47 +00:00
d52d7c8759 basic block styles within editor 2025-12-09 22:04:29 +00:00
9066f24cc6 remove blocks.js 2025-12-09 22:02:59 +00:00
fc225d14db tweak acf block settings 2025-12-09 22:02:24 +00:00
c09bfcbc1e add $wpblue var 2025-12-09 22:01:52 +00:00
6c2a0afed8 fix container width in blocks 2025-12-09 22:01:23 +00:00
bf737a805c update .editorconfig 2025-12-09 21:57:25 +00:00
fbe57b2c32 new text editor block that contains core blocks as inner blocks and prevents them from being used at top level 2025-11-27 07:14:31 +00:00
0e1f5d48e9 default content block that uses core inner blocks 2025-11-23 17:34:49 +00:00
6d6836ed62 update vite base path 2025-11-22 20:51:28 +00:00
76520e58d2 Add 'web/app/themes/badegg/' from commit '2b425fd2ea8083ef47852429a353e1afc4e93bf8'
git-subtree-dir: web/app/themes/badegg
git-subtree-mainline: 272b0f6525
git-subtree-split: 2b425fd2ea
2025-11-22 17:26:50 +00:00
272b0f6525 remove sage 10 2025-11-22 17:26:37 +00:00
07de9c14f0 brevo api key env 2025-11-22 17:21:36 +00:00
2b425fd2ea Merge pull request 'Upgrade to version 11.0.1' (#1) from v11.0.1 into main 2025-10-30 22:14:45 +00:00
5605b5f6c0 replace deprecated scss 2025-10-30 22:01:23 +00:00
b404580499 pull in v11.0.1 from upstream 2025-10-30 21:40:17 +00:00
efd2c32edf specify --cwd in yarnrc to run command from project root 2025-09-05 12:35:53 +01:00
15cb5e41db base styles now buildable 2025-09-04 23:03:37 +01:00
73a502012b add base styles and scripts 2025-09-04 22:41:59 +01:00
610f185807 wysiwyg block 2025-09-04 21:46:12 +01:00
945d685586 baseline functions 2025-09-04 16:06:34 +01:00
fa02de6495 plugin environment variables 2025-09-04 15:53:19 +01:00
c25b3ef553 remove tailwind 2025-09-04 15:52:20 +01:00
3d510a3cf4 add acf pro 2025-09-04 10:29:33 +01:00
b0e748d648 add autoload and hide default blocks 2025-09-04 10:21:40 +01:00
4ac7ca0e66 install dependencies 2025-09-03 21:08:16 +01:00
fbb402decd theme screenshot.png, install acorn, yarn build 2025-09-03 20:30:48 +01:00
Steve Ross
2c9614bb5f Merge pull request #2 from badegguk/theme
add sage theme
2025-09-03 20:18:58 +01:00
1a071f11ca add sage theme 2025-09-03 20:18:31 +01:00
Steve Ross
e0b6012b11 Merge pull request #1 from badegguk/docker
add docker local dev stuff
2025-09-03 19:30:19 +01:00
022589d6c9 add docker local dev stuff 2025-09-03 19:29:55 +01:00
88f784ba23 init commit 2025-09-03 19:03:14 +01:00
Brandon
5699f4f559 🔖 v11.0.1 2025-03-26 21:39:02 -05:00
Brandon
be765102ef 🎨 Simplify the default Composers (#3250) 2025-03-26 21:24:04 -05:00
Brandon
71622502b4 🔥 Remove unnecessary HMR client setup (#3241) 2025-03-26 21:21:13 -05:00
Brandon
84fd9c4012 🔥 Remove package-lock.json (#3251)
* 👷 Update workflow to not depend on package lock file
2025-03-26 21:08:22 -05:00
Johan van der Molen
7df0d47c08 🧑‍💻 Always import editor.css in block editor settings (#3248) 2025-03-26 20:57:56 -05:00
Brandon
2eec978ea9 🔧 Set a default layout content size (#3240) 2025-03-07 14:34:28 -06:00
Andréas Lundgren
1bdf4b1aa0 🎨 Remove unused use statement in setup.php (#3238) 2025-03-04 05:35:32 -06:00
Ben Word
4bcd4ba072 🔧 11.x-dev 2025-03-03 08:48:15 -05:00
Ben Word
88e92210ab 🔖 v11.0.0 2025-03-03 08:46:56 -05:00
Ben Word
18c94f71d1 🔧 Acorn v5 (#3235) 2025-03-03 08:45:46 -05:00
renovate[bot]
ac215a1299 ⬆️ Bump @roots/vite-plugin to ^1.0.2 (#3236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 08:45:30 -05:00
Joshua Fredrickson
a1a4b3a1ca Avoid missing folder error when running dev (#3224) 2025-02-27 13:48:43 -05:00
Ben Word
6513d44ace 🔧 WordPress 6.6+ required 2025-02-26 13:17:15 -05:00
Ben Word
f82aa1081b 🩹 static 2025-02-26 10:51:55 -05:00
Ben Word
7a103185f7 ⬆️ Bump deps 2025-02-26 10:49:06 -05:00
Ben Word
e872587e77 👷 Update labeler 2025-02-23 11:17:23 -05:00
Ben Word
741b8c879c Use @roots/vite-plugin (#3231)
Co-authored-by: Brandon <brandon@tendency.me>
2025-02-22 15:13:42 -05:00
Ben Word
598fb1a8ae 📝 Update README [ci skip] 2025-02-22 13:57:28 -05:00
Ben Word
ef302f7681 📝 Update README [ci skip] 2025-02-20 14:23:03 -05:00
Ben Word
c34168d30c ⬆️ Bump Pint 2025-02-12 09:20:23 -05:00
Ben Word
1b0baeef2a ⬆️ Upgrade npm deps 2025-02-12 09:18:51 -05:00
Ben Word
a3fffc9579 👷 Renovate: Move rangeStrategy to root config 2025-02-12 09:10:40 -05:00
Ben Word
724771ceee 👷 Renovate: Enable version bumps in package.json 2025-02-12 09:08:21 -05:00
renovate[bot]
02bbc2d8f4 Migrate config .github/renovate.json (#3227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-12 09:01:27 -05:00
Ben Word
51c7956ecc 🔥 Remove assets config 2025-02-12 08:58:49 -05:00
Ben Word
74acaca2a9 brb
This reverts commit b343e9060a.
2025-02-06 11:56:39 -05:00
Ben Word
b343e9060a 🔥 Remove assets config 2025-02-06 11:53:28 -05:00
Ben Word
7b836981ac 🔧 Add Acorn's postAutoloadDump script 2025-02-06 11:40:49 -05:00
Ben Word
6958f1cc6b ♻️ Improve theme.json generation with more robust CSS parsing (#3223) 2025-02-06 08:52:03 -05:00
Matthias
2343d60a83 fix tailwind css regex mismatch (#3221) 2025-02-05 17:58:57 -05:00
Pavol Caban
424c91b856 Fix Vite dependency extract (#3219)
* Fix Vite dependency extract regex

* Fix Vite Typescript compatibility
2025-02-05 17:50:31 -05:00
Steve Jones
d659ad01b8 🩹 Compact fix for color generation in theme.json (#3222)
* Fix for incorrect theme.json generation of colours

* Fix for theme.json color generation

* Compact fix for colour theme.json generation

---------

Co-authored-by: Steve Jones <steve@codewithfeeling.com>
2025-02-05 17:47:11 -05:00
Marcin Lis
d45db1436f Fix default aliases paths for assets (#3218)
Setting absolute paths in aliases to prevent warnings in Vite.js and fix the background-image reference to an image using eg. @images/bg.svg
2025-02-03 06:21:37 -05:00
Ben Word
564787f713 🔧 Update Renovate config 2025-02-02 08:07:20 -05:00
Ben Word
19784450cc ⬆️ Bump dev dependencies 2025-02-02 08:03:30 -05:00
renovate[bot]
326f354c0a ⬆️ Bump tailwindcss monorepo to v4.0.3 (#3217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-02 07:55:31 -05:00
Ben Word
2ae34b9f55 Tailwind v4 (#3208)
Co-authored-by: Brandon <brandon@tendency.me>
Co-authored-by: csorrentino <cjsorren@gmail.com>
Co-authored-by: stuart <stuartjwong@gmail.com>
2025-02-02 07:53:33 -05:00
csorrentino
1e8124fdd0 Add default aliases for assets (#3215)
* add default aliases for assets

Adds the same default aliases as the @roots/sage bud extension

* Remove beginning slash

---------

Co-authored-by: Ben Word <ben@benword.com>
2025-02-02 07:52:49 -05:00
csorrentino
82b818553e Support external WP dependencies in JSX files (#3209) 2025-01-20 18:02:59 -05:00
Ben Word
9c7c11fb54 🩹 Dev server: fix WP dependency handling (#3207)
* Revert "🎨 Simplify WordPress dependency handling" (#3202)
* 🩹 Fix dev server error
2025-01-20 15:57:09 -05:00
Ben Word
d2a991045b 🔧 Set public base path 2025-01-15 18:45:57 -05:00
Ben Word
16ecaf73a7 🔧 Set public base path (#3205) 2025-01-15 18:37:47 -05:00
tombroucke
a3a3b704a8 🔧 Import static assets (#3204)
Similar to `.assets(["images"])` in bud, we can add static assets in vite.
2025-01-15 18:10:41 -05:00
Ben Word
462e4e413d 🎨 Simplify WordPress dependency handling (#3202) 2025-01-14 08:10:27 -05:00
Ben Word
7fa70e6d56 🔧 PHP 8.2 is required 2025-01-04 10:14:33 -05:00
Ben Word
ef277f4344 ⬆️ Update build deps 2025-01-04 10:03:25 -05:00
Ben Word
4bdcdce08a 🙈 Update .gitignore 2025-01-04 09:52:29 -05:00
Ben Word
3bafd31eb3 🔧 Don't declare providers in composer.json 2025-01-04 09:14:11 -05:00
Ben Word
6811b5b37f 🔧 Minimal bootloader 2025-01-04 09:09:31 -05:00
Ben Word
db891ebf6c 📝 Update README [ci skip] 2025-01-04 09:06:41 -05:00
Ben Word
b97e10500c 🔧 Bootloader: Remove unnecessary wrapping action from inside theme 2025-01-04 09:03:59 -05:00
Ben Word
f4d1ac38e8 🔧⬆️ Acorn v5 (#3201) 2025-01-04 08:57:07 -05:00
Ben Word
21a102fc95 🔧 11.x-dev 2025-01-04 08:46:07 -05:00
Ben Word
ff3046ed32 🔧 Use Vite for build (#3199)
Co-authored-by: Brandon Nifong <brandon@tendency.me>
2025-01-04 08:45:24 -05:00
Ben Word
60f71b7fe7 📝 Update README [ci skip] 2024-12-22 13:34:01 -05:00
Ben Word
2e7b85db2c 📝 Update README [ci skip] 2024-12-22 13:31:34 -05:00
c3e5edab8b updates from most recent website build 2024-12-20 17:09:16 +00:00
Ben Word
0b406a284b 📝 Update README [ci skip] 2024-11-13 04:53:25 -05:00
Ben Word
922cf8ab17 📄 Update name 2024-11-13 04:52:57 -05:00
d67a9ea2ff disable comments 2024-11-06 22:56:03 +00:00
3bf359177a acf-json 2024-11-06 22:55:01 +00:00
e0ad3b5d03 custom post type and ACF json syncing 2024-11-06 22:42:07 +00:00
c10dda79fc set theme name and details 2024-11-06 21:00:00 +00:00
eeea696c67 add base framework styles 2024-11-05 17:19:47 +00:00
0cbe68b174 remove tailwind-css 2024-11-05 15:10:13 +00:00
d759aeef47 badegg screenshot.png 2024-11-05 14:58:55 +00:00
af8045eb22 build theme assets 2024-11-05 14:58:44 +00:00
183e996c64 composer install 2024-11-05 14:14:26 +00:00
renovate[bot]
fe69893d42 chore(deps): ⬆️ bump bud to v6.23.3 (#3193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 10:10:29 -05:00
renovate[bot]
029d7de745 chore(deps): ⬆️ bump bud to v6.23.2 (#3187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 11:39:07 -05:00
Ben Word
d488df6ebd 📝 Update README [ci skip] 2024-06-02 15:26:58 -05:00
Marcelo
7886aee44c 🩹 Add missing text domain to skip link (#3190) 2024-05-29 13:59:43 -05:00
Ben Word
03335c6ffe 📝 Update README [ci skip] 2024-04-04 09:17:11 -05:00
Ben Word
a096302967 🔧 10.x-dev 2024-02-06 08:50:26 -06:00
Ben Word
f40da3fa60 🔖 v10.8.2 2024-02-06 08:48:58 -06:00
Brandon
7e5e789e7b 🩹 Fix the comment list output (#3184) 2024-02-02 09:36:33 -06:00
Darshan Gada
0af9e0f148 👷 Fix deprecation errors in CI Action (#3183) 2024-02-02 09:35:54 -06:00
Ben Word
097fbc3de9 🔧 10.x-dev 2024-02-01 16:58:33 -06:00
Ben Word
639b4578e4 🔖 v10.8.1 2024-02-01 16:57:46 -06:00
Brandon
1e3e3258ce 🩹 Fix exception being thrown when listing comments (#3182) 2024-02-01 16:56:58 -06:00
Daniel Sturm
a7f9962e05 🔧 Bump minimum PHP version to 8.1 in style.css (#3181) 2024-02-01 09:25:39 -06:00
Ben Word
195545c70f 🔧 10.x-dev 2024-01-30 15:29:01 -06:00
Ben Word
c5be350f4b 🔖 v10.8.0 2024-01-30 15:28:18 -06:00
Ben Word
d6c6858516 🔧 Build 2024-01-30 15:20:18 -06:00
Ben Word
1b8267d12c 🔧 Remove sage-svg suggestion
https://roots.io/sage/docs/use-blade-icons/
2024-01-26 09:59:32 -06:00
Ben Word
c35cd42072 ️ Add accessible names to nav elements (#3179)
* ️ Add accessible names to nav elements

---------

Co-authored-by: Nathan Knowler <nathan@knowler.me>
2024-01-18 13:18:02 -06:00
renovate[bot]
05099a1921 chore(deps): ⬆️ bump actions/cache action to v4 (#3180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 13:09:32 -06:00
Ben Word
ba672ce51a 🩹 Comments title: Fix make-pot warning (#3178) 2024-01-18 12:56:13 -06:00
Sandro Würmli
dce151f9d2 Fix for multiple .po files (#3155)
Co-authored-by: Ben Word <ben@benword.com>
2024-01-18 12:48:38 -06:00
Brandon
884bfc770f 🎨 Move comment logic into a dedicated Composer (#3162)
* 🎨 Move comment logic into a dedicated Composer

* 🎨 Swap the method order
2024-01-18 12:37:47 -06:00
Ben Word
27808abf0a 👷 Fix labeler action (#3177) 2024-01-18 12:36:07 -06:00
Brandon
eaae7ac7f9 👷 Replace phpcs with Pint (#3161)
 Add `laravel/pint` to the project
 Remove `squizlabs/php_codesniffer` from the project
🔧 Remove deprecated Composer scripts
👷 Replace phpcs with Pint
🎨 Run Pint

---------

Co-authored-by: Ben Word <ben@benword.com>
2024-01-18 12:01:21 -06:00
renovate[bot]
7f5e5d47aa chore(deps): ⬆️ bump actions/labeler action to v5 (#3164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 11:53:44 -06:00
renovate[bot]
7ff538a029 chore(deps): ⬆️ bump squizlabs/php_codesniffer to v3.8.1 (#3163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 11:53:31 -06:00
strarsis
456ade46c6 Use npm for translate scripts execution (#3174) 2024-01-18 11:50:47 -06:00
Ben Word
c9c2c67dca 🔧 Bump minimum PHP version to 8.1 (#3176) 2024-01-18 11:45:42 -06:00
Ben Word
a42591cf47 🔧 Bump minimum Node.js version to v20 (#3175) 2024-01-18 11:42:55 -06:00
renovate[bot]
157202898c chore(deps): ⬆️ bump bud to v6.20.0 (#3137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-18 11:36:49 -06:00
Ben Word
47958c949c 🔥 Remove Soil features (#3172) 2024-01-16 09:17:15 -06:00
Brandon
a8cb79d3ec 🎨 Make the Alert component anonymous (#3173) 2024-01-05 11:10:05 -06:00
Brandon
9e90725931 🎨 Move default theme markup to the app layout (#3167) 2024-01-05 11:08:58 -06:00
Brandon
af74fb3305 🎨 Make the Alert component anonymous 2024-01-04 12:05:48 -06:00
Brandon
a8ed5732f2 🩹 Move get_header hook above wp_head() (Fixes #3171) 2024-01-04 00:30:48 -06:00
Ben Word
1087778e4b Editor: Add background image support (#3169) 2023-12-19 10:31:29 -06:00
Brandon
f19e65e684 🚨 Run phpcbf 2023-12-18 23:37:35 -06:00
Brandon
4d394dfec0 👷 Stop the madness (#3168) 2023-12-18 23:25:08 -06:00
Log1x
605f1a6285 🎨 Run Pint 2023-12-19 02:21:37 +00:00
Brandon
2d88831b79 🔧 Remove index.php from the Tailwind config 2023-12-18 20:20:26 -06:00
Brandon
bc0455bd2c 🎨 Move default theme markup to the app layout
🐛 Fix uncontrollable HTML output (Fixes #3166)
2023-12-18 20:15:03 -06:00
Ben Word
37a50679ab 📝 Update README [ci skip] 2023-12-11 10:48:10 -06:00
Jacek Gajewski
837da757a1 ♻️ Check wp_link_pages before rendering in content-single.blade.php (#3157)
Co-authored-by: Brandon <brandon@tendency.me>
2023-12-08 10:44:28 -06:00
renovate[bot]
af2532ff24 chore(deps): ⬆️ bump actions/setup-node action to v4 (#3156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-08 10:26:38 -06:00
renovate[bot]
1e6ce0002f chore(deps): ⬆️ bump stefanzweifel/git-auto-commit-action action to v5 (#3153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-08 10:26:16 -06:00
strarsis
0f519699fa 🌐 Include theme.json; patterns/ in translation scan command (#3076) 2023-12-08 10:25:42 -06:00
Adrian Enriquez
2c10462bc2 💡 Update links in bud.config.js (#3154) 2023-12-08 10:16:46 -06:00
Ben Word
f08c86f831 📝 Update README [ci skip] 2023-12-07 10:53:44 -06:00
Ben Word
31c878b942 📝 Update README [ci skip] 2023-10-10 19:25:36 -05:00
Ben Word
6bc2148c1f 📝 Update README [ci skip] 2023-09-27 10:10:04 -05:00
Ben Word
450e8434b2 🔧 10.x-dev 2023-09-27 09:27:31 -05:00
Ben Word
e5c8814527 🔖 v10.7.0 2023-09-27 09:26:40 -05:00
Tom Lawton
1a232426d5 fix: update default app.css tailwind syntax to use @tailwind (#3149) (#3150) 2023-09-27 09:22:49 -05:00
renovate[bot]
0435ceb0cb chore(deps): ⬆️ bump actions/checkout action to v4 (#3147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 09:14:35 -05:00
renovate[bot]
3ba1c40b96 chore(deps): ⬆️ bump actions/setup-node action to v3 (#3084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 09:13:43 -05:00
renovate[bot]
3474a0a238 chore(deps): ⬆️ bump squizlabs/php_codesniffer to v3.7.2 (#3127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-09-27 09:13:26 -05:00
Kelly Mears
218908dd50 📦 deps: upgrade @roots/bud to 6.16.1 (#3146) 2023-09-27 09:12:32 -05:00
Ben Word
7743db993b 🔧 10.x-dev 2023-05-09 09:30:16 -05:00
Ben Word
79904057c1 🔖 v10.6.0 2023-05-09 09:22:08 -05:00
Kelly Mears
84111a6546 🩹 fix: core/button block style (#3130) 2023-05-09 09:20:41 -05:00
renovate[bot]
8afa7c11f0 chore(deps): ⬆️ bump bud to v6.12.2 (#3135)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 21:26:02 -05:00
renovate[bot]
5f1eb0b08d chore(deps): ⬆️ bump bud to v6.12.1 (#3134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-28 10:05:44 -05:00
Kelly Mears
b2e888f871 bump: bud@6.12.0 & improvements (#3128)
This PR contains various improvements and cleanups to the configuration and JavaScript code. Key changes include:

- Adding simple comments to `jsconfig.json`.
- Improving config: `bud.wpjson.set` replaces `bud.wpjson.settings`. Note that `bud.wpjson.settings` is not deprecated.
- `bud.wpjson.settings` now disables `dropCap` by default.
- `app.js` and `editor.js` now use `if (import.meta.webpackHot)` instead of optional chaining, since `import.meta.webpackHot` is not a real method and using optional chaining might cause errors.
2023-04-05 13:42:27 -04:00
Ben Word
9301ce8840 📝 Update README [ci skip] 2023-03-25 11:33:33 -05:00
renovate[bot]
30b5523288 chore(deps): ⬆️ bump bud to v6.11.0 (#3126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 17:39:45 -06:00
Ben Word
0567d6067d 📝 Update README [ci skip] 2023-03-07 18:36:57 -06:00
Ben Word
f1508c4de7 📝 Update README 2023-02-28 00:03:07 -06:00
strarsis
7c574d6d29 🔧 Use wp i18n update-po for updating PO files (#3081) 2023-02-22 17:41:27 -06:00
renovate[bot]
c6a19c1577 chore(deps): ⬆️ bump bud to v6.9.0 (#3123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-07 18:51:09 -06:00
Joshua Fredrickson
33ebcb0a60 🔧 Bump required PHP version in style.css (#3125) 2023-02-06 12:00:30 -06:00
Daniel Sturm
39b871d811 📝 Update README, update requirement for Acorn v3 (#3124) 2023-02-06 11:59:56 -06:00
Ben Word
df0c96e6d7 🔧 10.x-dev 2023-02-05 12:24:13 -06:00
Ben Word
0334e1ed51 🔖 v10.5.1 2023-02-05 12:22:40 -06:00
renovate[bot]
e69e23b408 ⬆️ Bump Bud to v6.8.0 (#3120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ben Word <ben@benword.com>
2023-02-04 17:28:30 -06:00
Brandon
a197b80577 🧑‍💻 Check that the Acorn bootloader exists before booting (#3121) 2023-02-03 16:52:36 -06:00
Ben Word
a0a5541512 🔧 10.x-dev 2023-01-27 16:47:14 -06:00
Ben Word
92be0c50db 🔖 v10.5.0 2023-01-27 16:45:38 -06:00
Ben Word
1fba34e6fd 🔧 Acorn v3 (Laravel 9.x), drop PHP 7.4 support (#3097)
Co-authored-by: retlehs <retlehs@users.noreply.github.com>
Co-authored-by: Brandon Nifong <brandon@tendency.me>
2023-01-27 16:43:23 -06:00
Ben Word
235465d2ce 🔧 10.x-dev 2023-01-26 16:32:32 -06:00
Ben Word
3c78802c0e 🔖 v10.4.1 2023-01-26 16:31:00 -06:00
renovate[bot]
281fc93fb7 chore(deps): ⬆️ bump bud to v6.7.3 (#3117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-26 12:51:45 -06:00
renovate[bot]
5418a7da5d chore(deps): ⬆️ bump bud to v6.7.2 (#3116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-25 12:41:52 -06:00
renovate[bot]
7f4a20cff0 chore(deps): ⬆️ bump bud to v6.7.1 (#3106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-01-24 10:37:56 -06:00
Ben Word
9a915f9175 🔍️ Posts: Use latest h-entry microformat (#3115) 2023-01-23 20:46:47 -06:00
Ben Word
4b8c96cc56 📝 Update README 2023-01-23 11:05:06 -06:00
Ben Word
b89bd3eed8 📝 Update README 2023-01-10 14:43:41 -06:00
Ben Word
0fdea50bb2 🔧 10.x-dev 2023-01-04 09:26:31 -06:00
Ben Word
910afb9c04 🔖 v10.4.0 2023-01-04 09:24:27 -06:00
Ben Word
72c4c7a89d 🩹 Fix badge 2023-01-03 14:26:47 -06:00
Kelly Mears
a684b60000 Merge pull request #3111 from roots/km-6.6.6
📦 bump: 6.6.6
2023-01-03 12:17:57 -08:00
Kelly Mears
27f9c7bb5a 6.6.9 2023-01-03 10:04:20 -08:00
Kelly Mears
b3ae4fae13 📦 update: 6.6.8 2022-12-31 11:20:49 -08:00
Kelly Mears
04e556e74b 📦 yarn.lock 2022-12-23 10:54:24 -08:00
Kelly Mears
43fb1c4098 improve: js boilerplate 2022-12-23 10:53:52 -08:00
Kelly Mears
5c774695ca bud.config.mjs -> bud.config.js 2022-12-23 10:53:11 -08:00
Kelly Mears
71d788152d sage as esm; bump to 6.6.6 2022-12-23 10:50:38 -08:00
Kelly Mears
c7c69a54aa improve: jsconfig.json 2022-12-23 10:49:26 -08:00
Kelly Mears
94a64fc99b improve: .editorconfig quote_type 2022-12-23 10:48:53 -08:00
Joshua Fredrickson
2ca4da4e0e 💡 Update WordPress documentation links (#3107) 2022-12-01 16:09:54 -06:00
renovate[bot]
922f7bb455 chore(deps): ⬆️ bump bud to v6.6.2 (#3103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-20 13:10:08 -06:00
renovate[bot]
af93e04fdc chore(deps): ⬆️ bump bud to v6.6.1 (#3102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-17 09:41:24 -06:00
renovate[bot]
2f3a29b4e8 chore(deps): ⬆️ bump bud to v6.6.0 (#3096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-11-16 10:17:35 -06:00
Joshua Fredrickson
29d87936d9 🔥 Remove default duotone filters from theme.json (#3101) 2022-11-04 09:27:30 -05:00
Ben Word
2e141c1acd 🔧 10.x-dev 2022-10-04 09:26:52 -05:00
Ben Word
ab78a974bc 🔖 v10.3.1 2022-10-04 09:24:58 -05:00
renovate[bot]
184212cdf9 chore(deps): ⬆️ bump bud to v6.4.5 (#3094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-04 09:23:15 -05:00
Ben Word
c9dba27358 👷 CI: Run Pint (#3088) 2022-10-04 09:22:41 -05:00
Ben Word
a17230d48b 🔧 Update Renovate config 2022-10-04 09:15:24 -05:00
Ben Word
76628f0154 🔧 10.x-dev 2022-09-28 11:54:43 -06:00
Ben Word
e6465e00bc 🔖 v10.3.0 2022-09-28 11:50:04 -06:00
renovate[bot]
0248661069 ⬆️ Bump Bud to v6.4.4 (#3091)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-28 11:49:31 -06:00
Kelly Mears
c0cb65f0a7 Merge pull request #2999 from roots/feat-bud-config 2022-09-25 10:08:02 -07:00
Ben Word
5e4804fdbf 🔧 Generated theme.json 2022-09-24 10:28:56 -05:00
Ben Word
b9fe6735fe 🔧 Remove test color 2022-09-24 10:28:56 -05:00
Ben Word
ebe4084cff 🔧 theme.json generator - move Tailwind to end 2022-09-24 10:28:56 -05:00
Ben Word
8a8f6ea62b 🚧 theme.json generator updates 2022-09-24 10:28:56 -05:00
Ben Word
8c5e945452 🔧 account for #3002 2022-09-24 10:28:56 -05:00
Kelly Mears
d739a211b2 improve: set theme.json colors in tailwind conf 2022-09-24 10:28:56 -05:00
renovate[bot]
95f5dd2c14 ⬆️ Bump Bud to v6.4.3 (#3090)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-24 10:28:41 -05:00
renovate[bot]
511e715b5b ⬆️ Bump Bud to v6.4.2 (#3089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-23 15:10:30 -05:00
renovate[bot]
8d286024fc ⬆️ Bump Bud to v6.4.1 (#3087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-09-20 18:13:35 -05:00
luotao
166b13ca60 Fix broken doc URL (#3086) 2022-09-19 08:05:37 -05:00
Ben Word
df75012132 📝 update README 2022-08-11 10:11:09 -05:00
renovate[bot]
fa7e29cd8e Bump Bud to v6.3.5 (#3083)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-28 17:08:46 -05:00
renovate[bot]
e0452c0867 Bump Bud to v6.3.4 (#3082)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-27 09:37:21 -05:00
Ben Word
d51cbf1ab9 🔧 10.x-dev 2022-07-19 17:14:31 -05:00
Ben Word
ee6426bfb1 🔖 v10.2.0 2022-07-19 17:10:59 -05:00
renovate[bot]
c31e42df2b Bump Bud to v6.3.3 (#3080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-19 17:04:40 -05:00
renovate[bot]
fdbe4815f9 Pin 📦 update squizlabs/php_codesniffer to 3.7.1 (#3065)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-12 11:54:49 -05:00
renovate[bot]
45a7fa1b5d Bump actions/labeler action to v4 (#3073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-12 11:52:05 -05:00
renovate[bot]
fa54037da6 Bump actions/checkout action to v3 (#3072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-07-12 11:51:37 -05:00
renovate[bot]
ab6223c1ab Bump actions/cache action to v3 (#3066)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-07-12 11:51:26 -05:00
renovate[bot]
71e1f1d13a Bump Bud to v6.3.1 (#3079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ben Word <ben@benword.com>
2022-07-12 11:50:54 -05:00
Brandon
d0631488fd chore(lint): run pint (#3075) 2022-07-12 11:29:07 -05:00
Kelly Mears
87c7768ec1 📦 improve(patch): bud@6.2.0 (#3074) 2022-07-12 11:27:24 -05:00
Ben Word
5e8202f9ae 🔧 bud config: set the public path by default (#3064) 2022-06-20 14:31:26 -05:00
Ben Word
1beb7d56dc 💬 update README 2022-05-31 13:55:02 -05:00
Ben Word
738b311f83 🔧 10.x-dev 2022-05-30 19:14:31 -05:00
Ben Word
98dfc29524 🔖 v10.1.7 2022-05-30 19:12:16 -05:00
renovate[bot]
a4e6aaf464 ⬆️ Bump bud to v5.8.7 (#3063)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-05-24 10:56:33 -05:00
Kelly Mears
4aac87b712 👷 dependabot --> renovate (#3060) 2022-05-24 10:46:58 -05:00
strarsis
e7e8210d10 🐛 Fix i18n warnings (#3039) 2022-05-11 14:30:48 -05:00
Joshua Fredrickson
50a542f212 🎨 Add trailing commas (#3032) 2022-04-27 13:27:04 -05:00
strarsis
7deab2b620 🔧 Improve translation scripts (#3013) 2022-04-06 23:24:04 -05:00
Ben Word
63be2f5e29 ⬆️ bud 5.7.7 (#3029) 2022-04-05 18:00:37 -05:00
Gabriel Giordano
fc1776b640 🔧 Add index.php to tailwindcss purge list (#3025) 2022-04-02 08:22:14 -05:00
Ben Word
2d81967a06 🔧 10.x-dev 2022-03-30 19:45:21 -05:00
Ben Word
70914ec1ca 🔖 v10.1.6 2022-03-30 19:44:34 -05:00
Ben Word
7443653e05 ⬆️ bud 5.7.6 (#3024) 2022-03-30 19:44:13 -05:00
Ben Word
984fc22c28 🔧 10.x-dev 2022-03-29 08:59:47 -05:00
Ben Word
6e16a56b31 🔖 v10.1.5 2022-03-29 08:58:38 -05:00
Ben Word
18f212b1b9 ⬆️ bud 5.7.4 (#3023) 2022-03-29 08:57:02 -05:00
Ben Word
f61185fcd6 ⬆️ bud 5.7.3 2022-03-28 08:26:52 -05:00
Ben Word
0b195b48fa 🔧 10.x-dev 2022-03-27 09:49:38 -05:00
Ben Word
3cbb44371a ⬆️ bud 5.7.2 2022-03-27 09:48:16 -05:00
Ben Word
dd5616b283 🔧 10.x-dev 2022-03-25 08:44:06 -05:00
Ben Word
4ed3130e58 🔖 v10.1.3 2022-03-25 08:41:13 -05:00
dependabot[bot]
0da11be35b chore(deps-dev): bump @roots/bud-tailwindcss from 5.6.2 to 5.7.0 (#3016)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 08:39:50 -05:00
dependabot[bot]
b3ed9bb568 chore(deps-dev): bump @roots/sage from 5.6.2 to 5.7.0 (#3017)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 08:32:48 -05:00
dependabot[bot]
2e9ff8fc04 chore(deps-dev): bump @roots/bud from 5.6.2 to 5.7.0 (#3015)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-25 08:27:14 -05:00
Ben Word
a59b85b51c 📄 update name 2022-03-18 00:07:06 -05:00
Ben Word
ae18161548 🔧 10.x-dev 2022-03-17 11:45:59 -05:00
Ben Word
80b5094f0c 🔖 v10.1.2 2022-03-17 11:44:03 -05:00
Ben Word
c87373b577 ⬆️ bud v5.6.2 (#3012)
Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2022-03-17 11:42:27 -05:00
Ben Word
1fc4986a8b 🔥 remove add_theme_support('align-wide') (#3008) 2022-03-16 09:01:38 -05:00
Ben Word
fd67da1909 add discourse topic release workflow (#3003) 2022-03-14 11:34:06 -05:00
Ben Word
39a49dfc5d 🔧 10.x-dev 2022-03-09 12:52:31 -06:00
Ben Word
bc63ea2a5a 🔖 v10.1.1 2022-03-09 12:51:11 -06:00
Mike Sheppard
1056de9ba4 🔥 remove default palette + gradients from theme.json (#3002) 2022-03-09 12:49:57 -06:00
Ben Word
019a23280d 🔧 10.x-dev 2022-03-08 09:11:28 -06:00
Ben Word
7dc27400a4 🔖 v10.1.0 2022-03-08 09:09:20 -06:00
Brandon
2d1473191d chore(deps): Remove deprecated variant configuration from tailwind config (#2994) 2022-03-07 16:20:50 -06:00
Ben Word
d3b6f4edea 🔥 remove linting (#2998)
Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2022-03-07 16:20:31 -06:00
Ben Word
e4680142a4 🔥 improve: no need to watch tailwind.config.js (#3000)
Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2022-03-05 09:41:56 -06:00
Ben Word
f31847299a ⬆️ bud v5.5.0 (#2997) 2022-03-04 19:25:23 -06:00
Ben Word
a9077ece4a 🔧 10.x-dev 2022-03-01 20:43:16 -06:00
Ben Word
df7f99c6a7 🔖 v10.0.0 (#2993) 2022-03-01 08:24:26 -06:00
Kelly Mears
6d5ccf4863 bud 5.4.0 (#2983)
Co-authored-by: Ben Word <ben@benword.com>
2022-02-23 08:45:08 -06:00
Ben Word
3406be04d4 🔧 10.0.0-dev 2022-02-14 08:47:56 -06:00
Ben Word
be9d47dfdb 🔧 sage 10.0.0-beta.3 (#2977) 2022-02-14 08:37:01 -06:00
Ben Word
e63a497b23 ✏️ readme: update bud url 2022-02-13 23:54:30 -06:00
Ben Word
c0acadae15 📝 acorn: clarify version 2022-02-13 22:59:19 -06:00
Ben Word
024b10591f 📝 simplify acorn notes 2022-02-13 21:31:37 -06:00
Ben Word
a2974793cf 💬 acorn requirement error: add link to install docs (#2979) 2022-02-11 21:00:58 -06:00
Ben Word
2b9b1cc2ed 🔧 remove acorn post-autoload-dump (#2978) 2022-02-10 18:05:56 -06:00
Ben
5fe9e510ee Remove Acorn as dependency; treat as requirement (#2827) 2022-02-10 17:04:35 -06:00
Ben Word
438b58b037 📝 update changelog 2022-02-10 16:50:04 -06:00
Ben Word
f7eb797a0e ⬆️ bump roots/acorn to v2.0.0-beta.9 (#2968) 2022-02-10 16:44:34 -06:00
Ben Word
e3058e64be ⬆️ bump bud to v5.3.2 (#2976) 2022-02-10 16:44:24 -06:00
Ben Word
ebe5699d98 📝 update changelog 2022-02-10 15:00:33 -06:00
Ben Word
8e27580a9b 🔧 migrate global settings to theme.json (#2964) 2022-02-10 14:52:33 -06:00
strarsis
11e9ec258c Re-add i18n related scripts/tasks (#2958)
Scripts were accidentally removed in PR #2643.
2022-02-08 17:29:54 -06:00
Pascal GAULT
95b395f20b chore(header): allow unescaped siteName data (#2967) 2022-02-06 11:27:02 -06:00
Ben Word
8dd551070e Update README.md 2022-01-31 17:59:39 -06:00
Ben Word
6bf1ee4e6b Bud v5.2.0 (#2959)
* chore(deps): Bump @roots/bud to v5.2.0

* lockfile

* remove `setPublicPath`

* suggestions (#2961)

* suggestions

* unneccessary

Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2022-01-25 19:33:04 -06:00
Ben Word
a89ca1231b chore(deps): Bump roots/acorn to v2.0.0-beta.8 (#2953) 2022-01-19 15:33:57 -06:00
Ben Word
187cb00b33 Bud v5.1.0 (#2952)
Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2022-01-19 15:31:46 -06:00
dependabot[bot]
387c73befd chore(deps-dev): bump postcss-preset-env from 7.2.0 to 7.2.3 (#2945)
Bumps [postcss-preset-env](https://github.com/csstools/postcss-plugins/tree/HEAD/plugin-packs/postcss-preset-env) from 7.2.0 to 7.2.3.
- [Release notes](https://github.com/csstools/postcss-plugins/releases)
- [Changelog](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-plugins/commits/HEAD/plugin-packs/postcss-preset-env)

---
updated-dependencies:
- dependency-name: postcss-preset-env
  dependency-type: direct:development
  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>
2022-01-14 11:12:10 -06:00
Ben Word
eb784f2393 fix(bundle-editor): remove @wordpress/edit-post (#2932) 2022-01-14 11:11:44 -06:00
Nathan Knowler
91c2961a05 feat(search): use a button element (#2943)
This is trivial. The only real benefit is that it might be easier to add an icon and easier to style.
2022-01-11 10:05:35 -06:00
dependabot[bot]
ec4ee98222 chore(deps-dev): bump tailwindcss from 3.0.12 to 3.0.13 (#2944)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.12 to 3.0.13.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.12...v3.0.13)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2022-01-11 09:53:36 -06:00
Brandon
680d9e6fdc chore(readme): Add sections directory to theme structure (#2942) 2022-01-10 16:28:36 -06:00
Brandon
d640a77a76 fix(views): Use dot notation on entry-meta view includes (#2941) 2022-01-10 16:16:14 -06:00
Ben Word
0ad2225beb enhance(views): Move page section views to a sections directory (#2936)
Co-authored-by: Brandon Nifong <brandon@tendency.me>
2022-01-10 16:00:11 -06:00
dependabot[bot]
191d2b351a chore(deps-dev): bump postcss-preset-env from 7.1.0 to 7.2.0 (#2926)
Bumps [postcss-preset-env](https://github.com/csstools/postcss-plugins/tree/HEAD/plugin-packs/postcss-preset-env) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/csstools/postcss-plugins/releases)
- [Changelog](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-plugins/commits/HEAD/plugin-packs/postcss-preset-env)

---
updated-dependencies:
- dependency-name: postcss-preset-env
  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>
2022-01-10 10:18:06 -06:00
dependabot[bot]
1528ff905d chore(deps-dev): bump tailwindcss from 3.0.9 to 3.0.12 (#2939)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.9 to 3.0.12.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.9...v3.0.12)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2022-01-10 10:10:09 -06:00
dependabot[bot]
2c97c8a49d chore(deps-dev): bump autoprefixer from 10.4.1 to 10.4.2 (#2938)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.1 to 10.4.2.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.1...10.4.2)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  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>
2022-01-10 10:09:41 -06:00
Nathan Knowler
71b2635e0c fix: app/setup.php doesn’t need to be executable (#2933) 2022-01-05 01:06:27 -06:00
dependabot[bot]
4bd577b4e7 chore(deps-dev): bump tailwindcss from 3.0.8 to 3.0.9 (#2930)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.8 to 3.0.9.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.8...v3.0.9)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2022-01-04 11:34:18 -06:00
Nathan Knowler
468822868d chore(php): bump minimum PHP version to 7.4 (#2925) 2022-01-03 05:40:40 -06:00
Simon
14071e6ea3 Bump eslint to 8.6.0 (#2922)
babel-eslint is deprecated and should be replaced with @babel/eslint-parser

Co-authored-by: Simon Hammes <simonhammes@users.noreply.github.com>
2022-01-02 15:25:21 -06:00
dependabot[bot]
97e7e226e7 chore(deps-dev): bump autoprefixer from 10.4.0 to 10.4.1 (#2918)
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.0 to 10.4.1.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.0...10.4.1)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  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>
2022-01-02 14:13:18 -06:00
Nathan Knowler
2616f89b60 refactor: remove JavaScript detection (#2916)
JavaScript detection with a class name on the body or html element tends
to go unused even by websites that have it set up. Instead, we recommend
that developers write progressively enhanced components that are styled
for non-JS usage by default. Increase specificity, use the cascade, or
code split to apply progressively enhanced styles.
2022-01-02 14:12:20 -06:00
Brandon
933cd9ae3a chore: remove helpers.php (#2917)
* chore: remove helpers.php

* chore(docs): remove helpers.php reference from readme
2022-01-02 14:11:43 -06:00
Ben Word
a0f94fede0 10.0.0-dev 2021-12-29 17:02:53 -06:00
dependabot[bot]
21b58e701d chore(deps-dev): bump tailwindcss from 3.0.7 to 3.0.8 (#2914)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.7 to 3.0.8.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.7...v3.0.8)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2021-12-29 15:42:41 -06:00
Ben Word
896da27251 Switch to zero-config setup, remove config and bootstrap dirs (#2839)
* Remove config directory

* feat(zeroconfig): Add support for zero-config

* test(php-lint): remove config directory

* chore(readme): update dir structure

* admin/customizer has been removed

Co-authored-by: QWp6t <hi@qwp6t.me>
2021-12-29 15:42:29 -06:00
Ben Word
a1edd1f868 chore(deps): Bump roots/acorn to v2.0.0-beta.7 (#2913) 2021-12-29 15:41:50 -06:00
Ben Word
0ff1d51506 chore(labeler): fix labeler (#2915) 2021-12-29 09:58:31 -06:00
dependabot[bot]
60aa380e46 chore(deps-dev): bump postcss-preset-env from 7.0.1 to 7.1.0 (#2912)
Bumps [postcss-preset-env](https://github.com/csstools/postcss-plugins/tree/HEAD/plugin-packs/postcss-preset-env) from 7.0.1 to 7.1.0.
- [Release notes](https://github.com/csstools/postcss-plugins/releases)
- [Changelog](https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-plugins/commits/HEAD/plugin-packs/postcss-preset-env)

---
updated-dependencies:
- dependency-name: postcss-preset-env
  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>
2021-12-23 12:01:31 -06:00
Ben Word
9ac0ce59e2 Add PR labeler (#2909)
* Add PR labeler
2021-12-23 11:56:54 -06:00
Ben Word
760fcb5537 Sage 10.0.0-beta.2 (#2908) 2021-12-21 08:36:11 -06:00
Ben Word
a1b61d9cf8 chore(deps): Bump roots/acorn to v2.0.0-beta.6 (#2911) 2021-12-21 08:31:57 -06:00
Ben Word
0c9cb73623 Remove all base styles followup (#2900) 2021-12-20 08:32:50 -06:00
dependabot[bot]
331257148c chore(deps-dev): bump tailwindcss from 3.0.6 to 3.0.7 (#2910)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.6 to 3.0.7.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.6...v3.0.7)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2021-12-20 08:31:55 -06:00
Ben Word
45dc4a87df Remove customizer starter (#2904) 2021-12-19 09:19:09 -06:00
Ben Word
5d9a35f246 chore(deps-dev): Bump @roots/bud to v5.0.0 (#2906) 2021-12-19 09:16:13 -06:00
Ben Word
ec4205c425 chore(deps-dev): Bump @roots/bud to v5.0.0-next.20 (#2905) 2021-12-17 11:00:28 -06:00
dependabot[bot]
86f41c639d chore(deps-dev): bump tailwindcss from 3.0.5 to 3.0.6 (#2901)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2021-12-17 10:15:39 -06:00
dependabot[bot]
7ed24fce29 chore(deps-dev): bump tailwindcss from 3.0.2 to 3.0.5 (#2896)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.2 to 3.0.5.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.2...v3.0.5)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2021-12-15 09:17:06 -06:00
QWp6t
8dd82a0c22 chore(deps-dev): Bump @roots/bud to v5.0.0-next.19 (#2895) 2021-12-15 09:14:19 -06:00
Kelly Mears
5d5fa4cd59 update watch glob for views directory (#2892) 2021-12-13 17:40:12 -06:00
Kelly Mears
d058becf5d update tailwind.config.js (#2891) 2021-12-13 17:39:55 -06:00
Ben Word
60235ec55b Fix Bud proxy (#2890) 2021-12-13 13:09:44 -06:00
Ben Word
776a38edfe Remove all base styles (#2889) 2021-12-13 13:08:37 -06:00
dependabot[bot]
0b7e6a43b7 chore(deps-dev): bump prettier from 2.5.0 to 2.5.1 (#2877)
Bumps [prettier](https://github.com/prettier/prettier) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.5.0...2.5.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  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>
2021-12-13 09:39:29 -06:00
dependabot[bot]
fc0b58602a chore(deps-dev): bump postcss from 8.4.4 to 8.4.5 (#2885)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.4 to 8.4.5.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.4...8.4.5)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  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>
2021-12-13 09:34:06 -06:00
dependabot[bot]
612aeeeef8 chore(deps-dev): bump tailwindcss from 3.0.0 to 3.0.2 (#2888)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.0.0 to 3.0.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.0.0...v3.0.2)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  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>
2021-12-13 09:28:50 -06:00
dependabot[bot]
343116e0b0 chore(deps-dev): bump @roots/sage from 5.0.0-next.17 to 5.0.0-next.18 (#2886)
Bumps [@roots/sage](https://github.com/roots/bud/tree/HEAD/packages/@roots/sage) from 5.0.0-next.17 to 5.0.0-next.18.
- [Release notes](https://github.com/roots/bud/releases)
- [Changelog](https://github.com/roots/bud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/roots/bud/commits/v5.0.0-next.18/packages/@roots/sage)

---
updated-dependencies:
- dependency-name: "@roots/sage"
  dependency-type: direct:development
  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>
2021-12-13 09:25:37 -06:00
dependabot[bot]
a1a2869f7e chore(deps-dev): bump @roots/bud from 5.0.0-next.17 to 5.0.0-next.18 (#2887)
Bumps [@roots/bud](https://github.com/roots/bud/tree/HEAD/packages/@roots/bud) from 5.0.0-next.17 to 5.0.0-next.18.
- [Release notes](https://github.com/roots/bud/releases)
- [Changelog](https://github.com/roots/bud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/roots/bud/commits/v5.0.0-next.18/packages/@roots/bud)

---
updated-dependencies:
- dependency-name: "@roots/bud"
  dependency-type: direct:development
  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>
2021-12-13 09:21:34 -06:00
Ben Word
091e113c3e Tailwind CSS v3.0 (#2882) 2021-12-10 09:43:41 -06:00
Ben Word
1bd30dd4f4 Update docs link [ci skip] 2021-12-08 13:13:38 -06:00
Ben Word
439710567c Switch primary branch from master to main (#2851)
* Switch primary branch from master to main

Co-authored-by: QWp6t <hi@qwp6t.me>
2021-12-08 13:12:30 -06:00
Ben Word
f66da33bfd Remove issue closer (#2878) 2021-12-06 15:59:08 -06:00
dependabot[bot]
9f14a6328c chore(deps-dev): bump postcss from 8.4.1 to 8.4.4 (#2867)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.1 to 8.4.4.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.1...8.4.4)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  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>
2021-12-04 12:29:09 -06:00
dependabot[bot]
d4d67b4a16 chore(deps-dev): bump @roots/sage from 5.0.0-next.16 to 5.0.0-next.17 (#2865)
Bumps [@roots/sage](https://github.com/roots/bud/tree/HEAD/packages/@roots/sage) from 5.0.0-next.16 to 5.0.0-next.17.
- [Release notes](https://github.com/roots/bud/releases)
- [Changelog](https://github.com/roots/bud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/roots/bud/commits/v5.0.0-next.17/packages/@roots/sage)

---
updated-dependencies:
- dependency-name: "@roots/sage"
  dependency-type: direct:development
  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>
2021-12-04 12:22:44 -06:00
dependabot[bot]
1734fa7ea6 chore(deps-dev): bump @roots/bud from 5.0.0-next.16 to 5.0.0-next.17 (#2866)
Bumps [@roots/bud](https://github.com/roots/bud/tree/HEAD/packages/@roots/bud) from 5.0.0-next.16 to 5.0.0-next.17.
- [Release notes](https://github.com/roots/bud/releases)
- [Changelog](https://github.com/roots/bud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/roots/bud/commits/v5.0.0-next.17/packages/@roots/bud)

---
updated-dependencies:
- dependency-name: "@roots/bud"
  dependency-type: direct:development
  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>
2021-12-04 11:46:25 -06:00
Ben Word
273fe4ec82 README: Mention Sage 10 beta releases (#2873) 2021-12-04 11:44:05 -06:00
Nathan Knowler
a61962c159 feat(theme-wrapper): remove shrink-to-fit=no (#2870)
See:
https://www.matuzo.at/blog/html-boilerplate/
https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html
HTML 5 Boilerplate
2021-12-02 07:51:13 -06:00
Ben Word
7e916ae11a chore(theme): misc cleanup (#2862) 2021-11-28 13:48:29 -06:00
Altan S
9e7555fa4e Fix assets path for static images (#2864) 2021-11-28 13:48:00 -06:00
Ben Word
c313702570 chore(deps): Bump roots/acorn to v2.0.0-beta.5 (#2861) 2021-11-28 13:39:55 -06:00
dependabot[bot]
1cf1d87243 chore(deps-dev): bump postcss-preset-env from 7.0.0 to 7.0.1 (#2846)
Bumps [postcss-preset-env](https://github.com/csstools/postcss-preset-env) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/csstools/postcss-preset-env/releases)
- [Changelog](https://github.com/csstools/postcss-preset-env/blob/main/CHANGELOG.md)
- [Commits](https://github.com/csstools/postcss-preset-env/compare/7.0.0...7.0.1)

---
updated-dependencies:
- dependency-name: postcss-preset-env
  dependency-type: direct:development
  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>
2021-11-26 11:04:56 -06:00
dependabot[bot]
f6a932f8bc chore(deps-dev): bump prettier from 2.4.1 to 2.5.0 (#2857)
Bumps [prettier](https://github.com/prettier/prettier) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.4.1...2.5.0)

---
updated-dependencies:
- dependency-name: prettier
  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>
2021-11-26 10:52:56 -06:00
dependabot[bot]
caa903e080 chore(deps-dev): bump postcss from 8.3.11 to 8.4.1 (#2859)
Bumps [postcss](https://github.com/postcss/postcss) from 8.3.11 to 8.4.1.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.3.11...8.4.1)

---
updated-dependencies:
- dependency-name: postcss
  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>
2021-11-26 10:52:15 -06:00
dependabot[bot]
93c5fc33bd chore(deps-dev): bump @roots/sage from 5.0.0-next.14 to 5.0.0-next.16 (#2860)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-25 08:18:57 -08:00
dependabot[bot]
b3e2b20e88 chore(deps-dev): bump @roots/bud from 5.0.0-next.14 to 5.0.0-next.16 (#2858)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-25 07:44:16 -08:00
Joshua Fredrickson
13364de168 fix(lint): Add additional known at-rules (#2811)
Allows use of `@use`, `@forward` and `@layer` in `.scss` files.
2021-11-23 11:39:21 -06:00
Nathan Knowler
47f2ce06fa doc(readme): replace Mix with Bud (#2850)
[skip ci]
2021-11-23 10:35:54 -06:00
Ben Word
a44781cdd7 Update CHANGELOG [ci skip] 2021-11-21 23:56:55 -06:00
Kelly Mears
eff82977e6 Replace Laravel Mix with Bud (#2643)
Co-authored-by: QWp6t <hi@qwp6t.me>
Co-authored-by: Ben Word <ben@benword.com>
2021-11-21 23:53:01 -06:00
QWp6t
3308513e8e chore(deps): Bump roots/acorn to v2.0.0-beta.4 (#2844) 2021-11-19 12:13:47 -08:00
Ben Word
3695cb8cb4 Move compiled views back to cache dir by default (#2837)
* chore(cache-views): move compiled views to [wp-content]/cache/acorn/views

Co-authored-by: QWp6t <QWp6t@users.noreply.github.com>
2021-11-02 18:06:03 -05:00
QWp6t
3e9404e7c4 Revert "Remove Acorn as dependency; treat as requirement (#2825)" (#2826)
This reverts commit 9ee6cd506d.
2021-10-22 17:57:29 -05:00
Ben
9ee6cd506d Remove Acorn as dependency; treat as requirement (#2825) 2021-10-22 15:48:51 -07:00
Brandon
646c7479b7 chore(views): nitpick blade syntax 2021-10-21 15:19:13 -05:00
Ben Word
183100d6f6 Update CHANGELOG [ci skip] 2021-10-21 15:12:38 -05:00
Nathan Knowler
dcffd542fb Use menu name as accessible name of <nav> 2021-10-08 09:13:37 -05:00
Nathan Knowler
ea84f283cb Only display <nav> if primary_navigation is set
The contents of the menu were being conditionally displayed, but it
would display an empty `<nav>` element if the menu location wasn’t set.
2021-10-08 09:13:37 -05:00
Ben Word
f06a909b0d Update sponsors [ci skip] 2021-10-07 17:16:57 -05:00
Joshua Fredrickson
936b703ec1 Enable Webpack 5's automatic unique naming (#2745) (Fixes #2733) 2021-08-04 18:51:39 -05:00
Ben Word
a11be240ce Update sponsors [ci skip] 2021-07-01 12:16:45 -06:00
Nathan Knowler
3e1a5af91a feat: remove x-ua-compatible tag (#2742)
This is redundant in IE 11.
2021-06-16 12:41:53 -05:00
Nathan Knowler
0501338ef5 refactor: remove deprecated jQuery .ready() syntax (#2738)
jQuery 3 recommends `$( handler )` syntax.

Reference: https://api.jquery.com/ready/
2021-06-16 12:41:36 -05:00
strarsis
6b3cb65e78 chore(i18n): Fix/add proper translator comments (#2716)
Co-authored-by: Brandon <brandon@tendency.me>
2021-05-26 20:10:21 -05:00
Brandon Nifong
ca369148b0 chore(deps): Bump dependencies 2021-05-26 20:05:16 -05:00
Joshua Fredrickson
a398431382 enhance(theme): Disable full-site editing support (#2692) 2021-05-26 19:59:44 -05:00
Brandon
17b21bd10e chore(deps): Bump dependencies (#2723) 2021-05-26 19:40:53 -05:00
Nathan Knowler
a9111debbd chore(deps): make jQuery ^3.5.1 a peer dependency (#2721)
Co-authored-by: Austin Pray <austin@austinpray.com>
2021-05-26 19:32:17 -05:00
Greg Hunt
c5411fa994 enhance(assets): Shorter pattern for purge files (#2722) 2021-05-26 19:22:03 -05:00
Ben Word
b51fe628f2 Update sponsors [ci skip] 2021-05-24 16:32:09 -06:00
dependabot-preview[bot]
92083596e6 Upgrade to GitHub-native Dependabot (#2693)
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2021-05-14 11:57:49 -07:00
Ben Word
3e4c044a8e Update sponsors [ci skip] 2021-04-08 14:53:49 -06:00
QWp6t
e51cdb856e fix(assets): use PhpAsset::load()
closes #2660
2021-03-31 12:40:36 -07:00
QWp6t
357f2072b9 chore(deps): update acorn to 2.0.0-alpha.0 2021-03-31 04:12:35 -07:00
Ben Word
5e7dd11e98 Update sponsors [ci skip] 2021-03-15 16:30:20 -06:00
QWp6t
eca9229113 chore(config-log): use generic application.log 2021-02-28 21:52:43 -08:00
QWp6t
b9d1a5912c fix(config-view): use acorn helper functions 2021-02-28 20:44:05 -08:00
QWp6t
0ade897d8a fix(bootstrap): use static bootloader to prevent rebooting 2021-02-26 22:20:46 -08:00
Brandon
e4e996044e chore(docs): Fix link to Blade in README 2021-02-16 01:16:08 -06:00
Brandon
c8132c7087 chore(docs): Bump minimum requirements
* chore(docs): Change mention of Bootstrap to TailwindCSS
2021-02-16 01:14:33 -06:00
Brandon
9a514defdd chore(docs): Add style to build status badge 2021-02-16 01:11:40 -06:00
Brandon
1ce516f962 fix(lint): Update eslint path 2021-02-16 01:08:50 -06:00
Brandon
947580bded chore(deps): Bump dependencies
revert(assets): Rename js/ back to scripts/
revert(assets): Rename css/ back to styles/
2021-02-16 01:08:50 -06:00
Ben Word
b26f4d949b Update sponsors [ci skip] 2021-02-16 01:08:50 -06:00
Mosaad
6c76ae10d5 fix(composer): use proper wp cli command name (#2636) 2021-02-16 01:08:50 -06:00
Brandon
fca7d333af chore(deps): Bump dependencies 2021-02-16 01:08:50 -06:00
Brandon
9efe8f65db chore(deps): Bump dependencies
chore(view): Remove tabindex from main selector
2021-02-16 01:08:50 -06:00
Brandon
5a64af4306 chore(deps): optimize tailwind's purgecss dirs 2021-02-16 01:08:50 -06:00
Michael W. Delaney
4cd56fc1a6 enhance(view): Add "skip to content" link (#2622) 2021-02-16 01:08:50 -06:00
Brandon
57d0f0f9ec chore(theme): reword soil docblock 2021-02-16 01:08:50 -06:00
Brandon
b88b70fffc fix(deps): Remove wildcards from .copyDirectory() in webpack.mix.js
chore(deps): Remove reundently passed tailwind config location
chore(deps): Slightly reorganize webpack.mix.js
chore(deps): Bump dependencies
2021-02-16 01:08:50 -06:00
Brandon
0be720795c chore(deps): Bump dependencies 2021-02-16 01:08:50 -06:00
Brandon
7005ccfa97 chore(ci): Add --frozen-lockfile arg to yarn install 2021-02-16 01:08:50 -06:00
Brandon
ce1dbae0bc chore(lint): Tone down the lint script 2021-02-16 01:08:50 -06:00
Brandon
1a390a542c chore(deps): Bump dependencies 2021-02-16 01:08:50 -06:00
Brandon
922ec424d7 chore(project): Remove .circleci and add .github to .gitattributes
chore(docs): Change build badge to GitHub actions
2021-02-16 01:08:50 -06:00
Brandon
b9183e3c12 chore(ci): Change workflow event to only target master 2021-02-16 01:08:50 -06:00
Brandon
1e2b668408 enhance(ci): Change from CircleCI to GitHub actions 2021-02-16 01:08:50 -06:00
Brandon
8d47d0431b wip 2021-02-16 01:08:50 -06:00
Brandon
4c12158efc wip(ci): Change from CircleCI to GitHub actions 2021-02-16 01:08:50 -06:00
Brandon
decc9ac9af wip(ci): Change from CircleCI to GitHub actions 2021-02-16 01:08:50 -06:00
Brandon
3da4e89f5d chore(theme): Remove specificity from custom-units theme support 2021-02-16 01:08:50 -06:00
Brandon
f7fe7f1d55 enhance(theme): Add theme support for custom-line-height 2021-02-16 01:08:50 -06:00
Brandon
4efaf40713 chore(theme): Fix docblock link 2021-02-16 01:08:50 -06:00
Brandon
f514a58132 chore(theme): Move custom-spacing up for visibility 2021-02-16 01:08:50 -06:00
Brandon
a2d5a5771f enhance(theme): Add theme support for custom-units 2021-02-16 01:08:50 -06:00
Brandon
a1db502e58 enhance(theme): Add theme support for editor-gradient-presets, editor-font-sizes, disable-custom-colors, disable-custom-gradients, disable-custom-font-sizes, custom-spacing
enhance(theme): Remove theme support for default block patterns
chore(theme): Reorder actions inside of the `after_setup_theme` hook by usefulness
chore(ci): Add `8.0` to version matrix
2021-02-16 01:08:50 -06:00
Brandon
c9a9e00cf3 fix(ci): Add test to package.json scripts 2021-02-16 01:08:50 -06:00
Brandon
757f5c7a19 fix(ci): Drop PHP 7.2 from test matrix 2021-02-16 01:08:50 -06:00
Brandon
b911b07efb chore(readme): Update theme structure example 2021-02-16 01:08:50 -06:00
Brandon
be4c81fb7a chore(view): Remove redundant selector 2021-02-16 01:08:50 -06:00
Brandon
9a82b82388 chore(deps): Remove cross-env as it is no longer necessary 2021-02-16 01:08:50 -06:00
Brandon
0ed9ab724f feat(assets): Change default CSS framework to Tailwind
* enhance(view): Add light default styling for Tailwind
* chore(view): Clean up unnecessary selectors and spacing
* feat(acorn): Update Acorn for Laravel 8.x
* chore(acorn): Create default `bootstrap/` project directory for Laravel 8.x
* refactor(acorn): Split the Acorn bootloader between `functions.php` and `bootstrap/app.php` to coincide with Laravel
* refactor(assets): Lighten the out of the box CSS boilerplate
* refactor(assets): Rename `dist/` to `public/` to coincide with Laravel
* refactor(assets): Flatten the `assets/` directory into `resources/` to coincide with Laravel
* refactor(assets): Rename `scripts/` to `js/` to coincide with Laravel
* refactor(assets): Rename `styles/` to `css/` to coincide with Laravel
* feat(deps): Update to Laravel Mix ^6.0
* chore(deps): Change Mix-related package.json `scripts` to the new `mix` binary
* chore(deps): Remove PurgeCSS in favor of Tailwind's built in purge
* chore(deps): Remove deprecated/unnecessary/unused dependencies
* chore(deps): Bump minimum PHP version to 7.3 to coincide with Laravel 8.x
2021-02-16 01:08:50 -06:00
Ben Word
63af5bb9a1 Update sponsors [ci skip] 2020-12-04 09:10:06 -07:00
Mosaad
ff9d53bf26 Correct "trailingComma" value for prettier (#2582)
For "trailingComma" in `.prettierrc`, the value "true" is not accepted. Valid values are: "es5", "none", "all" https://prettier.io/docs/en/options.html#trailing-commas
2020-11-23 16:03:42 -06:00
dependabot-preview[bot]
4e122d8dde Bump squizlabs/php_codesniffer from 3.5.6 to 3.5.8 (#2562)
Bumps [squizlabs/php_codesniffer](https://github.com/squizlabs/PHP_CodeSniffer) from 3.5.6 to 3.5.8.
- [Release notes](https://github.com/squizlabs/PHP_CodeSniffer/releases)
- [Commits](https://github.com/squizlabs/PHP_CodeSniffer/compare/3.5.6...3.5.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-09 18:15:08 -07:00
dependabot-preview[bot]
cc4cd9c277 Bump bootstrap from 4.5.2 to 4.5.3 (#2554)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.5.2 to 4.5.3.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.5.2...v4.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-11-09 18:14:34 -07:00
Tang Rufus
1dd9d6880e package.json: Specify supported node versions (#2555) 2020-11-09 18:12:49 -07:00
Ben Word
ba4e3964f4 Update sponsors [ci skip] 2020-10-03 10:13:24 -06:00
Ben Word
690d25fcdb Soil: Activation updates for latest version (#2527) 2020-08-30 10:04:32 -06:00
Brandon
c3ba736e6c Housekeeping (#2520)
* enhance(project): Add .prettierrc to project
* chore(deps): Bump dependencies
* chore(view): Improve readability of the search form view
* chore(admin): Improve language used in the customize_register filter docblock
* chore(lint): Lint project assets
* chore(change-log): Improve/prepare the changelog for actual release
* chore(readme): Improve README feature list
* chore(readme): Update README theme directory structure
* chore(readme): Add GitHub sponsors badge
* chore(readme): Clean up various wording
* fix(ci): Fix failing tests
* fix(mix): Add index.php to purgecss scope (Supersedes #2423) (Credit @oxyc)
2020-08-20 13:35:15 -05:00
Smeedijzer Internet
679fced7cd Update setup.php (#2499)
add_theme_support('html5, [.... 'script', 'style']); removes type="text/javascript" and type=”text/css” from enqueued scripts and styles.
2020-08-18 09:34:01 -06:00
Daniel Sturm
959e8932ea Fix typos in latest changes (#2502) 2020-07-02 02:42:59 -05:00
dependabot-preview[bot]
0bc6c1e9f9 Bump roots/acorn from 1.0.8 to 1.0.9 (#2500)
Bumps [roots/acorn](https://github.com/roots/acorn) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/roots/acorn/releases)
- [Commits](https://github.com/roots/acorn/compare/v1.0.8...v1.0.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-07-01 11:27:52 -05:00
Tang Rufus
37a64c0e98 ci: Use offical CircleCI PHP and Node orbs, and next-gen docker images (#2484) 2020-06-27 19:59:27 -07:00
Ben Word
4731a1ca9f Update sponsors [ci skip] 2020-05-18 19:32:57 -06:00
Ben Word
f7c711971c Update CHANGELOG [ci skip] 2020-05-16 04:39:04 -06:00
dependabot-preview[bot]
925c1bbb67 Bump bootstrap from 4.4.1 to 4.5.0 (#2467)
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.4.1 to 4.5.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.4.1...v4.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-16 04:37:15 -06:00
dependabot-preview[bot]
4fac7164cf Bump @wordpress/babel-preset-default from 4.12.1 to 4.13.0 (#2468)
Bumps [@wordpress/babel-preset-default](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default) from 4.12.1 to 4.13.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/master/changelog.txt)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/babel-preset-default@4.13.0/packages/babel-preset-default)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-16 04:37:04 -06:00
dependabot-preview[bot]
c135401671 Bump roots/acorn from 1.0.6 to 1.0.8 (#2469)
Bumps [roots/acorn](https://github.com/roots/acorn) from 1.0.6 to 1.0.8.
- [Release notes](https://github.com/roots/acorn/releases)
- [Commits](https://github.com/roots/acorn/compare/v1.0.6...v1.0.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-16 04:36:47 -06:00
Brandon
1978035953 Update README [ci skip] 2020-05-10 16:39:50 -06:00
QWp6t
ad40b5b0c6 Sage 10 (#2138)
* Sage 10 (#2122)

There's a new version of Sage in the pipeline. The most significant change is the introduction of Acorn. I'll release more information about Acorn as it nears completion.

TODO

- [ ] Restructure templates (@retlehs)
- [ ] Code splitting (@austinpray, @QWp6t, @swalkinshaw)
- [ ] WooCommerce compatibility (@QWp6t, @retlehs)
- [ ] API for build process (possibly extend Laravel Mix) (@QWp6t, @austinpray)
- [ ] Acorn - https://github.com/QWp6t/acorn/issues/1 (@QWp6t)
- [ ] Documentation

Sage 10 and Acorn are both still works in progress so you should definitely not start any projects with them in their current state unless you're willing to do an inordinate amount of debugging and go through the hassle of keeping up with updates as we push them.

* Add wp_body_open hook (WP 5.2+)

* Add missing search blade
Enable preflight by default
Bump version to 10.0.0 in package.json and style.css
Change PHP requirement to 7.1.3
Upgrade roots/sage-installer
Remove deprecated qwp6t/acorn repository from composer.json
Add some sane optimizations to composer.json
Remove excessive linebreaks from helpers.php
Make config linebreaking uniform
Add missing space to ! conditionals to stay consistent with PSR-1/2
Update the file structure in README.md and add the new sponsor
Revert to shorthand @php()
Add aside markup to sidebar and wrap it in @hasSection
Add a document wrapper
Add ARIA roles to the document, main, aside, header, nav, and footer wrappers
Change entry-meta conditional in content-search.blade.php to an @includeWhen
Add some sane linebreaks throughout the views and codebase to increase readability
Add docblocks to the example Title.php composer

* Add WP Blade Check

* Remove redundant ARIA roles

* Revert language_attributes() to get_language_attributes()
Remove roots/wp-blade-check until we decide on where to put it
Only enable preflight when not in production

* Make searchform translations match WordPress core

* Update Travis conf

* rmdist is gone in Sage 10

* Change to Laravel Mix
Clean up and refactor starter styles
Remove autoload from styles/scripts
Remove $ import on customizer.js as Mix autoload will handle that
Fix conditional on comments.blade.php
Bump PHP version to 7.1.3 on Travis
Remove unnecessary fields in package.json as it will never be published
Rename main.css/main.js to app.css/app.js
Automatically remove Blade cache when theme is activated, changed, or removed

* Simplify Blade cache removal

* Use ->uri() on asset for sanity purposes

* Fix app.js typo

* Add npm-run-all

This lets us run related scripts together pretty easily since we can
use glob patterns (e.g. `lint:*` — `**` is supported too). You can
either run scripts sequentially with `run-s` or in parallel with
`run-p`.

See: https://github.com/mysticatea/npm-run-all

* Add -c (continue on error) flag to lint command

This way lint issues for the scripts doesn’t block the styles from being
linted.

* run-s all the things

* Break up `build:production`
* Refine `start` script to call `build` but using `--watch`
  * Since the base command is the same, this makes it easier to
    maintain.
* Use run-s for `test` script for consistency.

* Refactor build commands

The only thing that differs between `build` and `build:production` is
the Node environment variable. We can use `run-s build:mix` preceeded by
the correspinding environment setting.

* Fix start command

We need to pass `--watch` to the `build:mix` not `build`. Also, this
means we need to set the Node environment beforehand since `build:mix`
doesn’t have that.

* Fix hot command

`dist` needs to exist for HMR to work since it looks for `dist/hot`.
This means we should probably build once before starting HMR. This also
renames `build:mix` to just `mix` to keep a consistent naming scheme.

* Move cache location to `storage/`
Add app.name to configuration
Add a ServiceProvider stub
Add missing trailing commas to config
Remove automatic Blade cache removal action as it is no longer necessary
Clean up .gitignore
Clean up JavaScript docblocks
Remove home.js example
Remove leftover Sage 9 information from README

* Remove redundent $asset in setup.php

* Add clean:views npm script (#2176)

Since views are in a predictable location within the theme, this might
be handy. A side effect of adding this is that generated views are now
cleared on every production build, which might be a good thing. If not,
it’s not hard to change.

* [Sage 10] Add src and public mix path helpers (#2177)

Since Mix uses the `webpack.mix.js` path as the webpack context and
doesn’t let us change the context, having a helper can make it easier to
add new assets. It also provides a single source of truth for the assets
source directory.

Also, this adds a `public` function which just makes it easy for setting
the `to` path in the `copyDirectory` task.

By including the definitions of these functions within the
`webpack.mix.js` file itself it makes it clear to Sage users that they
are not a part of Mix.

* Typo [ci skip]

* Syntax optimizations

* Combine watch rules using extended glob patterns
* Use template literals for mix helpers (src + public). Makes it seem
  less cluttered.

* Use out instead of public for publicPath helper

`public` is a future reserved word in JS

* Use publicPath instead of out

* Use Roots\Acorn\ServiceProvider (#2180)

* Make editorconfig account for Blade's outside of resources/views

* non-Blade files located in resources/views should also be indent_size = 2

* [Sage 10] Replace jQuery’s .ready() (#2182)

* Use DOMContentLoaded listener for document ready
* Account for DOMContentLoaded not firing
* Extract ready() to utils.js

Also uses `window.setTimeout(fn, 0)` to cover async.

In a commit/PR in the near future, the `util` directory will be going
away since the DOM router has been extracted to its own package
(https://github.com/roots/js-dom-router). `utils.js` will function as a
place for custom utilities, similar to what `app/helpers.php` is on the
PHP side of things.

* Replace Travis CI with CircleCI (#2185)

* Replace Travis CI with CircleCI

* Replace badge [ci skip]

* Optimize CircleCI (#2186)

* Optimize CircleCI

* Change cache keys

* Update .gitattributes

* Update .gitattributes

* Optimize CircleCI config (#2188)

* Update composer dependencies

* Bump required WordPress version (#2193)

* Change WordPress requirement to 5.2

* Restructure (#2200)

* Restructure Sage
* Composer test -> lint

* Fix version_compare() operators (#2195)

* Simplify Mix Browsersync API (#2198)

* New DOM router + dynamic imports (#2190)

* Use new js-dom-router 
* add dynamic import support with example
* Use babel-eslint as eslint parser

* Update dependencies

* Add post-autoload-dump script for package discovery (#2201)

* CircleCI: `yarn install` with `--frozen-lockfile` (#2203)

* Bump babel-eslint from 10.0.1 to 10.0.2 (#2209)

Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 10.0.1 to 10.0.2.
- [Release notes](https://github.com/babel/babel-eslint/releases)
- [Commits](https://github.com/babel/babel-eslint/compare/v10.0.1...v10.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass from 1.21.0 to 1.22.0 (#2211)

Bumps [sass](https://github.com/sass/dart-sass) from 1.21.0 to 1.22.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.21.0...1.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint-plugin-import from 2.17.3 to 2.18.0 (#2210)

Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.17.3 to 2.18.0.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.17.3...v2.18.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint from 5.16.0 to 6.0.1 (#2212)

Bumps [eslint](https://github.com/eslint/eslint) from 5.16.0 to 6.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v5.16.0...v6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix npm run start script options not forwarded with npm (#2205)

This is a known difference between yarn and npm and will eventually
break with yarn once backwards compatibility is removed.

* Use WordPress’ Browserslist config (#2214)

Co-authored-by: Ben Word <ben@benword.com>

* Bump sass from 1.22.0 to 1.22.1 (#2216)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.0 to 1.22.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.0...1.22.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass from 1.22.1 to 1.22.3 (#2218)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.1 to 1.22.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.1...1.22.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump laravel-mix from 4.0.16 to 4.1.2 (#2219)

Bumps [laravel-mix](https://github.com/JeffreyWay/laravel-mix) from 4.0.16 to 4.1.2.
- [Release notes](https://github.com/JeffreyWay/laravel-mix/releases)
- [Commits](https://github.com/JeffreyWay/laravel-mix/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update README [ci skip]

* [Security] Bump lodash from 4.17.11 to 4.17.14 (#2259)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.14. **This update includes security fixes.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass from 1.22.3 to 1.22.4 (#2260)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.3 to 1.22.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.3...1.22.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* chore(readme): Use brand color for Twitter follow badge

[ci skip]

* Acorn asset manager config (#2220)

* Add logs directory

* Bump sass from 1.22.4 to 1.22.5 (#2263)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.4 to 1.22.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.4...1.22.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Add alert component with view composer (#2267)

Resolves #2262

* Fix broken source maps + remove unnecessary conditionals (#2268)

Resolves #2266

Laravel Mix has a bug where source maps are not generated if you do not
specify the source map type (the second argument). This corrects that.

Co-authored-by: Matt Mirus <matt@mattmirus.com>

* chore(config): add alert component alias to view config (#2272)

This also updates Acorn.

* Bump sass from 1.22.5 to 1.22.7 (#2273)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.5 to 1.22.7.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.5...1.22.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint-plugin-import from 2.18.0 to 2.18.2 (#2275)

Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.18.0 to 2.18.2.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.18.0...v2.18.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* No scripts/suggests during `composer install` on CircleCI [ci skip]

* Add timezone, globals, and locale app config [ci skip]

* Add logging config

* Update theme structure in README [ci skip]

* Move get_search_form and body_class to Acorn
comments_template() now defaults to `partials/comments.blade.php`
Composers are now autoloaded

* Bump sass from 1.22.7 to 1.22.9 (#2281)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.7 to 1.22.9.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.7...1.22.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint from 6.0.1 to 6.1.0 (#2276)

Bumps [eslint](https://github.com/eslint/eslint) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.0.1...v6.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update sponsors [ci skip]

* Keep a commented out example of calling a Composer class

* Bump dependencies
Add sage-svg (#2270)
Add sage-directives (#2265)
Start changelog (Related to #2271)

* Set `wp_nav_menu` echo to `false` (#2278)

* Bump @wordpress/browserslist-config from 2.5.0 to 2.6.0 (#2282)

Bumps [@wordpress/browserslist-config](https://github.com/WordPress/gutenberg/tree/HEAD/packages/browserslist-config) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/master/packages/browserslist-config/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/browserslist-config@2.6.0/packages/browserslist-config)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* chore(deps): log1x/sage-directives from 1.0.9 to 1.1.2 (#2286)

Bumps [log1x/sage-directives](https://github.com/Log1x/sage-directives) from 1.0.9 to 1.1.2.
- [Release notes](https://github.com/Log1x/sage-directives/releases)
- [Changelog](https://github.com/Log1x/sage-directives/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Log1x/sage-directives/compare/v1.0.9...v1.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass-loader from 7.1.0 to 7.2.0 (#2287)

Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v7.1.0...v7.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Remove unnecessary linebreak [ci skip]

* docs(changelog): Use lowercase for "webpack"

Keeps it consistent with [their brand](https://webpack.js.org/branding/#the-name).

[ci skip]

* Bump rimraf from 2.6.3 to 3.0.0 (#2289)

Bumps [rimraf](https://github.com/isaacs/rimraf) from 2.6.3 to 3.0.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Commits](https://github.com/isaacs/rimraf/compare/v2.6.3...v3.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass from 1.22.9 to 1.22.10 (#2292)

Bumps [sass](https://github.com/sass/dart-sass) from 1.22.9 to 1.22.10.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.22.9...1.22.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass-loader from 7.2.0 to 7.3.1 (#2293)

Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 7.2.0 to 7.3.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v7.2.0...v7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint from 6.1.0 to 6.2.1 (#2294)

Bumps [eslint](https://github.com/eslint/eslint) from 6.1.0 to 6.2.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.1.0...v6.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump babel-eslint from 10.0.2 to 10.0.3 (#2295)

Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/babel/babel-eslint/releases)
- [Commits](https://github.com/babel/babel-eslint/compare/v10.0.2...v10.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint from 6.2.1 to 6.2.2 (#2296)

Bumps [eslint](https://github.com/eslint/eslint) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.2.1...v6.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump log1x/sage-directives from 1.1.2 to 1.1.3 (#2297)

Bumps [log1x/sage-directives](https://github.com/Log1x/sage-directives) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/Log1x/sage-directives/releases)
- [Changelog](https://github.com/Log1x/sage-directives/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Log1x/sage-directives/compare/v1.1.2...v1.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Adds i18n support (#2290)

Adds translation commands to package.json. Includes support for Javascript strings.

Adds translator comment to example app/Composers/Title.php.

Does not implement the loading of translated strings as this is a costly operation and implementations can be opinionated.

* Update Composers to work with the latest Acorn
- Bump dependencies
- Run all translate commands with translate:*

* Use $this->data in the Alert Composer (#2300)

* Use $this->data for handling data in the example Alert composer
* Bump Acorn

* Update sponsors [ci skip]

* Update sponsors [ci skip]

* Update sponsors [ci skip]

* Call ->render() on view instead of relying on toString (#2330)

* Bump for Acorn (#2337)

* Breaking Change: Bump required PHP version to 7.2
* chore(deps): Bump dependencies
* fix(app): Change app.env and app.debug default values (important*)
* chore(deps-dev): Add filp/whoops to required-dev
* chore(ci): Remove php-71 from CircleCI

* Use mix-manifest.json (Fixes #2329)

* Pre-Sage 10 Alpha (#2338)

- Refactor default styles and scripts
- Clean up default view markup
- Change `Title.php` to `Post.php` to suggest a more organized workflow (Supersedes #2320)
- Create an `App` composer to show an example of a global variable
- Add `align-wide` and `responsive-embeds` to `add_theme_support` by default
- Remove deprecated `soil-jquery-cdn` from `add_theme_support`
- Clean up docblocks project-wide
- Update linting to match the latest PSR-12 standards (e.g. the license docblocks)
- Add an appropriate `#app` wrapper to make the project ready for frameworks like Vue
- Add `laravel-mix-purgecss` for purgeCSS in production
- Add `laravel-mix-copy-watched` for asset watching & versioning
- Add `laravel-mix-wp-blocks` to handle compiling blocks
- Reduce the footprint of the default `webpack.mix.js`
- Append filetypes to asset names
- Add default block editor assets
- Add handling for the WordPress asset manifest
- Remove visual editor styling (Fixes #2269)
- Add sensible default styles and folders
- Remove unused `phpcs.xml`
- Move `sage-directives` and `sage-svg` to suggests
- Bump dependencies
- Add Brandon Nifong as an author
- Change license URI to https
- Remove unused function namespaces from setup.php
- Append filetypes to asset names
- Add default block editor assets
- Add handling for the WordPress asset manifest
- Ignore dist when running phpcs
- Change the search input class the the WP default

* Inline manifest.js when enqueueing editor.js (#2344)

* Add theme color palette support (#2352)

* Bump bootstrap from 4.3.1 to 4.4.1 (#2350)

Bumps [bootstrap](https://github.com/twbs/bootstrap) from 4.3.1 to 4.4.1.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v4.3.1...v4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump eslint from 6.6.0 to 6.7.2 (#2354)

Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump sass from 1.23.3 to 1.23.7 (#2345)

Bumps [sass](https://github.com/sass/dart-sass) from 1.23.3 to 1.23.7.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.23.3...1.23.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Sage 10 editor scripts & styles (#2351)

* adds alternate button style and super basic starter css

* Adds transition variable

* Add bootstrap max-width to editor-styles

* updates button scss, editor wrapper scss, and registration

* rename is-style-ghost to is-style-outline

* simplify structure and cleanup css

* Protect Ben Word's typographic holdings

* Remove scoping from .has-xyz-color classes

* Restore scss partial import structure

* rename partials, move color util, apply bootstrap font

* alphabetical selectors ¯\_(ツ)_/¯

* Bump stylelint from 11.1.1 to 12.0.0 (#2342)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 11.1.1 to 12.0.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/11.1.1...12.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Bump squizlabs/php_codesniffer from 3.5.2 to 3.5.3 (#2356)

Bumps [squizlabs/php_codesniffer](https://github.com/squizlabs/PHP_CodeSniffer) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/squizlabs/PHP_CodeSniffer/releases)
- [Commits](https://github.com/squizlabs/PHP_CodeSniffer/compare/3.5.2...3.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* README updates for 10.0.0-alpha.1 (#2271)

* Update theme structure + files in README

* Update setup.php

* Keep hierarchical assets directory structure (#2372)

* fix(stylelint): Fix broken tests (#2375)

feat(stylelint): Set `at-rule-empty-line-before` to `null` to allow sane seperation of imports

* chore(deps): Bump dependencies (#2376)

* update laravel-mix-wp-blocks (#2381)

* Update sponsors [ci skip]

* Sage 10 fixes/cleanup (#2413)

* fix(templates): Move the document wrapper from app.blade.php to index.php to fix hook run sequence (See: #2123)
* feat(mix): Add purgecss-with-wordpress whitelists by default
* chore(docblocks): Remove copyright/license from PHP docblocks
* chore(babel): Remove unused dynamic import plugin until Webpack 5
* chore(babel): Remove unused .babelrc
* chore(deps): Bump dependencies

* Laravel 7.x (#2429)

* enhance(acorn): Update to Laravel 7.x
* enhance(blade): Convert existing alert component to a new View Component
* chore(deps): Bump minimum PHP version to 7.2.5
* chore(deps): Bump dependencies
* chore(configs): Clean up configs
* BREAKING(config): Bump configs to support Laravel 7.x
* BREAKING(components): @Alert() has been replaced with <x-alert ...>
* BREAKING(composers): View co

* enhance(deps): Add `Requires PHP` and `Requires at least` to theme style headers. Bump WordPress requirement to v5.4 (#2409)

* Sage 10 Chores (#2431)

* enhance(functions): Make functions.php pretty
* fix(component): Fix improper use of translation on the Alert component
* enhance(component): Add `$slot` fallback ternary to the Alert component view
* chore(component): Move Alert component message to a slot by default to properly pass the translated string.
* chore(component): Properly set default values for Alert
* chore(deps): Bump dependencies
* chore(theme): Fix required PHP version in style.css

* Bump roots/acorn from 1.0.2 to 1.0.3 (#2433)

Bumps [roots/acorn](https://github.com/roots/acorn) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/roots/acorn/releases)
- [Commits](https://github.com/roots/acorn/compare/v1.0.2...v1.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump roots/acorn from 1.0.3 to 1.0.4 (#2440)

Bumps [roots/acorn](https://github.com/roots/acorn) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/roots/acorn/releases)
- [Commits](https://github.com/roots/acorn/compare/v1.0.3...v1.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump stylelint from 13.2.1 to 13.3.0 (#2439)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.2.1 to 13.3.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.2.1...13.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Update sponsors [ci skip]

* Bump roots/acorn from 1.0.4 to 1.0.6 (#2444)

Bumps [roots/acorn](https://github.com/roots/acorn) from 1.0.4 to 1.0.6.
- [Release notes](https://github.com/roots/acorn/releases)
- [Commits](https://github.com/roots/acorn/compare/v1.0.4...v1.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump @wordpress/dependency-extraction-webpack-plugin from 2.4.0 to 2.5.0 (#2448)

Bumps [@wordpress/dependency-extraction-webpack-plugin](https://github.com/WordPress/gutenberg/tree/HEAD/packages/dependency-extraction-webpack-plugin) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/master/packages/dependency-extraction-webpack-plugin/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/dependency-extraction-webpack-plugin@2.5.0/packages/dependency-extraction-webpack-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump @wordpress/babel-preset-default from 4.11.0 to 4.12.1 (#2450)

Bumps [@wordpress/babel-preset-default](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default) from 4.11.0 to 4.12.1.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/master/changelog.txt)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/babel-preset-default@4.12.1/packages/babel-preset-default)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump squizlabs/php_codesniffer from 3.5.4 to 3.5.5 (#2451)

Bumps [squizlabs/php_codesniffer](https://github.com/squizlabs/PHP_CodeSniffer) from 3.5.4 to 3.5.5.
- [Release notes](https://github.com/squizlabs/PHP_CodeSniffer/releases)
- [Commits](https://github.com/squizlabs/PHP_CodeSniffer/compare/3.5.4...3.5.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump laravel-mix-copy-watched from 2.2.3 to 2.2.4 (#2452)

Bumps [laravel-mix-copy-watched](https://github.com/dsktschy/laravel-mix-copy-watched) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/dsktschy/laravel-mix-copy-watched/releases)
- [Commits](https://github.com/dsktschy/laravel-mix-copy-watched/compare/v2.2.3...v2.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump jquery from 3.4.1 to 3.5.0 (#2445)

Bumps [jquery](https://github.com/jquery/jquery) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.4.1...3.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Bump stylelint from 13.3.0 to 13.3.3 (#2453)

Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.3.0 to 13.3.3.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.3.0...13.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Update README.md

Co-authored-by: Ben Word <ben@benword.com>
Co-authored-by: Brandon Nifong <brandon@tendency.me>
Co-authored-by: Nathan Knowler <nathan@knowler.me>
Co-authored-by: Tang Rufus <tangrufus@gmail.com>
Co-authored-by: dependabot-preview[bot] <dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Oskar Schöldström <m@oxy.fi>
Co-authored-by: Matt Mirus <matt@mattmirus.com>
Co-authored-by: Kelly Mears <developers@tinypixel.dev>
2020-05-10 16:22:44 -06:00
Ben Word
33fd5bb943 Update sponsors 2020-05-09 12:20:53 -06:00
Ben Word
255e27d1e4 Update sponsors [ci skip] 2020-04-12 10:02:56 -06:00
Ben Word
24feb1fed2 Update sponsors [ci skip] 2020-02-11 15:45:39 -07:00
Ben Word
9ceb984167 Update sponsors [ci skip] 2019-10-01 18:33:23 -06:00
Ben Word
b2aecae851 Update sponsors [ci skip] 2019-09-30 19:13:28 -06:00
Ben Word
1492cfa0bb Update sponsors [ci skip] 2019-09-30 17:35:49 -06:00
Scott Walkinshaw
c8b3023fbe Fix issue-close-message 2019-09-01 23:25:42 -04:00
Scott Walkinshaw
fa79947b8b Add issue closer github action 2019-09-01 23:24:17 -04:00
Ben Word
e57ee3b9d6 Update sponsors [ci skip] 2019-07-31 19:58:49 -06:00
Ben Word
2a9390e287 Update sponsors [ci skip] 2019-04-01 07:39:30 -06:00
Ben Word
5fa9e683e1 Merge pull request #2160 from roots/default-health-files
Remove community health files so that defaults from roots/.github are used
2019-03-12 16:47:38 -06:00
Ben Word
e6159d8c76 Remove community health files so that defaults from roots/.github are used 2019-03-12 16:35:08 -06:00
Ben Word
f9b0404c57 Merge pull request #2153 from roots/bs-4-3.1
Update to Bootstrap 4.3.1 (9.0.9)
2019-02-13 18:30:50 -07:00
Ben Word
1be3a07fdc Update to Bootstrap 4.3.1 2019-02-13 18:18:40 -07:00
Ben Word
e0a8834f58 Merge pull request #2152 from roots/bs-4-3.0
Update to Bootstrap 4.3.0 (9.0.8)
2019-02-11 20:35:05 -07:00
Ben Word
2afa40f6c0 Update to Bootstrap 4.3.0 2019-02-11 20:23:44 -07:00
Matt Mirus
2f8fa48957 Filter template hierarchy for embed templates (#2145) 2019-01-15 16:42:00 -08:00
Michael Van Der Velden
97dd535934 Decrease optipng level (#2143)
After seeing the following graph [here](http://sweetme.at/2013/09/11/how-to-maximize-png-image-compression-with-optipng/) we decided to test optimsation level 2 for OptiPNG instead of 7. This is because, acording to the graph we would notice no real difference in avarage file size but would notice a speed increase with our builds.

![image](https://user-images.githubusercontent.com/9092863/50760280-39a7c480-125f-11e9-9bd6-d28171289abe.png)

After testing , we noticed our theme build go from a build time of over 10 mins (just on the 94% asset optimisation step) to an avarage of `150.75s`. All the while, we only gained 10-15kb per png file which we believe more than reasonable for a build speed increase of this magnatude.
2019-01-15 01:03:38 -08:00
Ben Word
fe6773638b Merge pull request #2141 from roots/unescape-titles
Unescape post titles
2019-01-08 14:12:47 -07:00
Ben Word
5d7d1fe8ee Update sponsors [ci skip] 2019-01-02 14:49:30 -06:00
Matt Mirus
737f811bbe Unescape post titles 2018-12-31 16:06:17 -05:00
Ben Word
61f8841d7d Merge pull request #2137 from roots/9.0.7
9.0.7
2018-12-28 11:05:30 -07:00
Ben Word
00c68bb672 9.0.7 2018-12-28 10:56:37 -07:00
Ben Word
6df9d891cb When you're sloppy and forget things 😇 2018-12-21 14:22:59 -07:00
Ben Word
ea4291bd39 Merge pull request #2136 from roots/bootstrap-4.2.1
Sage 9.0.6: Update to Bootstrap 4.2.1
2018-12-21 13:40:29 -07:00
Ben Word
936c887a5d Require Node 8+, also test PHP 7.2 and 7.3 2018-12-21 13:28:51 -07:00
Ben Word
c4a49d1bbc Shoutout to npm: https://npm.community/t/npm-install-downgrading-resolved-packages-from-https-to-http-registry-in-package-lock-json/1818 2018-12-21 12:44:36 -07:00
Ben Word
231f59aa4a Update to Bootstrap 4.2.1 2018-12-21 12:39:33 -07:00
Naokazu Terada
8092831c01 gitignore /vendors not vendors 2018-11-27 01:43:48 -08:00
Matt Mirus
474a2d848a Merge pull request #2131 from roots/tailwind-at-rules
Fix stylelint and eslint validation errors
2018-11-26 20:51:54 -05:00
Matt Mirus
cf1aa77582 Fix no-extra-semi 2018-11-26 20:40:17 -05:00
Matt Mirus
588d48c21d Update sage-installer 2018-11-26 20:28:29 -05:00
Matt Mirus
6446217d97 Add Tailwind custom at-rules 2018-11-26 20:13:04 -05:00
Ben Word
de0da1f85e Update README.md 2018-11-26 11:34:14 -07:00
Ben Word
e8088a066b Add CodeFirst 2018-11-22 11:34:02 -07:00
Ben Word
b6d41d13fb Merge pull request #2127 from roots/update-deps
Update a few dependencies
2018-11-16 12:14:22 -07:00
Ben Word
8bcee54008 Merge pull request #2080 from tormjens/patch-1
Dispatch event when firing routes
2018-11-16 12:13:34 -07:00
Ben Word
1121ddb920 Update a few dependencies - close #2117 2018-11-16 12:03:04 -07:00
Ben Word
523d668b2d Merge pull request #2076 from rbraunschweig/normalize-quotes
Normalize and enforce single quotes
2018-11-16 11:46:16 -07:00
Ben Word
d88548cb4a Double quotes for styles 2018-11-16 11:41:47 -07:00
Ben Word
592f78f24d Merge branch 'master' into normalize-quotes 2018-11-16 11:34:28 -07:00
Ben Word
d01d1a09e3 Merge pull request #2123 from kimhf/hook-run-sequence
Hook run sequence fix
2018-11-16 11:16:13 -07:00
Ben Word
4e44cb3c17 Merge pull request #2120 from roots/webpack-preset-note
Add note regarding webpack.config.preset.js usage
2018-11-15 16:12:44 -06:00
Ben Word
821bf4bb61 Merge pull request #2125 from roots/fix-sage-dist-path-example
Fix SAGE_DIST_PATH example path
2018-11-15 16:12:26 -06:00
Nathan Knowler
07924269cd Fix SAGE_DIST_PATH example path
Needs the trailing slash.
2018-11-07 16:19:19 -07:00
Kim Helge Frimanslund
70647fb284 More descriptive variable name 2018-10-28 23:37:54 +01:00
Kim Helge Frimanslund
c488744119 Remove no longer needed script enqueue fix 2018-10-27 11:54:30 +02:00
Kim Helge Frimanslund
7fd70d6fc8 Bring hook run sequence in line with expected WordPress behaviour 2018-10-27 11:53:52 +02:00
Nathan Knowler
918c9992d2 Add note regarding webpack.config.preset.js usage
See #2119
2018-10-19 09:49:31 -06:00
Ben Word
5b389077ea Merge pull request #2114 from roots/9.0.5
9.0.5
2018-09-17 11:21:39 -06:00
Ben Word
46766af486 9.0.5 2018-09-17 11:13:10 -06:00
Ben Word
e1d70b90ef Update comment [ci skip] 2018-09-17 11:09:24 -06:00
MWDelaney
a8838f486b Workaround for Bootstrap incompatibility with webpack. Fixes #2017 2018-09-17 10:17:14 -04:00
Ben Word
de3b251fd1 Merge pull request #2112 from roots/9.0.4
9.0.4: Force `illuminate/support` to `5.6.*`
2018-09-07 09:36:32 -06:00
Ben Word
194802e893 Force illuminate/support to 5.6.* 2018-09-07 09:30:38 -06:00
Ben Word
50f4e6c8dc Merge pull request #2111 from roots/9.0.3
9.0.3
2018-09-07 08:17:53 -06:00
Ben Word
62b5ba6faf 9.0.3 2018-09-07 08:02:01 -06:00
Ben Word
86d7459f78 Merge pull request #2110 from roots/revert-2090-master
Revert "Add searchform partial and function to replace default WordPress functionality"
2018-09-07 07:57:23 -06:00
Ben Word
b7d60eb833 Merge pull request #2100 from mejta/comments-template-data
Add data from controller to comments template
2018-09-06 19:14:22 -06:00
Ben Word
bc6fd7352d Revert "Add searchform partial and function to replace default WordPress functionality" 2018-09-06 19:12:32 -06:00
Matt Mirus
fbe0a90c16 Merge pull request #2108 from roots/unescape-language-attributes
Unescape get_language_attributes()
2018-09-06 11:44:57 -04:00
Matt Mirus
0d134643b9 Unescape get_language_attributes() 2018-09-06 11:30:46 -04:00
Daniel Mejta
844d42335f Revert "Final filter that renders template should have PHP_INT_MAX priority."
This reverts commit a9d2541632.
2018-09-05 00:46:31 +02:00
Daniel Mejta
62d8c6f2a5 $comments_template fix 2018-09-03 08:43:51 +02:00
Ben Word
a441f15204 Patreon 2018-08-30 13:36:35 -06:00
Daniel Mejta
a9d2541632 Final filter that renders template should have PHP_INT_MAX priority. 2018-08-28 07:23:58 +02:00
Daniel Mejta
3585d02f43 Add data from controller to comments template 2018-08-28 07:19:59 +02:00
Ben Word
99b2cde397 Merge pull request #2099 from roots/9.0.2
9.0.2
2018-08-21 15:54:44 -06:00
Ben Word
120005bcef 9.0.2 2018-08-21 15:48:26 -06:00
Ben Word
d9652abf98 Merge pull request #2095 from mejta/comments-template-fix
Comments template fix
2018-08-21 15:37:22 -06:00
Ben Word
bae7a79b72 Merge pull request #2025 from darrenjacoby/master
Upgrade to Controller 2.1.0
2018-08-21 15:35:49 -06:00
Ben Word
769a0ef744 Merge pull request #2098 from roots/update-deps
Update dependencies
2018-08-21 15:33:09 -06:00
Ben Word
f796f1cde7 Merge branch 'master' into master 2018-08-21 15:30:05 -06:00
Ben Word
20a6e59f65 Merge pull request #2092 from LubomirGeorgiev/uglifyjs-es5
UglifyJs: Change the ecma option from 8 to 5
2018-08-21 15:26:17 -06:00
Ben Word
4f2980a210 Update dependencies 2018-08-21 15:24:47 -06:00
Ben Word
28b4dec791 Merge pull request #2097 from roots/bootstrap-4.1.3
Update to Bootstrap 4.1.3
2018-08-21 15:19:46 -06:00
Ben Word
4f7ff8a600 Update to Bootstrap 4.1.3 2018-08-21 15:13:27 -06:00
Ben Word
0278cf0155 Merge pull request #2096 from roots/update-sage-installer
Bump sage-installer
2018-08-21 15:08:46 -06:00
Matt Mirus
6c702b0921 Bump sage-installer 2018-08-21 14:54:35 -04:00
Daniel Mejta
53abe14942 Fix 2018-08-21 15:40:11 +02:00
Darren Jacoby
5c6bd4aa97 Update composer.json 2018-08-17 10:15:25 +02:00
Lubomir Georgiev
ab23669164 UglifyJs: Change the ecma option from 8 to 5 2018-08-14 17:23:15 +03:00
Nathan Knowler
b3f046ddfa Use smartStrategy to replace loaders with preset (#2084)
Using `merge.smartStrategy` with `'module.loaders' = 'replace'` to load
the preset config allows presets to override the the default webpack
config. This is necessary for the coming Tailwind preset which requires
`resolve-url-loader` and source maps to be disabled.
2018-08-11 19:32:19 -07:00
Ben Word
104e4c93f4 Merge pull request #2081 from kukac7/patch-2
missing semicolon
2018-08-09 15:11:47 -06:00
Ben Word
009aa93efb Merge pull request #2089 from Log1x/patch-1
Change language_attributes() to get_language_attributes()
2018-08-09 15:11:20 -06:00
Ben Word
b22a371cd5 Merge pull request #2090 from MWDelaney/master
Add searchform partial and function to replace default WordPress functionality
2018-08-09 15:05:09 -06:00
Michael W. Delaney
230f194855 Update filters.php 2018-08-08 09:55:54 -04:00
Michael W. Delaney
28710faf2f Update filters.php 2018-08-08 08:51:00 -04:00
Ben
b912090139 Extract logic from search form template
This removes all logic from the search form Blade template, and extracts
it to the "Controller" level via Sage's filter system. It also adds a
global 'app' filter to hook into, so that the search form data will be
served on every page.
2018-08-06 13:06:34 -07:00
MWDelaney
13b0875bdc Add text domain 2018-08-05 21:15:08 -04:00
MWDelaney
f1cb3a1ef0 Remove gross WPCS 2018-08-05 21:06:46 -04:00
MWDelaney
0984d82b36 Add searchform partial and function to replace (and maintain) default WordPress functionality 2018-08-05 12:07:32 -04:00
Brandon
0eb23162b3 Change language_attributes() to get_language_attributes() 2018-07-31 17:25:45 -05:00
Daniel Roe
cc349672ca Fix missing comment-reply JS (#2085) 2018-07-18 16:37:51 -06:00
Nathan Knowler
9cce28990f Add support for preset specific Webpack config (#2083) 2018-07-17 10:58:16 -07:00
béla
fe6875f0ed missing semicolon 2018-07-02 00:22:37 +02:00
Tor Morten Jensen
e3541fb445 Fix comma dangle lint error 2018-06-20 14:50:43 +02:00
Tor Morten Jensen
dbabd4387a Rename to event 2018-06-20 14:48:28 +02:00
Tor Morten Jensen
ede8c3177b Dispatch event when firing routes
It is especially neat when importing the scripts from the parent theme in a child theme. In one of my themes I do it like this:

```js
// routes.js
import home from './routes/home'

export default {
    home: {
      init() {
        console.log('Home route fired.')
      }
    }
}
```

  ```js
// main.js
/**
 * Parent Themes Script
 */
import '../../../../core-theme/resources/assets/scripts/main';

/**
 * Internal modules
 */
import routes from './routes'

/**
 * Hook in to the parent themes router
 */
document.addEventListener('routed', e => {
  let route = e.detail.route,
    fn = e.detail.fn;

  if (routes[route] && typeof routes[route][fn] === 'function') {
    routes[route][fn]();
  }
});
```
2018-06-20 14:08:10 +02:00
Jason Baciulis
e8748173d9 Add uglifyjs plugin (#2070)
* Add uglifyjs plugin and replace -p flag with --env.production
* Add uglifyjs plugin
* Configure UglifyJsPlugin to drop console and prevent eslint error
* Turn off no-console rule because uglifyjs plugin drops it in prod
2018-06-16 08:33:41 -07:00
Ben Word
fd54c09c8f Merge pull request #2078 from knowler/enable-sass-comments
Enable Sass comments and run prefixing before minification
2018-06-11 11:05:12 -06:00
Nathan Knowler
04362989b6 Add missing trailing commas in f4d8342
Forgot to lint.
2018-06-09 10:34:55 -06:00
Nathan Knowler
33c81a9c72 Run autoprefixer before minification 2018-06-09 09:49:34 -06:00
Nathan Knowler
f4d834214a Enable source comments in Sass 2018-06-09 09:49:08 -06:00
Rhys Braunschweig
a9331c54b3 Normalize and enforce single quotes in styles
- Replace stylelint property in package.json with .stylelintrc.js
- Add string-quotes stylelint rule
- Fix quotes
2018-05-29 12:12:21 +02:00
Rhys Braunschweig
175066e992 Normalize and enforce single quotes in scripts
- Add quotes and semi rules to ESLint
- Fix quotes and semicolons
2018-05-29 12:11:44 +02:00
Ben Word
44a7ad3991 Merge pull request #2075 from E-VANCE/master
Proposal: Set removeViewBox to 'false' in webpack's optimization settings
2018-05-28 19:20:06 -06:00
Henning Orth
ecf1a237c1 Fix travis CI build error (missing trailing comma) 2018-05-28 16:50:49 +02:00
Henning Orth
107747f4a8 Tweaked SVGO settings
Disable removal of the SVG viewBox by default to improve compatibility. See this Discourse thread: https://discourse.roots.io/t/svg-size-change-upon-yarn-build-production/12320
2018-05-28 16:44:12 +02:00
Ben Word
5c318f9494 Merge pull request #2068 from kimhf/template-admin-compatibility
Make template() compatible with wp admin
2018-05-10 09:02:30 -06:00
Kim Helge Frimanslund
85db2c777a Make template() compatible with wp admin 2018-05-06 13:42:31 +02:00
Ben Word
a7a1224427 Merge pull request #2066 from roots/9.0.1
9.0.1
2018-04-30 12:52:11 -06:00
Ben Word
8891658a7a 9.0.1 2018-04-30 12:44:52 -06:00
Ben Word
3d5932f4d6 Merge pull request #2065 from roots/bootstrap-4.1.1
Update to Bootstrap 4.1.1
2018-04-30 12:42:32 -06:00
Ben Word
2fa7546606 Update to Bootstrap 4.1.1 2018-04-30 12:33:53 -06:00
Ben Word
b04abbdf7d Merge pull request #2063 from valentinocossar/remove-whitespace
Remove useless whitespace
2018-04-30 08:11:51 -06:00
Valentino Cossar
c93369b912 Remove useless whitespace 2018-04-27 15:50:26 +02:00
Ben Word
443057361c Merge pull request #2062 from roots/auto-detect-proxyurl-scheme
Auto-detect proxyUrl scheme
2018-04-25 15:57:46 -06:00
Ben Word
e6c7d53bbc Auto-detect scheme 2018-04-25 15:37:28 -06:00
Ben Word
634aec9641 Close #2028 - Increase priority on comments_template filter 2018-04-25 12:18:52 -06:00
Ben Word
d3d45d5901 Merge pull request #1980 from dmgawel/patch-1
Update template hierarchy
2018-04-25 12:16:01 -06:00
Ben Word
157a6c90e0 Remove Font Awesome reference [ci skip] 2018-04-25 12:09:14 -06:00
Ben Word
cd32145f08 Merge pull request #2032 from juniorgarcia/master
Added support to .otf fonts
2018-04-25 12:07:12 -06:00
Ben Word
5ab95bdf3a Merge pull request #2061 from roots/laravel-5.6
Bump to Laravel 5.6
2018-04-25 12:05:01 -06:00
Ben Word
dd36298877 Bump sage-lib 2018-04-25 11:54:08 -06:00
Ben Word
1cb9268040 Close #1962 - Bump to Laravel 5.6 2018-04-25 11:50:58 -06:00
Ben Word
10eba0fc2d Merge pull request #2060 from ttamnedlog/remove-php-shorthand
Remove php blade shorthand
2018-04-22 22:11:56 -06:00
Matt Golden
473729c4ea Remove php blade shorthand 2018-04-18 19:20:06 -05:00
Ben Word
634c03d589 Stable vs dev install messaging, ref https://github.com/roots/docs/issues/140 [ci skip] 2018-04-12 20:10:43 -06:00
Ben Word
a474de5b88 Update some dependencies 2018-04-12 19:56:22 -06:00
Ben Word
ab8b4a7d0d Merge pull request #2056 from roots/bootstrap-4.1.0
Bootstrap 4.1.0
2018-04-12 19:46:05 -06:00
Ben Word
57024f1b86 Update CHANGELOG [ci skip] 2018-04-12 19:44:28 -06:00
Ben Word
74df7c3410 Bootstrap 4.1.0 2018-04-12 19:39:22 -06:00
Ben Word
d360a3bb02 Remove run 👀 [ci skip] 2018-04-12 19:27:31 -06:00
Ben Word
3ffe1728e7 Merge pull request #2055 from MWDelaney/master
New Sage primary purple
2018-04-12 19:08:59 -06:00
Michael W. Delaney
72d5c876ec New Sage primary purple 2018-04-12 20:40:22 -04:00
Darren Jacoby
668a5a1293 Update Controller to 2.0.1 2018-04-03 21:41:19 +02:00
Ben Word
b1eedf3511 Merge pull request #2048 from chancestrickland/master
Update node-sass
2018-03-29 00:24:59 -06:00
Charalambos Poulikidis
a2d696f245 changed inline @php directive to full form (#2042)
closes #2012
2018-03-27 15:38:28 -07:00
chance
9736e9ad7c upgrade node-sass 2018-03-27 08:42:27 -05:00
Ben Word
388034bc1e Merge pull request #2044 from HJGreen/svgo-configuration
Fix default SVG optimisation configuration
2018-03-19 16:57:35 -06:00
Harry Green
0c1eaa06ef Fix default SVG optimisation configuration 2018-03-19 21:42:47 +00:00
Ben Word
e4bf9ade1a Merge pull request #2037 from roots/php-7.1
PHP 7.1+ is now required
2018-03-13 22:47:56 -06:00
Ben Word
56e574d507 PHP 7.1.3+ [ci skip] 2018-03-13 22:47:14 -06:00
Ben Word
081706adb8 PHP 7.1+ is now required 2018-03-06 18:40:13 -07:00
Ben Word
a573f51ac3 Force 5.4.27 version of illuminate/support 2018-03-06 15:31:05 -07:00
Ben Word
50a132a16a Force 5.4 versions of illuminate/support 2018-03-06 14:32:52 -07:00
Ben Word
a182a0d966 Update Composer dependencies 2018-03-06 14:11:50 -07:00
Ben Word
940ad3fd86 Merge pull request #2033 from roots/sponsors
Add sponsors
2018-02-21 09:16:33 -07:00
Ben Word
152e702abf Add sponsors [ci skip] 2018-02-20 19:33:41 -07:00
Júnior Garcia
6b2acff9f4 Added support to .otf fonts 2018-02-19 21:35:58 -03:00
Ben Word
4b3d5d826a Merge pull request #2026 from nacm/patch-1
Update CHANGELOG.md
2018-02-07 22:36:06 -07:00
Ahmed Naseem
404e2fecd9 Update CHANGELOG.md 2018-02-08 12:59:05 +08:00
Darren Jacoby
56b4f01d3d Controller 2.0.0 2018-02-07 19:05:00 +02:00
Ben Word
b6987b3fd9 Merge pull request #2024 from roots/9.0.0
9.0.0
2018-02-07 08:47:46 -07:00
Darren Jacoby
fa730592c0 PSR4 loading for Controller 2.0.0 2018-02-07 17:43:50 +02:00
Darren Jacoby
fe316adf6f PSR4 loading for Controller 2.0.0 2018-02-07 17:43:24 +02:00
Darren Jacoby
63c720c483 PSR4 loading for Controller 2.0.0 2018-02-07 17:39:35 +02:00
Ben Word
4254a94afb 9.0.0 2018-02-07 08:28:33 -07:00
Ben Word
b3dcb3448a Update README [ci skip] 2018-02-06 12:08:02 -07:00
Ben Word
2d4d1ad89e Update CHANGELOG [ci skip] 2018-02-06 12:03:50 -07:00
Ben Word
8c0d29fa55 Merge pull request #2021 from roots/update-deps
Update dependencies
2018-02-06 11:53:45 -07:00
Ben Word
8831c597ab npm lockfile 2018-02-06 11:38:37 -07:00
Ben Word
cec22c69bf Update dependencies 2018-02-06 11:33:57 -07:00
Ben Word
4fafb7044d Merge pull request #2015 from slackday/bootstrap4.0.0
Updated bootstrap to release version 4.0.0
2018-01-23 11:48:28 -07:00
Stefan Lindberg
6faecaf706 Updated bootstrap to release version 4.0.0
Updated popper.js to version 1.12.9
2018-01-23 14:39:29 +01:00
QWp6t
6cf227479b Add php-mbstring to list of requirements
Fixes #2013
2018-01-19 13:03:02 -08:00
Ben Word
50528164e4 Merge pull request #2008 from alwaysblank/allow-console-on-dev
Allow `no-console` development
2017-12-19 10:01:21 -07:00
Ben Martinez-Bateman
908f11010e Don't need this any more! :( 2017-12-18 11:55:42 -08:00
Ben Martinez-Bateman
df2791024e This moves our eslint config in .eslint.js, which allows us to use conditionals in the config file itself, significantly simpliying rule creation. For small-scale differences, this seems to be the simplest solution. 2017-12-18 11:51:12 -08:00
Ben Martinez-Bateman
306b5be2b7 Rename production eslint file from .eslintrcProd to .eslint.production.json as per suggestion from @swalkinshaw: https://github.com/roots/sage/pull/2008#issuecomment-352520506 2017-12-18 10:50:49 -08:00
Ben Martinez-Bateman
21d54dc256 Build process now allows console.log, except when the production flag is set on yarn build, in which case it will throw an error. 2017-12-18 10:37:32 -08:00
Ben Word
3d347dd85a Delete .eslintrc
https://discourse.roots.io/t/console-log-sage-9-eslint/10316/6
2017-12-14 23:04:44 -07:00
Ben Word
cb1dfe1605 Merge pull request #2001 from raziraz/patch-1
Update README.md
2017-12-11 17:27:10 -07:00
Ben Word
be9e3ee762 Merge pull request #2003 from iamandrewluca/remove-bower-traces
Remove some Bower traces
2017-12-11 17:26:31 -07:00
Andrew Luca
640e865311 Remove some Bower traces 2017-12-11 13:32:32 +02:00
razitazi
e80cf7bf90 Update README.md
Added Bulma as a an installation option for css framework.
2017-12-01 12:05:53 +01:00
Ben Word
74bdc798fe Merge pull request #1999 from roots/contributor-covenant
Add Code of Conduct
2017-11-27 17:18:31 -07:00
Ben Word
c796ea0b06 Add Code of Conduct [ci skip] 2017-11-27 17:03:24 -07:00
Ben Word
ea0a20a3d9 Merge pull request #1995 from roots/dev-to-test
Change .dev to .test for default local dev TLD
2017-11-18 17:43:54 -07:00
Ben Word
15b19d7c09 Change .dev to .test for default local dev TLD per https://github.com/roots/trellis/pull/923 2017-11-18 17:40:46 -07:00
Ben Word
e026603be9 Merge pull request #1993 from MWDelaney/master
Move variables and Bootstrap lines to autoload
2017-11-13 15:04:55 -07:00
mwdelaney
cb3cc33128 Bootstrap function in _variables.scss to play nice with other frameworks 2017-11-13 16:59:29 -05:00
Michael W. Delaney
5346177700 Move variables and Bootstrap imports to autoload 2017-11-13 16:10:39 -05:00
Michael W. Delaney
09e4829f29 Remove explicit Bootstrap lines 2017-11-13 16:10:01 -05:00
Ben Word
dd1eacdb81 Merge pull request #1992 from MWDelaney/master
Adapt to use Bootstrap 4 Beta 2 functions and variables
2017-11-13 12:18:07 -07:00
mwdelaney
ab6485eca2 Example $theme-color 2017-11-13 12:44:54 -05:00
Michael W. Delaney
507cc847ca Update main.scss 2017-11-13 12:29:54 -05:00
Ben Word
8d2a3c5e11 Merge pull request #1986 from roots/update-controller-default-examples
Update controller examples
2017-11-01 10:24:35 -06:00
Ben Word
44690d6a03 Update controller examples 2017-10-30 09:53:47 -06:00
Ben Word
2a42854b59 Merge pull request #1981 from roots/bootstrap-4-beta-2
Update to Bootstrap 4 Beta 2
2017-10-20 16:08:35 -06:00
Ben Word
e98c1e1f45 Update dependencies 2017-10-19 14:06:04 -06:00
Ben Word
3b35e92690 Update CHANGELOG [ci skip] 2017-10-19 13:46:50 -06:00
Ben Word
049d8fe0a7 Bootstrap 4 Beta 2 2017-10-19 13:41:02 -06:00
Dawid Gaweł
e4a9fe29d6 Update template hierarchy
All sage/filter_templates/paths have now higher priority than stand-alone template files. Fixes #1979
2017-10-19 12:59:24 +02:00
Ben Word
71b90146bb Merge pull request #1964 from roots/retlehs-patch-1
Remove get_the_posts_navigation from 404
2017-09-12 16:04:32 -06:00
Ben Word
bb45b9fd23 Remove get_the_posts_navigation from 404 2017-09-12 16:04:15 -06:00
DieGOs
b9015dec66 Update config.json (#1963)
Remove old watch path to controllers
2017-08-31 14:05:59 -07:00
Ben Word
921d0cc1a8 Add friendly-errors-webpack-plugin (#1961) 2017-08-23 09:50:59 -07:00
Ben Word
fc3d89ab98 Merge pull request #1960 from greatislander/controller-readme
Move /controllers to app, remove app/lib/Sage in readme
2017-08-22 13:00:31 -06:00
Ned Zimmerman
314ccb4c4c Move /controllers to app, remove app/lib/Sage in readme. 2017-08-22 15:56:26 -03:00
Ben Word
2cf78e2e62 Merge pull request #1959 from darrenjacoby/master
Controller 9.0.0-beta.4
2017-08-22 11:54:19 -06:00
Darren Jacoby
c80b0072db Controller 9.0.0-beta.4 2017-08-22 19:49:09 +02:00
Ben Word
9df26877b0 Merge pull request #1954 from darrenjacoby/master
Change default Controller path to app/controllers
2017-08-22 10:52:12 -06:00
Ben Word
2b4b0024f7 Merge pull request #1955 from oxyc/followup-1950
Followup #1950: Fix lint:styles task with cmd.exe
2017-08-22 10:03:31 -06:00
Oskar Schöldström
b17e5b7f3c Followup #1950: Fix lint:styles task with cmd.exe 2017-08-20 12:36:19 -05:00
Darren Jacoby
bf1304af1e Change default Controller path to app/controllers 2017-08-20 19:14:46 +02:00
Ben Word
8a454282c4 Merge pull request #1941 from kaisermann/fix-template-controller
Ensure templates filenames without path and extension.
2017-08-17 10:53:52 -06:00
Ben Word
de753ad843 Merge pull request #1912 from kaisermann/title-on-controller
Moved title() helper to app.php controller
2017-08-16 21:24:52 -06:00
Ben Word
a5eed22027 Merge pull request #1951 from oxyc/patch-1
Issue #1950: Fix lint:styles script not matching files in deep subdirectories
2017-08-16 21:20:20 -06:00
Ben Word
e9417b86cd Merge pull request #1949 from MWDelaney/master
Fix for plugins that don't enqueue their scripts properly
2017-08-16 21:19:57 -06:00
Oskar Schöldström
f7584d07b9 Fix lint:styles script not matching files in deep subdirectories 2017-08-16 22:00:52 -05:00
Michael W. Delaney
6c472480d0 Update helpers.php 2017-08-14 11:18:40 -04:00
Ben Word
a031f8d17a Merge pull request #1937 from 9585999/patch-1
Update README.md
2017-08-13 19:12:45 -06:00
Michael W. Delaney
33776e9317 Update webpack.config.js (#1946) 2017-08-12 01:34:44 -07:00
Ben Word
79fb1ee5de Merge pull request #1943 from roots/bs4-beta
Bootstrap 4 Beta, Sage 9.0.0-beta.4
2017-08-11 18:18:34 -06:00
Ben Word
d208fa4b4e 👀 2017-08-11 18:12:25 -06:00
Ben Word
66c69063e2 Bump sage-installer 2017-08-11 18:07:12 -06:00
Ben Word
ce754b88df BS4 now requires Popper 2017-08-11 17:59:18 -06:00
Ben Word
05c853ea88 Bump sage-lib 2017-08-11 17:42:48 -06:00
Ben Word
505fa357a7 Bootstrap 4 Beta, Sage 9.0.0-beta.4 2017-08-11 17:36:19 -06:00
DieGOs
1813c82cc0 Update README.md 2017-08-05 12:40:12 +03:00
Christian Kaisermann
0283131d00 Removed comment 2017-07-05 11:37:06 -03:00
Christian Kaisermann
d956e54c85 Moved title() helper to app.php controller 2017-06-23 13:03:35 -03:00
256 changed files with 20433 additions and 20110 deletions

18
.editorconfig Normal file → Executable file
View File

@@ -1,17 +1,25 @@
# editorconfig.org
root = true root = true
[*] [*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space indent_style = space
indent_size = 2 indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true quote_type = single
[*.md]
trim_trailing_whitespace = false
[*.php] [*.php]
indent_size = 4 indent_size = 4
[*.blade.php]
indent_size = 2
[resources/views/**.php] [resources/views/**.php]
indent_size = 2 indent_size = 2
[index.php]
indent_size = 2

28
.env.example Normal file
View File

@@ -0,0 +1,28 @@
DB_NAME='database_name'
DB_USER='database_user'
DB_PASSWORD='database_password'
# Optionally, you can use a data source name (DSN)
# When using a DSN, you can remove the DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST variables
# DATABASE_URL='mysql://database_user:database_password@database_host:database_port/database_name'
# Optional database variables
# DB_HOST='localhost'
# DB_PREFIX='wp_'
WP_ENV='development'
WP_HOME='http://example.com'
WP_SITEURL="${WP_HOME}/wp"
# Specify optional debug.log path
# WP_DEBUG_LOG='/path/to/debug.log'
# Generate your keys here: https://roots.io/salts.html
AUTH_KEY='generateme'
SECURE_AUTH_KEY='generateme'
LOGGED_IN_KEY='generateme'
NONCE_KEY='generateme'
AUTH_SALT='generateme'
SECURE_AUTH_SALT='generateme'
LOGGED_IN_SALT='generateme'
NONCE_SALT='generateme'

View File

@@ -1 +0,0 @@
Please read [Contributing to Roots Projects](https://github.com/roots/guidelines/blob/master/CONTRIBUTING.md)

View File

@@ -1,62 +0,0 @@
## Submit a feature request or bug report
- [ ] I've read the [guidelines for Contributing to Roots Projects](https://github.com/roots/guidelines/blob/master/CONTRIBUTING.md)
- [ ] This is a feature request
- [ ] This is a bug report
- [ ] This request isn't a duplicate of an [existing issue](https://github.com/roots/sage/issues)
- [ ] I've read the [docs](https://roots.io/sage/docs) and [NPM Debugging Guidelines post](https://discourse.roots.io/t/npm-debugging-guidelines-failed-npm-install-bower-install-or-gulp-build-read-this/3060) and followed them (if applicable)
- [ ] This is not a personal support request that should be posted on the [Roots Discourse](https://discourse.roots.io/c/sage) forums
<!-- Replace any `X` with your information. -->
---
**What is the current behavior?**
X
**What is the expected or desired behavior?**
X
---
## Bug report
<!-- (delete this section if not applicable) -->
**Please provide steps to reproduce, including full log output:**
X
**Please describe your local environment:**
WordPress version: X
OS: X
NPM/Node version: X
**Where did the bug happen? Development or remote servers?**
X
**Is there a related [Discourse](https://discourse.roots.io/) thread or were any utilized (please link them)?**
X
---
## Feature Request
<!-- (delete this section if not applicable) -->
**Please provide use cases for changing the current behavior:**
X
**Other relevant information:**
X

40
.gitignore vendored
View File

@@ -1,10 +1,30 @@
# Include your project-specific ignores in this file # Application
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files web/app/plugins/*
.cache-loader !web/app/plugins/.gitkeep
dist web/app/mu-plugins/*/
bower_components web/app/themes/twentytwentyfive/
node_modules web/app/upgrade
npm-debug.log web/app/uploads/*
yarn-error.log !web/app/uploads/.gitkeep
vendor web/app/cache/*
resources/assets/config-local.json
# WordPress
web/wp
web/.htaccess
# Logs
*.log
# Dotenv
.env
.env.*
!.env.example
# Composer
/vendor
auth.json
# WP-CLI
wp-cli.local.yml
.DS_Store

View File

@@ -1,40 +0,0 @@
language: php
sudo: false
dist: trusty
php:
- 7.1
- 7.0
- nightly
env:
- TRAVIS_NODE_VERSION="6"
- TRAVIS_NODE_VERSION="7"
matrix:
fast_finish: true
allow_failures:
- php: nightly
cache:
apt: true
directories:
- $HOME/.composer/cache
- $HOME/.yarn-cache
- vendor
before_install:
- composer self-update
- source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION && nvm use $TRAVIS_NODE_VERSION
- export PATH=$HOME/.yarn/bin:$PATH && travis_retry curl -o- -L https://yarnpkg.com/install.sh | bash
install:
- node -v && yarn -V
- travis_retry yarn
- composer install -o --prefer-dist --no-interaction
script:
- yarn run test
- yarn run build
- yarn run rmdist
- yarn run "build:production"
- composer test

1
.yarnrc Normal file
View File

@@ -0,0 +1 @@
--cwd ./web/app/themes/badegg

View File

@@ -1,569 +0,0 @@
### HEAD
* Update dependencies, support `config-local.json`, implement autoload system for styles/scripts, use `roots/sage-installer`, use `roots/sage-lib` ([#1919](https://github.com/roots/sage/pull/1919))
* Add soberwp/controller ([#1903](https://github.com/roots/sage/pull/1903))
* Change syntax of template call to match other files in views ([#1908](https://github.com/roots/sage/pull/1908))
* Add Tachyons as a CSS framework option ([#1867](https://github.com/roots/sage/pull/1867))
* Remove post format reference in template call ([#1904](https://github.com/roots/sage/pull/1904))
* Update inline documentation to reflect correct theme file locations ([#1890](https://github.com/roots/sage/pull/1890))
* Optimize CSS Assets safe = true ([#1901](https://github.com/roots/sage/pull/1901))
* Update Autoprefixer and standardize browserlist location ([#1899](https://github.com/roots/sage/pull/1899))
* Do not redirect for WP-CLI ([#1891](https://github.com/roots/sage/pull/1891))
* Illuminate: container make with parameters ([#1888](https://github.com/roots/sage/pull/1888))
* Add Stylelint for linting stylesheets ([#1885](https://github.com/roots/sage/pull/1885))
### 9.0.0-beta.3: April 21st, 2017
* Move required theme files to `sage/resources` ([#1877](https://github.com/roots/sage/pull/1877))
* Move `src/` to `app/` ([#1868](https://github.com/roots/sage/pull/1868))
* Move `templates/` to `resources/views/`, move `assets/` to `resources/assets/`, rename `base.blade.php` to `app.blade.php` ([#1864](https://github.com/roots/sage/pull/1864))
* Add option to configure build settings ([#1822](https://github.com/roots/sage/pull/1822))
* Add support for HTML injection ([#1817](https://github.com/roots/sage/pull/1817))
* Add Tachyons as a CSS framework option ([#1867](https://github.com/roots/sage/pull/1867))
### 9.0.0-beta.2: January 19th, 2017
* Fix Browersync ([#1815](https://github.com/roots/sage/pull/1815))
* Add option to select CSS framework, add Foundation as an option ([#1813](https://github.com/roots/sage/pull/1813))
* Add option to add Font Awesome ([#1812](https://github.com/roots/sage/pull/1812))
* Add option to change theme file headers ([#1811](https://github.com/roots/sage/pull/1811))
* Add option to remove Bootstrap ([#1810](https://github.com/roots/sage/pull/1810))
* Remove Font Awesome ([#1809](https://github.com/roots/sage/pull/1809))
* Remove grid defaults ([#1808](https://github.com/roots/sage/pull/1808))
* Fix for `publicPath` ([#1806](https://github.com/roots/sage/pull/1806))
* Update clean task name ([#1800](https://github.com/roots/sage/pull/1800))
* Allow browser versions to be configured in `config.json` ([#1798](https://github.com/roots/sage/pull/1798))
* Use stock ESLint ([#1796](https://github.com/roots/sage/pull/1796))
### 9.0.0-beta.1: January 10th, 2017
* Update to Bootstrap 4 Alpha 6 ([#1792](https://github.com/roots/sage/pull/1792))
* Add Blade ([#1765](https://github.com/roots/sage/pull/1765) and [#1777](https://github.com/roots/sage/pull/1777))
* Remove sidebar defaults ([#1760](https://github.com/roots/sage/pull/1760))
* Remove post formats ([#1759](https://github.com/roots/sage/pull/1759))
### 9.0.0-alpha.4: November 16th, 2016
* Use new webpack api schema ([8ac5f15](https://github.com/roots/sage/commit/e6e60aa))
* Update dependencies ([70ebba7](https://github.com/roots/sage/commit/70ebba7))
* Variables organization ([8ac5f15](https://github.com/roots/sage/commit/8ac5f15))
* Use `$.fn.ready()` (reverts [724d550](https://github.com/roots/sage/commit/724d550)) ([e7fccbe](https://github.com/roots/sage/commit/e7fccbe))
* Theme activation updates 'stylesheet' option instead of 'template' ([fb19145](https://github.com/roots/sage/commit/fb19145))
* Reorganize and refactor build routine ([8c9ba05](https://github.com/roots/sage/commit/8c9ba05))
* Switch assets manifest plugin ([c1bb2b3](https://github.com/roots/sage/commit/c1bb2b3))
* Add images to assets manifest ([c49793c](https://github.com/roots/sage/commit/c49793c))
* Switch from babel to buble ([0d38ab8](https://github.com/roots/sage/commit/0d38ab8))
* Update dependencies & webpack compatibility ([eae52fd](https://github.com/roots/sage/commit/eae52fd))
* Use http by default (not https) to be consistent with Trellis ([e6f2f49](https://github.com/roots/sage/commit/e6f2f49))
### 9.0.0-alpha.3: September 11th, 2016
* Fix webpack HMR ([#1713](https://github.com/roots/sage/issues/1713))
* Remove minor edits from CHANGELOG.md ([3516629](https://github.com/roots/sage/commit/3516629))
### 9.0.0-alpha.2: September 4th, 2016
* Refactor build routine ([#1703](https://github.com/roots/sage/pull/1703))
* Update `_grid.scss` to use `@include make-col-ready()` mixin ([#1706](https://github.com/roots/sage/pull/1706))
### 9.0.0-alpha.1: August 30th, 2016
* Move assets found in `node_modules/` to `dist/vendor`, simpler `assets/config.json` ([#1697](https://github.com/roots/sage/pull/1697))
* Set dynamically absolute public path ([#1696](https://github.com/roots/sage/pull/1696))
* Load Tether ([#1686](https://github.com/roots/sage/pull/1686))
* Squash asset pipeline bugs ([4d58f88](https://github.com/roots/sage/commit/4d58f88))
* Update dependencies, incl Bootstrap 4 alpha 3 ([447c24d](https://github.com/roots/sage/commit/447c24d))
* Fix path to stylesheet in `add_editor_style` ([#1684](https://github.com/roots/sage/pull/1684))
* Update required Node.js version ([72b2d89](https://github.com/roots/sage/commit/72b2d89))
* Router doesn't require jQuery, use default params ([339cc8e](https://github.com/roots/sage/commit/339cc8e))
* Fix display of theme name in Customizer ([3425386](https://github.com/roots/sage/commit/3425386))
* Convert scripts to ES6 ([f34af48](https://github.com/roots/sage/commit/f34af48))
* Refactor functions.php ([eae36be](https://github.com/roots/sage/commit/eae36be))
* Rework template wrapper, bring back template_part() ([#1678](https://github.com/roots/sage/pull/1678))
* Remove unused static variable in Wrapper ([9bfdd5a](https://github.com/roots/sage/commit/9bfdd5a))
* Remove `path.extname()` check ([#1673](https://github.com/roots/sage/pull/1673))
* Updated to align with the Bootstrap 4 docs ([#1667](https://github.com/roots/sage/pull/1667))
* Add `npm prune` to Travis CI ([#1663](https://github.com/roots/sage/pull/1663))
* Bootstrap NPM ^4.0.0-alpha.2 ([#1650](https://github.com/roots/sage/pull/1650))
* Fix Bootstrap 4 styles ([#1642](https://github.com/roots/sage/pull/1642))
* Fix autoloader load order issue when including Sage 9 via composer.json in Bedrock ([#1628](https://github.com/roots/sage/pull/1628))
* `is_page_template()` requires the name of the subfolder ([#1626](https://github.com/roots/sage/pull/1626))
* Webpack config improvements ([#1629](https://github.com/roots/sage/pull/1629))
* Webpack implementation improvements ([#1627](https://github.com/roots/sage/pull/1627))
* Webpack implementation ([#1625](https://github.com/roots/sage/pull/1625))
* Fix BS4 grid after their grid updates ([5551dde](https://github.com/roots/sage/commit/5551dde))
* Pass the correct template ([856a482](https://github.com/roots/sage/commit/856a482))
* Optimize travis a bit ([b42c425](https://github.com/roots/sage/commit/b42c425))
* Move single-post loop to single.php, closes #1582 ([6efa099](https://github.com/roots/sage/commit/6efa099))
* All function braces need to be on new line ([b491f76](https://github.com/roots/sage/commit/b491f76))
* Fix issue with WP loading wrong index.php ([9e2917e](https://github.com/roots/sage/commit/9e2917e))
* Use 4 spaces for `src/*.php` ([fe659f4](https://github.com/roots/sage/commit/fe659f4))
* Use phpcs.xml for all rules ([246955c](https://github.com/roots/sage/commit/246955c))
* Conform to new rules ([6a4d3bd](https://github.com/roots/sage/commit/6a4d3bd))
* Create new phpcs rules ([2d02544](https://github.com/roots/sage/commit/2d02544))
* Remove Template class ([1df3fee](https://github.com/roots/sage/commit/1df3fee))
* Remove closure from sidebar registration ([12d6ac3](https://github.com/roots/sage/commit/12d6ac3))
* Remove sage.pot ([d4461fa](https://github.com/roots/sage/commit/d4461fa))
* Remove template_part, template_sidebar, temp sidebar fix ([abeea0f](https://github.com/roots/sage/commit/abeea0f))
* Update asset handles ([fa0e51f](https://github.com/roots/sage/commit/fa0e51f))
* Remove comment-reply JS ([d217ba6](https://github.com/roots/sage/commit/d217ba6))
* Update node in travis, remove unsupported php ([8712dc8](https://github.com/roots/sage/commit/8712dc8))
* Update dependencies, switch to eslint ([e51e41e](https://github.com/roots/sage/commit/e51e41e))
* Bootstrap 4 ([c9ef232](https://github.com/roots/sage/commit/c9ef232))
* Fix: page title not displaying ([9283bbb](https://github.com/roots/sage/commit/9283bbb))
* Rename interfaces, unset after unwrapping ([97906e9](https://github.com/roots/sage/commit/97906e9))
* Restructure theme, use autoloader ([9eaffa3](https://github.com/roots/sage/commit/9eaffa3a2d4df462dd8020a10551334208bd32a3))
### 8.5.0: September 20th, 2016
* Update installation instructions
* Update dependencies
* Update to Bootstrap 4.0.0-alpha.4 ([5eb01fd](https://github.com/roots/sage/commit/5eb01fd0319a7b6576e31579dc50e16b023abb74))
### 8.4.2: February 19th, 2016
* Add Composer vendor directory to gitignore ([#1618](https://github.com/roots/sage/issues/1618))
* Fix build test by removing trailing space ([#1617](https://github.com/roots/sage/issues/1617))
* Replace deprecated gulp-minify-css with gulp-cssnano ([#1610](https://github.com/roots/sage/issues/1610))
### 8.4.1: January 27th, 2016
* Add `composer.json` and update installation instructions ([#1583](https://github.com/roots/sage/issues/1583))
### 8.4.0: December 1st, 2015
* Update to Bootstrap 3.3.6 ([#1578](https://github.com/roots/sage/pull/1578))
* Remove unnecessary underscore ([#1577](https://github.com/roots/sage/pull/1577))
* Drop support for older browsers ([#1571](https://github.com/roots/sage/pull/1571))
* Add support for theme customizer ([#1573](https://github.com/roots/sage/pull/1573))
* Remove extraneous no-js ([#1562](https://github.com/roots/sage/pull/1562))
* Simplify/speed up editor style process ([#1560](https://github.com/roots/sage/pull/1560))
### 8.3.0: October 13th, 2015
* Setup organization ([#1558](https://github.com/roots/sage/pull/1558))
* Remove redundancy with WAI-ARIA in HTML ([#1557](https://github.com/roots/sage/pull/1557))
* Rename config.php to setup.php ([#1556](https://github.com/roots/sage/pull/1556))
* Move init.php to config.php ([#1555](https://github.com/roots/sage/pull/1555))
* Use Sass to style search form, remove search template ([#1545](https://github.com/roots/sage/pull/1545))
* Remove Modernizr ([#1541](https://github.com/roots/sage/pull/1541))
* Remove references to WP_ENV ([#1554](https://github.com/roots/sage/pull/1554))
* Use WP core's HTML5 gallery markup ([#1546](https://github.com/roots/sage/pull/1546))
* Use slash in handle names for theme CSS and JS ([#1537](https://github.com/roots/sage/pull/1537))
* Add compatibility with WooCommerce Multilingual plugin ([#1530](https://github.com/roots/sage/pull/1530))
* Remove ConditionalTagCheck class ([#1494](https://github.com/roots/sage/pull/1494))
* Add search templates ([#1459](https://github.com/roots/sage/issues/1459))
* Allow `debugger` statements in development JavaScript ([#1487](https://github.com/roots/sage/issues/1487))
### 8.2.1: May 7th, 2015
* Update BrowserSync ([#1457](https://github.com/roots/sage/issues/1457))
* Bump dependencies ([#1448](https://github.com/roots/sage/issues/1448))
* Allow revved files to resolve in development if they exist ([#1456](https://github.com/roots/sage/issues/1456))
* Disable advanced minification features to fix incorrect file path in compiled CSS ([#1452](https://github.com/roots/sage/issues/1452))
* Fix Glyphicon font path ([#1455](https://github.com/roots/sage/issues/1455))
### 8.2.0: April 29th, 2015
* Use Sass Bootstrap by default ([#1437](https://github.com/roots/sage/issues/1437))
* Remove nav walker and Bootstrap navbar ([#1427](https://github.com/roots/sage/issues/1427))
* Remove Bootstrap gallery ([#1421](https://github.com/roots/sage/issues/1421))
* Remove hardcoded feed link ([#1426](https://github.com/roots/sage/issues/1426))
* Move jQuery CDN feature to Soil ([#1422](https://github.com/roots/sage/issues/1422))
* Bump `gulp-load-plugins` to 0.10.0 ([#1419](https://github.com/roots/sage/issues/1419))
* Switch from [yargs](https://github.com/bcoe/yargs) to [minimist](https://github.com/substack/minimist) ([#1418](https://github.com/roots/sage/issues/1418))
* Remove `$content_width` ([#1417](https://github.com/roots/sage/issues/1417))
* Lowercase `X-UA-Compatible` ([#1409](https://github.com/roots/sage/issues/1409))
* Remove mention of Google Analytics from the config ([#1384](https://github.com/roots/sage/issues/1384))
### 8.1.1: March 31st, 2015
* Remove pleeease dependency in favor of vanilla gulp-autoprefixer and gulp-minify-css ([#1402](https://github.com/roots/sage/issues/1402))
* Fix `gulp --production` race condition ([#1398](https://github.com/roots/sage/issues/1398))
* Update to Bootstrap 3.3.4 ([#1387](https://github.com/roots/sage/issues/1387))
### 8.1.0: March 13th, 2015
* Move HTML5 Boilerplate's Google Analytics snippet to Soil ([#1382](https://github.com/roots/sage/issues/1382))
* Run `gulp build` if `bower.json` is changed ([#1378](https://github.com/roots/sage/issues/1378))
* Remove namespace from base.php ([#1372](https://github.com/roots/sage/issues/1372))
* Allow build directory to be customized ([#1352](https://github.com/roots/sage/issues/1352), [#1366](https://github.com/roots/sage/issues/1366))
* Update ConditionalTagCheck and usage docs ([#1365](https://github.com/roots/sage/issues/1365))
* Change default gallery columns to 3 ([#1364](https://github.com/roots/sage/issues/1364))
* Apply `script_loader_src` filter to jQuery fallback ([#1363](https://github.com/roots/sage/issues/1363))
### 8.0.1: February 26th, 2015
* Update asset-builder version to fix Windows compatibility ([#1351](https://github.com/roots/sage/issues/1351))
* Fix broken wiredep imports with main.scss.example ([Discussion](https://discourse.roots.io/t/issue-with-sage-sass-version/2962))
### 8.0.0: February 25th, 2015
* Change theme name from Roots to Sage
* Bump required PHP version to >=5.4
* Add coding standards based on PSR-2
* Add Travis CI
* Add namespace
* Use short array syntax
* Use short echo syntax
* Switch from Grunt to gulp, new front-end development workflow
* Switch from Livereload to [BrowserSync](http://www.browsersync.io/)
* Use wiredep for Sass and Less injection
* Implement JSON file based asset pipeline with [asset-builder](https://github.com/austinpray/asset-builder)
* Re-organize asset file structure
* Re-organize stylesheet file structure
* Add main.scss.example and instructions for using Sass
* Use the primary theme stylesheet for the editor stylesheet
* Remove theme activation, move to [wp-cli-theme-activation](https://github.com/roots/wp-cli-theme-activation)
* Simplify 404 page
* Convert Sidebar to ConditionalTagCheck
* Update to jQuery 1.11.2
* Use new core navigation template tag
* Update sidebar to fix default template check
* Update nav walker to correctly assign `active` classes for custom post types
* Better support for CPT templates
### 7.0.3: December 18th, 2014
* Use `get_the_archive_title`
* Remove `wp_title`, add title-tag theme support
* Remove `Roots_Nav_Walker` as default for all menus
* Update to Bootstrap 3.3.1
* Add some base comment styling
* Make search term `required` in search form
### 7.0.2: October 24th, 2014
* Simplify comments, use core comment form and list
* Remove HTML5 shiv from Modernizr build
* Move JavaScript to footer
* Update hEntry schema to use `updated` instead of `published`
* Move variables into `main.less`
* Add `roots_body_class` function that checks for page slug in `body_class`
* Move `wp_footer` from footer template into `base.php`
### 7.0.1: August 15th, 2014
* Move `<main>` and `.sidebar` markup out of PHP and into LESS
* Define `WP_ENV` if it is not already defined
* Only load Google Analytics in production environment
### 7.0.0: July 3rd, 2014
* Updated Grunt workflow
* Use grunt-modernizr to make a lean Modernizr build
* Use Bower for front-end package management
* Update to Bootstrap 3.2.0
* Update to Modernizr 2.8.2
* Update to jQuery 1.11.1
* Move clean up, relative URLs, and nice search to [Soil](https://github.com/roots/soil)
* Update LESS organization
* Move [community translations](https://github.com/roots/roots-translations) to separate repository
### 6.5.2: February 4th, 2014
* Update to Bootstrap 3.1.0
* Move DOM routing into an anonymous function to support jQuery noConflict
* Update to jQuery 1.11.0
* Add notice to theme activation, tidy activation table markup
* Remove changing media folder from theme activation (use [Bedrock](https://github.com/roots/bedrock) for clean URLs out of the box)
* Switch `div.main` to `main` element now that Modernizr uses the latest HTML5 Shiv
* Update to Modernizr 2.7.0
* Don't run JSHint on plugins (`assets/js/plugins/`)
* Disable warnings about undefined variables (JSHint)
* Merge in updates from HTML5 Boilerplate
* Add JS source map (disabled by default)
* Replace `grunt-recess` with `grunt-contrib-less`, add LESS source map support
### 6.5.1: November 5th, 2013
* Move clean URLs to a [plugin](https://github.com/roots/roots-rewrites)
* Update to Bootstrap 3.0.1
### 6.5.0: August 23rd, 2013
* Reference new site, [http://roots.io/](http://roots.io/)
* Remove bundled docs, reference [http://roots.io/docs/](http://roots.io/docs/)
* Use Bootstrap variables for media queries
* Update to Bootstrap 3.0.0
* Update to jQuery 1.10.2
* Change media directory from `/assets/` to `/media/`
* Update to Google Universal Analytics
* Show author display name for author archives
* Add Serbian translation
* Remove post tags from templates
* Remove TinyMCE valid elements tweaks (no longer necessary)
* Remove additional widget classes
* Move `/assets/css/less/` to `/assets/less/`
* Add wrapper templates filter
* Fix relative external URLs issue
### 6.4.0: May 1st, 2013
* Fix Theme Activation page issues
* Fix issues with root relative URLs and rewrites on non-standard setups
* Make sure rewrites are added to `.htaccess` immediately after activation
* Move HTML5 Boilerplate's `.htaccess` to a [plugin](https://github.com/roots/wp-h5bp-htaccess)
* Rename `page-custom.php` to `template-custom.php`
* Don't warn about unwritable htaccess if that option is disabled
* Add missing collapse class for top navbar
* Add comment template
* Update is_dropdown evaluation in nav walker
* Re-organize archives template
* Add missing comment ID
* hNews consistency with entry-title class
* Add `wp_title()` filter
* Fix missing closing div in comments
* Fix for navbar dropdowns
* Add option for using jQuery on Google CDN
* Correct logic in `roots_enable_root_relative_urls`
* Add Greek translation, update Brazilian Portuguese translation
* Update to Bootstrap 2.3.1
* Simplify alerts
* Remove disabled post nav links
* Use Bootstrap media object for listing comments
* Move Google Analytics to `lib/scripts.php`
* Static top navbar instead of fixed
### 6.3.0: February 8th, 2013
* Update to Bootstrap 2.3.0
* Update to jQuery 1.9.1
* Output author title with `get_the_author()`
* Add EditorConfig
* Update 404 template based on H5BP
* Update H5BP's included .htaccess
* Don't show comments on passworded posts
* Add `do_action('get_header')` for WooSidebars compatibility
* Simplify entry meta
* Allow `get_search_form()` to be called more than once per request
* Move plugins.js and main.js to footer
* JavaScript clean up (everything is now enqueued)
* Remove conditional feed
* Introduce `add_theme_support('bootstrap-gallery')`
* Rewrites organization (introduce `lib/rewrites.php`)
* Fix `add_editor_style` path
* Updated translations: French, Bulgarian, Turkish, Korean
* Enable `add_theme_support` for Nice Search
* Replace ID's with classes
* Add support for dynamic sidebar templates
* Fix PHP notice on search with no results
* Update to jQuery 1.9.0
### 6.2.0: January 13th, 2013
* Implement latest Nice Search
* Update [gallery] shortcode
* Add Simplified Chinese, Indonesian, Korean translations
* Move template title to `lib/utils.php`
* Update to Bootstrap 2.2.2
* Update to jQuery 1.8.3
* Use `entry-summary` class for excerpts per Readability's Article Publishing Guidelines
* Cleanup/refactor `lib/activation.php`
* Remove `lib/post-types.php` and `lib/metaboxes.php`
* Make sure Primary Navigation menu always gets created and has the location set upon activation, update activation permalink method
* Update to Bootstrap 2.2.1
* Update conditional feed method
* Update to Bootstrap 2.2.0
* Return instead of echo class names in `roots_main_class` and `roots_sidebar_class`
* Move nav customizations into `lib/nav.php`
### 6.1.0: October 2nd, 2012
* Change roots_sidebar into a more explicit configuration array
* Re-organize configuration/setup files
* Update to jQuery 1.8.2
* Refactor/simplify Roots vCard Widget
* Move custom entry_meta code into template
* Move Google Analytics code into footer template
* Add CONTRIBUTING.md to assist with the new GitHub UI
* Add nav walker support for CSS dividers and nav-header
### 6.0.0: September 16th, 2012
* Simplify nav walker and support 3rd level dropdowns
* Update to Bootstrap 2.1.1, jQuery 1.8.1, Modernizr 2.6.2
* Add bundled docs
* Update all templates to use [PHP Alternative Syntax](http://php.net/manual/en/control-structures.alternative-syntax.php)
* Add MIT License
* Implement scribu's [Theme Wrapper](http://scribu.net/wordpress/theme-wrappers.html) (see `base.php`)
* Move `css/`, `img/`, and `js/` folders within a new `assets/` folder
* Move templates, `comments.php`, and `searchform.php` to `templates/` folder
* Rename `inc/` to `lib/`
* Add placeholder `lib/post-types.php` and `lib/metaboxes.php` files
* Rename `loop-` files to `content-`
* Remove all hooks
* Use `templates/page-header.php` for page titles
* Use `head.php` for everything in `<head>`
### 5.2.0: August 18th, 2012
* Update to jQuery 1.8.0 and Modernizr 2.6.1
* Fix duplicate active class in `wp_nav_menu` items
* Merge `Roots_Navbar_Nav_Walker` into `Roots_Nav_Walker`
* Add and update code documentation
* Use `wp_get_theme()` to get the theme name on activation
* Use `<figure>` & `<figcaption>` for captions
* Wrap embedded media as suggested by Readability
* Remove unnecessary `remove_action`'s on `wp_head` as of WordPress 3.2.1
* Add updates from HTML5 Boilerplate
* Remove well class from sidebar
* Flush permalinks on activation to avoid 404s with clean URLs
* Show proper classes on additional `wp_nav_menu()`'s
* Clean up `inc/cleanup.php`
* Remove old admin notice for tagline
* Remove default tagline admin notice, hide from feed
* Fix for duplicated classes in widget markup
* Show title on custom post type archive template
* Fix for theme preview in WordPress 3.3.2
* Introduce `inc/config.php` with options for clean URLs, H5BP's `.htaccess`, root relative URLs, and Bootstrap features
* Allow custom CSS classes in menus, walker cleanup
* Remove WordPress version numbers from stylesheets
* Don't include HTML5 Boilerplate's `style.css` by default
* Allow `inc/htaccess.php` to work with Litespeed
* Update to Bootstrap 2.0.4
* Update Bulgarian translation
* Don't use clean URLs with default permalink structure
* Add translations for Catalan, Polish, Hungarian, Norwegian, Russian
### 5.1.0: April 14th, 2012
* Various bugfixes for scripts, stylesheets, root relative URLs, clean URLs, and htaccess issues
* Add a conditional feed link
* Temporarily remove Gravity Forms customizations
* Update to Bootstrap 2.0.2
* Update `roots.pot` for translations
* Add/update languages: Vietnamese, Swedish, Bulgarian, Turkish, Norwegian, Brazilian Portugese
* Change widgets to use `<section>` instead of `<article>`
* Add comment-reply.js
* Remove optimized robots.txt
* HTML5 Boilerplate, Modernizr, and jQuery updates
### 5.0.0: February 5th, 2012
* Remove all frameworks except Bootstrap
* Update to Bootstrap 2.0
* Remove `roots-options.php` and replaced with a more simple `roots-config.php`
* Now using Bootstrap markup on forms, page titles, image galleries, alerts and errors, post and comment navigation
* Remove Roots styles from `style.css` and introduced `app.css` for site-specific CSS
* Remove almost all previous default Roots styling
* Latest updates from HTML5 Boilerplate
### 4.1.0: February 1st, 2012
* Update translations
* HTML5 Boilerplate updates
* Fix for Server 500 errors
* Add `roots-scripts.php`, now using `wp_enqueue_script`
* Re-organize `roots-actions.php`
* Allow `<script>` tags in TinyMCE
* Add full width class and search form to 404 template
* Remove Blueprint CSS specific markup
* Use Roots Nav Walker as default
* Add author name and taxonomy name to archive template title
* Add Full Width CSS class options
### 4.0.0: January 4th, 2012
* Add theme activation options
* HTML5 Boilerplate updates
* Add CSS frameworks: Bootstrap, Foundation
* Add translations: Dutch, Italian, Macedonian, German, Finnish, Danish, Spanish, and Turkish
* Update jQuery
* Remove included jQuery plugins
* Clean up whitespace, switched to two spaces for tabs
* Clean up `body_class()` some more with `roots_body_class()`
* Post meta information is now displayed using a function (similar to Twenty Eleven)
* Bugfixes for 1140 options
* Add first and last classes to widgets
* Fix bug with initial options save
* Remove sitemap and listing subpages templates
* Child themes can now unregister sidebars
* Add fix for empty search query
* Update README
* Blocking access to readme.html and license.txt to hide WordPress version information
### 3.6.0: August 12th, 2011
* HTML5 Boilerplate 2.0 updates
* Cleaner output of enqueued styles and scripts
* Adde option for root relative URLs
* Small fixes to root relative URLs and clean assets
* Update included jQuery plugins
* Add French translation (thanks @johnraz)
* Add Brazilian Portuguese translation (thanks @weslly)
* Switch the logo to use `add_custom_image_header`
* Add a function that strips unnecessary self-closing tags
* Code cleanup and re-organization
### 3.5.0: July 30th, 2011
* Complete rewrite of theme options based on Twenty Eleven
* CSS frameworks: refactor code and add default classes for each framework
* CSS frameworks: add support for Adapt.js and LESS
* CSS frameworks: add option for None
* Add support for WPML and theme translation
* Add option for cleaner nav menu output
* Add option for FOUT-B-Gone
* Add authorship rel attribute to post author link
* Activation bugfix for pages being added multiple times
* Bugfixes to the root relative URL function
* Child themes will now load their CSS automatically and properly
* HTML5 Boilerplate updates (including Normalize.css, Modernizr 2.0, and Respond.js)
* Introduce cleaner way of including HTML5 Boilerplate's `.htaccess`
* Add hooks &amp; actions
* Rename `includes/` directory to `inc/`
* Add a blank `inc/roots-custom.php` file
### 3.2.4: May 19th, 2011
* Bugfixes
* Match latest changes to HTML5 Boilerplate and Blueprint CSS
* Update jQuery to 1.6.1
### 3.2.3: May 10th, 2011
* Bugfixes
* Add `language_attributes()` to `<html>`
* Match latest changes to HTML5 Boilerplate and Blueprint CSS
* Update jQuery to 1.6
### 3.2.2: April 24th, 2011
* Bugfixes
### 3.2.1: April 20th, 2011
* Add support for child themes
### 3.2.0: April 15th, 2011
* Add support for the 1140px Grid
* Update the conditional comment code to match latest changes to HTML5 Boilerplate
### 3.1.1: April 7th, 2011
* Fix relative path function to work correctly when WordPress is installed in a subdirectory
* Update jQuery to 1.5.2
* Fix comments to show avatars correctly
### 3.1.0: April 1st, 2011
* Add support for 960.gs thanks to John Liuti
* Add more onto the `.htaccess` from HTML5 Boilerplate
* Allow the theme directory and name to be renamable
### 3.0.0: March 28th, 2011
* Change name from BB to Roots and release to the public
* Update various areas to match the latest changes to HTML5 Boilerplate
* Change the theme markup based on hCard/Readability Guidelines and work by Jonathan Neal
* Create the navigation menus and automatically set their locations during theme activation
* Set permalink structure to `/%year%/%postname%/`
* Set uploads folder to `/assets/`
* Rewrite static folders in `/wp-content/themes/roots/` (`css/`, `js/`, `img/`) to the root (`/css/`, `/js/`, `/img/`)
* Rewrite `/wp-content/plugins/` to `/plugins/`
* Add more root relative URLs on WordPress functions
* Search results (`/?s=query`) rewrite to `/search/query/`
* `l10n.js` is deregistered
* Change [gallery] to output `<figure>` and `<figcaption>` and link to file by default
* Add more `loop.php` templates
* Made the HTML editor have a monospaced font
* Add `front-page.php`
* Update CSS for Gravity Forms 1.5
* Add `searchform.php template`
### 2.4.0: January 25th, 2011
* Add a notification when saving the theme settings
* Add support for navigation menus
* Create function that makes sure there is a Home page on theme activation
* Update various areas to match the latest changes to HTML5 Boilerplate
### 2.3.0: December 8th, 2010
* Logo is no longer an `<h1>`
* Add ARIA roles again
* Change `ul#nav` to `nav#nav-main`
* Add vCard to footer
* Made all URL's root relative
* Add Twitter and Facebook widgets to footer
* Add SEO optimized `robots.txt` from WordPress codex
### 2.2.0: September 20th, 2010
* Add asynchronous Google Analytics
* Update `.htaccess` with latest changes from HTML5 Boilerplate
### 2.1.0: August 19th, 2010
* Remove optimizeLegibility from headings
* Update jQuery to latest version
* Implement HTML5 Boilerplate `.htaccess`
### 2.0.1: August 2nd, 2010
* Add some presentational CSS classes
* Add footer widget
* Add more Gravity Forms default styling
### 2.0.0: July 19th, 2010
* Add HTML5 Boilerplate changes
* Implement `loop.php`
* wp_head cleanup
* Add `page-subpages.php` template
### 1.5.0: April 15th, 2010
* Integrate Paul Irish's frontend-pro-template (the original HTML5 Boilerplate)
### 1.0.0: December 18th, 2009
* Add Blueprint CSS to Starkers

View File

@@ -1,4 +1,4 @@
Copyright (c) Ben Word and Scott Walkinshaw Copyright (c) Roots Software LLC
Permission is hereby granted, free of charge, to any person obtaining a copy of 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 this software and associated documentation files (the "Software"), to deal in

151
README.md
View File

@@ -1,124 +1,61 @@
# [Sage](https://roots.io/sage/) <p align="center">
[![Packagist](https://img.shields.io/packagist/vpre/roots/sage.svg?style=flat-square)](https://packagist.org/packages/roots/sage) <a href="https://roots.io/bedrock/">
[![devDependency Status](https://img.shields.io/david/dev/roots/sage.svg?style=flat-square)](https://david-dm.org/roots/sage#info=devDependencies) <img alt="Bedrock" src="https://cdn.roots.io/app/uploads/logo-bedrock.svg" height="100">
[![Build Status](https://img.shields.io/travis/roots/sage.svg?style=flat-square)](https://travis-ci.org/roots/sage) </a>
</p>
Sage is a WordPress starter theme with a modern development workflow. <p align="center">
<a href="https://packagist.org/packages/roots/bedrock">
<img alt="Packagist Installs" src="https://img.shields.io/packagist/dt/roots/bedrock?label=projects%20created&colorB=2b3072&colorA=525ddc&style=flat-square">
</a>
**Sage 9 is in active development and is currently in beta. The `master` branch tracks Sage 9 development. If you want a stable version, use the [latest Sage 8 release](https://github.com/roots/sage/releases/latest).** <a href="https://packagist.org/packages/roots/wordpress">
<img alt="roots/wordpress Packagist Downloads" src="https://img.shields.io/packagist/dt/roots/wordpress?label=roots%2Fwordpress%20downloads&logo=roots&logoColor=white&colorB=2b3072&colorA=525ddc&style=flat-square">
</a>
## Features <img src="https://img.shields.io/badge/dynamic/json.svg?url=https://raw.githubusercontent.com/roots/bedrock/master/composer.json&label=wordpress&logo=roots&logoColor=white&query=$.require[%22roots/wordpress%22]&colorB=2b3072&colorA=525ddc&style=flat-square">
* Sass for stylesheets <a href="https://github.com/roots/bedrock/actions/workflows/ci.yml">
* ES6 for JavaScript <img alt="Build Status" src="https://img.shields.io/github/actions/workflow/status/roots/bedrock/ci.yml?branch=master&logo=github&label=CI&style=flat-square">
* [Webpack](https://webpack.github.io/) for compiling assets, optimizing images, and concatenating and minifying files </a>
* [Browsersync](http://www.browsersync.io/) for synchronized browser testing
* [Laravel Blade](https://laravel.com/docs/5.3/blade) as a templating engine
* [Controller](https://github.com/soberwp/controller) for passing data to Blade templates
* CSS framework options:
* [Bootstrap 4](http://getbootstrap.com/)
* [Foundation](http://foundation.zurb.com/)
* [Tachyons](http://tachyons.io/)
* None (blank slate)
* Font Awesome (optional)
See a working example at [roots-example-project.com](https://roots-example-project.com/). <a href="https://twitter.com/rootswp">
<img alt="Follow Roots" src="https://img.shields.io/badge/follow%20@rootswp-1da1f2?logo=twitter&logoColor=ffffff&message=&style=flat-square">
</a>
</p>
## Requirements <p align="center">WordPress boilerplate with Composer, easier configuration, and an improved folder structure</p>
Make sure all dependencies have been installed before moving on: <p align="center">
<a href="https://roots.io/bedrock/">Website</a> &nbsp;&nbsp; <a href="https://roots.io/bedrock/docs/installation/">Documentation</a> &nbsp;&nbsp; <a href="https://github.com/roots/bedrock/releases">Releases</a> &nbsp;&nbsp; <a href="https://discourse.roots.io/">Community</a>
</p>
* [WordPress](https://wordpress.org/) >= 4.7 ## Sponsors
* [PHP](http://php.net/manual/en/install.php) >= 7.0
* [Composer](https://getcomposer.org/download/)
* [Node.js](http://nodejs.org/) >= 6.9.x
* [Yarn](https://yarnpkg.com/en/docs/install)
## Theme installation Bedrock is an open source project and completely free to use. If you've benefited from our projects and would like to support our future endeavors, please consider [sponsoring Roots](https://github.com/sponsors/roots).
Install Sage using Composer from your WordPress themes directory (replace `your-theme-name` below with the name of your theme): <div align="center">
<a href="https://carrot.com/"><img src="https://cdn.roots.io/app/uploads/carrot.svg" alt="Carrot" width="120" height="90"></a> <a href="https://wordpress.com/"><img src="https://cdn.roots.io/app/uploads/wordpress.svg" alt="WordPress.com" width="120" height="90"></a> <a href="https://worksitesafety.ca/careers/"><img src="https://cdn.roots.io/app/uploads/worksite-safety.svg" alt="Worksite Safety" width="120" height="90"></a> <a href="https://www.itineris.co.uk/"><img src="https://cdn.roots.io/app/uploads/itineris.svg" alt="Itineris" width="120" height="90"></a> <a href="https://bonsai.so/"><img src="https://cdn.roots.io/app/uploads/bonsai.svg" alt="Bonsai" width="120" height="90"></a>
</div>
```shell ## Overview
# @ app/themes/ or wp-content/themes/
$ composer create-project roots/sage your-theme-name dev-master
```
During theme installation you will have the options to: Bedrock is a WordPress boilerplate for developers that want to manage their projects with Git and Composer. Much of the philosophy behind Bedrock is inspired by the [Twelve-Factor App](http://12factor.net/) methodology, including the [WordPress specific version](https://roots.io/twelve-factor-wordpress/).
* Update theme headers (theme name, description, author, etc.) - Better folder structure
* Select a CSS framework (Bootstrap, Foundation, Tachyons, none) - Dependency management with [Composer](https://getcomposer.org)
* Add Font Awesome - Easy WordPress configuration with environment specific files
* Configure Browsersync (path to theme, local development URL) - Environment variables with [Dotenv](https://github.com/vlucas/phpdotenv)
- Autoloader for mu-plugins (use regular plugins as mu-plugins)
## Theme structure ## Getting Started
```shell See the [Bedrock installation documentation](https://roots.io/bedrock/docs/installation/).
themes/your-theme-name/ # → Root of your Sage based theme
├── app/ # → Theme PHP
│ ├── lib/Sage/ # → Blade implementation, asset manifest
│ ├── admin.php # → Theme customizer setup
│ ├── filters.php # → Theme filters
│ ├── helpers.php # → Helper functions
│ └── setup.php # → Theme setup
├── composer.json # → Autoloading for `app/` files
├── composer.lock # → Composer lock file (never edit)
├── dist/ # → Built theme assets (never edit)
├── node_modules/ # → Node.js packages (never edit)
├── package.json # → Node.js dependencies and scripts
├── resources/ # → Theme assets and templates
│ ├── assets/ # → Front-end assets
│ │ ├── config.json # → Settings for compiled assets
│ │ ├── build/ # → Webpack and ESLint config
│ │ ├── fonts/ # → Theme fonts
│ │ ├── images/ # → Theme images
│ │ ├── scripts/ # → Theme JS
│ │ └── styles/ # → Theme stylesheets
│ ├── controllers/ # → Controller files
│ ├── functions.php # → Composer autoloader, theme includes
│ ├── index.php # → Never manually edit
│ ├── screenshot.png # → Theme screenshot for WP admin
│ ├── style.css # → Theme meta information
│ └── views/ # → Theme templates
│ ├── layouts/ # → Base templates
│ └── partials/ # → Partial templates
└── vendor/ # → Composer packages (never edit)
```
## Theme setup ## Stay Connected
Edit `app/setup.php` to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars. - Join us on Discord by [sponsoring us on GitHub](https://github.com/sponsors/roots)
- Participate on [Roots Discourse](https://discourse.roots.io/)
## Theme development - Follow [@rootswp on Twitter](https://twitter.com/rootswp)
- Read the [Roots Blog](https://roots.io/blog/)
* Run `yarn` from the theme directory to install dependencies - Subscribe to the [Roots Newsletter](https://roots.io/newsletter/)
* Update `resources/assets/config.json` settings:
* `devUrl` should reflect your local development hostname
* `publicPath` should reflect your WordPress folder structure (`/wp-content/themes/sage` for non-[Bedrock](https://roots.io/bedrock/) installs)
### Build commands
* `yarn run start` — Compile assets when file changes are made, start Browsersync session
* `yarn run build` — Compile and optimize the files in your assets directory
* `yarn run build:production` — Compile assets for production
## Documentation
Sage 8 documentation is available at [https://roots.io/sage/docs/](https://roots.io/sage/docs/).
Sage 9 documentation is currently in progress and can be viewed at [https://github.com/roots/docs/tree/sage-9/sage](https://github.com/roots/docs/tree/sage-9/sage).
Controller documentation is available at [https://github.com/soberwp/controller#usage](https://github.com/soberwp/controller#usage).
## Contributing
Contributions are welcome from everyone. We have [contributing guidelines](https://github.com/roots/guidelines/blob/master/CONTRIBUTING.md) to help you get started.
## Community
Keep track of development and community news.
* Participate on the [Roots Discourse](https://discourse.roots.io/)
* Follow [@rootswp on Twitter](https://twitter.com/rootswp)
* Read and subscribe to the [Roots Blog](https://roots.io/blog/)
* Subscribe to the [Roots Newsletter](https://roots.io/subscribe/)
* Listen to the [Roots Radio podcast](https://roots.io/podcast/)

View File

@@ -1,24 +0,0 @@
<?php
namespace App;
/**
* Theme customizer
*/
add_action('customize_register', function (\WP_Customize_Manager $wp_customize) {
// Add postMessage support
$wp_customize->get_setting('blogname')->transport = 'postMessage';
$wp_customize->selective_refresh->add_partial('blogname', [
'selector' => '.brand',
'render_callback' => function () {
bloginfo('name');
}
]);
});
/**
* Customizer JS
*/
add_action('customize_preview_init', function () {
wp_enqueue_script('sage/customizer.js', asset_path('scripts/customizer.js'), ['customize-preview'], null, true);
});

View File

@@ -1,70 +0,0 @@
<?php
namespace App;
/**
* Add <body> classes
*/
add_filter('body_class', function (array $classes) {
/** Add page slug if it doesn't exist */
if (is_single() || is_page() && !is_front_page()) {
if (!in_array(basename(get_permalink()), $classes)) {
$classes[] = basename(get_permalink());
}
}
/** Add class if sidebar is active */
if (display_sidebar()) {
$classes[] = 'sidebar-primary';
}
/** Clean up class names for custom templates */
$classes = array_map(function ($class) {
return preg_replace(['/-blade(-php)?$/', '/^page-template-views/'], '', $class);
}, $classes);
return array_filter($classes);
});
/**
* Add "… Continued" to the excerpt
*/
add_filter('excerpt_more', function () {
return ' &hellip; <a href="' . get_permalink() . '">' . __('Continued', 'sage') . '</a>';
});
/**
* Template Hierarchy should search for .blade.php files
*/
collect([
'index', '404', 'archive', 'author', 'category', 'tag', 'taxonomy', 'date', 'home',
'frontpage', 'page', 'paged', 'search', 'single', 'singular', 'attachment'
])->map(function ($type) {
add_filter("{$type}_template_hierarchy", __NAMESPACE__.'\\filter_templates');
});
/**
* Render page using Blade
*/
add_filter('template_include', function ($template) {
$data = collect(get_body_class())->reduce(function ($data, $class) use ($template) {
return apply_filters("sage/template/{$class}/data", $data, $template);
}, []);
if ($template) {
echo template($template, $data);
return get_stylesheet_directory().'/index.php';
}
return $template;
}, PHP_INT_MAX);
/**
* Tell WordPress how to find the compiled path of comments.blade.php
*/
add_filter('comments_template', function ($comments_template) {
$comments_template = str_replace(
[get_stylesheet_directory(), get_template_directory()],
'',
$comments_template
);
return template_path(locate_template(["views/{$comments_template}", $comments_template]) ?: $comments_template);
});

View File

@@ -1,160 +0,0 @@
<?php
namespace App;
use Roots\Sage\Container;
/**
* Get the sage container.
*
* @param string $abstract
* @param array $parameters
* @param Container $container
* @return Container|mixed
*/
function sage($abstract = null, $parameters = [], Container $container = null)
{
$container = $container ?: Container::getInstance();
if (!$abstract) {
return $container;
}
return $container->bound($abstract)
? $container->makeWith($abstract, $parameters)
: $container->makeWith("sage.{$abstract}", $parameters);
}
/**
* Get / set the specified configuration value.
*
* If an array is passed as the key, we will assume you want to set an array of values.
*
* @param array|string $key
* @param mixed $default
* @return mixed|\Roots\Sage\Config
* @copyright Taylor Otwell
* @link https://github.com/laravel/framework/blob/c0970285/src/Illuminate/Foundation/helpers.php#L254-L265
*/
function config($key = null, $default = null)
{
if (is_null($key)) {
return sage('config');
}
if (is_array($key)) {
return sage('config')->set($key);
}
return sage('config')->get($key, $default);
}
/**
* @param string $file
* @param array $data
* @return string
*/
function template($file, $data = [])
{
return sage('blade')->render($file, $data);
}
/**
* Retrieve path to a compiled blade view
* @param $file
* @param array $data
* @return string
*/
function template_path($file, $data = [])
{
return sage('blade')->compiledPath($file, $data);
}
/**
* @param $asset
* @return string
*/
function asset_path($asset)
{
return sage('assets')->getUri($asset);
}
/**
* @param string|string[] $templates Possible template files
* @return array
*/
function filter_templates($templates)
{
$paths = apply_filters('sage/filter_templates/paths', [
'views',
'resources/views'
]);
$paths_pattern = "#^(" . implode('|', $paths) . ")/#";
return collect($templates)
->map(function ($template) use ($paths_pattern) {
/** Remove .blade.php/.blade/.php from template names */
$template = preg_replace('#\.(blade\.?)?(php)?$#', '', ltrim($template));
/** Remove partial $paths from the beginning of template names */
if (strpos($template, '/')) {
$template = preg_replace($paths_pattern, '', $template);
}
return $template;
})
->flatMap(function ($template) use ($paths) {
return collect($paths)
->flatMap(function ($path) use ($template) {
return [
"{$path}/{$template}.blade.php",
"{$path}/{$template}.php",
"{$template}.blade.php",
"{$template}.php",
];
});
})
->filter()
->unique()
->all();
}
/**
* @param string|string[] $templates Relative path to possible template files
* @return string Location of the template
*/
function locate_template($templates)
{
return \locate_template(filter_templates($templates));
}
/**
* Determine whether to show the sidebar
* @return bool
*/
function display_sidebar()
{
static $display;
isset($display) || $display = apply_filters('sage/display_sidebar', false);
return $display;
}
/**
* Page titles
* @return string
*/
function title()
{
if (is_home()) {
if ($home = get_option('page_for_posts', true)) {
return get_the_title($home);
}
return __('Latest Posts', 'sage');
}
if (is_archive()) {
return get_the_archive_title();
}
if (is_search()) {
return sprintf(__('Search Results for %s', 'sage'), get_search_query());
}
if (is_404()) {
return __('Not Found', 'sage');
}
return get_the_title();
}

View File

@@ -1,128 +0,0 @@
<?php
namespace App;
use Roots\Sage\Container;
use Roots\Sage\Assets\JsonManifest;
use Roots\Sage\Template\Blade;
use Roots\Sage\Template\BladeProvider;
/**
* Theme assets
*/
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style('sage/main.css', asset_path('styles/main.css'), false, null);
wp_enqueue_script('sage/main.js', asset_path('scripts/main.js'), ['jquery'], null, true);
}, 100);
/**
* Theme setup
*/
add_action('after_setup_theme', function () {
/**
* Enable features from Soil when plugin is activated
* @link https://roots.io/plugins/soil/
*/
add_theme_support('soil-clean-up');
add_theme_support('soil-jquery-cdn');
add_theme_support('soil-nav-walker');
add_theme_support('soil-nice-search');
add_theme_support('soil-relative-urls');
/**
* Enable plugins to manage the document title
* @link https://developer.wordpress.org/reference/functions/add_theme_support/#title-tag
*/
add_theme_support('title-tag');
/**
* Register navigation menus
* @link https://developer.wordpress.org/reference/functions/register_nav_menus/
*/
register_nav_menus([
'primary_navigation' => __('Primary Navigation', 'sage')
]);
/**
* Enable post thumbnails
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support('post-thumbnails');
/**
* Enable HTML5 markup support
* @link https://developer.wordpress.org/reference/functions/add_theme_support/#html5
*/
add_theme_support('html5', ['caption', 'comment-form', 'comment-list', 'gallery', 'search-form']);
/**
* Enable selective refresh for widgets in customizer
* @link https://developer.wordpress.org/themes/advanced-topics/customizer-api/#theme-support-in-sidebars
*/
add_theme_support('customize-selective-refresh-widgets');
/**
* Use main stylesheet for visual editor
* @see resources/assets/styles/layouts/_tinymce.scss
*/
add_editor_style(asset_path('styles/main.css'));
}, 20);
/**
* Register sidebars
*/
add_action('widgets_init', function () {
$config = [
'before_widget' => '<section class="widget %1$s %2$s">',
'after_widget' => '</section>',
'before_title' => '<h3>',
'after_title' => '</h3>'
];
register_sidebar([
'name' => __('Primary', 'sage'),
'id' => 'sidebar-primary'
] + $config);
register_sidebar([
'name' => __('Footer', 'sage'),
'id' => 'sidebar-footer'
] + $config);
});
/**
* Updates the `$post` variable on each iteration of the loop.
* Note: updated value is only available for subsequently loaded views, such as partials
*/
add_action('the_post', function ($post) {
sage('blade')->share('post', $post);
});
/**
* Setup Sage options
*/
add_action('after_setup_theme', function () {
/**
* Add JsonManifest to Sage container
*/
sage()->singleton('sage.assets', function () {
return new JsonManifest(config('assets.manifest'), config('assets.uri'));
});
/**
* Add Blade to Sage container
*/
sage()->singleton('sage.blade', function (Container $app) {
$cachePath = config('view.compiled');
if (!file_exists($cachePath)) {
wp_mkdir_p($cachePath);
}
(new BladeProvider($app))->register();
return new Blade($app['view']);
});
/**
* Create @asset() Blade directive
*/
sage('blade')->compiler()->directive('asset', function ($asset) {
return "<?= " . __NAMESPACE__ . "\\asset_path({$asset}); ?>";
});
});

View File

@@ -1,46 +1,107 @@
{ {
"name": "roots/sage", "name": "roots/bedrock",
"type": "wordpress-theme", "type": "project",
"license": "MIT", "license": "MIT",
"description": "WordPress starter theme with a modern development workflow", "description": "WordPress boilerplate with Composer, easier configuration, and an improved folder structure",
"homepage": "https://roots.io/sage/", "homepage": "https://roots.io/bedrock/",
"authors": [ "authors": [
{
"name": "Ben Word",
"email": "ben@benword.com",
"homepage": "https://github.com/retlehs"
},
{ {
"name": "Scott Walkinshaw", "name": "Scott Walkinshaw",
"email": "scott.walkinshaw@gmail.com", "email": "scott.walkinshaw@gmail.com",
"homepage": "https://github.com/swalkinshaw" "homepage": "https://github.com/swalkinshaw"
},
{
"name": "Ben Word",
"email": "ben@benword.com",
"homepage": "https://github.com/retlehs"
} }
], ],
"keywords": ["wordpress"], "keywords": [
"bedrock", "composer", "roots", "wordpress", "wp", "wp-config"
],
"support": { "support": {
"issues": "https://github.com/roots/sage/issues", "issues": "https://github.com/roots/bedrock/issues",
"forum": "https://discourse.roots.io/" "forum": "https://discourse.roots.io/category/bedrock"
}, },
"autoload": { "repositories": [
"psr-4": { {
"App\\": "app/" "type": "composer",
"url": "https://wpackagist.org",
"only": ["wpackagist-plugin/*", "wpackagist-theme/*"]
},
{
"type": "composer",
"url": "https://packagist.badegg.uk"
},
{
"type": "composer",
"url": "https://wp-languages.github.io",
"only": [
"koodimonni-language/*",
"koodimonni-plugin-language/*",
"koodimonni-theme-language/*"
]
},
{
"type":"composer",
"url":"https://connect.advancedcustomfields.com"
} }
}, ],
"require": { "require": {
"php": ">=7", "php": ">=8.1",
"composer/installers": "~1.0", "composer/installers": "^2.2",
"illuminate/support": "~5.4", "vlucas/phpdotenv": "^5.5",
"roots/sage-lib": "~9.0.0-beta.3", "oscarotero/env": "^2.1",
"soberwp/controller": "dev-master" "roots/bedrock-autoloader": "^1.0",
"roots/bedrock-disallow-indexing": "^2.0",
"roots/wordpress": "^6.9",
"roots/wp-config": "1.0.0",
"wpackagist-theme/twentytwentyfive": "^1.0",
"koodimonni-language/core-en_gb": "^6.8",
"johnbillion/extended-cpts": "^5.1",
"wpackagist-plugin/autodescription": "^5.1",
"badegguk/bad-egg-digital-login-page": "^1.0",
"wpackagist-plugin/fluent-smtp": "^2.2",
"roots/acorn-prettify": "^1.0",
"wpackagist-plugin/contact-form-7": "^6.1",
"wpackagist-plugin/flamingo": "^2.6",
"wpengine/advanced-custom-fields-pro": "^6.7",
"ourcodeworld/name-that-color": "dev-master",
"wpackagist-plugin/resizable-editor-sidebar": "1.0.6",
"wpackagist-plugin/hard-boiled-security": "^1.0"
}, },
"require-dev": { "require-dev": {
"squizlabs/php_codesniffer": "^2.8.0", "roave/security-advisories": "dev-latest",
"roots/sage-installer": "~1.2" "laravel/pint": "^1.18",
"wpackagist-plugin/ajax-thumbnail-rebuild": "^1.14"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"allow-plugins": {
"composer/installers": true,
"roots/wordpress-core-installer": true,
"koodimonni/composer-dropin-installer": true
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"installer-paths": {
"web/app/mu-plugins/{$name}/": [
"type:wordpress-muplugin",
"badegguk/bad-egg-digital-login-page",
"badegguk/hard-boiled-security",
"wpengine/advanced-custom-fields-pro",
"wpackagist-plugin/hard-boiled-security"
],
"web/app/plugins/{$name}/": ["type:wordpress-plugin"],
"web/app/themes/{$name}/": ["type:wordpress-theme"]
},
"wordpress-install-dir": "web/wp"
}, },
"scripts": { "scripts": {
"test": ["phpcs"], "lint": "pint --test",
"post-create-project-cmd": [ "lint:fix": "pint"
"Roots\\Sage\\Installer\\ComposerScript::postCreateProject"
]
} }
} }

3503
composer.lock generated

File diff suppressed because it is too large Load Diff

188
config/application.php Normal file
View File

@@ -0,0 +1,188 @@
<?php
/**
* Your base production configuration goes in this file. Environment-specific
* overrides go in their respective config/environments/{{WP_ENV}}.php file.
*
* A good default policy is to deviate from the production config as little as
* possible. Try to define as much of your configuration in this file as you
* can.
*/
use Roots\WPConfig\Config;
use function Env\env;
// USE_ENV_ARRAY + CONVERT_* + STRIP_QUOTES
Env\Env::$options = 31;
/**
* Directory containing all of the site's files
*
* @var string
*/
$root_dir = dirname(__DIR__);
/**
* Document Root
*
* @var string
*/
$webroot_dir = $root_dir . '/web';
/**
* Use Dotenv to set required environment variables and load .env file in root
* .env.local will override .env if it exists
*/
if (file_exists($root_dir . '/.env')) {
$env_files = file_exists($root_dir . '/.env.local')
? ['.env', '.env.local']
: ['.env'];
$repository = Dotenv\Repository\RepositoryBuilder::createWithNoAdapters()
->addAdapter(Dotenv\Repository\Adapter\EnvConstAdapter::class)
->addAdapter(Dotenv\Repository\Adapter\PutenvAdapter::class)
->immutable()
->make();
$dotenv = Dotenv\Dotenv::create($repository, $root_dir, $env_files, false);
$dotenv->load();
$dotenv->required(['WP_HOME', 'WP_SITEURL']);
if (!env('DATABASE_URL')) {
$dotenv->required(['DB_NAME', 'DB_USER', 'DB_PASSWORD']);
}
}
/**
* Set up our global environment constant and load its config first
* Default: production
*/
define('WP_ENV', env('WP_ENV') ?: 'production');
/**
* Infer WP_ENVIRONMENT_TYPE based on WP_ENV
*/
if (!env('WP_ENVIRONMENT_TYPE') && in_array(WP_ENV, ['production', 'staging', 'development', 'local'])) {
Config::define('WP_ENVIRONMENT_TYPE', WP_ENV);
}
/**
* URLs
*/
Config::define('WP_HOME', env('WP_HOME'));
Config::define('WP_SITEURL', env('WP_SITEURL'));
/**
* Custom Content Directory
*/
Config::define('CONTENT_DIR', '/app');
Config::define('WP_CONTENT_DIR', $webroot_dir . Config::get('CONTENT_DIR'));
Config::define('WP_CONTENT_URL', Config::get('WP_HOME') . Config::get('CONTENT_DIR'));
/**
* DB settings
*/
if (env('DB_SSL')) {
Config::define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
}
Config::define('DB_NAME', env('DB_NAME'));
Config::define('DB_USER', env('DB_USER'));
Config::define('DB_PASSWORD', env('DB_PASSWORD'));
Config::define('DB_HOST', env('DB_HOST') ?: 'localhost');
Config::define('DB_CHARSET', 'utf8mb4');
Config::define('DB_COLLATE', '');
$table_prefix = env('DB_PREFIX') ?: 'wp_';
if (env('DATABASE_URL')) {
$dsn = (object) parse_url(env('DATABASE_URL'));
Config::define('DB_NAME', substr($dsn->path, 1));
Config::define('DB_USER', $dsn->user);
Config::define('DB_PASSWORD', isset($dsn->pass) ? $dsn->pass : null);
Config::define('DB_HOST', isset($dsn->port) ? "{$dsn->host}:{$dsn->port}" : $dsn->host);
}
/**
* Authentication Unique Keys and Salts
*/
Config::define('AUTH_KEY', env('AUTH_KEY'));
Config::define('SECURE_AUTH_KEY', env('SECURE_AUTH_KEY'));
Config::define('LOGGED_IN_KEY', env('LOGGED_IN_KEY'));
Config::define('NONCE_KEY', env('NONCE_KEY'));
Config::define('AUTH_SALT', env('AUTH_SALT'));
Config::define('SECURE_AUTH_SALT', env('SECURE_AUTH_SALT'));
Config::define('LOGGED_IN_SALT', env('LOGGED_IN_SALT'));
Config::define('NONCE_SALT', env('NONCE_SALT'));
/**
* Custom Settings
*/
Config::define('AUTOMATIC_UPDATER_DISABLED', true);
Config::define('DISABLE_WP_CRON', env('DISABLE_WP_CRON') ?: false);
// Disable the plugin and theme file editor in the admin
Config::define('DISALLOW_FILE_EDIT', true);
// Disable plugin and theme updates and installation from the admin
Config::define('DISALLOW_FILE_MODS', true);
// Limit the number of post revisions
Config::define('WP_POST_REVISIONS', env('WP_POST_REVISIONS') ?? true);
// Disable script concatenation
Config::define('CONCATENATE_SCRIPTS', false);
/**
* Debugging Settings
*/
Config::define('WP_DEBUG_DISPLAY', false);
Config::define('WP_DEBUG_LOG', false);
Config::define('SCRIPT_DEBUG', false);
ini_set('display_errors', '0');
/**
* Allow WordPress to detect HTTPS when used behind a reverse proxy or a load balancer
* See https://codex.wordpress.org/Function_Reference/is_ssl#Notes
*/
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
$env_config = __DIR__ . '/environments/' . WP_ENV . '.php';
if (file_exists($env_config)) {
require_once $env_config;
}
/**
* Advanced Custom Fields Pro License
*/
Config::define('ACF_PRO_LICENSE', env('ACF_PRO_LICENSE'));
/**
* s3 uploads settings
*/
Config::define('S3_UPLOADS_BUCKET', env('S3_UPLOADS_BUCKET'));
Config::define('S3_UPLOADS_BUCKET_URL', env('S3_UPLOADS_BUCKET_URL'));
Config::define('S3_UPLOADS_REGION', env('S3_UPLOADS_REGION'));
Config::define('S3_UPLOADS_KEY', env('S3_UPLOADS_KEY'));
Config::define('S3_UPLOADS_SECRET', env('S3_UPLOADS_SECRET'));
/**
* Fluent SMTP Setings
*/
Config::define('FLUENTMAIL_SMTP_USERNAME', env('FLUENTMAIL_SMTP_USERNAME'));
Config::define('FLUENTMAIL_SMTP_PASSWORD', env('FLUENTMAIL_SMTP_PASSWORD'));
Config::define('FLUENTMAIL_SENDINBLUE_API_KEY', env('FLUENTMAIL_SENDINBLUE_API_KEY'));
Config::apply();
/**
* Bootstrap WordPress
*/
if (!defined('ABSPATH')) {
define('ABSPATH', $webroot_dir . '/wp/');
}

View File

@@ -1,31 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Assets Manifest
|--------------------------------------------------------------------------
|
| Your asset manifest is used by Sage to assist WordPress and your views
| with rendering the correct URLs for your assets. This is especially
| useful for statically referencing assets with dynamically changing names
| as in the case of cache-busting.
|
*/
'manifest' => get_theme_file_path().'/dist/assets.json',
/*
|--------------------------------------------------------------------------
| Assets Path URI
|--------------------------------------------------------------------------
|
| The asset manifest contains relative paths to your assets. This URI will
| be prepended when using Sage's asset management system. Change this if
| you are using a CDN.
|
*/
'uri' => get_theme_file_uri().'/dist',
];

View File

@@ -0,0 +1,22 @@
<?php
/**
* Configuration overrides for WP_ENV === 'development'
*/
use Roots\WPConfig\Config;
use function Env\env;
Config::define('SAVEQUERIES', true);
Config::define('WP_DEBUG', true);
Config::define('WP_DEBUG_DISPLAY', true);
Config::define('WP_DEBUG_LOG', env('WP_DEBUG_LOG') ?? true);
Config::define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
Config::define('SCRIPT_DEBUG', true);
Config::define('DISALLOW_INDEXING', true);
ini_set('display_errors', '1');
// Enable plugin and theme updates and installation from the admin
Config::define('DISALLOW_FILE_MODS', false);

View File

@@ -0,0 +1,18 @@
<?php
/**
* Configuration overrides for WP_ENV === 'staging'
*/
use Roots\WPConfig\Config;
/**
* You should try to keep staging as close to production as possible. However,
* should you need to, you can always override production configuration values
* with `Config::define`.
*
* Example: `Config::define('WP_DEBUG', true);`
* Example: `Config::define('DISALLOW_FILE_MODS', false);`
*/
Config::define('DISALLOW_INDEXING', true);

View File

@@ -1,32 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Theme Directory
|--------------------------------------------------------------------------
|
| This is the absolute path to your theme directory.
|
| Example:
| /srv/www/example.com/current/web/app/themes/sage
|
*/
'dir' => get_theme_file_path(),
/*
|--------------------------------------------------------------------------
| Theme Directory URI
|--------------------------------------------------------------------------
|
| This is the web server URI to your theme directory.
|
| Example:
| https://example.com/app/themes/sage
|
*/
'uri' => get_theme_file_uri(),
];

View File

@@ -1,51 +0,0 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most template systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views.
|
*/
'paths' => [
get_theme_file_path().'/resources/views',
get_parent_theme_file_path().'/resources/views',
],
/*
|--------------------------------------------------------------------------
| Compiled View Path
|--------------------------------------------------------------------------
|
| This option determines where all the compiled Blade templates will be
| stored for your application. Typically, this is within the uploads
| directory. However, as usual, you are free to change this value.
|
*/
'compiled' => wp_upload_dir()['basedir'].'/cache',
/*
|--------------------------------------------------------------------------
| View Namespaces
|--------------------------------------------------------------------------
|
| Blade has an underutilized feature that allows developers to add
| supplemental view paths that may contain conflictingly named views.
| These paths are prefixed with a namespace to get around the conflicts.
| A use case might be including views from within a plugin folder.
|
*/
'namespaces' => [
/* Given the below example, in your views use something like: @include('WC::some.view.or.partial.here') */
// 'WC' => WP_PLUGIN_DIR.'/woocommerce/templates/',
],
];

63
docker-compose.yml Normal file
View File

@@ -0,0 +1,63 @@
services:
nginx:
image: nginx:latest
container_name: ${APP_NAME}-nginx
ports:
- '80:80'
- '443:443'
volumes:
- "./docker/nginx/:/etc/nginx/templates/"
- ./:/var/www/html:rw,cached
- ./docker/certs:/etc/certs
environment:
- "NGINX_ENVSUBST_TEMPLATE_SUFFIX=.conf"
- "DOMAIN=${DOMAIN}"
depends_on:
- wordpress
restart: always
mysql:
image: mariadb:10.7
container_name: ${APP_NAME}-mysql
command: --lower_case_table_names=2
volumes:
- './docker/data/db:/var/lib/mysql:delegated'
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_DATABASE=${DB_NAME}
restart: always
ports:
- '3306:3306'
wordpress:
build:
context: .
dockerfile: ./docker/Dockerfile
container_name: ${APP_NAME}-wordpress
volumes:
- ./:/var/www/html:rw,cached
- ./docker/config/php.ini:/usr/local/etc/php/conf.d/php.ini
depends_on:
- mysql
restart: always
phpmyadmin:
image: arm64v8/phpmyadmin
container_name: ${APP_NAME}-phpmyadmin
volumes:
- ./docker/config/phpmyadmin.ini:/usr/local/etc/php/conf.d/phpmyadmin.ini
environment:
PMA_HOST: "${DB_HOST}"
PMA_PORT: 3306
MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}"
ports:
- '8082:80'
links:
- mysql:mysql
mailpit:
container_name: ${APP_NAME}-mailpit
image: axllent/mailpit
ports:
- "8025:8025"
- "1025:1025"

4
docker/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
certs/*
!certs/.gitkeep
data/*
!data/.gitkeep

21
docker/Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
FROM urre/wordpress-nginx-docker-compose-image:1.4.0
# PHP Extensions
RUN docker-php-ext-configure calendar && docker-php-ext-install calendar
# Install wp-cli
RUN apt-get update && apt-get install -y sudo less mariadb-client
RUN curl -o /bin/wp-cli.phar https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
RUN chmod +x /bin/wp-cli.phar
RUN cd /bin && mv wp-cli.phar wp
RUN mkdir -p /var/www/.wp-cli/cache && chown www-data:www-data /var/www/.wp-cli/cache
# Install composer
COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer
# Forward Message to mailhog
RUN curl --location --output /usr/local/bin/mhsendmail https://github.com/mailhog/mhsendmail/releases/download/v0.2.0/mhsendmail_linux_amd64 && \
chmod +x /usr/local/bin/mhsendmail
RUN echo 'sendmail_path="/usr/local/bin/mhsendmail --smtp-addr=mailhog:1025 --from=no-reply@gbp.lo"' > /usr/local/etc/php/conf.d/mailhog.ini
# Note: Use docker-compose up -d --force-recreate --build when Dockerfile has changed.

351
docker/README.md Normal file
View File

@@ -0,0 +1,351 @@
# Docker Compose and WordPress
![](https://github.com/urre/wordpress-nginx-docker-compose/actions/workflows/ci.yml/badge.svg)
[![Donate](https://img.shields.io/badge/Donation-green?logo=paypal&label=Paypal)](https://www.paypal.me/urbansanden)
Use WordPress locally with Docker using [Docker compose](https://docs.docker.com/compose/)
## Contents
+ A `Dockerfile` for extending a base image and using a custom [Docker image](https://github.com/urre/wordpress-nginx-docker-compose-image) with an [automated build on Docker Hub](https://cloud.docker.com/repository/docker/urre/wordpress-nginx-docker-compose-image)
+ PHP 8.1
+ Custom domain and HTTPS support. So you can use for example [https://myapp.local](https://myapp.local)
+ Custom nginx config in `./nginx`
+ Custom PHP `php.ini` config in `./config`
+ Volumes for `nginx`, `wordpress` and `mariadb`
+ [Bedrock](https://roots.io/bedrock/) - modern development tools, easier configuration, and an improved secured folder structure for WordPress
+ Composer
+ [WP-CLI](https://wp-cli.org/) - WP-CLI is the command-line interface for WordPress.
+ [MailHog](https://github.com/mailhog/MailHog) - An email testing tool for developers. Configure your outgoing SMTP server and view your outgoing email in a web UI.
+ [PhpMyAdmin](https://www.phpmyadmin.net/) - free and open source administration tool for MySQL and MariaDB
- PhpMyAdmin config in `./config`
+ CLI script to create a SSL certificate
## Instructions
<details>
<summary>Requirements</summary>
+ [Docker](https://www.docker.com/get-started)
+ [mkcert](https://github.com/FiloSottile/mkcert) for creating the SSL cert.
Install mkcert:
```
brew install mkcert
brew install nss # if you use Firefox
```
</details>
<details>
<summary>Setup</summary>
### Setup Environment variables
Both step 1. and 2. below are required:
#### 1. For Docker and the CLI script (Required step)
Copy `.env.example` in the project root to `.env` and edit your preferences.
Example:
```dotenv
IP=127.0.0.1
APP_NAME=myapp
DOMAIN="myapp.local"
DB_HOST=mysql
DB_NAME=myapp
DB_ROOT_PASSWORD=password
DB_TABLE_PREFIX=wp_
```
#### 2. For WordPress (Required step)
Edit `./src/.env.example` to your needs. During the `composer create-project` command described below, an `./src/.env` will be created.
Example:
```dotenv
DB_NAME='myapp'
DB_USER='root'
DB_PASSWORD='password'
# Optionally, you can use a data source name (DSN)
# When using a DSN, you can remove the DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST variables
# DATABASE_URL='mysql://database_user:database_password@database_host:database_port/database_name'
# Optional variables
DB_HOST='mysql'
# DB_PREFIX='wp_'
WP_ENV='development'
WP_HOME='https://myapp.local'
WP_SITEURL="${WP_HOME}/wp"
WP_DEBUG_LOG=/path/to/debug.log
# Generate your keys here: https://roots.io/salts.html
AUTH_KEY='generateme'
SECURE_AUTH_KEY='generateme'
LOGGED_IN_KEY='generateme'
NONCE_KEY='generateme'
AUTH_SALT='generateme'
SECURE_AUTH_SALT='generateme'
LOGGED_IN_SALT='generateme'
NONCE_SALT='generateme'
```
</details>
<details>
<summary>Option 1). Use HTTPS with a custom domain</summary>
1. Create a SSL cert:
```shell
cd cli
./create-cert.sh
```
This script will create a locally-trusted development certificates. It requires no configuration.
> mkcert needs to be installed like described in Requirements. Read more for [Windows](https://github.com/FiloSottile/mkcert#windows) and [Linux](https://github.com/FiloSottile/mkcert#linux)
1b. Make sure your `/etc/hosts` file has a record for used domains. On Windows the hosts file can be find at `C:\Windows\System32\drivers\etc`. Make sure to open it with admin rights.
```
sudo nano /etc/hosts
```
Add your selected domain like this:
```
127.0.0.1 myapp.local
```
2. Continue on the Install step below
</details>
<details>
<summary>Option 2). Use a simple config</summary>
1. Edit `nginx/default.conf.conf` to use this simpler config (without using a cert and HTTPS)
```shell
server {
listen 80;
root /var/www/html/web;
index index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
```
2. Edit the nginx service in `docker-compose.yml` to use port 80. 443 is not needed now.
```shell
nginx:
image: nginx:latest
container_name: ${APP_NAME}-nginx
ports:
- '80:80'
```
3. Continue on the Install step below
</details>
<details>
<summary>Install</summary>
```shell
docker-compose run composer create-project
```
</details>
<details>
<summary>Run</summary>
```shell
docker-compose up
```
Docker Compose will now start all the services for you:
```shell
Starting myapp-mysql ... done
Starting myapp-composer ... done
Starting myapp-phpmyadmin ... done
Starting myapp-wordpress ... done
Starting myapp-nginx ... done
Starting myapp-mailhog ... done
```
🚀 Open [https://myapp.local](https://myapp.local) in your browser
## PhpMyAdmin
PhpMyAdmin comes installed as a service in docker-compose.
🚀 Open [http://127.0.0.1:8082/](http://127.0.0.1:8082/) in your browser
## MailHog
MailHog comes installed as a service in docker-compose.
🚀 Open [http://0.0.0.0:8025/](http://0.0.0.0:8025/) in your browser
</details>
<details>
<summary>Tools</summary>
### Update WordPress Core and Composer packages (plugins/themes)
```shell
docker-compose run composer update
```
#### Use WP-CLI
```shell
docker exec -it myapp-wordpress bash
```
Login to the container
```shell
wp search-replace https://olddomain.com https://newdomain.com --allow-root
```
Run a wp-cli command
> You can use this command first after you've installed WordPress using Composer as the example above.
### Update plugins and themes from wp-admin?
You can, but I recommend to use Composer for this only. But to enable this edit `./src/config/environments/development.php` (for example to use it in Dev)
```shell
Config::define('DISALLOW_FILE_EDIT', false);
Config::define('DISALLOW_FILE_MODS', false);
```
### Useful Docker Commands
When making changes to the Dockerfile, use:
```bash
docker-compose up -d --force-recreate --build
```
Login to the docker container
```shell
docker exec -it myapp-wordpress bash
```
Stop
```shell
docker-compose stop
```
Down (stop and remove)
```shell
docker-compose down
```
Cleanup
```shell
docker-compose rm -v
```
Recreate
```shell
docker-compose up -d --force-recreate
```
Rebuild docker container when Dockerfile has changed
```shell
docker-compose up -d --force-recreate --build
```
</details>
<details>
<summary>Changelog</summary>
#### 2022-05-28
- Use PHP 8.1 [Dockerfile](https://github.com/urre/wordpress-nginx-docker-compose-image/blob/master/Dockerfile) is updated.
#### 2022-05-28
- Use php:8.0-fpm-alpine as the base image on the image in Dockerfile [](https://hub.docker.com/repository/registry-1.docker.io/urre/wordpress-nginx-docker-compose-image/general)
#### 2022-05-28
- Updated the Docker image to use PHP 8
#### 2021-08-04
- Updated to WordPress 5.8.0
#### 2021-03-16
- Changed root `.env-example` to `.env.example` to match the git ignore patterns. Thanks [@scottnunemacher](https://github.com/scottnunemacher)
#### 2021-03-05
- Clarify steps in the readme
#### 2021-03-02
- Fixed a misstake so instead of `./src/.env-example`, it should be `./src/.env.example`.
- Redirect HTTP to HTTPS. Thanks [@humblecoder](https://github.com/humblecoder)
#### 2021-01-02
- Use `NGINX_ENVSUBST_TEMPLATE_SUFFIX`. Use a template and better substution of ENV variables in nginx config.
#### 2020-10-04
- Added mariadb-client (Solves [#54](https://github.com/urre/wordpress-nginx-docker-compose/issues/54))
#### 2020-09-15
- Updated Bedrock. Update WordPress to 5.5.1 and other composer updates.
#### 2020-07-12
- Added Mailhog. Thanks [@mortensassi](https://github.com/mortensassi)
#### 2020-05-03
- Added nginx gzip compression
#### 2020-04-19
- Added Windows support for creating SSH cert, trusting it and setting up the host file entry. Thanks to [@styssi](https://github.com/styssi)
#### 2020-04-12
- Remove port number from `DB_HOST`. Generated database connection error in macOS Catalina. Thanks to [@nirvanadev](https://github.com/nirvanadev)
- Add missing ENV variable from mariadb Thanks to [@vonwa](https://github.com/vonwa)
#### 2020-03-26
- Added phpMyAdmin config.Thanks to [@titoffanton](https://github.com/titoffanton)
#### 2020-02-06
- Readme improvements. Explain `/etc/hosts` better
#### 2020-01-30
- Use `Entrypoint` command in Docker Compose to replace the domain name in the nginx config. Removing the need to manually edit the domain name in the nginx conf. Now using the `.env` value `DOMAIN`
- Added APP_NAME in `.env-example` Thanks to [@Dave3o3](https://github.com/Dave3o3)
#### 2020-01-11
- Added `.env` support for specifying your own app name, domain etc in Docker and cli scripts.
- Added phpMyAdmin. Visit [http://127.0.0.1:8080/](http://127.0.0.1:8080/)
#### 2019-08-02
- Added Linux support. Thanks to [@faysal-ishtiaq](https://github.com/faysal-ishtiaq).
</details>

13
docker/cli/create-cert.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
set -e
source "../../.env"
DOMAIN=$(echo "$DOMAIN")
mkcert -install "${DOMAIN}"
mkdir -p ../certs
find . -type f -name "*.pem" -exec mv {} ../certs \;

6
docker/config/php.ini Normal file
View File

@@ -0,0 +1,6 @@
file_uploads = On
memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 600
client_max_body_size = 128M

View File

@@ -0,0 +1,2 @@
upload_max_filesize = 128M
post_max_size = 128M

View File

@@ -0,0 +1,79 @@
server {
listen 80;
server_name ${DOMAIN};
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name ${DOMAIN} www.${DOMAIN};
ssl_certificate /etc/certs/${DOMAIN}.pem;
ssl_certificate_key /etc/certs/${DOMAIN}-key.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDH+AESGCM:ECDH+AES256:ECDH+AES128:!ADH:!AECDH:!MD5;";
root /var/www/html/web;
index index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 0;
gzip_types text/plain application/javascript text/css text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype;
client_max_body_size 100M;
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/html;
}
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 60;
fastcgi_read_timeout 300;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /\.ht {
deny all;
}
location = /favicon.ico {
log_not_found off; access_log off;
}
location = /robots.txt {
log_not_found off; access_log off; allow all;
}
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
}

9705
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,132 +0,0 @@
{
"name": "sage",
"version": "9.0.0-beta.3",
"author": "Roots <team@roots.io>",
"homepage": "https://roots.io/sage/",
"private": true,
"repository": {
"type": "git",
"url": "git://github.com/roots/sage.git"
},
"bugs": {
"url": "https://github.com/roots/sage/issues"
},
"licenses": [
{
"type": "MIT",
"url": "http://opensource.org/licenses/MIT"
}
],
"browserslist": [
"last 2 versions",
"android 4",
"opera 12"
],
"eslintConfig": {
"root": true,
"extends": "eslint:recommended",
"globals": {
"wp": true
},
"env": {
"node": true,
"es6": true,
"amd": true,
"browser": true,
"jquery": true
},
"parserOptions": {
"ecmaFeatures": {
"globalReturn": true,
"generators": false,
"objectLiteralDuplicateProperties": false,
"experimentalObjectRestSpread": true
},
"ecmaVersion": 2017,
"sourceType": "module"
},
"plugins": [
"import"
],
"settings": {
"import/core-modules": [],
"import/ignore": [
"node_modules",
"\\.(coffee|scss|css|less|hbs|svg|json)$"
]
},
"rules": {
"comma-dangle": [
"error",
{
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "ignore"
}
]
}
},
"stylelint": {
"extends": "stylelint-config-standard",
"rules": {
"no-empty-source": null
}
},
"scripts": {
"build": "webpack --progress --config resources/assets/build/webpack.config.js",
"build:production": "webpack --progress -p --config resources/assets/build/webpack.config.js",
"build:profile": "webpack --progress --profile --json --config resources/assets/build/webpack.config.js",
"start": "webpack --hide-modules --watch --config resources/assets/build/webpack.config.js",
"rmdist": "rimraf dist",
"lint": "npm run -s lint:scripts && npm run -s lint:styles",
"lint:scripts": "eslint resources/assets/scripts resources/assets/build",
"lint:styles": "stylelint resources/assets/styles/**/*.{css,sass,scss,sss,less}",
"test": "npm run -s lint"
},
"engines": {
"node": ">= 6.9.4"
},
"devDependencies": {
"autoprefixer": "~7.1",
"browser-sync": "~2.18",
"browsersync-webpack-plugin": "^0.6.0",
"bs-html-injector": "~3.0",
"buble-loader": "^0.4.1",
"cache-loader": "~1.0",
"clean-webpack-plugin": "^0.1.16",
"copy-globs-webpack-plugin": "^0.2.0",
"css-loader": "^0.28.4",
"cssnano": "~4.0.0-rc.1",
"eslint": "~4.2",
"eslint-loader": "~1.9",
"eslint-plugin-import": "~2.7",
"extract-text-webpack-plugin": "~3.0",
"file-loader": "^0.11.2",
"imagemin-mozjpeg": "~6.0",
"imagemin-webpack-plugin": "~1.5.0-beta.0",
"import-glob": "~1.5",
"node-sass": "~4.5",
"postcss-loader": "~2.0",
"postcss-safe-parser": "~3.0",
"resolve-url-loader": "~2.1",
"rimraf": "~2.6",
"sass-loader": "~6.0",
"style-loader": "^0.18.2",
"stylelint": "~7.12",
"stylelint-config-standard": "~16.0",
"stylelint-webpack-plugin": "^0.8.0",
"url-loader": "^0.5.9",
"webpack": "~3.3",
"webpack-assets-manifest": "^0.7.0",
"webpack-dev-middleware": "~1.11",
"webpack-hot-middleware": "~2.18",
"webpack-merge": "~4.1",
"yargs": "~8.0"
},
"dependencies": {
"bootstrap": "^4.0.0-alpha.6",
"jquery": "1.12.4 - 3"
}
}

View File

@@ -1,71 +0,0 @@
<?xml version="1.0"?>
<ruleset name="Roots">
<description>Roots Coding Standards</description>
<!-- Scan these files -->
<file>resources/functions.php</file>
<file>resources/index.php</file>
<file>app</file>
<file>resources/views</file>
<!-- Show colors in console -->
<arg value="-colors"/>
<!-- Show sniff codes in all reports -->
<arg value="s"/>
<!-- Use PSR-2 as a base -->
<rule ref="PSR2"/>
<!-- Exclusions below are for resources/views/ folder -->
<!-- Allow php files without any PHP in them -->
<rule ref="Internal.NoCodeFound">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Allow braces on same line for named functions -->
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Allow closing braces to be on the same line -->
<rule ref="Squiz.WhiteSpace.ScopeClosingBrace">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Disable newline after opening brace -->
<rule ref="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Allow multiple PHP statements in the same line -->
<rule ref="Generic.Formatting.DisallowMultipleStatements.SameLine">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Disable PSR-2 indentation rules that are buggy with 2 spaces -->
<rule ref="PSR2.ControlStructures.SwitchDeclaration.BreakIndent">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Don't require a blank line after the last `use` -->
<rule ref="PSR2.Namespaces.UseDeclaration.SpaceAfterLastUse">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Allow long lines -->
<rule ref="Generic.Files.LineLength.TooLong">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Ignore indentation rules -->
<rule ref="Generic.WhiteSpace.ScopeIndent">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
<!-- Allow PHP closing tags -->
<rule ref="PSR2.Files.ClosingTag.NotAllowed">
<exclude-pattern>resources/views</exclude-pattern>
</rule>
</ruleset>

9
pint.json Normal file
View File

@@ -0,0 +1,9 @@
{
"preset": "per",
"exclude": [
"web/wp",
"web/app/mu-plugins/bedrock-disallow-indexing",
"web/app/plugins",
"web/app/themes/twentytwentyfive"
]
}

View File

@@ -1,14 +0,0 @@
{
"root": false,
"rules": {
"import/no-extraneous-dependencies": 0,
"prefer-rest-params": 0,
"comma-dangle": ["error", {
"arrays": "always-multiline",
"objects": "always-multiline",
"imports": "always-multiline",
"exports": "always-multiline",
"functions": "ignore"
}]
}
}

View File

@@ -1,60 +0,0 @@
const path = require('path');
const { argv } = require('yargs');
const merge = require('webpack-merge');
const desire = require('./util/desire');
const userConfig = merge(desire(`${__dirname}/../config`), desire(`${__dirname}/../config-local`));
const isProduction = !!((argv.env && argv.env.production) || argv.p);
const rootPath = (userConfig.paths && userConfig.paths.root)
? userConfig.paths.root
: process.cwd();
const config = merge({
open: true,
copy: 'images/**/*',
proxyUrl: 'http://localhost:3000',
cacheBusting: '[name]_[hash]',
paths: {
root: rootPath,
assets: path.join(rootPath, 'resources/assets'),
dist: path.join(rootPath, 'dist'),
},
enabled: {
sourceMaps: !isProduction,
optimize: isProduction,
cacheBusting: isProduction,
watcher: !!argv.watch,
},
watch: [],
}, userConfig);
module.exports = merge(config, {
env: Object.assign({ production: isProduction, development: !isProduction }, argv.env),
publicPath: `${config.publicPath}/${path.basename(config.paths.dist)}/`,
manifest: {},
});
if (process.env.NODE_ENV === undefined) {
process.env.NODE_ENV = isProduction ? 'production' : 'development';
}
/**
* If your publicPath differs between environments, but you know it at compile time,
* then set SAGE_DIST_PATH as an environment variable before compiling.
* Example:
* SAGE_DIST_PATH=/wp-content/themes/sage/dist yarn build:production
*/
if (process.env.SAGE_DIST_PATH) {
module.exports.publicPath = process.env.SAGE_DIST_PATH;
}
/**
* If you don't know your publicPath at compile time, then uncomment the lines
* below and use WordPress's wp_localize_script() to set SAGE_DIST_PATH global.
* Example:
* wp_localize_script('sage/main.js', 'SAGE_DIST_PATH', get_theme_file_uri('dist/'))
*/
// Object.keys(module.exports.entry).forEach(id =>
// module.exports.entry[id].unshift(path.join(__dirname, 'helpers/public-path.js')));

View File

@@ -1,7 +0,0 @@
const hotMiddlewareScript = require('webpack-hot-middleware/client?noInfo=true&timeout=20000&reload=true');
hotMiddlewareScript.subscribe(event => {
if (event.action === 'reload') {
window.location.reload();
}
});

View File

@@ -1,7 +0,0 @@
/* eslint-env browser */
/* globals SAGE_DIST_PATH */
/** Dynamically set absolute public path from current protocol and host */
if (SAGE_DIST_PATH) {
__webpack_public_path__ = SAGE_DIST_PATH; // eslint-disable-line no-undef, camelcase
}

View File

@@ -1,15 +0,0 @@
/* eslint-disable */
const cssnanoConfig = {
preset: ['default', { discardComments: { removeAll: true } }]
};
module.exports = ({ file, options }) => {
return {
parser: options.enabled.optimize ? 'postcss-safe-parser' : undefined,
plugins: {
cssnano: options.enabled.optimize ? cssnanoConfig : false,
autoprefixer: true,
},
};
};

View File

@@ -1,15 +0,0 @@
/**
* Loop through webpack entry
* and add the hot middleware
* @param {Object} entry webpack entry
* @return {Object} entry with hot middleware
*/
module.exports = (entry) => {
const results = {};
Object.keys(entry).forEach((name) => {
results[name] = Array.isArray(entry[name]) ? entry[name].slice(0) : [entry[name]];
results[name].unshift(`${__dirname}/../helpers/hmr-client.js`);
});
return results;
};

View File

@@ -1,34 +0,0 @@
const path = require('path');
module.exports = (key, value) => {
if (typeof value === 'string') {
return value;
}
const manifest = value;
/**
* Hack to prepend scripts/ or styles/ to manifest keys
*
* This might need to be reworked at some point.
*
* Before:
* {
* "main.js": "scripts/main_abcdef.js"
* "main.css": "styles/main_abcdef.css"
* }
* After:
* {
* "scripts/main.js": "scripts/main_abcdef.js"
* "styles/main.css": "styles/main_abcdef.css"
* }
*/
Object.keys(manifest).forEach((src) => {
const sourcePath = path.basename(path.dirname(src));
const targetPath = path.basename(path.dirname(manifest[src]));
if (sourcePath === targetPath) {
return;
}
manifest[`${targetPath}/${src}`] = manifest[src];
delete manifest[src];
});
return manifest;
};

View File

@@ -1,14 +0,0 @@
/**
* @export
* @param {string} dependency
* @param {any} [fallback]
* @return {any}
*/
module.exports = (dependency, fallback) => {
try {
require.resolve(dependency);
} catch (err) {
return fallback;
}
return require(dependency); // eslint-disable-line import/no-dynamic-require
};

View File

@@ -1,211 +0,0 @@
'use strict'; // eslint-disable-line
const webpack = require('webpack');
const merge = require('webpack-merge');
const CleanPlugin = require('clean-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const StyleLintPlugin = require('stylelint-webpack-plugin');
const CopyGlobsPlugin = require('copy-globs-webpack-plugin');
const config = require('./config');
const assetsFilenames = (config.enabled.cacheBusting) ? config.cacheBusting : '[name]';
let webpackConfig = {
context: config.paths.assets,
entry: config.entry,
devtool: (config.enabled.sourceMaps ? '#source-map' : undefined),
output: {
path: config.paths.dist,
publicPath: config.publicPath,
filename: `scripts/${assetsFilenames}.js`,
},
stats: {
hash: false,
version: false,
timings: false,
children: false,
errors: false,
errorDetails: false,
warnings: false,
chunks: false,
modules: false,
reasons: false,
source: false,
publicPath: false,
},
module: {
rules: [
{
enforce: 'pre',
test: /\.js$/,
include: config.paths.assets,
use: 'eslint',
},
{
enforce: 'pre',
test: /\.(js|s?[ca]ss)$/,
include: config.paths.assets,
loader: 'import-glob',
},
{
test: /\.js$/,
exclude: [/(node_modules|bower_components)(?![/|\\](bootstrap|foundation-sites))/],
use: [
{ loader: 'cache' },
{ loader: 'buble', options: { objectAssign: 'Object.assign' } },
],
},
{
test: /\.css$/,
include: config.paths.assets,
use: ExtractTextPlugin.extract({
fallback: 'style',
use: [
{ loader: 'cache' },
{ loader: 'css', options: { sourceMap: config.enabled.sourceMaps } },
{
loader: 'postcss', options: {
config: { path: __dirname, ctx: config },
sourceMap: config.enabled.sourceMaps,
},
},
],
}),
},
{
test: /\.scss$/,
include: config.paths.assets,
use: ExtractTextPlugin.extract({
fallback: 'style',
use: [
{ loader: 'cache' },
{ loader: 'css', options: { sourceMap: config.enabled.sourceMaps } },
{
loader: 'postcss', options: {
config: { path: __dirname, ctx: config },
sourceMap: config.enabled.sourceMaps,
},
},
{ loader: 'resolve-url', options: { sourceMap: config.enabled.sourceMaps } },
{ loader: 'sass', options: { sourceMap: config.enabled.sourceMaps } },
],
}),
},
{
test: /\.(ttf|eot|woff2?|png|jpe?g|gif|svg|ico)$/,
include: config.paths.assets,
loader: 'url',
options: {
limit: 4096,
name: `[path]${assetsFilenames}.[ext]`,
},
},
{
test: /\.(ttf|eot|woff2?|png|jpe?g|gif|svg|ico)$/,
include: /node_modules|bower_components/,
loader: 'url',
options: {
limit: 4096,
outputPath: 'vendor/',
name: `${config.cacheBusting}.[ext]`,
},
},
],
},
resolve: {
modules: [
config.paths.assets,
'node_modules',
'bower_components',
],
enforceExtension: false,
},
resolveLoader: {
moduleExtensions: ['-loader'],
},
externals: {
jquery: 'jQuery',
},
plugins: [
new CleanPlugin([config.paths.dist], {
root: config.paths.root,
verbose: false,
}),
/**
* It would be nice to switch to copy-webpack-plugin, but
* unfortunately it doesn't provide a reliable way of
* tracking the before/after file names
*/
new CopyGlobsPlugin({
pattern: config.copy,
output: `[path]${assetsFilenames}.[ext]`,
manifest: config.manifest,
}),
new ExtractTextPlugin({
filename: `styles/${assetsFilenames}.css`,
allChunks: true,
disable: (config.enabled.watcher),
}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
Tether: 'tether',
'window.Tether': 'tether',
}),
new webpack.LoaderOptionsPlugin({
minimize: config.enabled.optimize,
debug: config.enabled.watcher,
stats: { colors: true },
}),
new webpack.LoaderOptionsPlugin({
test: /\.s?css$/,
options: {
output: { path: config.paths.dist },
context: config.paths.assets,
},
}),
new webpack.LoaderOptionsPlugin({
test: /\.js$/,
options: {
eslint: { failOnWarning: false, failOnError: true },
},
}),
new StyleLintPlugin({
failOnError: !config.enabled.watcher,
syntax: 'scss',
}),
],
};
/* eslint-disable global-require */ /** Let's only load dependencies as needed */
if (config.enabled.optimize) {
webpackConfig = merge(webpackConfig, require('./webpack.config.optimize'));
}
if (config.env.production) {
webpackConfig.plugins.push(new webpack.NoEmitOnErrorsPlugin());
}
if (config.enabled.cacheBusting) {
const WebpackAssetsManifest = require('webpack-assets-manifest');
webpackConfig.plugins.push(
new WebpackAssetsManifest({
output: 'assets.json',
space: 2,
writeToDisk: false,
assets: config.manifest,
replacer: require('./util/assetManifestsFormatter'),
})
);
}
if (config.enabled.watcher) {
webpackConfig.entry = require('./util/addHotMiddleware')(webpackConfig.entry);
webpackConfig = merge(webpackConfig, require('./webpack.config.watch'));
}
module.exports = webpackConfig;

View File

@@ -1,19 +0,0 @@
'use strict'; // eslint-disable-line
const { default: ImageminPlugin } = require('imagemin-webpack-plugin');
const imageminMozjpeg = require('imagemin-mozjpeg');
const config = require('./config');
module.exports = {
plugins: [
new ImageminPlugin({
optipng: { optimizationLevel: 7 },
gifsicle: { optimizationLevel: 3 },
pngquant: { quality: '65-90', speed: 4 },
svgo: { removeUnknownsAndDefaults: false, cleanupIDs: false },
plugins: [imageminMozjpeg({ quality: 75 })],
disable: (config.enabled.watcher),
}),
],
};

View File

@@ -1,35 +0,0 @@
const url = require('url');
const webpack = require('webpack');
const BrowserSyncPlugin = require('browsersync-webpack-plugin');
const config = require('./config');
const target = process.env.DEVURL || config.devUrl;
/**
* We do this to enable injection over SSL.
*/
if (url.parse(target).protocol === 'https:') {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0;
}
module.exports = {
output: {
pathinfo: true,
publicPath: config.proxyUrl + config.publicPath,
},
devtool: '#cheap-module-source-map',
stats: false,
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
new BrowserSyncPlugin({
target,
open: config.open,
proxyUrl: config.proxyUrl,
watch: config.watch,
delay: 500,
}),
],
};

View File

@@ -1,21 +0,0 @@
{
"entry": {
"main": [
"./scripts/main.js",
"./styles/main.scss"
],
"customizer": [
"./scripts/customizer.js"
]
},
"publicPath": "/app/themes/sage",
"devUrl": "http://example.dev",
"proxyUrl": "http://localhost:3000",
"cacheBusting": "[name]_[hash:8]",
"watch": [
"app/**/*.php",
"config/**/*.php",
"resources/controllers/**/*.php",
"resources/views/**/*.php"
]
}

View File

@@ -1 +0,0 @@
import 'bootstrap';

View File

@@ -1,5 +0,0 @@
import $ from 'jquery';
wp.customize('blogname', (value) => {
value.bind(to => $('.brand').text(to));
});

View File

@@ -1,24 +0,0 @@
// import external dependencies
import 'jquery';
// Import everything from autoload
import "./autoload/**/*"
// import local dependencies
import Router from './util/Router';
import common from './routes/common';
import home from './routes/home';
import aboutUs from './routes/about';
/** Populate Router instance with DOM routes */
const routes = new Router({
// All pages
common,
// Home page
home,
// About Us page, note the change from about-us to aboutUs.
aboutUs,
});
// Load Events
jQuery(document).ready(() => routes.loadEvents());

View File

@@ -1,5 +0,0 @@
export default {
init() {
// JavaScript to be fired on the about us page
},
};

View File

@@ -1,8 +0,0 @@
export default {
init() {
// JavaScript to be fired on all pages
},
finalize() {
// JavaScript to be fired on all pages, after page specific JS is fired
},
};

View File

@@ -1,8 +0,0 @@
export default {
init() {
// JavaScript to be fired on the home page
},
finalize() {
// JavaScript to be fired on the home page, after the init JS
},
};

View File

@@ -1,63 +0,0 @@
import camelCase from './camelCase';
/**
* DOM-based Routing
*
* Based on {@link http://goo.gl/EUTi53|Markup-based Unobtrusive Comprehensive DOM-ready Execution} by Paul Irish
*
* The routing fires all common scripts, followed by the page specific scripts.
* Add additional events for more control over timing e.g. a finalize event
*/
class Router {
/**
* Create a new Router
* @param {Object} routes
*/
constructor(routes) {
this.routes = routes;
}
/**
* Fire Router events
* @param {string} route DOM-based route derived from body classes (`<body class="...">`)
* @param {string} [event] Events on the route. By default, `init` and `finalize` events are called.
* @param {string} [arg] Any custom argument to be passed to the event.
*/
fire(route, event = 'init', arg) {
const fire = route !== '' && this.routes[route] && typeof this.routes[route][event] === 'function';
if (fire) {
this.routes[route][event](arg);
}
}
/**
* Automatically load and fire Router events
*
* Events are fired in the following order:
* * common init
* * page-specific init
* * page-specific finalize
* * common finalize
*/
loadEvents() {
// Fire common init JS
this.fire('common');
// Fire page-specific init JS, and then finalize JS
document.body.className
.toLowerCase()
.replace(/-/g, '_')
.split(/\s+/)
.map(camelCase)
.forEach((className) => {
this.fire(className);
this.fire(className, 'finalize');
});
// Fire common finalize JS
this.fire('common', 'finalize');
}
}
export default Router

View File

@@ -1,9 +0,0 @@
/**
* the most terrible camelizer on the internet, guaranteed!
* @param {string} str String that isn't camel-case, e.g., CAMeL_CaSEiS-harD
* @return {string} String converted to camel-case, e.g., camelCaseIsHard
*/
export default str => `${str.charAt(0).toLowerCase()}${str.replace(/[\W_]/g, '|').split('|')
.map(part => `${part.charAt(0).toUpperCase()}${part.slice(1)}`)
.join('')
.slice(1)}`;

View File

@@ -1 +0,0 @@
@import "~bootstrap/scss/bootstrap";

View File

@@ -1,2 +0,0 @@
/** Colors */
$brand-primary: #27ae60;

View File

@@ -1,23 +0,0 @@
.comment-list {
@extend .list-unstyled;
}
.comment-list ol {
list-style: none;
}
.comment-form p {
@extend .form-group;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
@extend .form-control;
}
.comment-form input[type="submit"] {
@extend .btn;
@extend .btn-secondary;
}

View File

@@ -1,19 +0,0 @@
/** Search form */
.search-form {
@extend .form-inline;
}
.search-form label {
@extend .form-group;
font-weight: normal;
}
.search-form .search-field {
@extend .form-control;
}
.search-form .search-submit {
@extend .btn;
@extend .btn-secondary;
}

View File

@@ -1,56 +0,0 @@
/**
* WordPress Generated Classes
* @see http://codex.wordpress.org/CSS#WordPress_Generated_Classes
*/
/** Media alignment */
.alignnone {
margin-left: 0;
margin-right: 0;
max-width: 100%;
height: auto;
}
.aligncenter {
display: block;
margin: ($spacer / 2) auto;
height: auto;
}
.alignleft,
.alignright {
margin-bottom: ($spacer / 2);
height: auto;
}
@include media-breakpoint-up(sm) {
.alignleft {
float: left;
margin-right: ($spacer / 2);
}
.alignright {
float: right;
margin-left: ($spacer / 2);
}
}
/** Captions */
.wp-caption {
@extend .figure;
}
.wp-caption img {
@extend .figure-img;
@extend .img-fluid;
}
.wp-caption-text {
@extend .figure-caption;
}
/** Text meant only for screen readers */
.screen-reader-text {
@extend .sr-only;
@extend .sr-only-focusable;
}

View File

@@ -1,7 +0,0 @@
.banner .nav li {
@extend .nav-item;
}
.banner .nav a {
@extend .nav-link;
}

View File

@@ -1,3 +0,0 @@
body#tinymce {
margin: 12px !important;
}

View File

@@ -1,25 +0,0 @@
@import "common/variables";
/** Import everything from autoload */
@import "./autoload/**/*";
/**
* Import npm dependencies
*
* Prefix your imports with `~` to grab from node_modules/
* @see https://github.com/webpack-contrib/sass-loader#imports
*/
// @import "~some-node-module";
/** Import theme styles */
@import "common/global";
@import "components/buttons";
@import "components/comments";
@import "components/forms";
@import "components/wp-classes";
@import "layouts/header";
@import "layouts/sidebar";
@import "layouts/footer";
@import "layouts/pages";
@import "layouts/posts";
@import "layouts/tinymce";

View File

@@ -1,10 +0,0 @@
<?php
namespace App;
use Sober\Controller\Controller;
class About extends Controller
{
}

View File

@@ -1,13 +0,0 @@
<?php
namespace App;
use Sober\Controller\Controller;
class App extends Controller
{
public function siteName()
{
return get_bloginfo('name');
}
}

View File

@@ -1,10 +0,0 @@
<?php
namespace App;
use Sober\Controller\Controller;
class Home extends Controller
{
}

View File

@@ -1,92 +0,0 @@
<?php
/**
* Do not edit anything in this file unless you know what you're doing
*/
use Roots\Sage\Config;
use Roots\Sage\Container;
/**
* Helper function for prettying up errors
* @param string $message
* @param string $subtitle
* @param string $title
*/
$sage_error = function ($message, $subtitle = '', $title = '') {
$title = $title ?: __('Sage &rsaquo; Error', 'sage');
$footer = '<a href="https://roots.io/sage/docs/">roots.io/sage/docs/</a>';
$message = "<h1>{$title}<br><small>{$subtitle}</small></h1><p>{$message}</p><p>{$footer}</p>";
wp_die($message, $title);
};
/**
* Ensure compatible version of PHP is used
*/
if (version_compare('7', phpversion(), '>=')) {
$sage_error(__('You must be using PHP 7 or greater.', 'sage'), __('Invalid PHP version', 'sage'));
}
/**
* Ensure compatible version of WordPress is used
*/
if (version_compare('4.7.0', get_bloginfo('version'), '>=')) {
$sage_error(__('You must be using WordPress 4.7.0 or greater.', 'sage'), __('Invalid WordPress version', 'sage'));
}
/**
* Ensure dependencies are loaded
*/
if (!class_exists('Roots\\Sage\\Container')) {
if (!file_exists($composer = __DIR__.'/../vendor/autoload.php')) {
$sage_error(
__('You must run <code>composer install</code> from the Sage directory.', 'sage'),
__('Autoloader not found.', 'sage')
);
}
require_once $composer;
}
/**
* Sage required files
*
* The mapped array determines the code library included in your theme.
* Add or remove files to the array as needed. Supports child theme overrides.
*/
array_map(function ($file) use ($sage_error) {
$file = "../app/{$file}.php";
if (!locate_template($file, true, true)) {
$sage_error(sprintf(__('Error locating <code>%s</code> for inclusion.', 'sage'), $file), 'File not found');
}
}, ['helpers', 'setup', 'filters', 'admin']);
/**
* Here's what's happening with these hooks:
* 1. WordPress initially detects theme in themes/sage/resources
* 2. Upon activation, we tell WordPress that the theme is actually in themes/sage/resources/views
* 3. When we call get_template_directory() or get_template_directory_uri(), we point it back to themes/sage/resources
*
* We do this so that the Template Hierarchy will look in themes/sage/resources/views for core WordPress themes
* But functions.php, style.css, and index.php are all still located in themes/sage/resources
*
* This is not compatible with the WordPress Customizer theme preview prior to theme activation
*
* get_template_directory() -> /srv/www/example.com/current/web/app/themes/sage/resources
* get_stylesheet_directory() -> /srv/www/example.com/current/web/app/themes/sage/resources
* locate_template()
* ├── STYLESHEETPATH -> /srv/www/example.com/current/web/app/themes/sage/resources/views
* └── TEMPLATEPATH -> /srv/www/example.com/current/web/app/themes/sage/resources
*/
array_map(
'add_filter',
['theme_file_path', 'theme_file_uri', 'parent_theme_file_path', 'parent_theme_file_uri'],
array_fill(0, 4, 'dirname')
);
Container::getInstance()
->bindIf('config', function () {
return new Config([
'assets' => require dirname(__DIR__).'/config/assets.php',
'theme' => require dirname(__DIR__).'/config/theme.php',
'view' => require dirname(__DIR__).'/config/view.php',
]);
}, true);

View File

@@ -1,3 +0,0 @@
<?php
// this file is deliberately blank

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

View File

@@ -1,12 +0,0 @@
/*
Theme Name: Sage Starter Theme
Theme URI: https://roots.io/sage/
Description: Sage is a WordPress starter theme.
Version: 9.0.0-beta.3
Author: Roots
Author URI: https://roots.io/
Text Domain: sage
License: MIT License
License URI: http://opensource.org/licenses/MIT
*/

View File

@@ -1,14 +0,0 @@
@extends('layouts.app')
@section('content')
@include('partials.page-header')
@if (!have_posts())
<div class="alert alert-warning">
{{ __('Sorry, but the page you were trying to view does not exist.', 'sage') }}
</div>
{!! get_search_form(false) !!}
@endif
{!! get_the_posts_navigation() !!}
@endsection

View File

@@ -1,18 +0,0 @@
@extends('layouts.app')
@section('content')
@include('partials.page-header')
@if (!have_posts())
<div class="alert alert-warning">
{{ __('Sorry, no results were found.', 'sage') }}
</div>
{!! get_search_form(false) !!}
@endif
@while (have_posts()) @php(the_post())
@include('partials.content-'.get_post_type())
@endwhile
{!! get_the_posts_navigation() !!}
@endsection

View File

@@ -1,23 +0,0 @@
<!doctype html>
<html @php(language_attributes())>
@include('partials.head')
<body @php(body_class())>
@php(do_action('get_header'))
@include('partials.header')
<div class="wrap container" role="document">
<div class="content">
<main class="main">
@yield('content')
</main>
@if (App\display_sidebar())
<aside class="sidebar">
@include('partials.sidebar')
</aside>
@endif
</div>
</div>
@php(do_action('get_footer'))
@include('partials.footer')
@php(wp_footer())
</body>
</html>

View File

@@ -1,38 +0,0 @@
@php
if (post_password_required()) {
return;
}
@endphp
<section id="comments" class="comments">
@if (have_comments())
<h2>
{!! sprintf(_nx('One response to &ldquo;%2$s&rdquo;', '%1$s responses to &ldquo;%2$s&rdquo;', get_comments_number(), 'comments title', 'sage'), number_format_i18n(get_comments_number()), '<span>' . get_the_title() . '</span>') !!}
</h2>
<ol class="comment-list">
{!! wp_list_comments(['style' => 'ol', 'short_ping' => true]) !!}
</ol>
@if (get_comment_pages_count() > 1 && get_option('page_comments'))
<nav>
<ul class="pager">
@if (get_previous_comments_link())
<li class="previous">@php(previous_comments_link(__('&larr; Older comments', 'sage')))</li>
@endif
@if (get_next_comments_link())
<li class="next">@php(next_comments_link(__('Newer comments &rarr;', 'sage')))</li>
@endif
</ul>
</nav>
@endif
@endif
@if (!comments_open() && get_comments_number() != '0' && post_type_supports(get_post_type(), 'comments'))
<div class="alert alert-warning">
{{ __('Comments are closed.', 'sage') }}
</div>
@endif
@php(comment_form())
</section>

View File

@@ -1,2 +0,0 @@
@php(the_content())
{!! wp_link_pages(['echo' => 0, 'before' => '<nav class="page-nav"><p>' . __('Pages:', 'sage'), 'after' => '</p></nav>']) !!}

View File

@@ -1,11 +0,0 @@
<article @php(post_class())>
<header>
<h2 class="entry-title"><a href="{{ get_permalink() }}">{{ get_the_title() }}</a></h2>
@if (get_post_type() === 'post')
@include('partials/entry-meta')
@endif
</header>
<div class="entry-summary">
@php(the_excerpt())
</div>
</article>

View File

@@ -1,13 +0,0 @@
<article @php(post_class())>
<header>
<h1 class="entry-title">{{ get_the_title() }}</h1>
@include('partials/entry-meta')
</header>
<div class="entry-content">
@php(the_content())
</div>
<footer>
{!! wp_link_pages(['echo' => 0, 'before' => '<nav class="page-nav"><p>' . __('Pages:', 'sage'), 'after' => '</p></nav>']) !!}
</footer>
@php(comments_template('/partials/comments.blade.php'))
</article>

View File

@@ -1,9 +0,0 @@
<article @php(post_class())>
<header>
<h2 class="entry-title"><a href="{{ get_permalink() }}">{{ get_the_title() }}</a></h2>
@include('partials/entry-meta')
</header>
<div class="entry-summary">
@php(the_excerpt())
</div>
</article>

View File

@@ -1,6 +0,0 @@
<time class="updated" datetime="{{ get_post_time('c', true) }}">{{ get_the_date() }}</time>
<p class="byline author vcard">
{{ __('By', 'sage') }} <a href="{{ get_author_posts_url(get_the_author_meta('ID')) }}" rel="author" class="fn">
{{ get_the_author() }}
</a>
</p>

View File

@@ -1,5 +0,0 @@
<footer class="content-info">
<div class="container">
@php(dynamic_sidebar('sidebar-footer'))
</div>
</footer>

View File

@@ -1,6 +0,0 @@
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@php(wp_head())
</head>

View File

@@ -1,10 +0,0 @@
<header class="banner">
<div class="container">
<a class="brand" href="{{ home_url('/') }}">{{ get_bloginfo('name', 'display') }}</a>
<nav class="nav-primary">
@if (has_nav_menu('primary_navigation'))
{!! wp_nav_menu(['theme_location' => 'primary_navigation', 'menu_class' => 'nav']) !!}
@endif
</nav>
</div>
</header>

View File

@@ -0,0 +1,16 @@
<?php
/**
* Plugin Name: Bedrock Autoloader
* Plugin URI: https://github.com/roots/bedrock-autoloader
* Description: An autoloader that enables standard plugins to be required just like must-use plugins. The autoloaded plugins are included during mu-plugin loading. An asterisk (*) next to the name of the plugin designates the plugins that have been autoloaded.
* Author: Roots
* Author URI: https://roots.io/
* License: MIT License
*/
namespace Roots\Bedrock;
if (is_blog_installed() && class_exists(Autoloader::class)) {
new Autoloader();
}

View File

@@ -0,0 +1,25 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
quote_type = single
[*.md]
trim_trailing_whitespace = false
[*.php]
indent_size = 4
[*.blade.php]
indent_size = 2
[resources/views/**.php]
indent_size = 2
[index.php]
indent_size = 2

View File

@@ -1,3 +1,2 @@
/.github export-ignore
/.gitattributes export-ignore /.gitattributes export-ignore
/.travis.yml export-ignore /.github export-ignore

View File

@@ -0,0 +1,23 @@
build:
- changed-files:
- any-glob-to-any-file:
- vite.config.js
dependencies:
- changed-files:
- any-glob-to-any-file:
- package-lock.json
javascript:
- changed-files:
- any-glob-to-any-file:
- resources/js/**/*.js
php:
- changed-files:
- any-glob-to-any-file:
- functions.php
- app/**/*.php
- resources/views/**/*.php
views:
- changed-files:
- any-glob-to-any-file:
- index.php
- resources/views/**/*.php

View File

@@ -0,0 +1,23 @@
{
"baseBranches": [
"main"
],
"commitMessageAction": "⬆️ Bump",
"commitMessageTopic": "{{depName}}",
"extends": [
"config:recommended",
"schedule:weekly"
],
"rangeStrategy": "bump",
"packageRules": [
{
"matchUpdateTypes": [
"minor",
"patch",
"pin"
],
"enabled": true
}
],
"timezone": "America/Detroit"
}

View File

@@ -0,0 +1,18 @@
name: Post release topic on Discourse
on:
release:
types: [published]
jobs:
post:
runs-on: ubuntu-latest
steps:
- uses: roots/discourse-topic-github-release-action@main
with:
discourse-api-key: ${{ secrets.DISCOURSE_RELEASES_API_KEY }}
discourse-base-url: ${{ secrets.DISCOURSE_BASE_URL }}
discourse-author-username: ben
discourse-category: 11
discourse-tags:
releases

View File

@@ -0,0 +1,11 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -0,0 +1,91 @@
name: Main
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
node:
name: Node ${{ matrix.node }}
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
strategy:
matrix:
node: ['20']
steps:
- name: Checkout the project
uses: actions/checkout@v4
- name: Setup the Node ${{ matrix.node }} environment on ${{ runner.os }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies using npm
run: npm install
- name: Build and compile assets
run: |
npm run build
cat public/build/manifest.json
- name: Validate theme.json
run: |
THEME_JSON="public/build/assets/theme.json"
if [ ! -f "$THEME_JSON" ]; then
echo "❌ theme.json not found"
exit 1
fi
jq -e '
(.settings.color.palette | length > 0) and
(.settings.typography.fontFamilies | length > 0) and
(.settings.typography.fontSizes | length > 0)
' "$THEME_JSON" 2>&1 || {
echo "❌ Invalid theme.json structure or missing required values"
exit 1
}
php:
name: PHP ${{ matrix.php }}
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
strategy:
matrix:
php: ['8.2']
steps:
- name: Checkout the project
uses: actions/checkout@v4
- name: Setup the PHP ${{ matrix.php }} environment on ${{ runner.os }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: xdebug
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Restore the Composer cache directory
id: composercache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer-
- name: Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader --no-suggest
- name: Run Pint
run: vendor/bin/pint --test

6
web/app/themes/badegg/.gitignore vendored Normal file
View File

@@ -0,0 +1,6 @@
/node_modules
/vendor
/public/*
!/public/.gitkeep
.env
npm-debug.log

View File

@@ -0,0 +1,19 @@
Copyright (c) Roots Software LLC
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.

View File

@@ -0,0 +1,31 @@
<p align="center">
<a href="https://roots.io/sage/"><img alt="Sage" src="https://cdn.roots.io/app/uploads/logo-sage.svg" height="100"></a>
</p>
<p align="center">
<a href="https://packagist.org/packages/roots/sage"><img alt="Packagist Installs" src="https://img.shields.io/packagist/dt/roots/sage?label=projects%20created&colorB=2b3072&colorA=525ddc&style=flat-square"></a>
<a href="https://github.com/roots/sage/actions/workflows/main.yml"><img alt="Build Status" src="https://img.shields.io/github/actions/workflow/status/roots/sage/main.yml?branch=main&logo=github&label=CI&style=flat-square"></a>
<a href="https://bsky.app/profile/roots.dev"><img alt="Follow roots.dev on Bluesky" src="https://img.shields.io/badge/follow-@roots.dev-0085ff?logo=bluesky&style=flat-square"></a>
</p>
# Sage
**Advanced hybrid WordPress starter theme with Laravel Blade and Tailwind CSS**
- 🔧 Clean, efficient theme templating with Laravel Blade
- ⚡️ Modern front-end development workflow powered by Vite
- 🎨 Out of the box support for Tailwind CSS
- 🚀 Harness the power of Laravel with [Acorn integration](https://github.com/roots/acorn)
- 📦 Block editor support built-in
Sage brings proper PHP templating and modern JavaScript tooling to WordPress themes. Write organized, component-based code using Laravel Blade, enjoy instant builds and CSS hot-reloading with Vite, and leverage Laravel's robust feature set through Acorn.
[Read the docs to get started](https://roots.io/sage/docs/installation/)
## Sponsors
Sage is an open source project and completely free to use. If you've benefited from our projects and would like to support our future endeavors, [please consider sponsoring us](https://github.com/sponsors/roots).
<div align="center">
<a href="https://carrot.com/"><img src="https://cdn.roots.io/app/uploads/carrot.svg" alt="Carrot" width="120" height="90"></a> <a href="https://wordpress.com/"><img src="https://cdn.roots.io/app/uploads/wordpress.svg" alt="WordPress.com" width="120" height="90"></a> <a href="https://worksitesafety.ca/careers/"><img src="https://cdn.roots.io/app/uploads/worksite-safety.svg" alt="Worksite Safety" width="120" height="90"></a> <a href="https://40q.agency/"><img src="https://cdn.roots.io/app/uploads/40q.svg" alt="40Q" width="120" height="90"></a> <a href="https://www.itineris.co.uk/"><img src="https://cdn.roots.io/app/uploads/itineris.svg" alt="Itineris" width="120" height="90"></a> <a href="https://bonsai.so/"><img src="https://cdn.roots.io/app/uploads/bonsai.svg" alt="Bonsai" width="120" height="90"></a>
</div>

View File

@@ -0,0 +1,158 @@
<?php
namespace App\ACF;
use ourcodeworld\NameThatColor\ColorInterpreter as NameThatColor;
use App\Utilities;
class Dynamic
{
public function __construct()
{
add_filter('acf/load_field/name=colour', [ $this, 'load_colours' ]);
add_filter('acf/load_field/name=bg_colour', [ $this, 'load_colours' ]);
add_filter('acf/load_field/name=tint', [ $this, 'load_tints' ]);
add_filter('acf/load_field/name=bg_tint', [ $this, 'load_tints' ]);
add_filter('acf/load_field/name=container_width', [ $this, 'container_width' ]);
add_filter('acf/load_field/name=fontawesome_regular', [ $this, 'load_fontawesome_regular_icons' ]);
add_filter('acf/load_field/name=fontawesome_solid', [ $this, 'load_fontawesome_solid_icons' ]);
add_filter('acf/load_field/name=fontawesome_brands', [ $this, 'load_fontawesome_brand_icons' ]);
add_action('acf/input/admin_footer', [ $this, 'colour_ui' ]);
}
public function load_colours( $field )
{
$colour = new Utilities\Colour;
$NameThatColour = new NameThatColor;
$colours = $colour->values();
$field['choices'] = [
'0' => __('None', 'badegg'),
];
foreach($colours as $slug => $hex):
$field['choices'][$slug] = '<i class="fas fa-circle" style="color: '. $hex .'"></i> ' . @$NameThatColour->name($hex)['name'];
endforeach;
return $field;
}
public function load_tints( $field )
{
$colour = new Utilities\Colour;
$tints = $colour->tints();
$field['choices'] = [];
foreach($tints as $slug => $hex):
if($slug):
$field['choices'][$slug] = ucfirst($slug);
else:
$field['choices'][0] = __('None', 'badegg');
endif;
endforeach;
return $field;
}
public function container_width( $field )
{
$field['choices'] = [
0 => 'Auto',
'narrow' => __('Narrow', 'badegg'),
'small' => __('Small', 'badegg'),
'medium' => __('Medium', 'badegg'),
'large' => __('Large', 'badegg'),
'full' => __('Edge to edge', 'badegg'),
];
return $field;
}
public function load_fontawesome_regular_icons( $field )
{
$field['choices'] = [];
$field['choices'] = $this->fontawesome_choices('regular');
return $field;
}
public function load_fontawesome_solid_icons( $field )
{
$field['choices'] = [];
$field['choices'] = $this->fontawesome_choices('solid');
return $field;
}
public function load_fontawesome_brand_icons( $field )
{
$field['choices'] = [];
$field['choices'] = $this->fontawesome_choices('brands');
return $field;
}
public function fontawesome_choices($set = 'solid')
{
$path = get_stylesheet_directory() . '/resources/json/font-awesome-' . $set . '.json';
$json = @file_get_contents($path);
if(!$json) return false;
$icons = json_decode($json, true);
$choices = [
'0' => '<i class="fa-solid"></i> <span>Please select an icon</span>',
];
foreach($icons as $slug):
$choices[$slug] = '<i class="fa-'.$set.' fa-'.$slug.'" style="color: #2271b1;"></i> <span>' . (ucwords(str_replace('-', ' ', $slug))) . '</span>';
endforeach;
return $choices;
}
public function colour_ui()
{ ?>
<script type="text/javascript">
console.log("Script loaded from sage/app/ACF/Dynamic.php");
(function($) {
function my_custom_escaping_method( original_value){
return original_value;
}
acf.add_filter('select2_escape_markup', function( escaped_value, original_value, $select, settings, field, instance ){
console.log(field.data('name'));
const whitelist = [
'colour',
'bg_colour',
'angle_colour',
'fontawesome_brands',
'fontawesome_regular',
'fontawesome_solid',
];
// do something to the original_value to override the default escaping, then return it.
// this value should still have some kind of escaping for security, but you may wish to allow specific HTML.
if (whitelist.includes(field.data( 'name' ))) {
return my_custom_escaping_method( original_value );
}
// return
return escaped_value;
});
})(jQuery);
</script>
<?php }
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\ACF;
class JSON
{
public function __construct()
{
add_filter('acf/settings/save_json', [$this, 'save']);
add_filter('acf/settings/load_json', [$this, 'load']);
}
public function save( $path )
{
$path = get_stylesheet_directory() . '/resources/acf';
return $path;
}
public function load( $paths )
{
unset($paths[0]);
$paths[] = get_stylesheet_directory() . '/resources/acf';
return $paths;
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\ACF;
class Options
{
public function __construct()
{
add_filter('acf/init', [$this, 'company']);
}
public function company()
{
acf_add_options_page([
'page_title' => __('Global Settings'),
'menu_title' => __('Global Settings'),
'menu_slug' => 'theme-global-settings',
'capability' => 'edit_others_posts',
'redirect' => false,
'icon_url' => 'dashicons-admin-site',
]);
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace App\Admin;
class Comments
{
public function __construct()
{
add_action('admin_init', [$this, 'commentstatusdiv']); // Disable comment status div meta box
add_action('wp_dashboard_setup', [$this, 'dashboard_activity']); // Remove the Activity widget
add_action('wp_before_admin_bar_render', [$this, 'remove_menu_item']); // Remove from admin bar
add_action('admin_menu', [$this, 'admin_menu']); // Remove from backend menu
add_action('wp_dashboard_setup', [$this, 'dashboard_recent_comments']); // Remove Dashboard Meta Box
add_filter('comments_rewrite_rules', '__return_empty_array'); // Remove comment rewrite rule
add_action('after_theme_setup', [$this, 'theme_support']); // Remove comment theme support
add_filter('rewrite_rules_array', [$this, 'rewrite']); // Clean up rewrite rule
}
public function commentstatusdiv()
{
remove_meta_box( 'commentstatusdiv', 'post', 'normal' );
remove_post_type_support( 'post', 'comments' );
remove_meta_box( 'commentstatusdiv', 'page', 'normal' );
remove_post_type_support( 'page', 'comments' );
}
public function dashboard_activity()
{
remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' );
}
public function remove_menu_item()
{
global $wp_admin_bar;
$wp_admin_bar->remove_menu('comments');
}
public function admin_menu()
{
remove_menu_page( 'edit-comments.php' );
remove_submenu_page( 'options-general.php', 'options-discussion.php' );
}
public function dashboard_recent_comments()
{
remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' );
}
public function theme_support()
{
remove_theme_support('comments');
}
public function rewrite($rules)
{
foreach ($rules as $rule => $rewrite) {
if (preg_match('/.*(feed)/', $rule)) {
unset($rules[$rule]);
}
if (preg_match('/.*(comment-page)/', $rule)) {
unset($rules[$rule]);
}
}
return $rules;
}
}

Some files were not shown because too many files have changed in this diff Show More