In this episode, Mike Anello and Mike Herchel dive into a casual conversation covering a wide array of topics. They start by discussing the concept of a podcast with almost no effort required and the mystery of Stephen's involvement. The conversation then quickly shifts to Florida Drupal Camp, mentioning its impressive 16 uninterrupted years, the increase in attendees, and how fun it is. They touch upon single directory components in Drupal, their importance, and intricacies like CSS styling, schemas, and Experience Builder. The discussion also includes insights into popular Drupal events like Florida Drupal Camp, Drupal Dev Days, and the upcoming DrupalCon. They infuse humor and personal anecdotes while engaging in thoughtful technical exchanges and playful banter.
Listen:
direct LinkTopics
Michael Anello
Mike, widely recognized by his Drupal.org username "ultimike," is a prominent figure in the Drupal community with over 15 years of experience as a developer, educator, and community leader. As the co-founder and vice president of DrupalEasy, a Florida-based training and consulting firm, he has been instrumental inshaping the careers of countless Drupal professionals through comprehensive programs like Drupal Career Online and Professional Module Development .
Anello's contributions extend beyond education. He has been deeply involved in the Drupal ecosystem, serving as a core contributor to the Migrate module, co-maintaining several contributed modules, and actively participating in issue queues and documentation efforts . His leadership roles include membership in the Drupal Community Working Group and the Conflict Resolution Team, as well as organizing the Florida Drupal Users' Group and Florida DrupalCamp for over a decade.
As the host of the long-running DrupalEasy Podcast, Anello provides insights into Drupal development, community news, and interviews with key contributors, fostering a sense of connection and ongoing learning within the community (DrupalEasy). His dedication to mentoring and community building has made him a respected and influential voice in the Drupal world.
Mike Herchel
Mike is a seasoned front-end developer and a prominent contributor to the Drupal community, with over 15 years of experience in web development. He is best known as the lead developer of Olivero, Drupal's default front-end theme, which emphasizes accessibility, modern design, and user experience. (ImageX)
In addition to his work on Olivero, Mike serves as a core CSS maintainer for Drupal and is the creator of the Quicklink module, which enhances site performance by preloading links in the user's viewport. He also has amazing calves. They're the size of small children. Rumor has it that his vertical jump is over 4.5 inches! He has also contributed to the introduction of Single Directory Components (SDC) into Drupal core, aiming to streamline component-based theming.
Beyond his technical contributions, Mike is an active community leader. He has served on the Drupal Association Board of Directors and is a primary organizer of Florida DrupalCamp. (Drupal) As a speaker, he has presented at various events, including EvolveDrupal, discussing topics like the future of Drupal theming and the Starshot initiative, which seeks to make Drupal more accessible to site builders.
Professionally, Mike works as a Senior Front-End Developer at Agileana, where he continues to advocate for accessibility, performance, and the open web. He shares his insights and experiences through his personal blog at herchel.com, contributing to the ongoing evolution of Drupal and its community.
Discussion Topics:
- The Best Podcast Idea Ever
- Florida Drupal Camp: A Legacy of Success
- Single Directory Components: Getting Started
- TD Cafe: The Podcast Name Debate
- Deep Dive into Single Directory Components
- Experience Builder and Component Integration
- Custom Themes and Single Directory Components
- Design Tool Integration
- CSS Variables and Component Architecture
- Template File vs Render Array
- CSS Preferences: Plain CSS vs Post CSS
- Top Drupal Events
- Concluding Remarks and Personal Plans
Mike A: [00:00:00] So you're saying that SaaS is dead, that's what you're saying?
MIke H: Yeah. Yeah. I would argue with that. Yeah. Yeah,
Mike A: yeah. I would, I
MIke H: would say SaaS is dead and post CSS hopefully it will be dead too soon, you know? Yeah
MIke H: steven has the best idea for a podcast ever because he can he doesn't have to do any work. He just like sets it up and here we are just having to do our own work.
Mike A: Yeah. I don't, I don't even know if he actually exists. He figured it out, didn't you?
Stephen: What is, whose voice is that?
Mike A: I think that's some AI generated voice.
MIke H: Yeah. You know,
Mike A: that, you know, just playing all of us.
MIke H: Mm-hmm. So I think we should switch the topic to Florida Drupal Camp.
Mike A: Absolutely. That's where we should really start.
MIke H: Mm-hmm.
Mike A: Yeah.
MIke H: We have our over years.
Mike A: Has it been, did we just do 15 or 16? What year were we? I think we did
MIke H: 16 before.
Mike A: Oh, cow. Yeah.
Uninterrupted. [00:01:00] 16 uninterrupted years.
MIke H: Yeah. Well. Well, did we do online during COVID or how did that work?
Mike A: Yeah,
MIke H: yeah, yeah, yeah,
Mike A: yeah.
MIke H: We did one online so long ago. I kind of blocked it out. This 2026, February 20 through 22nd.
Mike A: Is it gonna be as awesome as previous editions?
MIke H: Yeah. It's gonna be better. It's gonna be better.
And, um, yeah. Last year we had 10% increase in, in no 20% increase in attendees from the previous year. So it can only go up from here.
Mike A: And we tend to get really good speakers as well. I mean, you do a lot of that heavy lifting. But yeah, I think it's, a lot of it is just, you know, it's not word of mouth at this point that we get good speakers.
It's a good, it's a fun event. Like we, we, we really put the emphasis on just, you know, making things fun.
MIke H: So last year with Lori Esca Lori Esla. Now Lori Timley, I sent him a calendar invite and I somehow ended up doing the notifications so it would [00:02:00] notify him every single week when Florida Drupal
Fantastic. And that, but according, according to Christina, he tried to like, fix it and he couldn't. Um, I tried just warmed up. Do that. Yeah, I tried to do that again this year. I, I couldn't figure it out. We basically
Mike A: force people to come by, spamming them.
MIke H: Yes, exactly. Yeah.
Mike A: So,
MIke H: but yeah. So single directory components, have you been using them?
Mike A: Um, yeah, so I've started using them. Um, I have a few, um, two different projects. Well, three, if you count an internal project.
MIke H: Okay.
Mike A: And that's kind of, that was our excuse for hanging out and, and doing this, you know?
MIke H: Mm-hmm. What type of components are you.
Mike A: I was about to, I was about to name drop the name of the podcast.
I think they'd wanna hear that, right?
MIke H: TD Cafe.
Mike A: Oh, is it not talking Drupal Cafe? Is it just TD Cafe?
MIke H: That's what the if, if you look up on like the little screen that we're on, it says TD Cafe up at the top left
Mike A: there. It's, I see it right there.
MIke H: No, it's, [00:03:00] it's up, up that way.
Mike A: It's this way. Yeah. Up there, right?
MIke H: This bump.
Mike A: No, let's do that. We got that. We practice this. Okay, fantastic.
MIke H: What type of components are you using that for?
Mike A: Um, you know, mainly just, you know, to get my feet wet and just to get comfortable. And I, the way I operate is I like to figure out the best way to build things. So I don't like to do things too complex at first 'cause I want to make sure I'm doing things the right way before I, I add complexity.
Mm-hmm. So I, you know, I've got some, you know, bits and pieces of an accordion on the Drupal Academy site. Um, I've got some, you know, some buttons that are reusable everywhere. I've got a card component like everybody else has. Mm-hmm. So, mm-hmm. Nothing's groundbreaking, but, um, let me ask you, 'cause you're deep, you're deep into single direction.
MIke H: I'm going deep. Deep, yeah. Yeah. You've been
Mike A: deep for a while. So that's why I thought this might be a good [00:04:00] conversation because I've got. I've got questions that I think I know the answers to. Mm-hmm. But I figure that you can confirm or deny, then we can potentially argue about
MIke H: the answers. Sure. Yeah.
That'll lead up some time.
Mike A: Yeah. So let me, lemme start off here. So do you think at this point in time, this is what May, 2025 mm-hmm. Um, is the skill of being able to create single directory components, is that now a required skill? For Drupal front end developers,
MIke H: I would say. Yeah. But it's also not a heavy lift.
Like I, I, I, I would say it's yeah, yeah. I would, I would say it's required.
Mike A: So it's required, but there's also, there's a lot of different, maybe not a lot of different ways, but there are different ways to build a single directory component. Um, as far as like how, how stringent the rules are. Right. So, you know, as soon as I started learning about single directory components, I kinda latched [00:05:00] onto that metadata file, the component EML file.
Mm-hmm. Um, which is actually not required at this point.
MIke H: It's not required for themes for modules that is required. Yeah.
Mike A: Right. For, yeah. If you wanted to just create a single directory component in the theme. Mm-hmm. Yeah. That, that's, that's, that's one thing. Um, yeah. So, so lemme take a step back. So, if. A Drupal frontend developer or just a frontend developer learns how to create single directory components in Drupal.
Mm-hmm. Is that a skill that's transferable to other frontend projects, or are single directory components kind of a Drupal.
MIke H: I wouldn't say they're a Drupal is like components in general is transferrable to whatever. Like, so like a lot of times if you're nesting components, you have to like pass your props from a parent component down to your child component and stuff like that.
So like that's, um, but that's not unique to Drupal. Exactly. And and that's what you're asking, right?
Mike A: I'm asking if it's [00:06:00] not unique to Drupal, like, like is the skill of creating a single directory component. Um, is that useful outside of Drupal?
MIke H: I would say so single directory components is Drupal's version of components.
Mike A: Okay.
MIke H: Like, um, if you go into another ecosystem, and like the most common one on the web outside of this is, is like, you know, react or something. Their components don't quite look like this, but the concepts are very similar. Okay. Right. So, so, so, so the concepts are transferrable. And to tell you the truth, I have no clue what WordPress is doing.
I don't think WordPress has anything similar to components at this point.
Mike A: Right. So, alright, so my next question, and this is something that I'm pretty sure I know the answer to, but you know, when you start off to when, when you set off to build a new single directory component, are you building it with.
Experience builder in mind or Integr potential future, [00:07:00] um, integration with experience builder or being able to use that component in places other than template file.
MIke H: Yeah, absolutely. And, and, and it depends like so a standard component. Yes. And, and I wanna qualify this to, to say like in May, 2000 or 2025, in the year of our Lord experience builder is still a very much of a.
A work in progress. So like, it, it's, it's impossible to do everything you want with Experience Builder at this point. Um Right. Which is maybe a topic afterwards, you know, 'cause we can talk a little bit about experience builder too, since it, it's, it's heavily based on SDCs, but, um, well, it does go ahead.
But, but like what I'm saying is like, when I create a component, I typically try to make it. Work as much as possible with Experience Builder. There's a couple things that experience Builder can't do, so that's not always possible. But I also wanna say there are certain components [00:08:00] that I abstract from the like Drupal UI components that I abstract out.
Just to make the development kind of more maintainable. You know, an example of this would be like the local actions tabs that eventually are going away, but in the meantime we have to deal with them. Um, I put those into a component, but those are never gonna be pulled in via. Anything outside the template file.
So I'm, I don't worry about things like SDC for those I, I mean, not for experience builder or Right. Or, or anything like that. And for things like that, tho that's typically a case where I, I feel it's totally fine to not throw a schema in there because what's the point of a schema that,
Mike A: well, for me, like the schema just feels like a best practice.
And it also feels like if you have a schema that's probably at least 80%, if you have a valid schema, you know, that's probably 80% of the effort for that SDC to [00:09:00] work in experience builder and other places as well. Y
MIke H: yeah, a absolutely, but there are cases where, like, for example, like tabs or something where you're not gonna, you're never gonna want that experience builder.
Mike A: So it, it almost sounds like you are not adding. The component YAML files and stuff like that to keep it out of experience builder.
MIke H: That's actually part of it. Yeah, there's a lot, there's a number of different ways to keep it out of experience builder and number one, like I think Experience Builders gives, gives you UI to disable that.
You could probably like add configuration to do that, right? You can like start omitting titles and stuff like that and that'll also keep it out of Experience Builder.
Mike A: Alright, so forget about Experience Builder for a minute. Have you used any of the other like. I, I, I'll, I guess I'll say well used contributor, relatively well used contributed modules that can leverage SDCs.
MIke H: I've used, I've used SEC display before SEC display was created by Mateo, who's the original like author of, [00:10:00] of single directory components. Right. And it works, but. It doesn't give you as much flexibility as working directly with a template, and I, I would also argue that like the whole process of navigating.
Into like the, the field UI and navigating down, like, it's kind of like a little field formatter type. Mm-hmm. And where the field formats are, like that's a pain in the butt to get to. So like, I, I, I don't use it like that. You know, my, my typical scenario right now is, is I use it just like I just map templates to the SDCs.
Mike A: You know, we should mention the SC display module allows you to. Um, use a component on a man on a view mode and then assign fields exactly to the crops
MIke H: and slots. Exactly. You can map fields to it. Yeah.
Mike A: Right. And then there's another one, I think it may have been Mateo as [00:11:00] well, SDC block.
MIke H: Yeah. Yeah. I haven't used that one, but it creates what, different block types from the secs or something like that.
Is that right? Yeah, I think
Mike A: you can, I think you can just create a block based on a component and then manually populate the the process slot from that. Mm-hmm. How about UI Suite? Have you played with UI Suite?
MIke H: I really haven't. I'm, I'm been meaning to like, like, like one of the things, um. One of the things that I'm working on right now, and I know you know, this is, is like some custom commercial themes that Andy, Andy Giles and I are doing, and you know, as part of this, we're including some recipes to like kind of, I.
I put the components on the page mapped to some type of Drupal data, and we were considering using UI Suite for that, but we ended up kind of just sticking with it what is in Drupal core, which which is basically the block system, which is a little bit janky, but we didn't wanna have like an external dependency.
Mike A: Right. Yeah. You actually, you know, I've, I've played with it a little bit and it's, [00:12:00] it's one of those modules, it's a little bit intimidating at first because it's got so many, like sub-modules as part of
MIke H: It does,
Mike A: yeah, it does, it does so much that it's you know, the, to get in there and really start like knowing how to leverage it the best way is, is a bit intimidating.
Mm-hmm. Alright, so let me, let's, well, let's take a step back. So this is something that I definitely and do not know the answer to, and I'm really curious as to what you're gonna say is if you were starting a new custom theme today, mm-hmm. Like what percentage of that custom theme would be single directory components versus kind of traditional Drupal front end theme?
MIke H: I would say a significant part about,
Mike A: yeah.
MIke H: You know, are, are we allowed to share screens? I can, I can show you some code and on, on what I'm, I
Mike A: don't know. I don't know if the AI Stephen cross' programmed to to
MIke H: code screen sharing [00:13:00]
Mike A: this, this shows your experience with the podcast Medium. Going right to a visual, you know, for a podcast.
MIke H: Are you actually, are you actually seeing my screen right now?
Mike A: I am.
MIke H: I don't know
Mike A: if anybody
Stephen: else is. Nobody. I'm jumping in here. Nobody else is seeing the screen. I can allow that. Ian. Oh, you can deny him. I can. I'll just describe. I can allow it. Let me, I mean, I have no, I'm not opposed to it. I just wasn't ready for it.
So
Mike A: you can just describe you, you just keep going. I'll just describe it. Right now we're looking at a visual studio code, a bunch of CSS files. It's like, some theme.
MIke H: So this theme right here is called Neon by, and you can see like there's a whole bunch Yeah. Of components in there. Dozens.
Mike A: Yeah. Dozens.
MIke H: Dozens upon dozens. Yeah. And, and the, and, and then even if you opened up some of the stuff, there's some of the directories. There's even like sub components in a lot of these too. Okay. But going [00:14:00] into the CSS, the CSS, like, of course, is, is like I have a whole bunch of different variables. I have like my base styles, and then when I get in.
Into like my CSS component files, which are like the non S-D-C-C-S-S components. Yeah, I have a lot of these are just like general basic styles, like styles to override the auto complete styles to override like form inputs. Styles to style. Like things like
Mike A: kind of fallback styles.
MIke H: Yeah. Yeah. They're like, like.
Things like that. Styles for the, for the preview page. Then I, so how much do
Mike A: you adhere to? So I was checking out, um, some of the base themes on drupal.org that have single directory components in, in them. And, you know, I, I'll go on them and say most of them, um, are pulling in additional CSS from outside the component.
Like Tailwind
MIke H: or something like that, or
Mike A: No, no. Like, um, um, I, [00:15:00] you know, I, I don't wanna say any, 'cause I don't know if that, you know, if it's frowned upon or not. So, but,
MIke H: you know, just, just go ahead and say it. It's not your podcast.
Mike A: That's true. It's not mine. This is, yeah. Steven made me say this. Steven, Steven forced me to say this.
Yeah. So like, RAD X, you know, the RAD based theme has a bunch of STCs in it. And if you look at any of the, I think it uses SaaS. Um, files in each component. It's actually pulling in, you know, other SaaS files from outside the component.
MIke H: Yeah, yeah. So
Mike A: it's not really a pure single directory component because it's relying on stuff on the outside.
So is that I. I mean, is that something you would, you would recommend or is that just kind of like a, a necessary evil Sometimes, or
MIke H: sometimes it's a necessary evil to
Mike A: Yeah.
MIke H: Like on whatever your library you're, you're doing. So for a while I was doing kind of a SEC based, um. Theme on based on U-S-W-D-S-U-S-W-D-S is the US web design system.
And the U-S-W-D-S like, like [00:16:00] the way that they architect their styles. It's like this huge evil monolith SaaS file. And yeah. And so within each of the SDCs within this theme, I, I would kind of like break it down. So when I imported the styles into the SEC, I would only import, um. I, I would only import like the necessary styles.
Um, so, so. With that being done, like one of the drawbacks of something like that is you can't like move the SDC to a different, a different project and, and at least, and then edit it, you know, so, so it's not ideal, but sometimes it's definitely a necessary evil. Like, and my project that I'm on right now, we're not relying on external libraries, you know, like, like.
We're not relying on, on anything like USWS bootstrap or, or tailwind or anything like that. [00:17:00] So you can take these and it's, the components are highly portable.
Mike A: Alright. So I mean, so to go back to the, the original question, it was like, what percentage of a, of a theme could you build with just single directory components?
Um, you know, as we were scrolling through, I know no one else saw it. Um, but, you know, yeah. Like header and footer components in there. Um, so you're building those components and then you're just, um, in the, in the template override files. You're just kind of at, you know, loading the component. Is that the, that the,
MIke H: yeah.
Yeah. That's pretty much it. Right. So there's still kind of an extra
Mike A: layer still. You're still overriding template files.
MIke H: Yeah. And, and that will hopefully change with experience Builder when Experience Builder comes into its own. Yeah. But I like, I would say like right now, like a good 80% of this theme is single directory components.
You know, like at least code wise, you know?
Mike A: Right,
MIke H: right. Um.
Mike A: Does it allow you to minimize, like the page template and other templates, like [00:18:00] to simplify those? 'cause you're bringing some of that, I mean, potentially. Yeah,
MIke H: yeah, yeah. So within my page template, I like, like within my page template, I'm embedding directly the header and footer in there.
And then, and then within, within the header and footer components, I, I have, um. Slots like blocks or slots where I pass through different theme regions. Oh, that's
Mike A: interesting.
MIke H: Does that make sense?
Mike A: Yeah. So you still have the regions.
MIke H: It's
Mike A: just that they're being passed, their output is being passed into a slot of the component.
MIke H: Yeah, exactly. And, and it's kind of a pain in the butt because Drupal is in this, or like Really?
Mike A: Yeah.
MIke H: Kind of transition period right now where like, like eventually things like. At least talk right now is things like the block ui, the fields like field templates and stuff are gonna try to be phased out at at some point.
And I can't see [00:19:00] this happening anytime soon because like backwards compatibility and everything like that. But at the same time, like, like a, a, a use case that we have here is that you. We have the header region, which of course has a primary primary menu block in there. The primary menu block needs to look different when it's in the header region versus when it's in a sidebar, because you might have that, you might have that primary menu showing up multiple times on a page, once in a sidebar and once in the header, you know?
So it needs to look different depending on what region it's in. So, so we do like. Some pre-processing and template suggestions in order to make all that happen.
Mike A: Okay. All right. I mean, that doesn't sound like an average project though. It sounds like. It sounds like your goal is to, you know, for that project is to use single directory components as much as possible.
MIke H: That's not the goal. The goal is to make it, [00:20:00] to make it like. You know, easy, you know, if someone comes in after me, like it should be, it, it should be very easy for them, number one, to find the code that they need to modify, and then number two, the, to edit the code. You know? And, and that's, that's not, not necessarily even a frontend developer, you know, someone like you, like, like who, who might not be, who knows a little, who knows a lot about the front end but doesn't know everything.
You should be able to figure out easy. I don't do it every day. Yeah. I'm not
Mike A: doing it every day. Yeah,
MIke H: exactly.
Mike A: All right, so should front end developers be using components if they're not using something like storybook or Figma? Like a design tool as well? Yeah. Is there any point. Okay. Yeah, I, I figured that'd be your answer, but
MIke H: yeah, it, it, I, I, I mean, it, it makes it easier, honestly, like let, like if, if, if you can have your template, your JavaScript, your CSS and, and [00:21:00] potentially your schema all in one place, you don't have to jump around your code base.
It just makes everything easier.
Mike A: Right. And plus, you know, if you, if you're leveraging. CSS variables, like you showed it briefly when you, when you were showing your screen, like you're setting up your base, your, your default variables, CSS variables and, and then I'm assuming each component. Um, can utilize those variables, but also provide a fallback if, if that variable isn't set.
Is that
MIke H: correct? Yeah. Yeah. That's ex, yeah. The way that I, I am architecting my components is like within each component, like I, I have variables for that component. So let's, let's call it like a card, because that's the most simple component. So like, like within the. Within that card CSS, I will have scoped, scoped to the card.
Class. I'll have things like card padding card you know, font size card. Okay. You know, all this type of stuff. And then those will be mapped to the global properties.
Mike A: [00:22:00] Okay.
MIke H: And then if someone wants to come in after and change, you know, like let's say the spacing, you know, in a card, they can just modify, they can modify it really easily and it's, it's really straightforward and basically
Mike A: override what's, you know, the value that's coming in.
MIke H: Exactly. Yeah. Yeah.
Mike A: All right. Um, so as I was, as I've been kinda learning more and more about single directory components and implementing them, um, something that I kept coming back to is in my template files when I wanna consume or utilize a component. There's two different ways to do it. At least two we'll say.
Um, but I think the two most prevalent that I see are, use the embed tag or use the, include the twig, include function. Mm-hmm. Pick one, which is which way, which way should we be, which way should we do it?
MIke H: I mean, I typically try to go with includes unless I need to pass through blocks.
Mike A: Yeah. I think includes are better as well.
Yeah. They're, they're, they're more elegant, less code and Yeah. [00:23:00] It's,
MIke H: yeah, it's, it's easier to parse visually. Um, but like in beds are. Beds are useful too. Like, like yesterday I was passing in a twig block. You like you or, or in a slot you can pass through other components. You can only do that. You can within embeds, you know, you can't do that with, with Includes,
Mike A: you can't have a slot with an include.
MIke H: Correct.
Mike A: I'm pretty sure you can do that. I've components
MIke H: I.
Includes cannot. Includes do. I mean, you can have slots, but you can't pass twig blocks.
Mike A: Right, right. Okay. That I agree with you on. Yeah, yeah, yeah, yeah.
MIke H: Okay. Yeah, yeah, yeah,
Mike A: yeah, yeah. Yeah. Okay. Um, so. We agree. Um, include fist bump, boom, boom. Right there. We got, boom. Okay. Yeah. Yeah. My fist is so
MIke H: much larger than yours.
Mike A: Hold on. I can make mine larger. Look at that. Look how, look at mine. Mine's super large. Now I have Hulk hands. Yeah. This [00:24:00] is my Hulk hands.
MIke H: It's like when people like you ever see people like pose with a fish and then they, they hold it up like this. Exactly. So the fish looks so much bigger. Yeah.
Mike A: By the way, I waited till the till we were recording.
'cause I have to let you down. Easy on something. Um, we were supposed to get together like in a week and a half. Um, this,
MIke H: this is bullshit already.
Mike A: I'm gonna be out of town. I'm sorry, I'm visiting my parents there. You got plans? Well, you can, I don't know. You can stay at my place, I guess if you want. I'm gonna be in Connecticut visiting my parents.
MIke H: Is Glen gonna be down there to hang out with us?
Mike A: I don't know. I think it's gonna depend on her work schedule. So, you know, the three of you, I'm sure you're gonna have a great time. Yeah. Believe me. Since my parents probably aren't gonna listen to this podcast, um, I would rather be in Florida.
MIke H: I'm gonna make, I'm gonna make Robin listen to this podcast.
She's gonna be upset.
Mike A: I'm sorry. Well, you, I'm sorry that I won't see Robin. I'm [00:25:00] accurate. True statement. I'm sure you're,
MIke H: I'm sure you're
Mike A: alright. So next, next question again, you have to pick one. Um, given the option, would you rather consume or utilize a component in a template file or a render array?
MIke H: Oh, template file.
Easily be, just because I'm a ender, just,
Mike A: you know,
MIke H: easier.
Mike A: I know I like, I like I get a little charge when I can, you know. Do it with a render array for some reason. Okay. Yeah,
MIke H: I mean that's fine, you know, but like, you also probably have to hunt down where you're doing that sometimes too.
Mike A: Yeah. But for things like field format, I, I make a lot of custom format, that's like my go-to.
Okay. And so that's super easy to, you know, to, because the format is returning a render array, so you just call your component from there and you don't have to worry about the template file. Makes sense. Alright. Um. The last question I have for you, again, you have to choose one. Um, and I [00:26:00] didn't, I I didn't clock it When you were sh when you were sharing your screen.
Um, do you write plain old CSS SaaS or post CSS?
MIke H: Right now I am doing plain CSS. Wow. And, yeah. And so no nesting I mean nesting is plain CSS.
Mike A: Well, but does for older browsers, isn't there still an issue with older browsers? I mean, how far back I,
MIke H: I, I mean, yeah, exactly. How far back do you wanna go?
Mike A: You know, I think I've had issues with, um, in a, with plain old CSS in a component CSS file when that, um, the outer selector is on the what's that attribute that single directory components add?
The data component ID, or whatever it is.
MIke H: Yeah, yeah. Component id, yeah. Something like that. Yeah.
Mike A: Yeah. I've had issues with that working, but that,
MIke H: yeah, I, I have, I have, [00:27:00] yeah, that doesn't make sense to me. Like I haven't ran into anything like that. Like, like and, and, and, and like for the stuff I write, like, like I basically support what Drupal core supports, which is Yeah.
Basically, you know, basically like two versions back of all the popular browsers.
Mike A: Wow. So, so you're just, you're just going plain old CSS
MIke H: Yeah, a hundred percent CSS and, and, and, and, and there's a lot of reasons for that too. Yeah. Like, um, you, five years from now, will your node SAS compile? Will you even be able to install node?
You know, like, I mean, on the old version of the Florida Drupal camp site, I remember I couldn't even get like Compass s to install after like five years, you know? Well,
Mike A: I switched over to post CSS. Because I feel like that's a safer alternative. Like that will,
MIke H: you know,
Mike A: and, and you
MIke H: using, are you using post CSS preset, ENV, like chorus or do you Yeah.
Mike A: The way I decided to do it was I looked at what is in Drupal core.
MIke H: Yep.
Mike A: And I'm not using every [00:28:00] single one of the post CSS plugins, but most of them mm-hmm. Is I'm using, yeah. The
MIke H: only one that's. Like, so for our listeners, like post CSS preset, ENV is is like kind of like a mega post CSS plugin? Yes. That what it does is it basically takes like all the future cool stuff happening in CSS and then kind of trans piles it down so your browsers will understand it.
Right now, the only thing in there that to me is hyper important. That, um, that is not in regular CSS right now is CSS custom media and CSS custom media is like the ability to use variables for your CSS breakpoints.
Mike A: Yeah. Um,
MIke H: and the syntax
Mike A: is much greater than, or, or you
MIke H: Yeah. And your media queries.
Yeah. And, and it seems like greater
Mike A: than, and you know, less than stuff like that.
MIke H: Well, no, no, no. You can do that in regular, you can do that in regular browsers. Oh, yeah.
Mike A: Okay.
MIke H: Yeah, yeah. All this stuff is like, browsers are awesome nowadays. You know, you don't, you don't need, the [00:29:00] only thing that you can't do is use things like variables in your media cores, and if Firefox.
Ended up supporting, um, style queries which at some point it will because the other two, like, both Safari and and chromium support style queries, you can actually do that with style queries too. And and then I don't think we're gonna need any, any type of post s or anything like that. And style quarries can also do like the equivalent of basic basic like SaaS mix, like extends and stuff like that too, which is pretty cool.
Mike A: So you're saying that SaaS is dead, that's what you're saying?
MIke H: Yeah. Yeah. I would argue with that. Yeah. Yeah,
Mike A: yeah. I would, I
MIke H: would say SaaS is dead and post CSS hopefully it will be dead too soon, you know? Yeah.
Mike A: But won't there, I, I feel like there will always be a need for post CSS because CSS is, there's no end point for CSS evolving.
MIke H: Yeah, yeah, yeah, you're right.
Mike A: And it's, it's kind of, I mean, to me, you [00:30:00] know, using post CSS is just simpler or it's more streamlined than any SaaS solution I've used. Um, and plus, if you use D Dev or, you know, or Lando or Docs or Doxyl or any of them, they, they all come installed with Node, so they're all, you know, pretty straightforward to I mean,
MIke H: you could use SaaS with it too.
You know, SAS is all, yeah, there's a SaaS plug SaaS.
Mike A: No, I've, I've, I've been looking forward to like, not having to, you know, even think about SaaS anymore. Mm-hmm. Um, and I like post css. I just think it's a nice, it's kind of the a, a good next step. I think so. Okay. Cool. Yeah. Alright. Have we mentioned, um, Florida Drupal camp yet?
I don't think we have, right?
MIke H: No. There was a, there was a session from Markie about on this past one. I'm on the webpage right now. Yeah. About how you don't need SAS or posts anymore.
Mike A: Yeah. Aubrey has given, Aubrey Sanborn has given a [00:31:00] bunch of those as well, and yeah, yeah. I keep waiting for one of them to come out and say, you don't need to use SaaS anymore.
I don't think either of them has, says, it has said it as directly as you just said it.
MIke H: Oh, yeah, yeah, yeah. Like I, I, I'm just coming out and saying that just because like with CSS nesting now, like that's, that's a huge deal. Yeah. Um, and like all browser support, all browsers have supported for like, probably like two years or something like that.
Um, and, and. Like, there's tons of like really cool stuff in modern CSS nowadays that people just assume you can only do a SaaS. You know, like things like container queries, things like the has selector. Um, like I'm doing some really, really cool stuff with the container queries that, that I'm like, kind of just blowing my mind and I'm super excited about,
Mike A: hey, let's, um, let's rank the top five Drupal events.
MIke H: Yes,
Mike A: let's do that. I mean, number [00:32:00] one, okay. Florida Drupal Camp. Well,
MIke H: I would, I would say the top one was Florida Drupal Camp 2025.
Mike A: Oh, you're gonna give it a, oh boy. We're gonna make, we have to go with specific additions. That's difficult. I, I was just thinking to make it easier on ourselves, just, you know, in general.
Second, I
MIke H: think, was Florida Drupal Camp 2024.
Mike A: That's okay. I. Third, that's tricky. 'cause 2022 or 2023 both outstanding.
MIke H: Yeah, let's just make it 2023 just to keep three.
Mike A: Okay. Alright. Alright, very good. So how about, how about Drupal events outside of Florida?
MIke H: Ooh, that's a
Mike A: good question. Now things get a lot tougher.
MIke H: Yeah. Did you go to dev days this year?
Mike A: I, you know, I love dev day. I did. I'm, I was lucky enough to go, I freaking love dev days, and I think I, I think there were only, and I would love for someone to tell me that I'm wrong on this because [00:33:00] I, I, I spent some time and I talked to a bunch of people about it.
I think there were only two Americans at dev days. Bs myself and, um, Peter. Well, I can never say his last name. I'm so sorry. Peter, will La Will Landon, will la will Ian.
MIke H: You, you butchered that. That's horrible.
Mike A: Peter. W mm-hmm.
MIke H: W yeah.
Mike A: Yeah. Dev days is outstanding. You gonna,
MIke H: Peter, I'd be upset. Am I going?
Mike A: Yeah,
MIke H: no.
'cause my company's not making money yet. I need to make money so I can make it worth it, you know? Mm-hmm. That's true. I hear you. I hear you. But I'm gonna go to Vienna. And next year, you know where Drupal dev days is, I'm sure.
Mike A: Um, it's in Greece. Athens, Greece.
MIke H: Yeah.
Mike A: Yeah. I really wanna go there. That's gonna be cool.
That would be a fun one as well. Yeah.
MIke H: So
Mike A: is your next Drupal event Vienna? It can't be right.
MIke H: No, it's gonna be as Asheville to Asheville. Yes. Yep. I submitted a talk to Asheville and I'm got accepted, so I'm gonna go there and [00:34:00] Andy's up there so I can co-work with him. I go, I'm gonna go up there the previous week.
I'm gonna be up there for a while.
Mike A: Asheville's a great, it's, it's, that is a great summer event. It really is. It really is. I'm sorry. Yeah. I'm sorry. I won't be able to make it to Sierra, but it is,
MIke H: yeah. Yeah, yeah. And, and it is just like the the organizing team and, and the location is just like, awesome.
Mike A: You okay? Is there an earthquake? I
MIke H: know, right? Yeah. Yeah. But that's the main
Mike A: topic. Florida Drupal Camp. What are the dates on that again? February something 2026,
MIke H: I think. 21st or something? 20 through 22nd.
Mike A: Perfect. Yeah. Alright. Are, are we done? I, you know, this is about as long as I can, you know,
MIke H: talk, deal with me.
Yeah, that's true. Yeah. Alright, let's, let's quit it. I already kind of upset. I'm already upset with you canceling the plans. I'm
Mike A: sorry. I felt bad and I was [00:35:00] gonna, I was gonna text you the other day, but I'm like, oh, you know what? I've got a great opportunity to tell him.
MIke H: That's quite the move there, Mike. I.
Mike A: I do feel bad about it, but
MIke H: No, you don't. It
Mike A: it can't be helped.
MIke H: Yeah.
Mike A: Real. Okay. You know what? Trade with me, you can go up and, and, you know, um, I, I would love to
MIke H: go up and talk to your parents and just get like some dirt on you when you peed your pants and when you were in eighth grade and stuff like that.
Mike A: It was, it was, you know, it was 10th grade, but I don't have to talk about that.
MIke H: Yeah.
Mike A: It a rough high school year for me. Mm-hmm. That year. No, but if you go up there, you've gotta, you've gotta do all the stuff that I would have to do. So that's, that's where it's not fun. Just, I shouldn't say that. My, my parents are, get drunk with
MIke H: your parents.
Mike A: My parents are, they are. They're on their own. They're in their eighties. They are living their best life, and they just, you know, they just need a little, little help every now and then, so.
MIke H: Mm-hmm.
Mike A: Okay. There I go. There I go. [00:36:00] I don't have a button to end this thing.