The Drupal Theme StarterKit
Matt and Mike have Front-end core committer Lauri Eskola on to talk about the new Drupal core theme starterkit that can be used to generate new themes. We'll talk about what's been done, and what's in store for this new Drupal core feature.
Episode Guests
Lauri Eskola
Co-Maintainer of the Theme API, Drupal core committer, and frontend framework manager, Lauri is an engineer in the Drupal Acceleration Team at Acquia.
Mentioned in this Episode
Transcript
Transcript
- Matt Kleve
- For April 15th, 2021, it's The Lullabot Podcast! Hey, everybody. It's The Lullabot Podcast, episode 253. I'm Matt Kleve, senior developer at Lullabot. With me as always co-host of the show, senior front end-dev, Mike Herchel. That was the March Madness intro.
- Mike Herchel
- Thank you. That was awesome.
- Matt Kleve
- Starting at guard, from game show Florida.
- Mike Herchel
- Yeah. Welcome, [inaudible 00:00:41] thank you for having me, Matt, I guess. I don't know.
- Matt Kleve
- And with that introduction, I think we should play some Rolling Stones to start me up or something, right? That'd be a good one today, right?
- Mike Herchel
- Yeah. Hopefully, we don't get cut for copyright infringement [inaudible 00:00:58].
- Matt Kleve
- Yeah. We'll leave it off. We don't need to fight the copy strike. But we're talking about Starter Kit, right?
- Mike Herchel
- Yeah, Starter Kit theme and what is that, right? So with us, we have Lauri Eskola. He is a engineer at the Drupal Acceleration theme at Acquia, so Drupal core committer doing a lot of front-end stuff, and he is all the way from beautiful Finland. Welcome, Lauri.
- Lauri Eskola
- Yeah. Hi, thank you for having me. I guess my introduction is way more boring than yours. That's the sort of Finnish way of introducing ourselves.
- Matt Kleve
- Lauri Eskola.
- Lauri Eskola
- Exactly.
- Matt Kleve
- Glad you're here. Hey, you're an old pro, you've been on the podcast before?
- Lauri Eskola
- Yeah. I guess I've been a couple of times so, excited to be back.
- Mike Herchel
- Cool.
- Matt Kleve
- Well, we're here talking about the Starter Kit theme and that's some of the work you've been doing as far as getting stuff going in Drupal core. Can you just tell us what it is? Just kick us off?
- Lauri Eskola
- Yeah. So, I've been working on the Starter Kit theme, like you said, and it is a replacement to the Classy theme that we have in core. And the idea of Classy is to provide a starting point for front-end developers that want some sensible defaults when they are creating their theme. And we've had this problem with Classy, that we can't really make many changes to it because of all of the themes since Drupal 8, have been extending the same theme. And if you started introducing changes and in Classy, those changes would impact all of those themes built using Classy. And for example, if you made some changes to the Markup, that could have an impact on the CSS someone wrote on their themes. And we certainly don't want to do that because it could be very hard for our front-end developers to track what those changes are, and it would take some work from them to fix that.
- Lauri Eskola
- So the Starter Kit theme, instead of providing a base theme, what it does, it has a sort of default Markup and default CSS. And it has a CLI tool which front-end developers will run, and it will then copy that into the directory that the front-end developer specifies when they run the CLI command. Right now, the Starter Kit theme essentially has the same Markup, same CSS as a theme that is extending Classy would have. What we are hoping to do is that, we can actually improve from that. That as we move forward we make some changes to that and front-end developers can actually have even a better starting point.
- Mike Herchel
- That's pretty awesome. So right now, assuming this gets committed, I would run a command and the command would say something like, "So-and-so command, generate theme and create a name for the theme and put it into themes directory." Is that about right?
- Lauri Eskola
- Yeah. That's exactly what it would do. So it would basically say, "Generate theme," it would give you the machine name of the theme that you want to be generated. It would then generate some CSS, it would generate [inaudible 00:04:28] templates, and it would even adopt theme file and libraries and all of the hooks. And the libraries are specific to the machine name and configuration that you just gave.
- Mike Herchel
- That's pretty awesome. So, and it copies it over from the Starter Kit theme that's based on Classy is what you're saying, right?
- Lauri Eskola
- Yeah. So basically, the Starter Kit theme right now is a copy of Classy where we made some minor modifications, mostly due to documentation. So we removed the uses of the word Classy, in documentation. So that it is not really referring to a specific theme name, so that when the theme gets generated, it necessarily doesn't look a theme that was generated from something.
- Mike Herchel
- Yeah. And at that point in the future, if we want to make a change to this Starter Kit theme, we can just do so. Because if we make a change to say in the Starter Kit theme say like 9.5, it's not going to affect themes that regenerated in maybe 9.2, is that correct?
- Lauri Eskola
- Yeah, that's exactly what the idea is. So we can basically make changes to the Markups, CSS, everything, and the theme, without having to consider themes already built using that tool.
- Mike Herchel
- That's pretty awesome.
- Matt Kleve
- I kind of remember back in the battle days when I was dealing in the theme layer, Mike, now I have people for that. People like you who are way smarter at front-end stuff than me. But like the Fork and Forget model, and it seems we're just kind of extending that. We used to just say, "Oh yeah, we're going to use this theme, but we're just going to copy and paste it and fork it. And then if it gets upgraded behind it, cool, I don't care. Because I have my version and my version is the right version. And then we're not going to break my website," right?
- Lauri Eskola
- Yeah. And in the history of Drupal, the historical way of doing things has being that, themes are just not compatible with the future major releases. So Markup could change when you upgrade to major versions, and that's something that changed in Drupal 8. So for example, if you upgrade your theme from Drupal 6 to Drupal 7, you might have to make some changes to your theme to make it compatible. And that was exactly the sort of optical battle where you tried to figure out exactly all of the things that are broken as a result of upgrading your site and theme to become [crosstalk 00:06:50].
- Matt Kleve
- And I wasn't necessarily saying I'm going to fork Bartik or whatever was in core, but I was going to add the Zen project and then make it my own, right? So it's the same idea. And so if it upgrades behind it, then it still works. And that's kind of a really great goal.
- Lauri Eskola
- So there are some themes in the Countrib ecosystem that are using similar approach to this. So Zen is one of them, there's a popular one called Basic. And basically what they just do is, they provide you a sort of starting point, and you're not supposed to be relying on them when you move forward. You just sort of fork that as your starting point, and then forget, so to say.
- Mike Herchel
- Yeah, so the Starter Kit theme will obviously contain a lot of templates and Twig files, but are you including any type of Style Sheets or JavaScript?
- Lauri Eskola
- It does have some basic JavaScript and CSS. I think there might be one JavaScript file, or maybe not. I'm actually not sure. But at least we do have some CSS. If it doesn't have any JavaScript right now, I think there's definitely a chance that it'll have some in future. For example, we do have some theme functions in JavaScript, and I think the Starter Kit theme would be a good place to provide custom Markup for JavaScript theme functions, for example.
- Lauri Eskola
- We do have some very basic CSS there. That is basically some old CSS that is coming from Core Modules, which was moved to Classy. And we didn't really have much time before Drupal 8 to figure out what is exactly in there. So that's probably something that we need to start working on. I also don't have a good grasp on what is in there exactly. We [inaudible 00:08:42] when we create a Classy, we sort of just copy as many CSS files from Modules to Classy as we can. And since we haven't really been able to make changes to those in Drupal 8, they've not become familiar to me.
- Mike Herchel
- Yeah. That makes sense. So they're probably all using a lot of floats and old style CSS.
- Lauri Eskola
- Yeah. I would assume so. There could be even CSS that is not targeting anything. We haven't really done that type of cleanup at all.
- Mike Herchel
- Yeah. That sounds like a fun thing right there. So obviously the function of this theme is to create a new theme that could be maybe a starting point. But could the function of this theme also serve as maybe an educational tool for a front-end developer that's coming into Drupal for the first time?
- Lauri Eskola
- That's one of the considerations that we had. We were sort of thinking, how does this impact different user personas? And we certainly did realize that, this could improve the theming experience to someone that is new here to Drupal theming or front-end developing, because you would have more examples in hand. And rather than being familiar with overriding and providing Style Sheets to different templates, you could just use the pre-existing ones and go from there. And that also provide the opportunity to sort of customize that experience, depending on the user preference. We could add more configuration options to the CLI tool, so that we could add or modify or remove something from the generated theme based on the user preference. And that's not really something that is possible with Classy right now, because it's just sort of one theme, and we would have to provide multiple themes to be able to do that.
- Mike Herchel
- Yeah, it's definitely true. One of the things that comes to my mind, when you're new to Drupal, there's a lot of a front-end things that are a little difficult. Some of the things that come with the minor things like Drupal behaviors, pre-process. And one of the things that's always very difficult and still can be difficult is, knowing what to output within your Twig templates. If I'm trying to output a value of something that's not maybe just right there, that can be one of the harder things that front-end developers have to deal with.
- Matt Kleve
- Figuring out the right variable? Or the right...
- Mike Herchel
- Yeah. The right variable or whatever's underneath that, wherever it's an array or a value [crosstalk 00:11:40]. Right now, it's a situation where I use extra bug, but a lot of people will use things like [inaudible 00:11:49] and things that. And those are the stumbling blocks in my opinion, for newer developers. I think we're getting a little off topic, that could be a nice topic though. Maybe we could have a podcast sometime. What is it like for a new developer coming in Drupal?
- Matt Kleve
- Drupal is hard, sometimes.
- Lauri Eskola
- I think it's relevant to this. I think that's something that we can start discussing now that we are allowed to start making changes to those things, because we didn't have many options to make changes there before. So it didn't make that much sense to talk about it, because you would basically be told that you're not allowed to make those changes.
- Mike Herchel
- I love the idea of including examples in code, because as a developer, my favorite way to figure stuff out is by copying and pasting and screwing around with code.
- Lauri Eskola
- Yeah. There are many developers that are that, that have the preference of having sort of an example where they're going to start making their own changes. And I was a developer like that as well when I started front-end development. So it's certainly something that I do. It's a use-case that I value myself because I can see myself getting started from there and I could imagine other people like that. It's great to hear that you are one of those people too. Not everyone is like that, there are many people who would think that that's not a valid use-case at all. For example, if you come from a higher education background, you have a degree in computer science, you might not really have that point of view down.
- Matt Kleve
- Show me versus tell me. You might want to read the documentation or the API side.
- Lauri Eskola
- Yeah.
- Matt Kleve
- And all of the above might be good for getting people involved and figuring out what's going on.
- Lauri Eskola
- Yeah. I guess something else that had an impact on me was that, when I started programming or front-end development, I was not very fluent in English. So reading documentation was really hard. So it was much easier to mess around with the code and figure out, what does it change? For example, I learned programming before I really understood what the things in PHP meant. And then, later on when I learned more English, I realized that they are actual word that made sense. For example, when I learned PHP, I didn't know foreach meant what it means in English. It was just a random set of characters that I had memorized that this is what you use to create a loop over things.
- Mike Herchel
- That's funny.
- Matt Kleve
- Learning English through PHP, I mean, that's kind of the alternative. People are yeah, "I watched American television and learned English. I wrote PHP and learned English."
- Lauri Eskola
- I don't know if I learned English through PHP. Because I learned them as random sets of characters.
- Matt Kleve
- Your own words [crosstalk 00:14:55].
- Lauri Eskola
- I never thought about them being words.
- Mike Herchel
- That's pretty interesting. So is there anything in the Drupal ecosystem, and I'm thinking things like Drush or Drupal console, that does anything similar right now that, you know of?
- Lauri Eskola
- So not with Classy for sure, sort of with the core themes out of the box, as far as I know, at least. And there are Drush commands to some Contrib themes. For example, Zen is providing a Drush command to create a theme using Zen. Basic is providing a Drush command too. And Basic conceptually, is very similar to this. It has some use-cases that Classy doesn't cover. So it is even more opinionated. For example, it has Sass, part of the generated theme that they create, which the Starter Kit theme doesn't have, at least at the moment. But conceptually, it's very similar to this, so there is some overlap there.
- Mike Herchel
- That's pretty interesting. That's kind of cool.
- Matt Kleve
- Those are making sub-themes though. Correct me if I'm wrong, I'm new to the topic and I might not fully understand. You're creating a completely new theme based on another theme, not necessarily making a sub-theme, right?
- Lauri Eskola
- Yeah. So this is creating a sub-theme of Stable [crosstalk 00:16:27].
- Matt Kleve
- ... it is a sub-theme of Stable, okay.
- Lauri Eskola
- Yeah. So it is a sub [crosstalk 00:16:30].
- Matt Kleve
- And I know you've said that before, it just didn't digest in my brain.
- Lauri Eskola
- Yeah. So it's sort of is a sub-theme... Stable is not a base theme in the sense that we would provide any default Markup or something like that. It's more just for us to have the capability to provide backwards [inaudible 00:16:49] layers, specifically to themes that opt in for that type of [crosstalk 00:16:53].
- Mike Herchel
- So the Starter Kit though, is creating a complete copy of Classy, which is then sub-theme of Stable.
- Lauri Eskola
- Yes. Not all of the BC layers are on the level of template or CSS. For example, in the Stable theme we've created BC layers for JavaScript things. They've created BC layers for library in full-Alter. So it could be different kinds of things.
- Matt Kleve
- Are there any kinds of different raw requirements to the file directory, that needs to be writeable to create this theme when you run your script? Is it normal?
- Lauri Eskola
- It needs to be writeable through the user that is running the CLI command.
- Matt Kleve
- Sure. Is that generally different than a lot of setups or is it fairly straightforward to somebody who might be meaning to you use this?
- Lauri Eskola
- So there might be use-cases where you are using Docker or some kind of virtualized environment, where you would have to go to run the command in Docker or in the virtualized environment rather than on the host. So that's probably the one consideration there. Other than that, I think it should be pretty much the same as if you are able to run composer, you should be able to run this.
- Matt Kleve
- Okay, that makes sense. Yeah.
- Mike Herchel
- So, right now this is a PHP script. A lot of front-end developers, especially if they're coming in from outside of the Drupal ecosystem are more familiar with JavaScript. Has there been any thought on creating an NPM command or NPX command or something that would basically accomplish the same thing? [crosstalk 00:18:47].
- Lauri Eskola
- Yeah. I sort of recognized that. I think NPM is certainly more familiar to front-end developers. I think the main reason why we wanted to use PHP or why I chose to go with PHP at first is, because we probably want to provide some level of extendability in future. And we sort of have all of that API in PHP. And for that reason, PHP is a better fit for us. So what I mean by the extendability is that... So right now we only support one Starter Kit theme, which we are proposing to add as part of the CLI tool. The CLI tool has been built in a way that it can support other Starter Kit themes with some minor changes to it. So we would provide basically configuration option in the CLI, argument for that. And we would have to provide a way for themes to indicate whether they support being a Starter Kit theme or not.
- Lauri Eskola
- But to be able to do that, I think we also have to provide a way for those Starter Kit themes to define the steps taken to generate a theme using that Starter Kit. So for example, we don't support at the moment generating Starter Kits that have any config Jamo files in the theme. We don't rewrite those so that they would be working in that generated theme. That's one example. We will probably add that to be part of core, but there are certainly other considerations, other steps that the themes want to take when a theme is generated using that as a Starter Kit. For example, the Basic theme is running NPM as part of the steps taken to generate a theme using their generator. And if they wanted it to use a core tool to provide their experience, they would probably be able to add that to the steps, so that they have the same commands that the user needs to run when they create a new theme.
- Matt Kleve
- So I take it your CLI tool is just standalone PHP scripts. Is there any reason we're not requiring Drush for this?
- Lauri Eskola
- So because it's in Drupal core and Drupal don't really require Drush, it doesn't have that type of dependency on Drush in any way. So it was easier for us to go with a standalone CLI tool. And there's a lack of pre-existing CLI command in core, which is for creating development environments and that type of thing. And we then thought it would be appropriate to go with that.
- Matt Kleve
- Okay. I wasn't aware of the other commands in core.
- Lauri Eskola
- Yeah. It's core/scripts/drupal.
- Matt Kleve
- Okay.
- Lauri Eskola
- That's the console tool and it has couple of commands which you can run.
- Mike Herchel
- Yeah, I know there's a one-line Quick-start tool or something that, where you can just copy this one thing, and it downloads a script, runs composer, will install the demo Umami profile and run a local version of PHP or SQL lite and it just kind of works, which is really neat.
- Lauri Eskola
- Yeah.
- Matt Kleve
- We're talking the Starter Kit Drupal theme with Lauri Eskola, Acquia engineer and Drupal core committer. Coming up right after this, we'll see where it's going, in the future.
- Mike Herchel
- Welcome back to the Lullabot podcasts. We're talking with Lauri Eskola, all the way from Finland in some forest, according to his zoom background. And, well we're talking about the Drupal Starter Kit theme. The Starter Kit command makes a copy of the Starter Kit theme, but there's been talk of creating different options and being able to extend that. So, for example, I personally work on the Olivero theme, which is a new theme in Drupal core. Is there a talk of having people being able to run this command and create a copy of all of Olivero with their own name or anything similar to that?
- Lauri Eskola
- Yeah. So that's been discussed and we've been thinking, how would it look if we provided the option to generate your own Olivero theme, by using Olivero as a starting point? And I personally believe that that's a very interesting idea. Because for example, how I got started in Drupal theming was that, I would copy Bartik or Garland to be my theme and then I started making changes to that. And if you are that type of learners, that's the preference that you have, it might be a very well suited feature for you and it may be very helpful. Because for me, it was actually quite a few steps that you need to take to be able to create your own Garland or Bartik version, because you need to replace [crosstalk 00:24:25] the machine name and some directory names and things like that. [crosstalk 00:24:34].
- Mike Herchel
- Process the libraries, all the Jamo files. Yeah, there is a lot. On top of that, right now, the source files within Olivero are post-CSS, which basically means they're a form of CSS that is not yet understood by the browser. So we have to run this post-CSS process and the configuration for that is stored outside of the Olivero theme. So has there been any thought in to giving like, "well, if we do extend things like Olivero, how will the end user be able to transpile that CSS in JavaScript?"
- Lauri Eskola
- Yeah, that's a great question. So I mentioned earlier, sort of that API for the theme to define the steps needed to generating a new theme using that Starter kit theme. I believe that's a good fit for that. Maybe Olivero needs to have a step in it's generator steps, to generate some of those commands to be included in the themes that are generated using the Olivero Starter Kit theme. So we don't want to have those in the Olivero theme in core, but if someone generates their own Olivero theme, we would then copy those files over from core into that theme, so that they would then have a snapshot of diversion of the configuration on that day that is needed to create the files over there.
- Lauri Eskola
- I guess another option would be, to figure out if he could even ask a question from the user, that if they want post-CSS or not, and if they don't want, we would have some way to provide them with just pure CSS without post-CSS. We could potentially use the generated post-CSS before that, because it's still, in most cases, it's pretty clean. There are some use-cases where the generated CSS is not formatted correctly, but since we control the steps, we could even run some [crosstalk 00:26:55], something like that to make it actually formatted, the way we want it to be formatted.
- Mike Herchel
- That makes a lot of sense. So here's a question for you. So, I make it copy of this Starter Kit theme, and I extended it, I develop on top of it and I push it to production and it's pretty awesome. But in the future, there's changes to this Starter Kit theme, which are not going to filter down into my new theme. Are people going to care about those changes? Is there a way to track those or how is that handled?
- Lauri Eskola
- So right now we don't have a solution for that. We are a little bit unsure if that's a use-case people actually care about, if they want to be able to follow the changes in the Starter Kit theme? The reason why we expect that it is not necessarily going to be hugely popular is that, we're unable to make changes to Classy over the last four or five years since Drupal 8 released, and people were just fine over that time, even though they didn't receive almost any fixes to the Markup at that time. My gut feeling is that, people don't necessarily care much about what type of changes are happening in the Starter Kit, because basically they fork and forget.
- Matt Kleve
- They forget, is the key part there.
- Lauri Eskola
- Yes. Because you basically forked a theme and you made it work for your use-case, and you don't really care about what is happening in the upstream after that. Because it's well-fitted for your use-case already. It's good enough for that.
- Mike Herchel
- I agree with that a hundred percent with the exception of security vulnerabilities.
- Lauri Eskola
- Yeah.
- Mike Herchel
- Obviously if there's a security vulnerability, that's something that needs to be accounted for. But at the same time, [seams 00:29:04] do not have the same amount of PHP. So there's less opportunity for security vulnerabilities to sneak in.
- Lauri Eskola
- Yeah. It's tricky if there's security vulnerabilities in the PHP that we provide as part of the Starter Kit theme. It's something that is really tricky for us to handle. What we have given some consideration to is Twig, because we provide much more code in Twig. And we basically looked at the past and we didn't find any security issues that would have made any changes to Twig templates. And since Twig is the language which we compile in PHP and we control the steps, they can de-compile that. If there is a security vulnerability we could potentially fix it, as part of those steps we take to compile the Twig templates. And I believe that the steps taken to compile Twig templates are more likely to have vulnerabilities than the actual code in Twig templates.
- Mike Herchel
- Yeah. But that's not contained within this new generated Starter Kit theme, so that's okay.
- Lauri Eskola
- Yeah. And that's sort of a pre-existing problem as well, because people who already overrides don't have to Twig template. So if there's a Twig template, which we provide, let's say the page HTML Twig, or HTML, HTML, Twig, which many people override in their themes. We would already have to look into solutions like that because we would not be able to ship a fixed that would be very effective because so many people override those templates.
- Mike Herchel
- So what are the different use-cases of creating a Starter Kit theme versus a Base theme? When would I want to use a Starter Kit theme? When would I want to just extend Classy or something else?
- Lauri Eskola
- Based themes and Starter Kit themes have different use-cases to them. And I believe that the Classy use-case where we provide the sort of non-opinionated Markup and CSS to users, is a use-case for Starter Kit theme, because you would always have an opinionated design building up with that. You would have someone build you designs or you designed them yourself and that's going to be how your website looks like. It doesn't have a design with it. In that sense, you don't really inherit a concept from there. But then we have themes like Bartik, which comes with a design. And if you create a theme that sort of inherits the idea of Olivero, where it looks 99% like Olivero, but you maybe change the accent color and a couple of other things to match your sort of overall style guide that you have. With the navigation working the way it is in Olivero, you'll find the layout being the same as that in Olivero, that's a good use-case in my opinion for Base themes.
- Lauri Eskola
- That's not something we support right now, but I think it's a valid use-case, which we should look into. And I think that's sort of the use-case for Base themes. I think there's another use case for Base themes, which is like university or some kind of enterprise Base theme, where do you maybe provide some CSS which has some components that are specific to your style guide. It could be even less opinionated than that, you could even provide some accessibility tooling or some tooling that is specific to your organization, like both CSS, Sass or something like that. And then you build your websites for different departments or different brands using that tool.
- Lauri Eskola
- The reason I believe that's a better fit for Base themes than Classy, even if you don't necessarily inherit the real design and concept to the themes implementing it, is that you have more control over how they are being used. Because you can most likely go look all of the themes that are extending it, and then figure out how to track if someone is changing or planning to introduce that. That's not what we can do with Classy, it's sort of complete black box in the sense that, we have no idea how people are using it and how any of the changes that we do are going to impact our users. And for that reason, we've basically just decided not to make any changes there.
- Matt Kleve
- Mike, if you are given a new project and nothing in the code-base yet, where do you start?
- Mike Herchel
- Yeah, I generally start with a blank theme. And in Drupal 7 land, I kind of had my own little Starter Kit theme.
- Matt Kleve
- Lullabot has kind of played with that among the front-end developers throughout the years and tried different things. So I didn't know where things were now and how you did it. So you would go with it [crosstalk 00:34:13].
- Mike Herchel
- Lullabot created a theme called Windup a while ago.
- Matt Kleve
- That's been a while [crosstalk 00:34:19].
- Mike Herchel
- Yeah. And it's gone through several iterations. And I honestly don't think that we use it that much. I think it was created... like what a true front-end developers said, "I'm going to put some effort into this and then."
- Matt Kleve
- Wouldn't it be cool if?
- Mike Herchel
- Yeah, exactly. From my point of view, I have go Starter Kit. I'll copy code from other themes I've done that I think might be relevant. But I usually kind of start from ground zero. This would be super awesome I think, to be able to extend other themes, themes like Olivero that I think could accommodate a lot of use-cases. Lauri, is there any type of thought on having the script reach out to Drupal.org and maybe automatically almost manage dependencies where I can say, "I want to extend this theme and I haven't even downloaded this theme yet." And it would just go ahead and reach out, grab it, run whatever scripts?
- Lauri Eskola
- That's an interesting idea. I don't think if I've heard that before to be honest. But I think it's a very interesting idea and something we could potentially look into. Because I think, if we want to build that thriving ecosystem of Starter Kit themes, I think with that we could provide much better user experience. Because they would not actually have to download the theme and then sort of throw it away after that.
- Mike Herchel
- It would be really nice, a theme project maintainer could just throw on their project page, run this command, and then bam.
- Lauri Eskola
- Yeah.
- Matt Kleve
- Lauri, when we came back from the break, you said you first started working with themes in Drupal by copying Bartik or something like that. Mike, did you have an early theme story? What did you do?
- Mike Herchel
- It was Garland. I started in Drupal 5 and I remember it was 5.3. And I'd literally hacked the hell out of core in Garland and just modified it, changed things. I barely knew anything, but I would just change stuff around till it looked okay.
- Matt Kleve
- I mean the files are there, why don't you change them, right?
- Mike Herchel
- Yeah, exactly. I even in a lot of cases, I probably was using table layouts or something, it was pretty spectacular.
- Matt Kleve
- Yes. I had a thumb drive on the download from a friend that had an awesome Starter theme. He had gone to a Lullabot workshop, and apparently they had handed out pre-release versions of Zen. So I had an early copy of Zen before anybody had it on a thumb drive. It was like, "Yes, this is how I'm starting." And that was probably the Drupal 5, the early days of six, maybe, but probably five. Yeah.
- Mike Herchel
- It's like passing recordings of your favorite band around on cassettes or something.
- Matt Kleve
- I got that theme bootleg. It was awesome.
- Mike Herchel
- Yeah, bootleg, that's what it is [inaudible 00:37:35] looking for. What's the timeline on this? Is it done? Is this going to make 9.2? Or what are you thinking at this?
- Lauri Eskola
- I think they were pretty close to getting it in core SL for experimental, but [inaudible 00:37:48] experimental code is not included in releases. I'm trying to push us to make it the beta before 9.2, but I think that's still a little bit unclear what it's needed for beta, so it's hard to say if it's going to happen or not. At this point it seems a bit unlikely, but if we're able to make a good crunch invest in DrupalCon, and maybe some people help us out to clear out those missing features and issues, it could be still achievable.
- Mike Herchel
- Yeah. So where do you need help? and how can people?
- Lauri Eskola
- At the moment, I think we still need a little bit of help on just validating the idea and testing to make sure that it works on sort of everyone's environments. As Steve asked earlier, there are some requirements in the file system and the operating system to be able to run the command. It would be helpful for people to run the command and just test it out, to make sure that it works on different kinds of environments and figure out what the problems are with different kinds of set setups.
- Mike Herchel
- That makes sense. This is a good idea. What was the Genesis of this idea? Does this come from you or is this something that someone asked about?
- Lauri Eskola
- We had a meeting in DrupalCon Seattle, just about the status quo of Classy. It was with people who were involved with the development of Classy and sort of the front-end, Twig and things related to that, and before Drupal 8 happened. And we were thinking of different approaches to be able to complete the work that we had planned for Drupal 8 to happen. And in that group, we decided that this would be the best approach to be able to do that.
- Mike Herchel
- Yeah. It definitely makes sense.
- Lauri Eskola
- Yeah. So, it's not my original idea. It was something that we came up, in the meeting.
- Matt Kleve
- Is there a place in Drupal Slack where you're working?
- Lauri Eskola
- So we are working as part of the Drupal 10 readiness, so that's T 10 readiness channel.
- Matt Kleve
- Okay.
- Lauri Eskola
- So that will be the best one to reach out.
- Matt Kleve
- Cool. Thanks for joining us today.
- Lauri Eskola
- Thank you for inviting me. It's great to be back and it's always so much fun to do this podcasts.
- Mike Herchel
- Yeah. Thanks for joining us and thanks for working on this. And all the work that you put into core and everything in the ecosystem. So thank you.
Published in: