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

https://drupal.org/project/laces

Git instructions

git clone --branch '1.3.x' https://git.drupalcode.org/project/laces.git

Comments

bigbaldy created an issue. See original summary.

bigbaldy’s picture

Issue summary: View changes
bigbaldy’s picture

Issue tags: +PAreview: review bonus
bigbaldy’s picture

Issue summary: View changes
bigbaldy’s picture

Issue summary: View changes
avpaderno’s picture

Issue summary: View changes
Status: Needs review » Needs work
Issue tags: -PAreview: review bonus
  • What follows is a quick review of the project; it doesn't mean to be complete
  • For every point, the review doesn't make a complete list of lines that should be fixed, but an example of what is wrong in the code
  • A review is about code that doesn't follow the coding standards, contains possible security issue, or doesn't correctly use the Drupal API; if a point isn't about that, it makes it clear

The 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_requirement to ^10.

version: VERSION is 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 use statements. Either the code isn't complete, or that file isn't necessary.

bigbaldy’s picture

Status: Needs work » Needs review

I'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.

avpaderno’s picture

Assigned: Unassigned » avpaderno
Status: Needs review » Fixed

Thank 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.

bigbaldy’s picture

Thank you @apaderno for the review. I'd also like to thank the other projects I reviewed. It was a great learning experience.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.