The Laces theme and the supporting modules Laces Base and Laces Block (coming soon) use Bootstrap 5 to create a website that works with the Layout Builder ecosystem.
The theme can be used standalone or as a base theme--a sub-theme is provided. Laces provides a Bootstrap 5 editing experience for the user. On the Appearance administration page, the "Use the administration theme when editing or creating content" can be unchecked to retain a consistent design while editing. Also, Laces provides theming for the Content tab so editors with the appropriate permissions will have a consistent design.
The main goal of Laces is to provide a functional Bootstrap 5 theme for the Layout Builder ecosystem and not to be a generic Bootstrap theme. The theme compiles Bootstrap 5 from SASS and is contained in the theme along with Bootstrap's JavaScript library. The Bootstrap css files are further processed by postcss autoprefixer. The theme makes extensive use of Drupal's theme library system by loading only the css and js necessary for each twig template.
Every attempt will be made to update Bootstrap within Laces, but the priority will be making sure the theme works within the Layout Builder ecosystem.
Manual reviews of other projects
Project link
Project link
https://drupal.org/project/laces
Git instructions
git clone --branch '1.3.x' https://git.drupalcode.org/project/laces.git
Comments
Comment #2
bigbaldy commentedComment #3
bigbaldy commentedComment #4
bigbaldy commentedComment #5
bigbaldy commentedComment #6
avpadernoThe theme uses a PHP 8 function, but it doesn't require PHP 8. Drupal 8.9 requires PHP 7 and Drupal 9 requires PHP 7.3; this means that to use a PHP 8 function, the theme should explicitly require PHP 8 or set
core_version_requirementto^10.version: VERSIONis used only by Drupal core modules and themes.The sublaces.info.subtheme.yml filename is wrong, for a theme using a sublaces.theme file.
The LICENSE.txt file isn't necessary, as all the themes and modules hosted on drupal.org are licensed under the same license used by Drupal.
The sublaces.theme just contains
usestatements. Either the code isn't complete, or that file isn't necessary.Comment #7
bigbaldy commentedI've changed the PHP 8 functions to use PHP 7 compatible functions. PHPSTORM caught me with a recommendation to upgrade and I wasn't paying attention to the version that was set. I'll keep branch 1.x.x as Drupal ^8.9 || ^9 and open a new branch for Drupal ^10.
I've removed all 'version: VERSION' lines. The documentation for the libraries file doesn't have a description for the version line. A search of core issues seems to indicate that this is still being worked on for contributed themes and modules. I did see one documentation reference in LibraryDiscoveryParser.php but no usage information. Is the coding standard to not have the line in contributed themes or to put in a version line with a version number? If the library is not remote should the version number match the module/theme version?
Removed the LICENSE.txt. Got the one for the main theme, missed seeing the one in the sample sub-theme.
The sublaces theme is meant to be an example sub-theme. To resolve this issue I've created a separate directory for subtheme starter kits and added additional README files to better explain the content. The name of the sub-theme info file is purposely not correct to prevent the sample sub-theme from being installed.
I've cleaned up the sub-theme theme file and removed the 'use' statements.
Comment #8
avpadernoThank you for your contribution! I am going to update your account.
These are some recommended readings to help with excellent maintainership:
You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
Comment #9
bigbaldy commentedThank you @apaderno for the review. I'd also like to thank the other projects I reviewed. It was a great learning experience.