<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>45royale</title>
	<atom:link href="https://45royale.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://45royale.com</link>
	<description>45royale i̶s̶ was an experienced web and mobile design and development studio in Atlanta, Georgia.</description>
	<lastBuildDate>Thu, 13 Jul 2023 23:51:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://45royale.com/wp-content/uploads/image-1-150x150.jpg</url>
	<title>45royale</title>
	<link>https://45royale.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">74141000</site>	<item>
		<title>Goodnight, 45royale&#8230;</title>
		<link>https://45royale.com/blog/goodnight-45royale/</link>
					<comments>https://45royale.com/blog/goodnight-45royale/#comments</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Mon, 16 Dec 2019 18:01:25 +0000</pubDate>
				<category><![CDATA[Company]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4374</guid>

					<description><![CDATA[45royale was founded in October of 2005. That&#8217;s a lifetime ago in internet years. In those days, Web 2.0 ruled the land, the first podcast craze was just taking off, and the iPhone was but a twinkle in Steve Jobs&#8217; eye. We&#8217;re probably a little biased, but we feel like we hit the scene during [&#8230;]]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>45royale was founded in October of 2005. That&rsquo;s a lifetime ago in internet years. </p>
<p>In those days, Web 2.0 ruled the land, the first podcast craze was just taking off, and the iPhone was but a twinkle in Steve Jobs&rsquo; eye.</p>
<p>We&rsquo;re probably a little biased, but we feel like we hit the scene during the golden age of the web design. As a fledgling design studio learning the ropes, we achieved success by standing on the shoulders of giants. <a href="https://www.zeldman.com/">Zeldman</a>, <a href="http://simplebits.com/">Cederholm</a>, <a href="https://stopdesign.com/">Bowman</a>, <a href="https://jasonsantamaria.com/">Santa Maria</a>, <a href="http://daveshea.com/">Shea</a>, <a href="https://snook.ca/">Snook</a>, the guys at <a href="https://brad.ly/">The</a> <a href="https://twitter.com/simmy?lang=en">Big</a> <a href="https://keeg.co/">Noob</a>&mdash;all openly sharing what they were learning every day.</p>
<h2>A brief history of 45royale</h2>
<p>During the first few years of our existence, we were lucky enough to build a quick reputation. We hitched our wagon to quality work, word of mouth referrals, and doing right by people. Business was booming&mdash;we could hardly keep up with the opportunities. </p>
<p>In fact, most people don&rsquo;t know this, but in February of 2009 <em>Facebook approached us about joining their little upstart design organization</em>. After a few interviews, we ended up declining because we had too much work and weren&rsquo;t in a place to move to California (Adam and I had each bought new homes and were settling down). 10 years later, we shudder to think about how much money we could be swimming in right now. But hey, that&rsquo;s life.</p>
<p>We aren&rsquo;t complaining, though. We saw several amazing years filled with <a href="http://matts-macbook-pro.local:5757/work/">impactful projects</a>, smart clients, and incredible growth. However, somewhere around 2014 we noticed the design landscape changing dramatically. For the first time in 45royale&rsquo;s history, we started worrying about where the next project was coming from. And we weren&rsquo;t alone&mdash;we asked around and a lot of design firms were feeling the crunch, too.</p>
<p>As agencies began to feel the belt tighten, design-forward companies were there to swoop up talent and bring it in-house. Aqui-hiring became the new norm, and a lot of our peers closed up shop. </p>
<p>Truth be told, we had offers landing on our doorstep, too. We flirted with a few big-name companies and even worked inside their organizations for a while on trial runs. But at the end of the day, nothing felt right. All this uncertainty dampened our spirits and we couldn&rsquo;t help but think about what the future looked like for 45royale.</p>
<p>In 2017 we got really busy again and carried on, but it was too late&mdash;the seed had been planted and the rat race had taken its toll. By 2018, it was clear that we were all ready for a change. So at the beginning of 2019, we began the journey to dissolve 45royale.</p>
<h2>Saying goodnight</h2>
<p><a href="https://mattdowney.com/">Matt</a>, <a href="https://twitter.com/adam_little/">Adam</a>, and the rest of the team have moved on to other opportunities. However, we&rsquo;ve decided to leave our site and <a href="http://45royale.com/blog/">blog</a> up as a way to pay forward the knowledge we&rsquo;ve gathered over the last 14 years.</p>
<p>We&rsquo;d just like to say thank you to the generous and selfless web design community that&rsquo;s helped us mature and master our skillset. Thank you to our clients who kept this crazy dream alive for almost 14 years. </p>
<p>But most of all, thank you to the incredible designers, developers, administrators, and mentors that made 45royale the amazing, remote-first company it became. Without you, none of this would have been possible.</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/goodnight-45royale/feed/</wfw:commentRss>
			<slash:comments>30</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4374</post-id>	</item>
		<item>
		<title>Gift Guide for Creatives</title>
		<link>https://45royale.com/blog/gift-guide-2018/</link>
					<comments>https://45royale.com/blog/gift-guide-2018/#respond</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Fri, 23 Nov 2018 04:20:51 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4321</guid>

					<description><![CDATA[Some of our favorite items we either use on a daily basis or have on our own wish list. Grab something for yourself or a special creative in your life!]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>This year we put together some of our favorite items we either use on a daily basis or have on our own wish list. Grab something for yourself or a special creative in your life!</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut quam ac tortor dignissim euismod et sed felis. Aenean posuere id magna quis placerat. Ut turpis magna, aliquet eu cursus eu, hendrerit vel dolor. Curabitur malesuada sagittis egestas. Praesent elementum lectus vel euismod aliquam. Sed interdum ac tortor a gravida. Nam eu bibendum ligula. Fusce dui mi, consequat ac metus sed, lacinia efficitur ipsum. In ut risus malesuada, varius dui non, mollis est. Ut vehicula sed quam quis pulvinar. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam congue venenatis laoreet. Duis hendrerit, quam quis faucibus consectetur, quam odio pharetra purus, vitae mollis ligula felis vel neque. Aenean sit amet dolor vitae ante ullamcorper vulputate.</p>
<p>Nunc ut tortor ligula. Integer molestie neque ac orci vestibulum pulvinar. Praesent sit amet diam luctus, malesuada leo ut, tempus ex. Duis nulla nisi, sagittis ac luctus vel, pharetra vitae leo. Nullam quis mauris ac turpis venenatis pharetra vitae eu libero. Etiam eget tortor non quam blandit luctus. Proin porta consequat mi, non consequat arcu. Nulla nulla nunc, maximus ac ultrices in, vehicula a nisi. Aliquam eu euismod lacus, eget blandit nulla. Cras dapibus libero quis nisl interdum, non ultrices nibh aliquet. Morbi tempus fringilla est nec scelerisque. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Vestibulum ut imperdiet nisl, in tempus tortor. Curabitur porttitor nisl nunc, sit amet sollicitudin dui rhoncus ut. Nunc iaculis sem ac nunc vestibulum molestie. Morbi tincidunt dignissim sem sed ornare. Etiam bibendum enim nulla, vel ullamcorper eros ornare et. Aliquam erat volutpat. Etiam malesuada lectus ipsum, eget porttitor eros pulvinar ut. Sed nec tortor nec nisi dignissim rutrum eu ut dolor. Aliquam id libero id ex fermentum mollis. Quisque ullamcorper est ipsum, quis pellentesque leo blandit vel. Donec quis fringilla neque. Morbi malesuada faucibus enim bibendum ornare. Vestibulum venenatis imperdiet dui in pretium. Mauris ultricies enim nec faucibus porttitor. Sed fermentum porttitor ligula ut hendrerit.</p>
<p>Nulla eros velit, congue quis cursus quis, finibus eu velit. Morbi feugiat accumsan efficitur. Vivamus rhoncus magna ut blandit posuere. Nam quis eleifend leo. Etiam a euismod urna, ut luctus purus. Nulla vehicula est eu tempor vestibulum. Duis viverra felis ac maximus laoreet. Proin eu placerat ante.</p>
<p>Vivamus hendrerit risus velit. Vestibulum dolor elit, facilisis et enim sit amet, pellentesque pharetra metus. Sed eu dapibus leo. Mauris nec sem at dui venenatis viverra a vel nisl. Praesent massa mi, venenatis a enim ut, iaculis mattis erat. Donec diam dui, pulvinar id tincidunt pulvinar, tincidunt et risus. Sed aliquam eros sodales pretium interdum. Integer eget mi vel mi vulputate porttitor at tristique tortor. Mauris sapien augue, euismod ac sodales at, pharetra ut erat. Praesent suscipit ante vel vestibulum lobortis. Cras rutrum consectetur augue ac feugiat.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ut quam ac tortor dignissim euismod et sed felis. Aenean posuere id magna quis placerat. Ut turpis magna, aliquet eu cursus eu, hendrerit vel dolor. Curabitur malesuada sagittis egestas. Praesent elementum lectus vel euismod aliquam. Sed interdum ac tortor a gravida. Nam eu bibendum ligula. Fusce dui mi, consequat ac metus sed, lacinia efficitur ipsum. In ut risus malesuada, varius dui non, mollis est. Ut vehicula sed quam quis pulvinar. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam congue venenatis laoreet. Duis hendrerit, quam quis faucibus consectetur, quam odio pharetra purus, vitae mollis ligula felis vel neque. Aenean sit amet dolor vitae ante ullamcorper vulputate.</p>
<p>Nunc ut tortor ligula. Integer molestie neque ac orci vestibulum pulvinar. Praesent sit amet diam luctus, malesuada leo ut, tempus ex. Duis nulla nisi, sagittis ac luctus vel, pharetra vitae leo. Nullam quis mauris ac turpis venenatis pharetra vitae eu libero. Etiam eget tortor non quam blandit luctus. Proin porta consequat mi, non consequat arcu. Nulla nulla nunc, maximus ac ultrices in, vehicula a nisi. Aliquam eu euismod lacus, eget blandit nulla. Cras dapibus libero quis nisl interdum, non ultrices nibh aliquet. Morbi tempus fringilla est nec scelerisque. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Vestibulum ut imperdiet nisl, in tempus tortor. Curabitur porttitor nisl nunc, sit amet sollicitudin dui rhoncus ut. Nunc iaculis sem ac nunc vestibulum molestie. Morbi tincidunt dignissim sem sed ornare. Etiam bibendum enim nulla, vel ullamcorper eros ornare et. Aliquam erat volutpat. Etiam malesuada lectus ipsum, eget porttitor eros pulvinar ut. Sed nec tortor nec nisi dignissim rutrum eu ut dolor. Aliquam id libero id ex fermentum mollis. Quisque ullamcorper est ipsum, quis pellentesque leo blandit vel. Donec quis fringilla neque. Morbi malesuada faucibus enim bibendum ornare. Vestibulum venenatis imperdiet dui in pretium. Mauris ultricies enim nec faucibus porttitor. Sed fermentum porttitor ligula ut hendrerit.</p>
<p>Nulla eros velit, congue quis cursus quis, finibus eu velit. Morbi feugiat accumsan efficitur. Vivamus rhoncus magna ut blandit posuere. Nam quis eleifend leo. Etiam a euismod urna, ut luctus purus. Nulla vehicula est eu tempor vestibulum. Duis viverra felis ac maximus laoreet. Proin eu placerat ante.</p>
<p>Vivamus hendrerit risus velit. Vestibulum dolor elit, facilisis et enim sit amet, pellentesque pharetra metus. Sed eu dapibus leo. Mauris nec sem at dui venenatis viverra a vel nisl. Praesent massa mi, venenatis a enim ut, iaculis mattis erat. Donec diam dui, pulvinar id tincidunt pulvinar, tincidunt et risus. Sed aliquam eros sodales pretium interdum. Integer eget mi vel mi vulputate porttitor at tristique tortor. Mauris sapien augue, euismod ac sodales at, pharetra ut erat. Praesent suscipit ante vel vestibulum lobortis. Cras rutrum consectetur augue ac feugiat.</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/gift-guide-2018/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4321</post-id>	</item>
		<item>
		<title>Thanksgiving Poster Giveaway</title>
		<link>https://45royale.com/blog/thanksgiving-poster-giveaway/</link>
					<comments>https://45royale.com/blog/thanksgiving-poster-giveaway/#comments</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Mon, 19 Nov 2018 20:35:09 +0000</pubDate>
				<category><![CDATA[Community]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4305</guid>

					<description><![CDATA[It's almost Turkey Day here in the U.S. and you know what that means—it's time for our 2nd Annual Thanksgiving Day Poster Giveaway&#x2122;!]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>It&rsquo;s almost Turkey Day here in the U.S. and you know what that means&mdash;it&rsquo;s time for our 2nd Annual Thanksgiving Day Poster Giveaway&trade;!</p>
<p>And this Thanksgiving, we&rsquo;re celebrating you, our amazing <a href="http://45royale.com/">45royale</a> community. We&rsquo;re super thankful that you guys choose to hang out with us, learn with us, and share with us. It&rsquo;s been such a fun year and we are incredibly grateful that you&rsquo;ve joined us along the way.</p>
<p>As a token of our appreciation, we&rsquo;ll be giving away the incredible <a href="https://www.dkngstudios.com/store/grand-canyon-national-park">&ldquo;Grand Canyon National Park&rdquo;</a> poster by the good folks at <a href="https://www.dkngstudios.com/">DKNG</a>. This 18&Prime; x 24&Prime; color screen print is set on 100lb. French Construction Pure White cover stock and is absolutely gorgeous.</p>
<h3>Want a chance to win this beaut?</h3>
<p>It&rsquo;s easy. Simply <a href="#respond">leave a comment</a> on this article telling us what you&rsquo;re thankful for. It can be anything&mdash;your family, your job, the Bitcoin you cashed out just before it tanked. Literally anything. Just be sure to leave us a way to contact you in case you win!</p>
<p><em>We&rsquo;ll accept comments until Friday, November 23rd at 11:59pm ET.</em> On Monday, November 26th will pick a random winner from the comments and get in touch.</p>
<p>For those of you in the States, we hope you have an amazing Thanksgiving surrounded by good food and even better people. Take care and good luck!</p>
<h3>Update: And the winner is&hellip;</h3>
<p>Congratulations <a href="http://45royale.com/blog/thanksgiving-poster-giveaway/#comment-30937">Phillip</a>, you&rsquo;re the lucky winner! We&rsquo;ll be in touch soon to get details on where to ship the poster. A big thank you to all that entered, we&rsquo;ll do it again soon!</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/thanksgiving-poster-giveaway/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4305</post-id>	</item>
		<item>
		<title>How to craft the perfect web developer portfolio</title>
		<link>https://45royale.com/blog/web-developer-portfolio/</link>
					<comments>https://45royale.com/blog/web-developer-portfolio/#comments</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Wed, 03 Oct 2018 20:06:50 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4276</guid>

					<description><![CDATA[Your web developer portfolio doesn't have to suck. In this article we talk about what to include, what not to include, and how to stand out from the crowd.]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Earlier this week, we were asked what we look for in a web developer portfolio.</p>
<p>And as luck would have it, we have quite a few thoughts on the matter. We&rsquo;ve worked with a lot of front-end developers over the years. In that time we&rsquo;ve come to know what good development portfolios look like.</p>
<p>So this week we took some time to jot down our ideas and thought we&rsquo;d present them here as part of our Ask45 series. By the way, if you&rsquo;re new to the series and want to catch up, check out <a href="http://45royale.com/blog/ask45-design-revisions-quoting-projects/">Part 1</a> and <a href="http://45royale.com/blog/ask45-project-inspiration-timelines/">Part 2</a>.</p>
<p>For this article, we&rsquo;ve broken things down into three sections: <a href="#the-design">The design</a>, <a href="#the-info">the information</a>, and <a href="#lacking">what we find lacking</a> in most portfolios. We&rsquo;ll start with the hardest part of the portfolio for many front-end web developers.</p>
<h2 id="the-design">Designing a web developer portfolio
<h2>
</h2></h2><p>We understand, most web developers aren&rsquo;t designers. But that doesn&rsquo;t mean you get a pass&mdash;your site still needs to look good. </p>
<p>Luckily, there are things you can do to ensure your site looks well-designed and considered. Basic design principles can go a long way. Pay attention to details like white spacing, typography, information hierarchy, and calls to action. These simple tactics will organize and elevate your site while drawing people in.</p>
<blockquote class="full"><p>Pay attention to details like white spacing, typography, information hierarchy, and calls to action.</p></blockquote>
<p>Also, make sure there is a sense of personality and creativity to your portfolio. Don&rsquo;t be afraid to let people see who you really are. Use a friendly and down-to-earth tone throughout to give people the sense that they&rsquo;re having a conversation with you.</p>
<p>Finally, we&rsquo;ve noticed that many web developers go overboard with animations and the latest design gimmicks. <em>We get it, you&rsquo;re good at CSS. But don&rsquo;t fall into this trap.</em> As with most things in life, especially animations, less is more. Show good taste and restraint; the animations should enhance the design, not be the main event.</p>
<h2 id="the-info">What we&rsquo;d like to see in your developer portfolio</h2>
<p>Knowing what to feature in their portfolio is another roadblock for web developers. What you include could vary depending on your experience and level of project documentation, but here a few things we look for:</p>
<h5>Show big brands first</h5>
<p>Big brands spend millions per year developing recognition. If you have worked with a big brand, leverage their familiarity and put them front and center. Even if it&rsquo;s subconscious, showing a bigger brand can help raise the perceived quality of your work.</p>
<h5>Case studies</h5>
<p>These can be difficult to put together, but a detailed case study is a great indicator of project outcomes. Referencing the client and showing screenshots are not enough. You&rsquo;ll want to write about your process, your contributions, technologies used, obstacles overcome, and specific deliverables. </p>
<p>You&rsquo;ll also want to share real data and results when possible. If we see, <em>&ldquo;I helped Microsoft increase their page load speed by 10x and reduced errors by 25%&rdquo;</em>, we&rsquo;re instantly intrigued. Metrics hold weight, <a href="http://45royale.com/blog/case-study-land-more-business-project-case-study/">make sure you&rsquo;re keeping track of them along the way</a>.</p>
<h5>Show that you take code seriously</h5>
<p>It&rsquo;s important for someone reviewing your portfolio to know that you take pride in your craft. Code examples are sometimes hard to actualize, but links to your Codepen or Github can be beneficial. Not only is your code on display, but it also shows that you&rsquo;re part of a larger community and you contribute to the cause.</p>
<p>You may also want to consider blogging about your craft. Writing articles about <a href="http://45royale.com/blog/web-development-local-environment/">web development</a> and offering solutions to problems on a daily basis can be powerful. It doesn&rsquo;t hurt to flex your development muscles and remind potential clients that you&rsquo;re a subject matter expert.</p>
<blockquote class="full"><p>A word of caution about blogging though: If you can&rsquo;t commit to it, it might be better to put your time elsewhere. An inactive or outdated blog can be worse than having no blog at all.</p></blockquote>
<h2 id="lacking">Common shortcomings in many web developer portfolios</h2>
<p>We&rsquo;ve seen a lot of development portfolios and have some suggestions to help fill the gaps. First and foremost, focus on your communication, speed, and reliability.</p>
<h5>Communication is key</h5>
<p>When it comes to working with developers, it&rsquo;s not always about who&rsquo;s got the cleanest code. You&rsquo;re still hired to be part of a team working towards a common goal. Showing that you can communicate and deliver assets on time is more than half the battle. Building trust with potential clients or project partners will help you immensely.</p>
<blockquote class="full"><p>Having thoughtful testimonials will put potential clients at ease and help reiterate your value.</p></blockquote>
<h5>Build trust with social proof</h5>
<p>Trust can be hard to convey online, so why not let others do it for you? Include testimonials from former clients to help tell your story. Having thoughtful social proof of your skillset will put your potential client at ease and help reiterate your value.</p>
<h5>Paint a picture of what it&rsquo;s like to work with you</h5>
<p>You might also consider showing your potential client what it&rsquo;s like to work with you. Share details of your up-front requirements. Let them know that you have a dedicated Slack channel for weekly check-ins and a GitHub page to track development progress. Reassure that when the project nears the end you&rsquo;ll help them with the launch and code/asset transfer. </p>
<p>Even though every project is different, this will give the client peace of mind knowing that there is a process in place.</p>
<h3>Bringing it all together</h3>
<p>We hope we shed some light on a few points of emphasis we look for when hiring web developers. Take some or all of these suggestions and apply them to your site&mdash;we think you&rsquo;ll see great results.</p>
<p>If you have any questions, please feel free to <a href="#respond">leave us a comment below</a>. Even better, if you put this article to good use, leave a link to your site below so we can check it out.</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/web-developer-portfolio/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4276</post-id>	</item>
		<item>
		<title>Our web design process: A blueprint for successful projects</title>
		<link>https://45royale.com/blog/web-design-process/</link>
					<comments>https://45royale.com/blog/web-design-process/#respond</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Thu, 27 Sep 2018 21:47:55 +0000</pubDate>
				<category><![CDATA[Project Management]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4232</guid>

					<description><![CDATA[In the past twelve years we've learned a lot about clients, projects, and how to implement a successful web design process.]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>We&rsquo;ve been designing and building sites and applications for over twelve years. In that time, we&rsquo;ve learned a lot about clients, projects, and how to implement a successful web design process.</p>
<p>And if you&rsquo;re a regular reader of our blog, you&rsquo;ll know that we&rsquo;re big on sharing that knowledge. We&rsquo;ve written about all sorts of topics. <a href="http://45royale.com/blog/wordpress-gutenberg/">WordPress</a>, <a href="http://45royale.com/blog/wordpress-github/">Github</a>, <a href="http://45royale.com/blog/css-scroll-snap/">CSS</a>, <a href="http://45royale.com/blog/copywriting-web-design/">copywriting</a>, <a href="http://45royale.com/blog/sketch-version-control/">version control</a>, <a href="http://45royale.com/blog/mobile-first-design/">mobile design</a>&mdash;the list goes on and on. You name it, we&rsquo;ve probably touched on it in one way or another.</p>
<p>It&rsquo;s in that spirit that we&rsquo;ve put together a five part series about our web design process. Some of the topics covered in this series will be a simple refresher for day-to-day Project/Product Managers. But for those just getting started in the industry or struggling to manage projects effectively, you should find value here.  Let&rsquo;s take a look at what we&rsquo;ll cover.</p>
<h3>A project-centric approach to the web design process</h3>
<p>We start at the beginning of the web design process, showing you how to get clients and maintain relationships. We&rsquo;ll then move on to best practices for contracts and schedules. The final article will cover topics that tend to make a lot of people uncomfortable. Specifically we&rsquo;ll take a look at how to tell if a project isn&rsquo;t going well and what red flags to look for when thinking about moving on from a project. </p>
<p>Here&rsquo;s a look at each of the the articles in the series, as well as a brief synopsis of what we cover in each:</p>
<p><a href="http://45royale.com/blog/how-to-get-web-design-clients/">How to get web design clients</a><br>
In Part 1, we start the series by addressing the issue of getting clients. We&rsquo;ll walk you through our method for finding new business, initial conversations, and what to keep an eye on when evaluating a new client relationship.</p>
<p><a href="http://45royale.com/blog/web-design-contracts/">Are web design contracts necessary?</a><br>
Part 2 is all about the business of web design. Dealing with contracts is probably the least exciting part of a project, but one of the most important to ensure a successful outcome.</p>
<p><a href="http://45royale.com/blog/web-project-schedule/">Project schedules: How to set expectations and ensure success</a><br>
Part 3 is all about developing and maintaining a realistic project schedule&mdash;the single most important function of successful web design projects.</p>
<p><a href="http://45royale.com/blog/time-tracking/">Time tracking leads to smoother projects and proposals</a><br>
In Part 4, we talk about why time tracking is crucial. When you know how long things take, you and your team are equipped to make smarter decisions for your company.</p>
<p><a href="http://45royale.com/blog/things-go-wrong-web-design-project/">When a web design project goes wrong&hellip;</a><br>
Unfortunately, sometimes even the best laid plans go awry. In the final article of the series, we help you decide if you should move on from a web design project.</p>
<h3>We hope this sheds some light on our process</h3>
<p>It&rsquo;s our intention to put you on a successful path towards project amazingness. If you have any questions or would like any more information on any of the topics above, please don&rsquo;t hesitate to leave us a comment. Good luck, here&rsquo;s to a ton of happy, productive, and successful web design projects!</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/web-design-process/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4232</post-id>	</item>
		<item>
		<title>Set up a modern web development environment</title>
		<link>https://45royale.com/blog/web-development-environment/</link>
					<comments>https://45royale.com/blog/web-development-environment/#comments</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Fri, 21 Sep 2018 02:46:21 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4166</guid>

					<description><![CDATA[Web development in 2021 can be a bit overwhelming. There are so many new tools and techniques that it&#8217;s easy to experience paralysis by analysis. If you&#8217;ve been struggling to put the pieces of the puzzle together, we hope that this article will help. We&#8217;ll cover the web development tools we use here at 45royale [&#8230;]]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Web development in 2021 can be a bit overwhelming. There are so many new tools and techniques that it&rsquo;s easy to experience paralysis by analysis.</p>
<p>If you&rsquo;ve been struggling to put the pieces of the puzzle together, we hope that this article will help. We&rsquo;ll cover the web development tools we use here at <a href="http://45royale.com/">45royale</a> to build client projects locally before pushing them out to the world.</p>
<h5>Two notes before we begin:</h5>
<p>1. The environmental set up outlined below can handle anything from custom web applications to WordPress sites. The latter will be our focus in this article, but if your project requires a server and/or database, this set up will still work.</p>
<p>2. We aim to make this article a step-by-step guide you can follow along with. We&rsquo;ve included a lot of images for reference, hoping to make your pathway more clear. If for any reason you feel that something doesn&rsquo;t make sense or could be more clear, <a href="#respond">please reach out in the comments</a>. We&rsquo;d be happy to include more detail where we can. Onward!</p>
<h2>Getting started with your web development environment</h2>
<p>The first thing we need to do is to get familiar with <a href="https://localwp.com/">Local by Flywheel</a>. </p>
<p>Local makes building WordPress sites super easy. It&rsquo;s a free tool that <a href="https://share.getf.ly/g75e4j">Flywheel</a> has created to quickly and easily set up WordPress environments on your own computer.</p>
<p>We&rsquo;ve used <a href="https://www.mamp.info/en/">MAMP</a> for many years, but with Local, it&rsquo;s dead simple to get a site up and running. With options for one-click WordPress installation and flexible environment options (we&rsquo;ll see that in a minute), it couldn&rsquo;t be easier to jump right in.</p>
<h2>Install Local by Flywheel</h2>
<div class="lazy"><img fetchpriority="high" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-1.png" alt="Install Local by Flywheel" width="3104" height="2024" class="alignnone size-full wp-image-4176 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-1.png 3104w, https://45royale.com/wp-content/uploads/1-local-1-150x98.png 150w, https://45royale.com/wp-content/uploads/1-local-1-300x196.png 300w, https://45royale.com/wp-content/uploads/1-local-1-768x501.png 768w, https://45royale.com/wp-content/uploads/1-local-1-1024x668.png 1024w" sizes="(max-width: 3104px) 100vw, 3104px" /></div>
<p>First, head on over to Flywheel&rsquo;s website and <a href="https://localwp.com/">download Local</a>. Once you install and open the app, Local will walk you through the steps to set up your first WordPress site. </p>
<div class="lazy"><img decoding="async" src="http://45royale.com/wp-content/uploads/1-local-2.png" alt="Configure Local" width="2624" height="1824" class="alignnone size-full wp-image-4178 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-2.png 2624w, https://45royale.com/wp-content/uploads/1-local-2-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-2-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-2-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-2-1024x712.png 1024w" sizes="(max-width: 2624px) 100vw, 2624px" /></div>
<p>Local will configure your VirtualBox and Host Machine for you, just sit back and let it do its thing. Once it&rsquo;s done, it will show you a blank dashboard where your projects will show up once they&rsquo;re created. </p>
<div class="lazy"><img decoding="async" src="http://45royale.com/wp-content/uploads/1-local-3.png" alt="Create new site on Local" width="2624" height="1824" class="alignnone size-full wp-image-4179 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-3.png 2624w, https://45royale.com/wp-content/uploads/1-local-3-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-3-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-3-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-3-1024x712.png 1024w" sizes="(max-width: 2624px) 100vw, 2624px" /></div>
<p>Go ahead and click &ldquo;Create a new site&rdquo;. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-4.png" alt="Name your site" width="2624" height="1824" class="alignnone size-full wp-image-4182 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-4.png 2624w, https://45royale.com/wp-content/uploads/1-local-4-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-4-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-4-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-4-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>Local will then prompt you to fill out information about your new site. In this example, I&rsquo;ve named mine MDv2 and given my local site a domain of [html]mdv2.local[/html]. You can select other URL patterns, but I like using [html].local[/html]. Double-check the site path and make sure &ldquo;Don&rsquo;t use a Blueprint&rdquo; is active. Click &ldquo;Continue&rdquo; to move on to the next step.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-5.png" alt="Choose your environment" width="2624" height="1824" class="alignnone size-full wp-image-4183 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-5.png 2624w, https://45royale.com/wp-content/uploads/1-local-5-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-5-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-5-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-5-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>Next, Local will ask you to select your environment. For most people, the &ldquo;Preferred&rdquo; tab is what you&rsquo;ll need. However, you can customize your settings to match your needs. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-6.png" alt="Choose your environment" width="2624" height="1824" class="alignnone size-full wp-image-4184 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-6.png 2624w, https://45royale.com/wp-content/uploads/1-local-6-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-6-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-6-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-6-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>For example, you can change your versions of PHP and/or MySQL if your project has specific needs. For our purposes though, we&rsquo;ll go with the &ldquo;Preferred&rdquo; environment. Click &ldquo;Continue&rdquo; to move to WordPress Setup.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-7.png" alt="Setup WordPress" width="2624" height="1824" class="alignnone size-full wp-image-4185 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-7.png 2624w, https://45royale.com/wp-content/uploads/1-local-7-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-7-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-7-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-7-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>Here you&rsquo;ll enter your credentials for your WordPress installation. Enter the username, password, and email address you&rsquo;ll want to use on your local WordPress site. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-8.png" alt="Setup WordPress - Multisite" width="2624" height="1824" class="alignnone size-full wp-image-4186 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-8.png 2624w, https://45royale.com/wp-content/uploads/1-local-8-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-8-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-8-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-8-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>Under the Advanced Options you have the ability to select if your WordPress install will be a Subdirectory or Subdomain multisite. For most people, you won&rsquo;t need to select these. But in case you do, you can adjust those settings here.</p>
<p>We won&rsquo;t need any of the advanced options so let&rsquo;s move forward by clicking &ldquo;Add Site&rdquo;.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-9.png" alt="Downloading Local environment" width="2624" height="1824" class="alignnone size-full wp-image-4187 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-9.png 2624w, https://45royale.com/wp-content/uploads/1-local-9-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-9-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-9-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-9-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>Local will now gather all the settings you input and prepare your environment. This includes building the databases, getting the servers up and running, downloading WordPress, and more. In a matter of seconds you&rsquo;ll be up and running with a WordPress site.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-local-10.png" alt="Local Dashboard" width="2624" height="1824" class="alignnone size-full wp-image-4188 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-local-10.png 2624w, https://45royale.com/wp-content/uploads/1-local-10-150x104.png 150w, https://45royale.com/wp-content/uploads/1-local-10-300x209.png 300w, https://45royale.com/wp-content/uploads/1-local-10-768x534.png 768w, https://45royale.com/wp-content/uploads/1-local-10-1024x712.png 1024w" sizes="auto, (max-width: 2624px) 100vw, 2624px" /></div>
<p>When Local has finished, you&rsquo;ll see your site appear on the dashboard. It shows your local environment specifics, a button to &ldquo;View Site&rdquo;, and more.</p>
<p>One thing to point out here that some people miss: Have a look at the &ldquo;Live Link&rdquo; button at the bottom. If you enable Live Link on your site, you&rsquo;ll be able to send a link of your local site to a friend or client and they&rsquo;ll be able to see your progress along the way. </p>
<p>No uploading to a server, no configuring a domain. Simply share the link with them and they&rsquo;ll be able to see your site along with you in real-time. It&rsquo;s magic.</p>
<p>So now you&rsquo;re set up with Local and you have your WordPress site ready to go. Let&rsquo;s move on to the next step which is getting a theme installed on your site.</p>
<h2>Underscores: The best starter theme we&rsquo;ve found for WordPress web development</h2>
<p>Before you start diving into your site, it&rsquo;s important to take a step back and set yourself up for success. </p>
<p>If you&rsquo;re building a custom WordPress site from scratch based on a design you or a designer came up with, you&rsquo;re going to want to start with a blank slate. That&rsquo;s where <a href="https://underscores.me/">Underscores.me</a> comes in.</p>
<p>Built and maintained by the folks at <a href="https://automattic.com/">Automattic</a> (the people behind WordPress), Underscores is one of the best themes you can start out with. With &ldquo;ultra-minimal CSS&rdquo; you&rsquo;ll find far less bloat than you would on other &ldquo;starter&rdquo; themes. </p>
<p>But the best part about the Underscores theme is that it gives you proper, well-commented WordPress page templates to start with. It&rsquo;s literally the best theme we&rsquo;ve found to start custom projects, we think you&rsquo;ll love it.</p>
<h2>Installing Underscores</h2>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/2-underscores-1.png" alt="Underscores theme" width="3104" height="2024" class="alignnone size-full wp-image-4189 lazy-img" srcset="https://45royale.com/wp-content/uploads/2-underscores-1.png 3104w, https://45royale.com/wp-content/uploads/2-underscores-1-150x98.png 150w, https://45royale.com/wp-content/uploads/2-underscores-1-300x196.png 300w, https://45royale.com/wp-content/uploads/2-underscores-1-768x501.png 768w, https://45royale.com/wp-content/uploads/2-underscores-1-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Head on over to the underscores.me home page and start creating your theme. If you&rsquo;re in a hurry, simply input your theme name into the input field and hit &ldquo;Generate&rdquo;.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/2-underscores-2.png" alt="Underscores theme - Advanced settings" width="3104" height="2024" class="alignnone size-full wp-image-4190 lazy-img" srcset="https://45royale.com/wp-content/uploads/2-underscores-2.png 3104w, https://45royale.com/wp-content/uploads/2-underscores-2-150x98.png 150w, https://45royale.com/wp-content/uploads/2-underscores-2-300x196.png 300w, https://45royale.com/wp-content/uploads/2-underscores-2-768x501.png 768w, https://45royale.com/wp-content/uploads/2-underscores-2-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>However, we recommend filling in some of the advanced options so that we have a more complete theme. At a minimum, we fill in the options in the screenshot above.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/2-underscores-3.png" alt="Underscores Theme" width="3104" height="2024" class="alignnone size-full wp-image-4191 lazy-img" srcset="https://45royale.com/wp-content/uploads/2-underscores-3.png 3104w, https://45royale.com/wp-content/uploads/2-underscores-3-150x98.png 150w, https://45royale.com/wp-content/uploads/2-underscores-3-300x196.png 300w, https://45royale.com/wp-content/uploads/2-underscores-3-768x501.png 768w, https://45royale.com/wp-content/uploads/2-underscores-3-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>After you click &ldquo;Generate&rdquo;, Underscores will package your theme and download it to your computer. Once you unzip your new theme (ours is called mdv2), add it to your  WordPress site by moving it into the [themes] folder at [html]Local Sites &#10141; app &#10141; public &#10141; wp-content &#10141; themes[/html]. Next, you&rsquo;ll want to activate the theme.</p>
<h2>Activating your new WordPress theme</h2>
<p>Now that your new theme is in your [themes] folder, let&rsquo;s jump into WordPress and activate it. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/3-activate-theme-1.png" alt="Default WordPress Theme" width="3104" height="2024" class="alignnone size-full wp-image-4192 lazy-img" srcset="https://45royale.com/wp-content/uploads/3-activate-theme-1.png 3104w, https://45royale.com/wp-content/uploads/3-activate-theme-1-150x98.png 150w, https://45royale.com/wp-content/uploads/3-activate-theme-1-300x196.png 300w, https://45royale.com/wp-content/uploads/3-activate-theme-1-768x501.png 768w, https://45royale.com/wp-content/uploads/3-activate-theme-1-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Point your browser at your newly created site (our example lives at mdv2.local). Use the same login credentials you input during the Local installation to get into the Admin panel.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/3-activate-theme-2.png" alt="Activate theme from WordPress admin section" width="3104" height="2024" class="alignnone size-full wp-image-4193 lazy-img" srcset="https://45royale.com/wp-content/uploads/3-activate-theme-2.png 3104w, https://45royale.com/wp-content/uploads/3-activate-theme-2-150x98.png 150w, https://45royale.com/wp-content/uploads/3-activate-theme-2-300x196.png 300w, https://45royale.com/wp-content/uploads/3-activate-theme-2-768x501.png 768w, https://45royale.com/wp-content/uploads/3-activate-theme-2-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Go to the &ldquo;Appearance&rdquo; tab in the left sidebar and select &ldquo;Themes&rdquo;. You should see your new theme there (ours is mdv2). Click &ldquo;Activate&rdquo;. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/3-activate-theme-3.png" alt="Underscores WordPress Theme" width="3104" height="2024" class="alignnone size-full wp-image-4194 lazy-img" srcset="https://45royale.com/wp-content/uploads/3-activate-theme-3.png 3104w, https://45royale.com/wp-content/uploads/3-activate-theme-3-150x98.png 150w, https://45royale.com/wp-content/uploads/3-activate-theme-3-300x196.png 300w, https://45royale.com/wp-content/uploads/3-activate-theme-3-768x501.png 768w, https://45royale.com/wp-content/uploads/3-activate-theme-3-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Go back to your site and you&rsquo;ll see that the default WordPress theme is gone and a standard, un-styled theme has taken its place. We now have a fresh start for our design styles.</p>
<p>So far, so good? Well, buckle in, because we&rsquo;re about to get to take things up a notch. This part of the article can get a little complex, so take it slow and we&rsquo;ll walk you through it.</p>
<h2>Codekit: Build websites faster and better</h2>
<p><a href="https://codekitapp.com/">Codekit</a> can do many things, but it&rsquo;s probably most well known for it&rsquo;s compiling, pre-processing, minification, and image optimization. All the things you want in your modern site build to keep file sizes and server requests to a minimum.</p>
<p>Codekit is a life-saver, a time-saver, and a sanity-saver. Yes, it costs $34, but it&rsquo;s worth every penny.</p>
<p>With incredible support and documentation, we&rsquo;re sure that Codekit will change the way you build sites.</p>
<h2>But wait, before we get started with Codekit&hellip;</h2>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/4-add-folders-1.png" alt="WordPress theme structure - Add folders" width="3104" height="2024" class="alignnone size-full wp-image-4195 lazy-img" srcset="https://45royale.com/wp-content/uploads/4-add-folders-1.png 3104w, https://45royale.com/wp-content/uploads/4-add-folders-1-150x98.png 150w, https://45royale.com/wp-content/uploads/4-add-folders-1-300x196.png 300w, https://45royale.com/wp-content/uploads/4-add-folders-1-768x501.png 768w, https://45royale.com/wp-content/uploads/4-add-folders-1-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Because Codekit has built-in compiling, we need to add two folders to the WordPress theme we just activated: a Source folder and a Build folder.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/4-add-folders-2.png" alt="WordPress theme structure - Folder structure" width="3104" height="2024" class="alignnone size-full wp-image-4196 lazy-img" srcset="https://45royale.com/wp-content/uploads/4-add-folders-2.png 3104w, https://45royale.com/wp-content/uploads/4-add-folders-2-150x98.png 150w, https://45royale.com/wp-content/uploads/4-add-folders-2-300x196.png 300w, https://45royale.com/wp-content/uploads/4-add-folders-2-768x501.png 768w, https://45royale.com/wp-content/uploads/4-add-folders-2-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>The Source folder is where we&rsquo;ll add our images, Javascript, and Sass files. We&rsquo;ll actively work on those files for our theme, and as we save them, they&rsquo;ll be copied over to our Build folder already compiled and minified. It&rsquo;s important to remember that you&rsquo;ll never edit any of the files in the Build folder, only in the Source folder.</p>
<h2>&hellip;ok, now we can install Codekit</h2>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-1.png" alt="Codekit Dashboard" width="3104" height="2024" class="alignnone size-full wp-image-4197 lazy-img" srcset="https://45royale.com/wp-content/uploads/5-codekit-1.png 3104w, https://45royale.com/wp-content/uploads/5-codekit-1-150x98.png 150w, https://45royale.com/wp-content/uploads/5-codekit-1-300x196.png 300w, https://45royale.com/wp-content/uploads/5-codekit-1-768x501.png 768w, https://45royale.com/wp-content/uploads/5-codekit-1-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Once you&rsquo;ve downloaded, installed, and opened Codekit, you&rsquo;ll see a blank dashboard. Click on the &ldquo;Add a project&rdquo;.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-2.png" alt="Theme Folder" width="3104" height="2024" class="alignnone size-full lazy-img"></div>
<p>From here, you&rsquo;ll want to hunt down your theme folder. Once you find it, click &ldquo;Add&rdquo; and Codekit will create a new project for you.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-3.png" alt="Codekit Project - Dashboard" width="3104" height="2024" class="alignnone size-full wp-image-4199 lazy-img" srcset="https://45royale.com/wp-content/uploads/5-codekit-3.png 3104w, https://45royale.com/wp-content/uploads/5-codekit-3-150x98.png 150w, https://45royale.com/wp-content/uploads/5-codekit-3-300x196.png 300w, https://45royale.com/wp-content/uploads/5-codekit-3-768x501.png 768w, https://45royale.com/wp-content/uploads/5-codekit-3-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>You should see all the files and folders here, including the new Build and Source folders you just made.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-4.png" alt="Codekit - Browser Refreshing" width="3104" height="2024" class="alignnone size-full wp-image-4200 lazy-img" srcset="https://45royale.com/wp-content/uploads/5-codekit-4.png 3104w, https://45royale.com/wp-content/uploads/5-codekit-4-150x98.png 150w, https://45royale.com/wp-content/uploads/5-codekit-4-300x196.png 300w, https://45royale.com/wp-content/uploads/5-codekit-4-768x501.png 768w, https://45royale.com/wp-content/uploads/5-codekit-4-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>The first step after confirming that your theme files are showing up properly is to click the Settings icon on the left-hand side of the page. You&rsquo;ll see a lot of options appear, click on &ldquo;Browser Refreshing&rdquo; first. </p>
<p>To enable automatic browser refreshing on your project, make sure to toggle on &ldquo;External Server Required&rdquo; and enter your Local site address in the input field.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-5.png" alt="Codekit - Build Settings" width="3104" height="2024" class="alignnone size-full wp-image-4201 lazy-img" srcset="https://45royale.com/wp-content/uploads/5-codekit-5.png 3104w, https://45royale.com/wp-content/uploads/5-codekit-5-150x98.png 150w, https://45royale.com/wp-content/uploads/5-codekit-5-300x196.png 300w, https://45royale.com/wp-content/uploads/5-codekit-5-768x501.png 768w, https://45royale.com/wp-content/uploads/5-codekit-5-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Next, click on &ldquo;Build Settings&rdquo; underneath &ldquo;Browser Refreshing&rdquo; to set up the compiling. Make sure that &ldquo;This project uses a build folder&rdquo; is checked, the folder names are correct (they should be by default) and click &ldquo;Apply Changes&rdquo;.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/5-codekit-6.png" alt="Codekit - Sass Options" width="3104" height="2024" class="alignnone size-full wp-image-4202 lazy-img" srcset="https://45royale.com/wp-content/uploads/5-codekit-6.png 3104w, https://45royale.com/wp-content/uploads/5-codekit-6-150x98.png 150w, https://45royale.com/wp-content/uploads/5-codekit-6-300x196.png 300w, https://45royale.com/wp-content/uploads/5-codekit-6-768x501.png 768w, https://45royale.com/wp-content/uploads/5-codekit-6-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Now you&rsquo;ll want to set up the Sass options. Under &ldquo;Languages&rdquo;, select &ldquo;Sass&rdquo;. Set the &ldquo;Output Style&rdquo; to &ldquo;Compressed&rdquo; and make sure &ldquo;Create a source map&rdquo; and &ldquo;Run Autoprefixer&rdquo; are selected. The autoprefixer will append all browser-specific CSS to your stylesheets, a time-save and a half. Make sure your settings match up to the screenshot&rsquo;s before moving on.</p>
<p>Now that we have all our settings saved, it&rsquo;s time to download Bootstrap. </p>
<h2>But why Bootstrap?</h2>
<p><a href="https://getbootstrap.com/">Bootstrap</a> is, among other things, the most popular HTML, CSS and Javascript library in the world. It is well maintained and updated by a core team of developers on Github.  Their goal is to &ldquo;move the web development community forward by pushing for newer CSS properties, fewer dependencies, and new technologies across more modern browsers&rdquo;. </p>
<p>Besides being very popular, Bootstrap also shines a spotlight on being a responsive, mobile-first framework. Out of the box, Bootstrap makes your site look great across several device types&mdash;saving you tons of time and money.</p>
<h2>Convinced? Ok, let&rsquo;s install Bootstrap</h2>
<p>Click on the cloud icon in the sidebar to see all the packages available in the Codekit library. Do a search for &ldquo;bootstrap&rdquo; and install the latest version (as of this writing, that&rsquo;s 4.5).</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-bootstrap.png" alt="Install Bootstrap" width="3104" height="2023" class="alignnone size-full wp-image-4427 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-bootstrap.png 3104w, https://45royale.com/wp-content/uploads/1-bootstrap-300x196.png 300w, https://45royale.com/wp-content/uploads/1-bootstrap-1024x667.png 1024w, https://45royale.com/wp-content/uploads/1-bootstrap-150x98.png 150w, https://45royale.com/wp-content/uploads/1-bootstrap-768x501.png 768w, https://45royale.com/wp-content/uploads/1-bootstrap-1536x1001.png 1536w, https://45royale.com/wp-content/uploads/1-bootstrap-2048x1335.png 2048w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Once Codekit finishes installing Bootstrap, you&rsquo;ll see a new folder in your theme directory called [html]bower_components[/html]. This is where Bootstrap lives. We&rsquo;re now ready to move on to the next steps of adding and configuring Bootstrap for our WordPress theme.</p>
<h2>Before we configure Bootstrap, read this&hellip;</h2>
<p>Before we go further, it&rsquo;s important to note that you don&rsquo;t want to edit any of the files or folders inside the [html]bower_components[/html] folder. </p>
<p>Why you ask? The most important reason is that when a new version of Bootstrap is released, you&rsquo;ll likely want to upgrade. And if you&rsquo;ve edited those files to customize your site, all of those edits will be blown away when you upgrade. That&rsquo;s no good.</p>
<p>So now you may be asking, &ldquo;Ok, then how will we customize our version of Bootstrap for our new site?&rdquo; Good question, and it&rsquo;s simple really.  We&rsquo;ll copy the code from a few Bootstrap files and put it inside our Source folder to edit and customize without overwriting the source Bootstrap files. Easy as pie.</p>
<h2>Configuring your site to use Bootstrap</h2>
<p>Remember when we added the Source and Build folders to our WordPress theme folder above? Well, now we&rsquo;ll want to flesh these out a bit further.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-00.png" alt="Bootstrap - Sass Folder" width="3104" height="2024" class="alignnone size-full wp-image-4206 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-00.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-00-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-00-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-00-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-00-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>First, in the [html]Sass[/html] folder, create a new file called [html]styles.scss[/html].</p>
<p>Also in the [html]Sass[/html] folder, create a sub-folder called [html]variables[/html]. Inside of the [html]variables[/html] folder, create a new file called [html]_bootstrap.scss[/html]. </p>
<p>We&rsquo;ll need both of these files in the following steps.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-0a.png" alt="Bootstrap - Styles" width="3104" height="2024" class="alignnone size-full wp-image-4207 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-0a.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-0a-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-0a-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-0a-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-0a-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>In your text editor, go to your theme directory and go to [html]bower_components &#10141; bootstrap &#10141; scss &#10141; bootstrap.scss[/html].</p>
<p>Copy everything underneath the commented section (all of the [html]@import[/html] code) and paste it in to your newly created [html]styles.scss[/html] file inside the [html]sass[/html] directory. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-0b.png" alt="Bootstrap - Variables" width="3048" height="1968" class="alignnone size-full wp-image-4208 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-0b.png 3048w, https://45royale.com/wp-content/uploads/6-bootstrap-0b-150x97.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-0b-300x194.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-0b-768x496.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-0b-1024x661.png 1024w" sizes="auto, (max-width: 3048px) 100vw, 3048px" /></div>
<p>Next, go to [html]bower_components &#10141; bootstrap &#10141; scss &#10141; _variables.scss[/html]. Copy all of these styles and paste them in to the [html]_bootstrap.scss[/html] file inside the newly created [html]variables[/html] folder in the [html]sass[/html] folder.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-3.png" alt="Bootstrap - Custom Variables" width="3104" height="2024" class="alignnone size-full wp-image-4209 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-3.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-3-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-3-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-3-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-3-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>Now we&rsquo;re ready to start editing our Bootstrap files without overwriting the core framework files in the [html]bower_components[/html] folder. Boom!</p>
<p>One thing to note here as an aside from the incredible Bootstrap documentation: &ldquo;Every Sass variable in Bootstrap 4 includes the [html]!default[/html] flag allowing you to override the variable&rsquo;s default value in your own Sass without modifying Bootstrap&rsquo;s source code. Copy and paste variables as needed, modify their values, and remove the [html]!default[/html] flag. If a variable has already been assigned, then it won&rsquo;t be re-assigned by the default values in Bootstrap.&rdquo;</p>
<h2>Setting up your stylesheet foundation</h2>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-1.png" alt="Bootstrap - Custom Styles" width="3104" height="2024" class="alignnone size-full wp-image-4210 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-1.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-1-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-1-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-1-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-1-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>In the screenshot above, you&rsquo;ll notice that the code looks a lot different than it did in the [html]bootstrap.scss[/html] file we just copied over. That&rsquo;s because I&rsquo;ve made some edits which I&rsquo;ll explain in more detail below.</p>
<p>The first line references the [html]functions.scss[/html] file inside of the core Bootstrap folder. This is imported first so that all the other Bootstrap styles and mixins can run smoothly.</p>
<p>The second line references our custom Bootstrap file we just copied over from the core Bootstrap folder and put in the [html]variables[/html] folder.</p>
<p>After that, we [html]@import[/html] all of the other Bootstrap styles and dependencies we&rsquo;ll need on our project. These include mixins, root, reboot, type, images, code, and grid. </p>
<p>Below those you&rsquo;ll notice that we still have a TON more styles we could import from our Bootstrap core framework. We&rsquo;ll only add them as needed so we don&rsquo;t overload the server with requests.</p>
<h2>Adding additional styles</h2>
<p>After we have our basic [html]styles.scss[/html] file set up, we can start building upon it.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-3a.png" alt="Bootstrap - General Styles" width="3048" height="1968" class="alignnone size-full wp-image-4211 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-3a.png 3048w, https://45royale.com/wp-content/uploads/6-bootstrap-3a-150x97.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-3a-300x194.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-3a-768x496.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-3a-1024x661.png 1024w" sizes="auto, (max-width: 3048px) 100vw, 3048px" /></div>
<p>In the screenshot above, you&rsquo;ll notice that I have added some new style declarations in the form of [html]@import[/html]. I&rsquo;ve created a [html]blocks[/html] folder for general layout CSS, a [html]pages[/html] folder for page-specific CSS, and a [html]_general.scss[/html] file for global styles. I [html]@import[/html] them all below the Bootstrap styles so the fall beneath them in the cascade and override any unwanted/unneeded styles.</p>
<h2>A couple of odds and ends you need to do to get your stylesheets up and running</h2>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-4.png" alt="Bootstrap - Default WordPress Stylesheet" width="3104" height="2024" class="alignnone size-full wp-image-4212 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-4.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-4-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-4-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-4-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-4-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<h5>1. Delete your theme&rsquo;s default styles</h5>
<p>Go into the theme&rsquo;s [html]style.css[/html] file and delete everything but the comments. This will remove all the default styles from the Underscores theme and replace them with Bootstrap&rsquo;s default styles. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-4a.png" alt="Bootstrap - Compile styles.scss" width="3104" height="2024" class="alignnone size-full wp-image-4213 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-4a.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-4a-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-4a-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-4a-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-4a-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<h5>2. Set up your Sass stylesheet to compile to the build folder</h5>
<p>In order for your site to use your custom styles, you need to tell Codekit how to compile your stylesheet. </p>
<p>In Codekit, click on your [html]styles.scss[/html]. On the right, under &ldquo;Output&rdquo; make sure when the file changes it&rsquo;s set to &ldquo;Compile It&rdquo;. Set the path to [html]build/css/style.css[/html]. That folder probably won&rsquo;t exist yet, but you can add it during this process. Once you set the output path, click &ldquo;Compile&rdquo; and you should have your first stylesheet compiled.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-5.png" alt="Bootstrap - Enque Styles" width="3104" height="2024" class="alignnone size-full wp-image-4214 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-5.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-5-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-5-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-5-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-5-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<h5>3. Enqueue your new stylesheet</h5>
<p>Before your new styles will show up on your theme, you need to tell WordPress where they live. Open up [html]functions.php[/html] inside of your theme folder and find the line that says &ldquo;Enqueue scripts and styles&rdquo;. </p>
<p>Update the path for the stylesheet to the following, noting that you&rsquo;ll need to replace [html]mdv2[/html] with your theme name:</p>
<p>[php]<br>
wp_enqueue_style( &lsquo;mdv2-style&rsquo;, get_template_directory_uri() . &lsquo;/build/css/style.css&rsquo; );<br>
[/php]</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/6-bootstrap-6.png" alt="" width="3104" height="2024" class="alignnone size-full wp-image-4215 lazy-img" srcset="https://45royale.com/wp-content/uploads/6-bootstrap-6.png 3104w, https://45royale.com/wp-content/uploads/6-bootstrap-6-150x98.png 150w, https://45royale.com/wp-content/uploads/6-bootstrap-6-300x196.png 300w, https://45royale.com/wp-content/uploads/6-bootstrap-6-768x501.png 768w, https://45royale.com/wp-content/uploads/6-bootstrap-6-1024x668.png 1024w" sizes="auto, (max-width: 3104px) 100vw, 3104px" /></div>
<p>While you&rsquo;re in there, and if you plan to use Javascript on your site, update the script enqueue as well with the following (remember to change the theme name):</p>
<p>[php]<br>
wp_enqueue_script( &lsquo;mdv2-style&rsquo;, get_template_directory_uri() . &lsquo;/bower_components/bootstrap/dist/js/bootstrap.min.js&rsquo;, array(), false, true );<br>
[/php]</p>
<h2>Finally, here&rsquo;s what you should do next&hellip;</h2>
<h5>Setup basic styles</h5>
<p>The first thing I like to do after getting my web development environment in order is to update some of the basic styles. Setting up things like typography, grids and grid-columns, and gutter-width will give you a good foundation for your build.</p>
<h5>Setup your hosting</h5>
<p>The second thing I do is get my hosting setup. I&rsquo;ve tried several hosts over the years, including Digital Ocean and Bluehost. But recently, I&rsquo;ve found <a href="https://kinsta.com/features/?kaid=VEDVZZSRXHUW">Kinsta</a> and have been over the moon with the performance and service. </p>
<p><a href="https://kinsta.com/features/?kaid=VEDVZZSRXHUW">Kinsta</a> is managed WordPress hosting built on Google&rsquo;s Cloud Servers, so they&rsquo;re incredibly fast and efficient. I urge you to give them a try&mdash;plans start at just $30/month.</p>
<h5>Ask a question</h5>
<p>If something is unclear or you&rsquo;re confused, please don&rsquo;t hesitate to <a href="#respond">leave us a comment below</a>. This is a lot of info to document and explain, so any insight you can give us to make this article better is appreciated! We hope this helps and can&rsquo;t wait to hear from you.</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/web-development-environment/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4166</post-id>	</item>
		<item>
		<title>Build automation and deployments with Buddy</title>
		<link>https://45royale.com/blog/build-automation-tools-buddy/</link>
					<comments>https://45royale.com/blog/build-automation-tools-buddy/#respond</comments>
		
		<dc:creator><![CDATA[Adam Little]]></dc:creator>
		<pubDate>Thu, 13 Sep 2018 20:37:10 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4103</guid>

					<description><![CDATA[Build automation tools like Buddy make it easy to manage your Staging and Production server environments while working on a project.]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Whether building a product from scratch or doing a simple redesign, it&rsquo;s important that our development work happens in the background.</p>
<p>Why in the background? For many reasons. The first that comes to mind is so we don&rsquo;t show our work to the world while it&rsquo;s still in progress. <em>Another, and far more worrisome, is so we don&rsquo;t impact anything on the client&rsquo;s live Production site.</em> </p>
<p>A simple way to get around some of that is by doing development work in a local environment. But many times the client needs to be able to see the progress that&rsquo;s being made for their own eyes. Or may need to start adding content for the site or application on their own. They can&rsquo;t do that if you&rsquo;ve got everything locally.</p>
<p>To address all these issues, we use a web accessible Staging environment for every project. And because our local environments are in sync with Staging, we can show our work to the client without the fear of having anything we do (or they might do) impact a live site.</p>
<h3>Improving our workflow with build automation tools</h3>
<p><a href="http://45royale.com/about/">We&rsquo;re a small remote team</a>. As such, everyone pitches in during a project build. That&rsquo;s why we prefer our designers and developers to have a more &ldquo;hybrid&rdquo; skillset. Designers should be able to code and developers should be familiar with design tools like Sketch. </p>
<blockquote class="right"><p>A designer waiting on a developer to update a client&rsquo;s site leads to an unnecessary bottleneck.</p></blockquote>
<p>But while having hybrids on our team is great, there is an inevitable tipping point. There are times in a project when one of our designers can find themselves in feeling a lack of confidence. Handling build compiles or accessing a server&rsquo;s command line, comes to mind. This can lead to a bottleneck. </p>
<p>For example, the client might need a small change that is simple for a designer to make locally. However, pulling those changes on to a staging server so the client could see them would require us to wait on a developer to run the commands. </p>
<p>We tried various automated deployment solutions in the past with varying degrees of success. In the end we found ourselves reverting back to doing things by hand. It was tedious, but more reliable. </p>
<p>As we got busier though, this became less of an option because the bottleneck kept getting worse. Designers were waiting on developers. Developers were being interrupted with small frequent changes. Nobody was happy. </p>
<blockquote class="full"><p>What we needed was a reliable build automation solution that integrated with the way we work.</p></blockquote>
<h3>Enter Buddy, a build automation app that makes our lives a lot easier</h3>
<p>At the start of a project last year, one of our developers mentioned that he wanted to try this new app called <a href="https://buddy.works/">Buddy</a>. He had used it on a personal project and found that it was a great way to push code to a server. </p>
<p>At its core, Buddy allows you to run your apps in disposable sandbox environments and automates cloud and server deployments with ease.</p>
<p>Buddy&rsquo;s deployment pipelines were exactly what we had been looking for. Not to mention it&rsquo;s easy to use and well designed interface was perfect for our less technical team members.</p>
<p>The app allows you to create a project that can be filled with multiple pipelines. Which for us, is mainly a Staging pipeline and Production pipeline.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/1-add-new-pipeline-new.png" alt="Build automations - Add a new pipeline" width="2880" height="1800" class="featured alignnone size-full wp-image-4129 lazy-img" srcset="https://45royale.com/wp-content/uploads/1-add-new-pipeline-new.png 2880w, https://45royale.com/wp-content/uploads/1-add-new-pipeline-new-150x94.png 150w, https://45royale.com/wp-content/uploads/1-add-new-pipeline-new-300x188.png 300w, https://45royale.com/wp-content/uploads/1-add-new-pipeline-new-768x480.png 768w, https://45royale.com/wp-content/uploads/1-add-new-pipeline-new-1024x640.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">Add a new pipeline</span></p>
<p>Buddy integrates with our <a href="https://github.com/">GitHub</a> account and allows us to create a pipeline that ties in with a particular branch in a given repository. It has options to 1) trigger the pipeline with manual execution, 2) listen for a push, or 3) run recurrently (ex. every night at 6pm for example).</p>
<p>Within each pipeline you configure actions that you want to run once it&rsquo;s triggered. There are endless options including transferring data to a server, running commands, executing scripts, building an image, and more. </p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/2-add-new-actions-new.png" alt="Build automations - Add new actions" width="2880" height="1800" class="featured alignnone size-full wp-image-4130 lazy-img" srcset="https://45royale.com/wp-content/uploads/2-add-new-actions-new.png 2880w, https://45royale.com/wp-content/uploads/2-add-new-actions-new-150x94.png 150w, https://45royale.com/wp-content/uploads/2-add-new-actions-new-300x188.png 300w, https://45royale.com/wp-content/uploads/2-add-new-actions-new-768x480.png 768w, https://45royale.com/wp-content/uploads/2-add-new-actions-new-1024x640.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">Add new actions</span></p>
<h3>How we use Buddy</h3>
<p>For most of our projects, we configure actions for both our Staging and Production servers. For Staging we have Buddy listen for a push on our Staging branch. Then it automatically connects to our server with the proper credentials and executes a [html]git pull[/html] to transfer the latest build.</p>
<blockquote class="right"><p>We always make sure that someone is watching and ready to act in the event of an issue.</p></blockquote>
<p>Production is set up in almost the same way, but since Production is typically more sensitive, we set the trigger to manual. That way someone has to go in and manually trigger the pipeline when we launch or have significant updates to make. We always make sure that someone is watching and ready to act in the event of an issue.</p>
<p>Another great part about Buddy is that it supports over 30 integrations. They have an API that allows them to integrate with services including GitHub, Slack, Shopify, and S3 just to name a few. </p>
<p>Since we find ourselves in Slack quite a bit, we&rsquo;ve integrated Buddy so that we can run production deployments for <a href="http://45royale.com/">45royale.com</a> right from there. Once we have a discussion in our [html]#development[/html] Slack channel that our Staging changes are approved, one of our admins types [html]&rsquo;deploy /run'[/html] which triggers the Buddy Production pipeline of our master branch. And just like that our changes are live on Production!</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/3-run-pipeline-new.png" alt="Build automations - Run the pipeline" width="2880" height="1800" class="featured alignnone size-full wp-image-4132 lazy-img" srcset="https://45royale.com/wp-content/uploads/3-run-pipeline-new.png 2880w, https://45royale.com/wp-content/uploads/3-run-pipeline-new-150x94.png 150w, https://45royale.com/wp-content/uploads/3-run-pipeline-new-300x188.png 300w, https://45royale.com/wp-content/uploads/3-run-pipeline-new-768x480.png 768w, https://45royale.com/wp-content/uploads/3-run-pipeline-new-1024x640.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">Run the pipeline</span></p>
<p>We&rsquo;ve been super happy with our improved build automation workflow. In fact, we&rsquo;re constantly finding new ways to make things more efficient with Buddy. </p>
<p>If you&rsquo;re not sure how Buddy would fit in to your workflow and environment, I&rsquo;d suggest browsing through <a href="https://buddy.works/guides/">the Guides</a> on their website. They have a great collection of articles that help you through various services and workflows that make using Buddy so powerful.</p>
<p>Have you used Buddy before? If not, what tools do you use to eliminate bottlenecks in your workflow? We&rsquo;d love to hear more about your experience and/or thoughts <a href="#respond">in the comments below</a>!</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/build-automation-tools-buddy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4103</post-id>	</item>
		<item>
		<title>Using CSS Scroll Snap for images and content</title>
		<link>https://45royale.com/blog/css-scroll-snap/</link>
					<comments>https://45royale.com/blog/css-scroll-snap/#respond</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Thu, 06 Sep 2018 22:08:38 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<guid isPermaLink="false">http://45royale.com/?p=4083</guid>

					<description><![CDATA[Scroll snap, a new CSS property now available in Chrome, will make building image carousels and paginated content easier than ever.]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Google Chrome turned 10 this week and the internet is abuzz about the browser&rsquo;s new look.</p>
<p>And rightly so&mdash;the design is by far the most notable change for the majority of people using Chrome on a daily basis. The team at Google has updated the look of the browser and unified branding across all platforms including desktop, Android, and iOS.</p>
<p>But amidst all the hullabaloo around the <a href="https://www.blog.google/products/chrome/chromes-turning-10-heres-whats-new/">new look and features</a>, there&rsquo;s something new that you may have missed in the update. Google Chrome 69 now supports the CSS property [html]scroll-snap-type[/html].</p>
<h3>CSS Scroll Snap? What the heck is that?</h3>
<p>From the <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap">MDN web docs</a>, CSS Scroll Snap is &ldquo;a module of CSS that introduces scroll snap positions, which enforce the scroll positions that a scroll container&rsquo;s scrollport may end at after a scrolling operation has completed&rdquo;.</p>
<blockquote class="right"><p>Scroll Snap is a module of CSS that introduces scroll snap positions for content.</p></blockquote>
<p>With Chrome 69, using the [html]scroll-snap-type[/html] property will allow you to create a better carousel experience on your site. You no longer have to use Javascript to align and find the center of an image inside a carousel window.</p>
<p>And it&rsquo;s pretty easy to implement, too. It only takes adding a few lines of code to your CSS to achieve this behavior.</p>
<h3>Adding Scroll Snap to your CSS</h3>
<p>Implementing the [html]scroll-snap-type[/html] property is a breeze. It only takes a few lines of code to achieve the desired behavior.</p>
<p>Simply declare the scroll snap positions by telling the browser where to stop after each scrolling operation and the content will land there perfectly.</p>
<p>Here&rsquo;s an example of an image carousel with images scrolling and aligning to the center of the container:</p>
<p>[css]<br>
#scroll-container {<br>
scroll-snap-type: x mandatory;<br>
overflow-x: scroll;<br>
display: flex;<br>
}</p>
<p>#scroll-container img {<br>
scroll-snap-align: center;<br>
}<br>
[/css]</p>
<p><em>Easy, right?</em> And the best part about adding these properties to your carousel is that it will work even if the images are different sizes or are larger than the scroll container. In other words, the container height won&rsquo;t change, but you&rsquo;ll still be able to have images/content of varying width. Not too shabby!</p>
<p>To see the Scroll Snap property in action, have a look at the <a href="https://snap.glitch.me/carousel.html">demo Google put together</a>. The top demo uses Javascript on the arrows to control the images, while the bottom demo uses simple vertical scrolling built in to the browser.</p>
<h3>Remember that Scroll Snap isn&rsquo;t available in all browsers&hellip; yet.</h3>
<p>Of course, the big caveat. Unfortunately we have to mention that Scroll Snap is still considered an experimental CSS property and is not supported by all browsers. <em>You&rsquo;ll want to hold off using the scroll-snap-type property if your user base or customers use a specific browser not supported.</em></p>
<p>What are your thoughts on the Scroll Snap property? If you have any questions or comments, <a href="#respond">we&rsquo;d love to hear from you below</a>!</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/css-scroll-snap/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4083</post-id>	</item>
		<item>
		<title>WordPress Gutenberg: A beginner&#8217;s guide to the new editor</title>
		<link>https://45royale.com/blog/wordpress-gutenberg/</link>
					<comments>https://45royale.com/blog/wordpress-gutenberg/#respond</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Thu, 30 Aug 2018 03:49:21 +0000</pubDate>
				<category><![CDATA[Development]]></category>
		<guid isPermaLink="false">https://138.197.76.113/?p=4069</guid>

					<description><![CDATA[If you&#8217;re in the open-source or web development space, you may have heard about WordPress Gutenberg by now. Gutenberg is the name of the new content editor for WordPress that will become the defacto standard for building out pages and posts. It&#8217;s a massive shift in how we interact with the platform and, ultimately, how [&#8230;]]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>If you&rsquo;re in the open-source or web development space, you may have heard about WordPress Gutenberg by now.</p>
<p><a href="https://wordpress.org/gutenberg/">Gutenberg</a> is the name of the new content editor for <a href="https://wordpress.com/?aff=13497&amp;cid=1538498">WordPress</a> that will become the defacto standard for building out pages and posts. It&rsquo;s a massive shift in how we interact with the platform and, ultimately, how we&rsquo;ll build WordPress sites. </p>
<p>Over the past several months we&rsquo;ve talked to some of <a href="http://45royale.com/work/">our clients</a> and were surprised to know that they knew nothing about this holistic change to the software. As such, we decided to put together this beginner&rsquo;s guide to the Gutenberg editor that will be coming down the line later this year in WordPress 5.0.</p>
<h3>So what is WordPress Gutenberg?</h3>
<p>In its simplest form, Gutenberg is the evolution of the WordPress editor. The final product will come standard as a part of WordPress 5.0 core, set to release sometime in 2018. <em>The actual release date is unknown, but seeing as we&rsquo;re at version 4.9.8 at the time of this writing, we should be seeing it soon.</em></p>
<p>Gutenberg will replace the Classic editor and will be built on Github using the WordPress REST API, Javascript, and React. These technologies will make adding media rich content to posts and pages a breeze. </p>
<p>This transition will also help to solidify WordPress as a modern content platform on par or ahead of other Content Management Systems and blogging platforms like <a href="https://medium.com/45royale/">Medium</a>.</p>
<blockquote class="full"><p>The editor will endeavor to create a new page and post building experience that makes writing rich posts effortless, and has &ldquo;blocks&rdquo; to make it easy what today might take short codes, custom HTML, or &ldquo;mystery meat&rdquo; embed discovery.</p>
<p>&mdash; Matt Mullenweg, Founder of <a href="https://wordpress.com/?aff=13497&amp;cid=1538498">WordPress</a></p>
</blockquote>
<p>But all this means nothing if we can&rsquo;t experience these new changes for ourselves first hand, right? Well, you&rsquo;re in luck. WordPress has made it available as a plugin so we can start kicking the tires. Onward!</p>
<h3>Installing WordPress Gutenberg</h3>
<p>You can download Gutenberg directly from the <a href="https://github.com/WordPress/gutenberg">WordPress repository on Github</a>, or install it from the Add Plugins tab in the Admin section of your site.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/add-plugins.png" alt="Install Gutenberg from Add Plugins" width="2880" height="1664" class="featured alignnone size-full wp-image-4070 lazy-img" srcset="https://45royale.com/wp-content/uploads/add-plugins.png 2880w, https://45royale.com/wp-content/uploads/add-plugins-150x87.png 150w, https://45royale.com/wp-content/uploads/add-plugins-300x173.png 300w, https://45royale.com/wp-content/uploads/add-plugins-768x444.png 768w, https://45royale.com/wp-content/uploads/add-plugins-1024x592.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">WordPress Gutenberg via Add Plugins menu</span></p>
<p><em>Keep in mind that you will need to be on WordPress 4.8 or later in order for Gutenberg to run on your site.</em></p>
<p>Now that we&rsquo;re up and running, let&rsquo;s have a look at what we can do with Gutenberg.</p>
<h3>A first-hand look at Blocks in Gutenberg</h3>
<p>Right off the bat you&rsquo;ll notice that the new editor looks and feels much different than what we&rsquo;re used to. More whitespace for writing, a cleaner document sidebar, and a new section in the sidebar called Block.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/gutenberg-dashboard.png" alt="WordPress Gutenberg Dashboard" width="2880" height="1800" class="featured alignnone size-full wp-image-4071 lazy-img" srcset="https://45royale.com/wp-content/uploads/gutenberg-dashboard.png 2880w, https://45royale.com/wp-content/uploads/gutenberg-dashboard-150x94.png 150w, https://45royale.com/wp-content/uploads/gutenberg-dashboard-300x188.png 300w, https://45royale.com/wp-content/uploads/gutenberg-dashboard-768x480.png 768w, https://45royale.com/wp-content/uploads/gutenberg-dashboard-1024x640.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">The Gutenberg demo post</span></p>
<p><em>In the new editor, everything is a block. Text, images, widgets, galleries, custom HTML chunks&hellip; everything.</em></p>
<p>Since content is broken down into sections, you can easily insert, rearrange, and style your posts at will. The editor will even group your blocks by frequency of use to ensure the blocks you use the most are available when you need them.</p>
<h3>Developers will love Blocks, too</h3>
<p>But blocks don&rsquo;t just make it easier for bloggers and site owners to maintain their sites. No sir. Blocks also make it easy for WordPress developers (like ourselves) to provide clients with unique, theme-specific content.</p>
<div class="lazy"><img loading="lazy" decoding="async" src="http://45royale.com/wp-content/uploads/custom-profile-block.png" alt="Custom Block - Profile" width="2880" height="1664" class="featured alignnone size-full wp-image-4072 lazy-img" srcset="https://45royale.com/wp-content/uploads/custom-profile-block.png 2880w, https://45royale.com/wp-content/uploads/custom-profile-block-150x87.png 150w, https://45royale.com/wp-content/uploads/custom-profile-block-300x173.png 300w, https://45royale.com/wp-content/uploads/custom-profile-block-768x444.png 768w, https://45royale.com/wp-content/uploads/custom-profile-block-1024x592.png 1024w" sizes="auto, (max-width: 2880px) 100vw, 2880px" /></div>
<p><span class="blog-caption">A custom block created by <a href="https://organicthemes.com/">Organic Themes</a></span></p>
<p>In simpler terms, this means that we can develop a unique section or layout that can be directly edited by a client within the editor without them touching a line of code. They&rsquo;ll have a beautiful WYSIWYG experience with less chance of ruining the markup, layout, or look and feel of the site. <em>For developers (and clients), this is huge.</em></p>
<p>These types of customization are but scratching the surface. With the new editor, you can create tons of custom block types for your client&rsquo;s specific needs. If you want more information about where to begin, <a href="https://wordpress.org/gutenberg/handbook/reference/design-principles/#block-design-checklist-dos-and-donts-and-examples">WordPress offers a set of block design do&rsquo;s, don&rsquo;ts, and examples</a>. It&rsquo;s a good place to dive in to this kind of thing.</p>
<h3>Is the new Gutenberg editor right for you?</h3>
<p>The new block capabilities are remarkable and greatly extend the core features of WordPress. We think our clients will see a lot of value in the upgrade to the new editor. But to be clear: <em>Yes, Gutenberg will be the default editor shipped with WordPress 5.0 sometime this year. But no, you don&rsquo;t have to use it.</em></p>
<p>If you&rsquo;re not great with change or run in to issues with existing content on your site, WordPress will give you the option to install the Classic editor (presumably as a plugin) so that you can continue to use WordPress like before. This makes some people feel better knowing there&rsquo;s a fall back in place in case they decide the new editor&rsquo;s not right for them.</p>
<p>So since we&rsquo;re talking about who this new editor is for, let&rsquo;s take a high level look at some of the pros and cons of Gutenberg to figure out if it&rsquo;s right for you.</p>
<h5>Gutenberg pros:</h5>
<ul>
<li>It brings WordPress in to the modern world with a better writing platform.</li>
<li>There is more focus is on crafting your content and less with fussing with the editor.</li>
<li>Custom blocks (as we mentioned above) will be game changers for developers such as ourselves. Giving clients flexibility to add their own content inside a unique layout without them breaking the site is priceless.</li>
</ul>
<h5>Gutenberg cons:</h5>
<ul>
<li>Initially you could see compatibility issues with plugins and themes. Sometimes developers drag their feet with updates and fall short of updating their products for major releases. If you have a site-dependent plugin, make sure to check if it&rsquo;s Gutenberg-compatible early on before upgrading to WordPress 5.0.</li>
<li>Yes you can revert to the Classic editor using a plugin, but Gutenberg&rsquo;s layout and features are the future of WordPress&mdash;it&rsquo;s not going anywhere. If you&rsquo;re not comfortable with it, you may find yourself jumping ship to another platform.</li>
<li>There have been rumors that Gutenberg does not live up to accessibility standards. This may be fixed by the time WordPress 5.0 launches, but some people have raised concerns already.</li>
</ul>
<h3>In conclusion</h3>
<p>The new Gutenberg editor is ushering in a new look, mindset, and positioning for <a href="https://wordpress.com/?aff=13497&amp;cid=1538498">WordPress</a>. After playing around with the plugin, we&rsquo;re super impressed with the editor and its functionality. Blocks are an amazing improvement to content layout and will give visual editing a major upgrade. We can&rsquo;t wait to dive in and see how we can creatively help our clients produce better looking and functioning posts and pages.</p>
<p>Now it&rsquo;s your turn. <em>Have you tried out Gutenberg? If not, how come?</em> We&rsquo;d love to hear more about your experience and/or thoughts in the <a href="#respond">comments below</a>!</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/wordpress-gutenberg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4069</post-id>	</item>
		<item>
		<title>Web typography: Define early, design quickly, and set defaults</title>
		<link>https://45royale.com/blog/web-typography/</link>
					<comments>https://45royale.com/blog/web-typography/#respond</comments>
		
		<dc:creator><![CDATA[Matt Downey]]></dc:creator>
		<pubDate>Thu, 23 Aug 2018 22:09:50 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<guid isPermaLink="false">https://138.197.76.113/?p=4037</guid>

					<description><![CDATA[There&#8217;s no question that web typography has come a long way in recent years. As browsers have adapted to include embedded fonts, the options for designers seem endless. Web font services like Typekit, Google Fonts, Edge Web Fonts, and more make it easier than ever for designers to express themselves with type. Add a [html]@font-face[/html] [&#8230;]]]></description>
										<content:encoded><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>There&rsquo;s no question that web typography has come a long way in recent years.</p>
<p>As browsers have adapted to include embedded fonts, the options for designers seem endless. Web font services like <a href="https://typekit.com/">Typekit</a>, <a href="https://fonts.google.com/">Google Fonts</a>, <a href="http://www.edgefonts.com/">Edge Web Fonts</a>, and more make it easier than ever for designers to express themselves with type.</p>
<p>Add a [html]@font-face[/html] declaration to your CSS or include a snippet of Javascript and you&rsquo;re off and running.</p>
<h3>Web typography is more than picking a good looking font</h3>
<p>Finding and using the perfect type face for a project is definitely a major part of the equation. But here&rsquo;s so much more that goes in to choosing particular styles and weights. </p>
<p>In fact, we are often asked about our approach to setting and defining type in projects. We&rsquo;re asked about our process, how we deal with modular scale, and things like vertical rhythm. In fact, we recently had a question from one of our 45royale Collective members, J. Glerum about this very topic. </p>
<blockquote class="full"><p>If you&rsquo;re wondering how to join the 45royale Collective (our private Slack workspace), <a href="http://45royale.com/newsletter/" title="45royale Newsletter">sign up for our newsletter</a> and we&rsquo;ll send you an invite!</p></blockquote>
<p>Originally Adam (our Project Manager) answered his questions in the Slack channel, but I thought it might also be beneficial to expand on his thoughts and share them here.</p>
<h5>Question 1:</h5>
<p><em style="font-size: 28px; color: #23273c;">Do you define fonts and weights early in the process, or do you start laying things out and then pick fonts that &ldquo;look good&rdquo;?</em></p>
<p>Our process usually includes a research and discovery phase where we define fonts and weights before jumping in to layout. We create a <a href="http://45royale.com/blog/web-project-creating-style-guide/">style guide</a> for the client, exploring the brand and competitors to find the right type face for the tone we&rsquo;re matching.</p>
<blockquote class="right"><p>The style guide is almost always the way we begin with type on a project</p></blockquote>
<p>If we&rsquo;re working on an <a href="http://45royale.com/work/gitdone/">internal project</a> or the rare project exploration without a timeline and budget concerns, we tend to explore a bit more. But this is a rarity, and the style guide is almost always the way we begin with type on a project.</p>
<h5>Question 2:</h5>
<p><em style="font-size: 28px; color: #23273c;">Do you define a modular scale early using something like <a href="https://www.modularscale.com/">modularscale.com</a>? Do you create separate scales for headings and body copy? Separate scales for mobile and desktop views?</em></p>
<p>Not typically, but it depends on how much time we&rsquo;ve alloted for in the research and discovery portion of the project.</p>
<p>If we have a long runway with design comps and have the ability to holistically create a site or app from scratch, then we&rsquo;ll absolutely set the modular scale for a project. </p>
<p>Even if we don&rsquo;t have a lot of runway, we try to build our typography scale in to the code base we&rsquo;re using. If we&rsquo;re using a framework like <a href="https://getbootstrap.com/docs/4.0/getting-started/introduction/">Bootstrap 4</a> (which we used for this site and many others), we adjust our scale at the code level so everything is calculated from a root base. This makes organizing and scaling our site design easy as pie.</p>
<h5>Question 3:</h5>
<p><em style="font-size: 28px; color: #23273c;">Do you set line-heights and margins on your elements (default paragraph size, [html]h1-h4[/html], etc.) to align things to a grid and use vertical rhythm?</em></p>
<p>Yes, we always set defaults. The way a site feels and how the type is perceived is almost always a result of vertical rhythm. Piggy-backing off of Question 2, a lot of times we set this in extended design phases or more frequently, in the development phase.</p>
<p>I will caveat this by saying that sometimes these scales or rigid values don&rsquo;t always &ldquo;seem&rdquo; right. It could make sense mathematically, but it just doesn&rsquo;t feel right for the design or layout.</p>
<p><strong>Breaking your pattern, scale, or grid can seem scary.</strong> But sometimes you have to buck the system in order get the organic and natural feeling you&rsquo;re looking for from your typeface. You&rsquo;ll want to consider the client message if you break pattern though, as this can interrupt or change the tone of the site.</p>
<h3>Getting the most out of your web typography</h3>
<p>To wrap things up, there are so many tools available on the modern web that it should make the designer&rsquo;s job much easier. </p>
<p>Where designers need to focus is not on the tools themselves, but on the <a href="https://www.amazon.com/Elements-Typographic-Style-Robert-Bringhurst/dp/0881791326/ref=sr_1_23?s=books&amp;ie=UTF8&amp;qid=1535052819&amp;sr=1-23&amp;keywords=typography+principles">principles and fundamentals</a> of setting and defining type on a project. Having the ability to embed a font doesn&rsquo;t mean you&rsquo;ve chose the correct style for the message, tone, and conversation your client wants to portray. With great power, comes great responsibility.</p>
<p>We&rsquo;d love to hear your thoughts on web typography and for you to share some of your best practices. <a href="#respond">Leave a comment below</a> and let&rsquo;s keep the discussion going.</p>
</body></html>
]]></content:encoded>
					
					<wfw:commentRss>https://45royale.com/blog/web-typography/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4037</post-id>	</item>
	</channel>
</rss>
