The Bedrock documentation says: «No, we’re not going to mandate that themes be built a certain way.»
Is that true?
We never have mandated that themes be built in a certain way, and we’re not starting now. Additionally, if you look back at the way we’ve built block types in the past, we’ve always tacitly embraced the bootstrap markup for certain things like buttons, form groupings, etc… in our front-end markup. All we’re doing now is making that clearer and being transparent about the fact that we use the bootstrap markup/classes because it’s well documented and makes sense to us.
As always, designers and developers of themes are free to style the the markup that blocks output with whatever styles they like, be it a superset of Bootstrap 5 (Bedrock) and custom styling, or your own custom styles.
With version 8 you’re even free to ship your own default view templates within your theme, which makes it even easier for theme developers to build block templates that output whatever markup they like. Don’t want Bootstrap as your markup? You’re free to make your own, without even having to build your own custom set of block types.
We wanted to wait until v.9 is ready. Reading this thread tells me that designers are forced to use LESS because Bedrock is too complex to handle for non programmers/developers.
I would really recommend that you give it a try, going through the documentation I posted regarding the Bedrock workflow, before you let the posts in this thread dissuade you from doing so. Many of the posts in this thread are from before the official theme documentation was posted. Additionally, many of the posts in this thread are working off an older in-progress set of Bedrock notes that weren’t finalized, so they’re out of date or working off old examples.
That being said, we have no plans in version 9 to remove the LESS compiler, since it’s working.
Thank you @andrew for this clarification. Very helpful.
Regarding development environment:
Thanks to @afixia, @linuxoid and your instructions we were able to set up Bedrock with BS5. It works!
But the problem is not setting up the dev environment, it is more using it with our design process.
Our workflow requires quick and easy adjustments to code. Sometimes in the offices of our clients or from a remote location or even from on a laptop on public transportation.
Most of our webprojects are identity driven, also not a «solution», more a «process». We’d love to use the power Concrete offers with Bedrock, but we simply don’t have the time and programming ressources to do so in our workflow.
Why is it not possible (in the future) to run the compiler from within the remote server?
Stepping past the opinionated workflow Bedrock necessitates, the technical issue is that the latest bootstrap uses SASS. Php SASS compilers are not as quick as php LESS compilers. Every attempt I have seen to integrate a php SASS compiler with a concrete package has failed because SASS compilation times out on most servers for all but the most trivial code.
Integrating a php based SASS compiler within a package (or the core) is OK for a developer’s own project where they have complete control of the environment, but is too unreliable for general use.
The v9 core still includes a LESS compiler, so you can continue to use LESS for your theme development. Or an approach I have used successfully is to add a shim to a pre-compiled theme and in that shim use LESS. Its not as efficient, but for small to medium changes the overhead is negligible.
The 9.0.3 core update will, in response to popular demand, revive the LESS cache and compression options that were used for v8 themes.
Getting really back-to-front, the tools in the bedrock build process are node.js, so in theory and with a big leap of faith, it could be possible to implement a full bedrock compile from the concrete dashboard by offloading the work to the user’s browser then saving it back to the server. Introducing WebContainers: Run Node.js natively in your browser. But such a dream for concrete would be a long way away, if at all.
Apologies if this has already been suggested, I have not read this entire thread. Is it not possible to just create an overrides stylesheet and just link to it from the header in your sites(s) and just make your adjustments there, you can use “standard” CSS no compilation necessary, granted you gain another HTTP request but it shouldn’t impact performance that much.
npm WARN ERESOLVE overriding peer dependency
npm ERR! code 128
npm ERR! An unknown git error occurred
npm ERR! command git --no-replace-objects ls-remote ssh://git@github.com/snapappointments/bootstrap-select.git
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
I am currently trying to create a blank Bedrock theme (following the documentation and Afixia’s github)
However everytime i use npm install laravel-mix --save-dev i get the stated error above.
About Laragon: beware, you are going to use a closed source executable, maintained by one guy alone (which raises security and maintenance issues).
See Login to your account | Laragon
Hi @linuxoid ,
Hope you are well?
Has anyone found a solution to the following…?
I cloned the “Atomik” theme and stored it in “application/themes/<NEWLY RENAMED DIRECTORY REPLACING THE NAME - ATOMIK>”
Then I changed the thumbnail.png and all the other necessary stuff,
Installed Bedrock cms along with laravel-mix and can use the terminal to update sass files with no issue.
However on the newly added theme in concrete cms, when I click on “edit mode” there’s a “500 internal server error” in the console and a new page detailing the errors…
" Exception
No grid framework found. Grid area methods require a valid grid framework defined in a PageTheme class."
/Applications/MAMP/htdocs/compugrafx2.0/concrete/src/Area/Area.php
Line 163
I have added the following in my PageTheme (page_theme.php)
I carefully studied this thread in order to recommender une cms for our students. Even after experimenting for a while we were not able to clone the only free built in theme. I hope it will be easier in future.
You do realise there are many other themes in the marketplace.
I build pretty much all my websites from scratch with no clone theme. Its very easy to do and although there is a lot of fuss on this forum about the difficulties with bedrock etc, its not that hard.
All my themes start out as flat XD designs. I then create html using bootstrap 5 and scss. Then i move all that over to a concrete package styling out all the headers, footers, page templates and block templates i need. Lastly i build any custom blocks i need and add my own html. All my sites are built using bedrock.
Probably create around 7-10 a year using this method and it has worked from day one when i first using concrete 4.2
I would be happy to run a master class if anyone is interested.