Home
#48 - Intermediate Twig: Logic, Macros & More with Andrew Welch
Contents
1. Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more If you google Twig you ll find their page It s the first page and just looked over the functions that they had and briefly clicked on them to see what they did so that when was working on a project and had a problem to solve was like Oh remember reading about that it has a function for X Y and Z There s some really really cool functionality and think that a reasonable way to do is just give yourself a little bit of an overview of what it can do and then dive in and start doing something with it Lea Alcantara Yeah was just wondering about like just the diving in part like that s really planning a site and planning a Craft build Do you have a documentation workflow Do you do sketches or diagrams Like how do you work through planning a site or a Twig problem Andrew Welch So it s a few different problems at least for me So for the user experience type of thing use wireframes because there is a reason studied photography can t draw or can t design Lea Alcantara Right Andrew Welch know what looks good and can take a picture of it but can t create it right Laughs Lea Alcantara Right Andrew Welch know it s pretty awful My six year old son draws better than do s
2. Lea Alcantara Yeah the CSS only wouldn t have worked because there was some styling stuff and needed to have certain classes in certain places So that s why we chose that solution in the end and just wanted to point out Twig can do math Andrew Welch Right Emily Lewis Agrees Lea Alcantara And think that s really really important that some CMS templating languages Andrew Welch That shall remain nameless Lea Alcantara They don t do that as easily or at all right Andrew Welch Damn you ExpressionEngine Laughs Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch Wait a minute are they the sponsor Emily Lewis Not for this episode Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Okay good Laughs Emily Lewis Well but here s the thing when you re getting into this sort of custom stuff regardless of what CMS you re working with it becomes increasingly challenging Out of the box working with something in its core functionality ExpressionEngine for me has been a fantastic system and Craft has been as well mean think Lea am correct this is the most extensive we ve had to sort of tweak something for a Craft project so far Lea A
3. its necessary or there s a budget to do something like that Emily Lewis Right But just to acknowledge that your point is equally valid knowing that what you re building has the capacity to support something later that might be more extensive is also good to know as well Andrew Welch Yeah that is a very good point Emily Lewis So what would you advise someone who is a beginner with Twig with Craft to sort of level up to get to an intermediate or an advanced level Andrew Welch The first thing would say is to start using it and realize that that sounds incredibly obvious but realistically the way that you learn things is by doing and the way that learned Twig is just by looking at documentation and trying to figure stuff out There are some really good explanations and tutorials on Twig on how to use it and would also say don t be intimidated because you can just approach a project and look up the functionality that you need as you go mean you dont have to sit down and pretend that you re taking a formal course in Twig but do think it does help to look it over and see what tools are available to you before you start something because you may have a particular problem to solve and not be aware that Twig has this great function that will do exactly what you want So one of the first things did is just went to the SensioLabs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by
4. think that s one of the most powerful things about Craft for me Andrew Welch Yeah would just say some example I m looking at some code that did and it takes the name from a Matrix block and then piped it to the raw filter which says Give me just the raw data from this no translation Then it pipes it to a Twig filter called Hacksaw which is basically an excerpt filter and then it pipes it to the escape filter which escape encodes it for JavaScript So Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more it s kind of like this chain of things You can think of it as a conveyor belt It starts here and then as it moves to each filter something is done to it and then at the end it s output Emily Lewis Excellent So aside from the filters that you mentioned and specifically that the localization filter and other localization features that come in it are there any other Twig functionality that developers should definitely look deeper into Andrew Welch There s plenty of really really cool Twig functionality think Macros can be really cool Macros basically are shortcuts So let s say there are things that you find yourself typing repeatedly when you re coding something or you notice in yo
5. visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Emily Lewis So thank you wonderful listeners We appreciate all of your support and your donations go directly to keeping the show going Now back to today s episode in which we re going to talk about Twig logic macros and more Twig is of course the templating language for one of our favorite CMSs Craft and here to give us an intermediate level lesson is Andrew Welch Andrew has been in the tech business since the ripe old age of 14 when he started designing typefaces for dot matrix printers and later taught himself programming He s run a successful software company for the past 20 years and now does consulting work to help businesses use technology more effectively through apps web design and social media Welcome to the show Andrew Andrew Welch Thank you Its good to be here appreciate you guys having me Lea Alcantara So Andrew can you tell our listeners a bit more about yourself Andrew Welch Sure live in Upstate New York went to college for photojournalism and I ve done absolutely zero with that degree Emily Lewis Laughs Andrew Welch And as you said in the intro I ve been in the tech business for quite some time have a wife two kids two dogs and one cat that feels very outnumbered Lea Alcantara Oh Andrew Welch Laughs Lea Alcantara Busy busy househ
6. Andrew Welch Yeah and if you re coming from ExpressionEngine then it s really helpful and if youre coming from something else then it probably doesn t help you at all Laughs Lea Alcantara It might not be Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch It probably isn t that useful at all Emily Lewis Am correct isn t there a really active Craft Slack In fact that s where you and Lea first connected about Twig Andrew Welch Yeah Slack is pretty awesome Lea Alcantara Yeah Laughs Andrew Welch For you who hadnt seen it its basically an online chat Slack is great as a resource and that the awesome thing about it is that you can connect directly to the guys that wrote Craft right Lea Alcantara Yes Andrew Welch mean Brandon Kelly is in there A bunch of guys are in there Lea Alcantara Brad yeah Andrew Welch Yeah Brad yeah he s always there and not just the developer or not just the people who made Craft but there are also a number of other developers that do various things You may have very good designers and you may have people that are writing plugins that are all pretty helpful in terms of when you ve got a question So a lot of times
7. For a lot of people they re like Okay got it done Whew Thank God it actually works I m never going to look at it again Laughs Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch But they re definitely are performance concerns that you should be taking a look at and all it really takes is turning on the Dev Mode in Craft or every CMS has something analogous to that and checking out what the performance profile of the code is like and can this be done more efficiently and if see a code that s really really inefficient a lot of times they ve thought about the problem wrong So if they spend a little bit more time up front before they actually typed anything they probably would have avoided that entirely But would say really that s kind of the most common mistakes that I ve seen Probably another one would be just not Knowing what tools are available to you and doing something in a really hard way just because you re not aware of a certain Twig filter that will do X Y or Z for you Emily Lewis Agrees Andrew Welch Which kind of begs for the case of just spending a little bit of time like mentioned earlier going over what s in your toolbox and what kind of functionality there is there Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http
8. Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more these three lines of code would be repeated anywhere and it will be really really hard to edit and that s really when you use macros is when you see something that s being used over and over again and you want to simplify the code that you re looking at Emily Lewis So you described it as sort of currency popover Are there any other examples you could give sort of real world of where a macro might mean obviously when you re streamlining your code so you don t repeat yourself as much but maybe some real world examples Andrew Welch Yeah so another real world example for instance might be a form field In your form field you might be having a number of specific classes in them and it will be really convenient if you could just say something like macro field text input and maybe pass in a name Emily Lewis Right Andrew Welch And then it would spit out the HTML for generating that specific thing and the other nice thing about it is and I m sure you ve both done this and I ve done this where you ve got a huge entry form and then a designer or someone else comes back and says Oh no really would like it to look like this and you have to go back and you have to edit every single field to change the class or to change some specific thing about it If you put the bottleneck in a macro you ch
9. s going on and where it is also found that it s really useful for me because I m the one who s most likely going to go back and work on this thing can look at it and say Oh okay that s where that is and this is how that works find it really really helpful and a wiki is just a great medium because you can t hurt it The client can get in there and make edits and if they screwed up they d just roll it back Emily Lewis Nice like that think that s the first time we ve heard of that idea especially as like an owner s manual it s great Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Yeah really it s very very easy to set up Once you know how to set it up once it s really not a big deal to replicate it everywhere and even do it for projects that work on for myself document where all this stuff is because come back in a year you know Emily Lewis Oh yeah Andrew Welch l m going to be like Oh past me thank you for putting that there Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch didn t know forgot what that was Emily Lewis So before we get to the end of the episode can you talk about some of the most common
10. ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara feel like that answers our last question which is what your final best practice tips are unless you have some final thoughts Andrew Welch Yeah think unfortunately just went over kind of what best practices are It s basically is think about the problem first comment your code as you re doing it and turn Dev Mode on and attempt to optimize it afterwards It s really important to get it working first and then try to optimize it later and also super super important to really understand the problem before you just try to code for it because otherwise you can end up with something that s really really inefficient just by design not because you coded anything wrong Emily Lewis Agrees Lea Alcantara All right So before we finish up we ve got our Rapid Fire Ten Questions so our listeners can get to know you a bit better Andrew Welch Oh God let me drink a little coffee hold on Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch All right I m ready Lea Alcantara All right question number one Android or iOS Andrew Welch It s iOS Emily Lewis If you were stranded on a desert island and can only bring three things what would you bring Andrew Welch My wife and my kids Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Q Bright G9 UMBRELLA Episode sponsored by lt
11. if have a question about something l Il dump it in there and if I m idle I ll see if there are any questions for me to answer in there think yeah that s how Lea and I met She had that question and said All right let s see if can answer this Lea Alcantara Yeah would have to say double down on that Craft Slack channel It s pretty amazing because everyone is really enthusiastic to help and it doesn t matter whether your question Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more is basic like even if you ve got a simple question people are willing to give you suggestion and even if it doesn t even have anything to do with Craft or Twig like had an htaccess question and someone was like Here you go this is the answer Laughs Emily Lewis Excellent so let s go ahead and get a little more focused about some Craft specifics some intermediate Twig stuff So Andrew can you tell us what are some of the Craft specific Twig functions that developers need to be aware of to take advantage to make the most of what they re building Andrew Welch Twig itself is pretty deep in that you can use it just to do simple for loops and it also has some pretty good array functionality and
12. more complicated stuff There about a dozen or so functions that s specific to Craft think probably some of the most useful ones are the localization ones Now if you re never working on a site that requires localization obviously it s not really going to matter to you but they have extended Twig to have currency number and time functions that are all localized and I ve worked on a couple of sites that actually required that and they also have translation functions built into it So if you ever find where you re actually hard coating some texts into your Twig templating you just put t for translate and it will automatically look into a translation file to see what the translation is in whatever language the user happens to be using which if you re working on an international site that is a pretty damn cool Lea Alcantara Wow just the f there it just automatically guesses Andrew Welch No no you have to manually put the translations in and it s basically just the file that has a list of key value pairs Lea Alcantara Oh okay Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Like hello is hola you know Lea Alcantara Yes Andrew Welch Where hello is for Chinese ni hao
13. of a tough question guess what I d do and I ve been doing it so long that actually expressing what do might be hard Laughs Timestamp 00 29 53 Emily Lewis Right right Andrew Welch But what I try to do is just break the project down It s kind of like what Lea was talking about and trying to figure out Okay at its base level what is going on here and break it down into kind of like a cooking recipe or simple steps of Okay this is what s going on Now that have it broken down how do build it up into actually programming it don t really know how to Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more explain it other than that That s just kind of mentally how I work dissect the problem First you have to understand the problem You have to understand exactly what it is and then get it down to its base level and then figure out how to solve it and it s just kind of something that I ve been doing it for a really long time Emily Lewis So it s practice really Laughs Lea Alcantara Yeah and mean that logic thing wnat we ended up doing was we created the macros but what Andrew also helped me was also consider the logic of when these macros showed up based on the
14. sites that work on and this kind of OCD behavior probably is what makes me good at this stuff is that try to make sure that the site does exactly what they want which need specific control to do that Emily Lewis Agrees Andrew Welch And also that it does really really well in like Google PHP and Insights and some of those other testing tools Lea Alcantara Right Andrew Welch It s not the case with ExpressionEngine You can do all this stuff in ExpressionEngine but some other CMS systems that are almost too easy and too turnkey like WordPress for instance you re just never going to be able to do well in some of those external testing tools just because it s a black box and it just does what it s going to do Emily Lewis Agrees Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch And there are certain things you can do to try and change that but that s really why enjoyed Craft is try to work on projects that the customer wants something done incredibly well and they re willing to pay for it and I d like doing stuff like that like trying to spend that extra five hours getting something just perfect but recognize this is not the case for every project Not every project
15. Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more not that hard to pick up Now realize that I m coming at it from a little bit different angle than a lot of people might be in that I m more of a programmer If youre coming at it and you re a designer and maybe you ve done a little bit of scripting here or there mean they ll take you a little bit to pick it up but it really isn t that bad and the nice thing about it is that you can use it for very basic things but it s there waiting for you when you want to do something more complicated Timestamp 00 10 10 Lea Alcantara have to say that when first started picking up Craft and you sent this link to us too Brandon Kelly s little Gists on GitHub Andrew Welch Right right Lea Alcantara That kind of translated just the ideas of ExpressionEngine Andrew Welch Right Lea Alcantara Which they re just universal ideas like what are comments what are conditionals what are loops but sometimes you need to define these terms first and foremost because what one thing means in a CMS might mean something else in another and just trying to figure out like how does that translate a thought that particular resource as a very very beginner non programmer front end developer person that translation was thought really really useful
16. Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more CTRL CLICK CAST 048 Intermediate Twig Logic Macros amp More with Andrew Welch Music Lea Alcantara From Bright Umbrella this is CTRL CLICK CAST We inspect the web for you Today we are taking a close look at Twig the templating language for Craft with guest Andrew Welch I m your host Lea Alcantara and I m joined by my fab co host Emily Lewis Emily Lewis Lea Alcantara Today s episode is sponsored by Visual Chefs a versatile web development agency with expertise in content management system and custom web application development In partnerships with designers agencies and organizations Visual Chefs propels the web forward Visit visualchefs com to learn more Music ends Emily Lewis Before we get to today s episode Lea and wanted to take a quick moment to thank our listeners who have been so incredibly kind and generous to donate to the show We added a donate option to ctrlclickcast com earlier this year but didn t really expect anyone would actually donate Laughs Lea Alcantara Laughs Emily Lewis So it was an incredible surprise to get our first donations recently Lea Alcantara Yehey Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt
17. Twig mistakes you ve seen that people should avoid Andrew Welch think that the most common mistakes that people make are first really think through the problem before you put any code down and really understand what it is you re doing because otherwise it s kind of like trying a build a house without any kind of floor plans The tagging is set together and youd be like Oh crap we want to put a pool over there We didn t plan for any of that Let s tear it apart Emily Lewis Laughs Andrew Welch So really think through the problem even if it s pretty simple and would say probably one of the other mistakes see people making is not commenting on their code Emily Lewis Agrees Lea Alcantara Agrees Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Even if it looks pretty simple think it makes sense to comment it and again you re doing yourself a favor because you re the one who s probably going to go back and look at it think another common mistake guess you would call it is people tend to just write their code and then never go back to profile it and optimize it and make sure it s actually doing something really efficiently Emily Lewis Agrees Andrew Welch
18. aintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch For the translation Emily Lewis Or for anything mean guess the filters are they only relevant for localization or would it be relevant for any type of content Andrew Welch They could potentially be relevant for any type of content The way filters work in Craft is that think of them as a pipeline so you ll have a statement or an expression and then a pipe and then a filter and the text that goes down through there goes through that filter So if you put Hello t for translate Emily Lewis Oh see okay Andrew Welch The Hello text is piped It goes down where you read it from left to right and it flows down through the translation and you can chain together any number of filters that you want So you could do some variable pipe replace and then you could do a search and replace on it and then pipe that to the translation and you could do it for an infinite number of things So filters in general can be used absolutely anywhere The translation specific ones yeah mean you probably would just use them when you re localizing something but it works pretty nicely Emily Lewis And you were about to mention one of the filters you like is the kebab filter Andrew Welch Right right like the kebab filter just because like the name Laughs Emily Lewis Laughs Lea Alcantara Laughs Some right
19. ange it in one place and it is updated everywhere So it kind of spares you from doing that manual or search and replacing on it but really that s another real world example of it but it s anywhere that you find yourself doing something repetitively and also use it for code readability issues So want to be able to look at something and have it be nice and clean and can understand what s going on If you ve got a ridiculous number of classes or really convoluted logic in the HTML it s really kind of nice to separate that away into a macro so that it s Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Q Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more actually readable because think one of your recent guests said this and it s definitely true the person who is most likely to be going back and reading your code is you right Laughs Emily Lewis Right exactly Laughs Lea Alcantara Yeah right Andrew Welch So don t make your life difficult for yourself you know Emily Lewis So Lea to put you on the spot sorry Lea Alcantara Laughs Emily Lewis But have you had a chance to build and use a macro in Craft yet Lea Alcantara Yeah actually and Andrew actually helped me out with one of them but before talk about what Andrew helpe
20. d by Bright Umbrella a web services agency obsessed with happy clients Today s podcast would not be possible without the support of this episode s sponsor Thank you Visual Chefs Emily Lewis Wed also like to thank our partners Arcustech Devot ee and EE Insider Lea Alcantara And thanks to our listeners for tuning in If you want to know more about CTRL CLICK make sure you follow us on Twitter ctriclickcast or visit our website ctriclickcast com And if you liked this episode please give us a review on iTunes Stitcher or both Emily Lewis Don t forget to tune in to our next episode when where going to talk accessibility the basics and essentials with Gregory Tarnoff Be sure to check out our schedule on our site ctriclickcast com schedule for more upcoming topics Lea Alcantara This is Lea Alcantara Emily Lewis And Emily Lewis Lea Alcantara Signing off for CTRL CLICK CAST See you next time Emily Lewis Cheers Music stops Timestamp 00 51 06 Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA
21. d me with the simplest macro is actually part of like the default templates and it s to choose whether a navigation element is active or not So it s just basically a macro basically checking the first conditional segment to see if it matches the navigation URL and if had to write the conditional on every single situation that would be just a really really long repetitive code for every single line but with a macro that just makes it really really clean to just specify the URL and then specify for example something like macro is_active and then you repeat what the URL is to match the definition then it just makes it really really clean whether that navigation is active or not But that being said that was the example given in the learning templates Emily Lewis Agrees Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara And didn t quite get it until started trying to figure out what to do with this particular layout we designed for a client This particular layout that we designed for our client kind of had a lot of conditionals based on how it will look Emily Lewis Agrees Lea Alcantara So this particular client sells books and they will have future books later on but they re not
22. d of figure out the logic of the particular layout So that was kind of like the first thing the next thing was well since this is going to be repeated based on the number of like entries and stuff it made sense that we had to figure out macros to like actually apply the opening divs in classes and the closing divs But after that like was a little bit lost Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Emily Lewis So when you re talking about layouts you re using it in the truest sense of the form the way it s laid out Lea Alcantara Yes Emily Lewis Thats not like a Twig term or something like that Lea Alcantara No no it s like literally we named the macro Emily Lewis Agrees Lea Alcantara The macro itself is called Featured Layout It could have been called Row It could have been called just Featured but in order for us to like actually understand what s happening it just made sense to like have those particular layouts Emily Lewis So Andrew how do you work through that logic mean obviously you re a programmer so you have that foundational process but what is your process Is that something that someone else can develop over time Andrew Welch That s really kind
23. elch Because there are a lot of really good bikes out there you can buy one and you can customize it yourself and ultimately any project is about doing something effective for your client Lea Alcantara Right Andrew Welch can t bill someone a ridiculous number of hours to build them a custom website when their budget just doesn t allow for that So that s really why you would use something like this Lea Alcantara And is your experience with Twig mostly or always tied with Craft Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Consulting Maintenance Web Development http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Yeah have only really used it with Craft Twig actually comes from the same developer that made Symfony and Symfony is a PHP framework Lea Alcantara Right Andrew Welch Twig is used in a number of other places It s used in a number of small CMSs that you may or may not have heard of like Bolt is one of them and there are a few others Emily Lewis Yeah I ve heard of that a couple of times Andrew Welch And its becoming pretty popular for exactly the reason that we just discussed is that it has a reasonable amount of power without being incredibly difficult to learn Lea Alcantara Agrees Andrew Welch So it kind of hits a nice sweet spot Emily L
24. ew Welch Well that s tough mean there are a lot of things that would like on a practical level but just for fun I d like to be able to fly think that would be awesome Lea Alcantara What music do you like to work to Andrew Welch listen to a lot of classic rock stuff It depends on my mood If I m doing like for marathon training and stuff like that will do things like Jane s Addiction and Nirvana and really kind of go kill them kind of music and if I m just coding or I m working at home some of that with Pink Floyd and some other more mellow music Emily Lewis All right last question cats or dogs Andrew Welch Yeah I m definitely a dog person Lea Alcantara Well that s all the time we have for today Thanks for joining us Andrew Andrew Welch All right Thank you for having me Emily Lewis In case our listeners want to follow up with you where can they find you online Andrew Welch Look for me in Slack chat how about that and craftcms slack com and my username is khalwat which is a Malay word Music starts Emily Lewis All right thanks again Andrew Andrew Welch Thank you Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara CTRL CLICK is produce
25. ewis How much have you had a chance to use the Craft CMS You mentioned the charity project How may project have you had a chance to work on since then Andrew Welch I ve probably done about five projects using Craft with varying degrees of complexity Emily Lewis Agrees Andrew Welch A recent one that just did got to stop doing these free projects but it s Laughs Emily Lewis Laughs Lea Alcantara Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch It s a free project well for now it s free that did for myself and there was actually a pretty heavy amount of Twig code that went into that project Emily Lewis How often do you find yourself having to guess customize the underlying Twig when youre working with Craft Is it really just the complexity of the site that dictates that for you Andrew Welch Yeah so most of what found is that and there are a couple like wrote a couple of Twig filters for a project that was working on that needed some very boring functionality for path manipulation for it but for the most part think that Twig out of the box does pretty much what you needed to do for all the basic website functionality and it s cer
26. h people how to play poker Emily Lewis Oh Andrew Welch My client is actually at the World Series of Poker right now He s in the middle of playing the world s biggest tournament at the moment Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Emily Lewis Oh wow Lea Alcantara Oh exciting Emily Lewis So let s take a turn and talk about Twig When did you first learn it Was it something you were just experimenting with or did you have a project that specifically required Twig Andrew Welch So it was probably mid 2014 and had heard a lot of the buzz about Craft CMS and decided to take a look at it It wasn t really a matter of choosing Twit but it was more a matter of just looking into Craft and seeing what that was all about and got a site configured an install It s a charity project that was doing for a local Chinese school and the programmer in me was incredibly happy have been suffering with ExpressionEngine that used for some sites previously Lea Alcantara Agrees Andrew Welch And as a programmer found that incredibly frustrating In fact a lot of the time just gave up and wrote stuff in PHP Emily Lewis Agrees Lea Alcantara Agrees Andrew Welch Because there we
27. he actual number of entries like where it is in the loop that would actually show the specific layout that we really need Andrew Welch just did the coding for it on the fly didn t test it either Lea Alcantara Yeah Laughs Emily Lewis Laughs Andrew Welch So I was surprised as anyone that it actually worked Lea Alcantara Right right Emily Lewis Laughs Andrew Welch But yeah from what recalled from it part of it was basically just having the flow correct in terms of if it s this number of things show this and then where it would default down to the right thing right Emily Lewis Agrees Andrew Welch And that was kind of how the logic of it worked and it was just the simplest way to solve it from a programmatic point of view Emily Lewis Agrees Andrew Welch There is another solution a guy put in the chat that was a CSS solution and that worked as well from what understand Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara Yeah but in the end like had to do it the Craft way because we had more conditionals based on the classes Andrew Welch Yes Lea Alcantara And so like if it was just CSS Andrew Welch You chose my solution Yehey Okay Laughs
28. lcantara Yeah yeah and that was because we had designed a solution that was complex Andrew Welch Yeah Emily Lewis There is no we you did that Laughs Andrew Welch Yeah yeah Laughs Lea Alcantara Laughs Andrew Welch Don t try and drag us down into your mess Emily Lewis voiced my concerns during the front end development phase Laughs Lea Alcantara Laughs Andrew Welch Laughs Lea Alcantara But it s pretty Andrew Welch And you said What the hell are you doing Laughs Emily Lewis No my problem is do it do all of it and spend way too much time and then tell her there was a problem Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Q Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Oh yeah You make a really good point though that love Craft because it gets out of my way and I ve experienced as a programmer and love it when can just do what want to do But ultimately CMS systems are just a tool to get the job done right Emily Lewis Right Lea Alcantara Right Andrew Welch So if you don t need anything like that and you just want a turnkey solution you can look at using some of the other CMS systems and it may be perfect for you One of the things that try to do with all the
29. lly mean When does this full class show up versus the two column class to show up and then how does it know when to end the div So it s not even just about Okay let s figure out how to put this opening class but we also have to figure out how to close the div to end the row in the first place So this was a perfect opportunity for me to go to Craft Slack room and basically be like I have no clue on what I m doing Laughs Andrew Welch Laughs Lea Alcantara Here s the design and can someone help me figure this out What was interesting is that before we even dove into perhaps Craft s solutions just talking through what the actual functionality needs to be like how it s supposed to look we had to actually really figure that out because some people were like Okay so do all even rows need to be two columns Well that s simple We could make a CSS or conditional that if it s even rows its going to be doing this and it s like No no no Sometimes there is a situation where even if it s even count it s going to look different Andrew Welch Yeah fully believe that if on a project you re working on you have not banged your head on the table you re not trying hard enough okay Emily Lewis Yeah Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Consul
30. loop So originally we were like Okay this is an even row versus an odd row so we re figuring out those indexes and based on even odd conditionals However what actually ended up working was math so we decided like for example in this particular case we had an If conditional basically saying If the loop is divisible by 3 show this macro If it s divisible by 2 show this macro and if it s the last of the entire loop show this macro and if none of that works here s the main thing you better show So because the even and odd conditional it just wasn t working because based on how we actually wanted the layout to go like again like if it was Andrew Welch You did it for yourself Emily Lewis Laughs Lea Alcantara Yeah exactly Like if we really wanted to be like If it s an even row we re going to put two columns If it s an odd row we ll put like a full column That wasn t how our layout worked We actually had different layouts based on different conditions because it didn t look good otherwise Emily Lewis Agrees Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara And once we got past the fact that it was an even or odd row like actually if we divide t
31. nings are Lea Alcantara Right Andrew Welch They re more interested in the user experience This is what it s going to look like that type of thing But really for the most try and think the problem through and just let it sit and occasionally also do an outline view of exactly what s going to where Emily Lewis Yeah think for us we spend a lot of time not going any formal planning of our CMS builds and we start to doing some planning and for us it was really just sort of documenting can t speak to Craft but can speak to like ExpressionEngine documenting the templates the channels the custom fields that we re going to have just sort of sketching it out literally on paper When I say sketch don t mean with like diagrams mean with just words and think Lea you re doing something similar with Craft and feel like for us and probably because Lea is the Craft dev we both Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more do EE dev we like having a document that both of us can refer to and sort of chime in our own thoughts on something rather than just marinating on it Timestamp 00 40 13 Andrew Welch Right Emily Lewis That s what we would do in the past and always f
32. old Andrew Welch Yeah can t believe that it s actually quiet It s pretty amazing Emily Lewis Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara Laughs Emily Lewis So if you started messing around with tech when you were younger why did you go towards photojournalism just out of curiosity when you were in college Andrew Welch Oh really two reasons One was probably kind of arrogant back then thought they didn t have anything they could teach me Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch And another is that kind of wanted to be a little bit more rounded as a person Lea Alcantara Agrees Andrew Welch And thought that doing something that interested me and was a little bit created might be good for me and really enjoyed doing it Emily Lewis And you are consulting business now like what kind of clients do you get a chance to work with Andrew Welch We have all sorts of interesting clients From local clients lve got a friend of mine that runs a very successful high end business that we have helped him make his business run a whole lot smoother by using technology to even a poker training website that what they do is they teac
33. or whatever Lea Alcantara Right Andrew Welch But that s really useful if you re doing localization stuff Even if you re not doing localization they did extend They ve got a number of additional filters that have to do with arrays For instance you can group together things based on key which is really useful There is an index of and there are a few other kind of pretty useful things that to me what it looks like is they were working on Craft and Craft is built on a PHP layer called Yii okay Lea Alcantara Yeah Andrew Welch And then built on top of that is Twig and think they were working on Craft and as they were doing it they re like Wow you know it will be really useful if we have this So they added it Laughs Emily Lewis Right right Andrew Welch And they ate their own dog food when they were building their own site with their own tools so as they were building their site they were like Oh you know we really could use the ability to do this So there is a smorgasbord of additional filters that they added probably during that exact development process Emily Lewis So Andrew can you talk a little bit more about these filters because you re saying this is just a way to like group output Is that correct Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting M
34. ound at least for myself as was getting into the development I ve realized Oh what I m doing right now is a lot more efficient than what did yesterday and should redo that thing did yesterday to be more reflective of what I m doing right now kind of thing Andrew Welch Yeah so I do Actually should have mentioned this One of the things that do for every site or for every project because it s not always a website but for every project that work on is that make a wiki for it Emily Lewis Agrees Lea Alcantara Oh Andrew Welch And the reason do that is two fold One is consider it kind of the user s manual for the site so that when hand it over to the client can be like Look here Here is your site Laughs Lea Alcantara Oh okay Andrew Welch Because what found is that most of the clients they may not remember their login passwords they don t know how to get in here so create a wiki and my preference is DokuWiki It s really simple to install and there is a responsive Bootstrap theme that you can put in there and use Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more that because I ve got a number of clients such as the guy who runs the poker t
35. p ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara Exactly but since I m also a Craft developer I m like Oh shit now have to Andrew Welch Now I ve got to do it Laughs Lea Alcantara have to make this work Laughs Emily Lewis Laughs Lea Alcantara And it was interesting that some people were even providing CSS only solutions like Why don t you use last child Why don t you use those kinds of things And there were some solutions that if my design that is what wanted it would have worked but because of the logic that we had decided for ourselves and made it super difficult laughs a CSS only solution wouldn t work So Andrew came back and was like Okay we really need to define each of these rows as specific layouts So we would have a featured layout which would be the featured book that s always at the top and then we had to figure out what a single row layout looked like and then defined the beginning of the double layout like the two columns and then we had to figure out what the end of the double layout would be and we decided in regular terms that would be the right side of the double layout So just even having that language of like Okay this is a single layout therefore it s a full row and then this is the double layout but this is the left side so we re going to call it left double layout Those kinds of things helps you really kin
36. raining that he lives off of his phone so if it s not a mobile responsive wiki he s not never going to look at it But document in there all of the plugins that a site uses all the passwords also do design documents in there if we do like a white paper of features From a collaborative point of view a wiki is really really ideal because it s really lightweight You can just type Laughs You don t have to do anything real fancy and it saves every revision of what youre working on So if you want to rollback you can and multiple people can edit it and add their input to it at the same time It s also nice because it s in a central place Like if the website I m doing is food com do wiki foo com and so every site that have there s a wiki there and they can also do fun things like only people that have an account can view it but you can also set up access permissions so that only certain people can see the passwords page do that in the design phase lm kind of doing what you guys are talking about in documenting stuff and then also do it just documenting everything that do and found that the clients love it because would say Hey look here s your owner s manual Laughs Because a lot of times to the clients a website is a black box and they don t know what the hell is going with it and they like the idea that they re getting this actual owner s manual for their site that explains everything that
37. re of Craft Is it because it would rely on APIs that are too variable Like Linkedin I imagine it changes its API at least what once a year or something like that Andrew Welch Yeah and it requires specific services too like it requires buffer and really a good CMS is really good at what it does which is being a content management system and with other things layered on top of that so you ve got Craft which has layered on top of it it has Twig and then they allow for plugins to do functionality that are going to be specific to every site and if you end up including the kitchen sink in a project like that first of all it becomes unmanageable Emily Lewis Right Laughs Andrew Welch But second of all it takes it away from being really good at what it should be really good at which is being a content management system So they re doing it the right way in that they re making it very extensible so that people who want to do the type of thing that want to do Can Lea Alcantara So when you first started diving into Craft what were the resources back then and what are the resources now that you look toward to get more familiar with Twig Andrew Welch So for Twig itself went to the SensioLabs They re the people that make Twig and they ve got a nice reference there and thankfully Twig is an easy enough language that it s really Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by
38. re so many gotchas and parsing order issues and just things that randomly didn t work Emily Lewis Agrees Andrew Welch It was just very frustrating for me So Craft using Twig was kind of a breath of fresh air for me because it actually kind of the best way to describe it is that it gets out of my way and just lets me do what want to do you know Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Emily Lewis Right Andrew Welch Which one of the most frustrating things for me is working on a project when the tool lm using is hampering me doing what I want to do So that s how actually begun using it and kind of dove in head first on it Lea Alcantara So Twig is kind of a pseudo language that translates stuff from PHP Because you said youre a programmer what appeals to you about that versus just going straight into the main language it s parsing Andrew Welch Yeah So what Twig does is it s a totally different language but it translates into PHP right Lea Alcantara Yes Andrew Welch Yes could do the entire site in PHP but it s kind of like why you don t go build your bicycle you know Emily Lewis Right Laughs Lea Alcantara Right right right Andrew W
39. released yet Now we didn t want to just have a row where a simple design solution woul just Emily Lewis Laughs Lea Alcantara And it would have made our life easier if we just made like a row of like Okay there s a new book it s just going to have a new row and it s going to look exactly as the same as the first row Andrew Welch No that s too boring You can t do that Emily Lewis We Lea Alcantara Yeah yeah Laughs Andrew Welch Come on Emily Lewis Laughs Lea Alcantara Exactly and that would have been the easiest thing but no we had to be like If there are two books it will look like this and it s three books we re going to stack two columns and then the first row is going to be a full column but if there are four books then we re going to make Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more them two columns over top two columns but if it s five books So in the end we had to figure out like Okay so its easy to write just raw HTML the classes for this to work However if we want this to be automatically outputted via CMS based on the number of books and what row it is we had to really think about Well what does this actua
40. s reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch That name is kind of cool and love kebabs too But basically all that does is it translates coded text into kind of like what you see in the URLs for pages where everything is lower case but there are dashes where there are spaces Emily Lewis Right Andrew Welch Honestly like it because of the name and love kebabs but other than that Laughs Emily Lewis Laughs Lea Alcantara Yeah filters can be used for a various number of things of just applying something to texts if you re just going to like strip it down to its bare minimum So Emily like for example if you want to strip HTML tags that s one of the most basic common filters when you have an excerpt and you just want to make sure that that excerpt doesn t have like paragraph tags around it then you would just do like pipe strip tags around content and then it s going to just take out all the HTML and that s a sample of the filter Or if you ve got multiple pieces of content that you re stringing together into loop you can actually like join these pieces of texts together if you wanted to or you can merge certain things So there are just like so many things you could do with filters
41. tainly much much more functional than the language that ExpressionEngine uses There is a pretty healthy community of developers that have made a whole lot of free plugins as well There is a whole boatload of free plugins for Twig as well as for Craft that really do a lot of really cool stuff Just as an example so one of the recent projects that have relies pretty heavily on social media People will post something to the website and on our Facebook Twitter Google Plus and LinkedIn pages we want that to also be posted there So wrote a plugin for that site that uses a service called Buffer Lea Alcantara Right right yeah Andrew Welch So whenever a new entry is posted it automatically gets put in the queue and it goes right up on the social media accounts So mean that s kind of an example of functionality that you would want to extend in it Emily Lewis Agrees Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Obviously it never going to be built into the language itself to do that but it s pretty easy to do plugins like that for Craft Emily Lewis Forgive my ignorance because Lea is the Craft developer on her team so why would you not have that be part of the co
42. this is I m baiting myself but this is back in the 90 s was lucky enough to know a guy named Rick Smolan who is a pretty famous photojournalist for National Geographic and he actually came to my school to give a talk and we went out for a beer and talked for a little while and he did like some of the A Day in the Life Series books like he did From Alice to Ocean and a lot of the Day in the Life of Vietnam that type of a thing So he was basically rock star photojournalist and he told me Don t think you re going to be me And he didn t mean that Lea Alcantara Laughs Andrew Welch And he didn t mean that from an arrogant point of view at all He said he s like Look got incredibly lucky to be doing this and it s very unlikely that you re going to do it And thank God he gave me that speech because that was around the time that smartphones really were coming into being later on and the photojournalism profession just died Laughs Emily Lewis Agrees Lea Alcantara Right Andrew Welch It is as dead as a doornail right now Emily Lewis So does that mean you wouldn t want to try it because that s my next question what profession would you not like to try Andrew Welch Now would love to try it if someone would actually pay me to do it but don t think there s anybody who s going to pay me to do it Laughs Emily Lewis Laughs Some rights reserved License creativecommons org licenses b
43. ting Maintenance Web Development http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch like that you re doing it this way and also am very used to it My wife has her Master s in Computer Graphic Design so we work on a team on some of this stuff Lea Alcantara Yeah Andrew Welch And she will hand me designs and yeah l Il just put my hand on my forehead going Oh God you have no idea what you re making me do Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch So anyway appreciate that you went for this Go ahead Lea Alcantara Yeah and so it was interesting when was talking just the problem through in Craft Slack and I m sure most of our listeners will probably find this that just the act of talking it out really solidifies what s happening because as a designer just design something because think it works to solve the design problem and it just looks great or whatever Andrew Welch Yeah sure Don t think about the work you re making for us That s fine Emily Lewis Laughs Lea Alcantara Yeah exactly Andrew Welch Make whatever pretty little design you want Go ahead Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance htt
44. ur code that there is something that is being repeated often that s a perfect case for writing a macro for it So as an example one of the sites that wrote deals with currency and it can be in any number of different denominations so wrote a little macro that it looks at the currency that the listing is in versus the currency that the user has said This is my currency and if they re different it uses the popover functionality of Bootstrap so that if you mouse over it it does a real time translation of that currency So a 1 000 might be listed there and if you mouse over it and your currency is in US dollars it will show the currency in US dollars Timestamp 00 19 45 It uses a plugin called Currency that goes out and grabs the latest currency conversions and it does all that The expression is probably three lines long that does it and don t need to see that everywhere in my code so what do is wrote a macro which is essentially a function called currency tooltip and just pass it in the number and the person s currency It figures out whether the currency is different and if it is different it spits out the HTML needed to create the popover and then in my actual code all put in there is macro currencytooltip and that s it don t have to see it Otherwise Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs
45. visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Emily Lewis Perfect Laughs Andrew Welch Wait a minute that s a terrible answer Emily Lewis Laughs Lea Alcantara Laughs Andrew Welch Because now I m stranding them in the island too right Emily Lewis Laughs Lea Alcantara Laughs Emily Lewis It s a selfish answer but that was the first Laughs Andrew Welch Wow That was a really selfish answer That was horrible Okay sorry Go ahead Lea Alcantara What s your favorite TV show Andrew Welch Oh don t really watch a whole lot of TV Thats really going to be hard don t know probably some nature programs Planet Earth maybe but don t know Emily Lewis All right what s your favorite dessert Andrew Welch What is not my favorite dessert Emily Lewis Laughs Andrew Welch That s really the question like strawberry shortcake a lot Lea Alcantara What profession other than your own would you like to attempt Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Q Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo elpis als Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Well really wanted to be a photojournalist and that s why went to school for it but was convinced and
46. wear to God Lea Alcantara Laughs Andrew Welch So for the user experience type of stuff yes do layouts For actually figuring out the underpinnings of the site and how I m going to arrange and do all that kind of stuff tend to work Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more really well that kind of frame the problem in my mind and usually just kind of let it sit there and somehow my brain kind of figures it out and so that in a day or two I ve got a really good idea of how to approach this If it s a really complicated thing then I ll do something with bullet pointed list to figure out how to structure stuff Lea Alcantara Agrees Andrew Welch And think that s a really good way It s kind of like Lea was talking about Verbalizing the problem helps you really bring it into focus Writing down the problem too in that outline form also can really help too and try to use tools that are lightweight You don t want to spend ten hours making a really fancy design document for something that just doesn t justify it so an outline view is fine Now obviously if you have to present it to clients then that s a different story but the client doesn t usually care what the technical underpin
47. y nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Development Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Lea Alcantara Laughs Andrew Welch Thats the problem Emily Lewis All right so what profession would you not like to try Andrew Welch Oh don t think would like to clean sewers think would really not like that all Emily Lewis Oh Lea Alcantara What s the latest article or blog post you ve read Andrew Welch Oh God It s really boring So it is optimizing your website using Varnish Lea Alcantara Laughs Andrew Welch Yeah Varnish yeah Laughs Lea Alcantara Right Andrew Welch Yeah Know right and Varnish think they re called Edge Side includes Yeah that s what is what they re called Lea Alcantara Right Andrew Welch And yeah it s really boring Emily Lewis Probably not for our listeners though Laughs Lea Alcantara Yeah they ll be like Yes bookmarked Andrew Welch Yeah Emily Lewis Laughs Some rights reserved License creativecommons org licenses by nc nd 3 0 Produced by Bright G9 UMBRELLA Episode sponsored by lt visual chefs Web Develo pment Consulting Maintenance http ctriclickcast com episodes intermediate twig logic macros more Andrew Welch Sorry Emily Lewis If you could have a super power what would it be Andr
Download Pdf Manuals
Related Search
hurricane erin 2025 vanessa trump tamar braxton jelly roll hurricane tracker wordle hints today little league world series 2025 bret baier
Related Contents
Click here - Teamsters Local 25 新 春 歩 け 歩 け 大 会 新 春 歩 け 歩 け 大 会 新 春 歩 け 歩 け - Cleanworld Austria Manual ECCO.indd Active Service System (ASSYST) Operating Brochure A4 Fran.ais Canson Infinity Rag Photographique Duo 220 MASTER EN SCIENCES DU TRAVAIL La formation professionnelle installation et mode d`emploi installatie en handboek Copyright © All rights reserved.
Failed to retrieve file