<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Markus</title>
    <description>The latest articles on DEV Community by Markus (@iaremarkus).</description>
    <link>https://dev.to/iaremarkus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F19243%2Fec503011-0af4-4307-aa31-9b62c5f52773.jpg</url>
      <title>DEV Community: Markus</title>
      <link>https://dev.to/iaremarkus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iaremarkus"/>
    <language>en</language>
    <item>
      <title>gyp: No Xcode or CLT version detected! 👈 I think I know why this happens</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Wed, 01 Apr 2020 07:10:20 +0000</pubDate>
      <link>https://dev.to/iaremarkus/gyp-no-xcode-or-clt-version-detected-i-think-i-know-why-this-happens-1ndk</link>
      <guid>https://dev.to/iaremarkus/gyp-no-xcode-or-clt-version-detected-i-think-i-know-why-this-happens-1ndk</guid>
      <description>&lt;p&gt;👉 Are you a user of Xcode CLT only, not the full Xcode?&lt;/p&gt;

&lt;p&gt;👉 Have you run into the &lt;code&gt;gyp: No Xcode or CLT version detected!&lt;/code&gt; error?&lt;/p&gt;

&lt;p&gt;👉 Did you solve it by &lt;code&gt;sudo rm -r -f /Library/Developer/CommandLineTools&lt;/code&gt; and then re-installing it with &lt;code&gt;xcode-select --install&lt;/code&gt;, only to inexplicably run into the exact same error a while later?&lt;/p&gt;

&lt;p&gt;Here's the kicker...&lt;/p&gt;

&lt;p&gt;👉👉 &lt;strong&gt;Are you a user of a Node version manager like &lt;code&gt;asdf&lt;/code&gt; or &lt;code&gt;nvm&lt;/code&gt;?&lt;/strong&gt; 👈👈&lt;/p&gt;

&lt;p&gt;I've been in this position a number of times in the last few months and I could never understand why it kept cropping up. But I think I've discovered why I continually, and intermittently had this issue.&lt;/p&gt;

&lt;p&gt;I was working on a few older projects using Node 8. I wrapped one up yesterday and moved to a new React project this morning and so I &lt;code&gt;nvm use 12.15&lt;/code&gt; and ran &lt;code&gt;npm i&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gyp: No Xcode or CLT version detected!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;😔&lt;/p&gt;

&lt;p&gt;So I begrudgingly deleted Xcode CLT and re-installed and everything worked fine. And then it clicked.&lt;/p&gt;

&lt;h2&gt;
  
  
  I think &lt;code&gt;xcode-select --install&lt;/code&gt; attaches itself to the node version you have installed at the time
&lt;/h2&gt;

&lt;p&gt;So you fix the problem, and then, later on, run into it again when you switch to a different version of Node.&lt;/p&gt;

&lt;p&gt;Haven't tested this thoroughly... who has the time. But would love to hear if this resonates with anyone else and maybe this is actually the case?&lt;/p&gt;

</description>
      <category>npm</category>
      <category>cli</category>
      <category>node</category>
      <category>react</category>
    </item>
    <item>
      <title>A headless &amp; more secure WordPress install with Bedrock</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Mon, 17 Feb 2020 11:40:49 +0000</pubDate>
      <link>https://dev.to/iaremarkus/a-headless-more-secure-wordpress-install-with-bedrock-2im9</link>
      <guid>https://dev.to/iaremarkus/a-headless-more-secure-wordpress-install-with-bedrock-2im9</guid>
      <description>&lt;p&gt;The foundations of WordPress (WP) haven't changed much in a long time. Sure &lt;a href="https://wordpress.org/support/plugin/gutenberg/reviews/"&gt;Gutenberg&lt;/a&gt; has changed a lot of things on the frontend, but not much has changed in the way you setup + install WordPress. This predictability is great for their famous 5-minute install, but their lack of support for package tools like &lt;a href="https://getcomposer.org/"&gt;Composer&lt;/a&gt;, is sorely missed by developers these days.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter Bedrock
&lt;/h2&gt;

&lt;p&gt;What is Bedrock? Well if you'd asked me a year ago, I'd have said a &lt;a href="https://www.youtube.com/watch?v=_7Unl4tGSHE"&gt;really killer rave track from the '90s&lt;/a&gt;. But more recently, to me, Bedrock is the new defacto boilerplate for working with WordPress.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://roots.io/bedrock/"&gt;Bedrock&lt;/a&gt; is a project by &lt;a href="https://roots.io"&gt;Roots&lt;/a&gt; that in short, &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improves the WordPress folder structure&lt;/li&gt;
&lt;li&gt;Adds full Composer support for dependency management&lt;/li&gt;
&lt;li&gt;Supports multi-stage environments through Dotenv&lt;/li&gt;
&lt;li&gt;Enhances security by moving the WP core outside of the web root, and by making use of &lt;a href="https://github.com/roots/wp-password-bcrypt"&gt;bcrypt&lt;/a&gt; hashed passwords instead of MD5.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Installation is pretty complex. Bare with me...&lt;/p&gt;

&lt;p&gt;&lt;code&gt;composer create-project roots/bedrock&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Did you survive that ordeal? 😉&lt;/p&gt;

&lt;p&gt;This will download Bedrock and install a few core dependencies via Composer. Once that's done, open your folder in your editor of choice and you'll see an &lt;code&gt;.env&lt;/code&gt; file ready for editing. Update all the things and then you should be good to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/zcCGBRQshGdt6/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/zcCGBRQshGdt6/giphy.gif" alt="gif of 2 men, one saying 'that was easy'" width="400" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few things to note:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your 'root' is now the &lt;code&gt;./web/&lt;/code&gt; folder. Things here will look a little different, as Bedrock cleverly abstracts everything into new locations.&lt;/li&gt;
&lt;li&gt;Because of this new location, you'll need to set up your MAMP root to be this folder, not the project root. Otherwise, if you're using nginx, set your &lt;code&gt;root&lt;/code&gt; to be this folder.&lt;/li&gt;
&lt;li&gt;Everything you're looking for - themes, plugins, uploads, etc - can be found in &lt;code&gt;./web/app&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Nice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PSA:&lt;/strong&gt; Here's a simple &lt;a href="https://github.com/iaremarkus/docker-wp-local"&gt;repo&lt;/a&gt; with Docker baked into it, that you can use for local development. I'm new to Docker, so this might not be a perfect solution, but I use it regularly for my projects and so far, so good.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plugins
&lt;/h2&gt;

&lt;p&gt;There are a few plugins we'll be using to manage our website's content. Thanks to the joys of Bedrock, we can use Composer to install these:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer require wpackagist-plugin/advanced-custom-fields
composer require wpackagist-plugin/acf-to-rest-api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://www.advancedcustomfields.com/"&gt;Advanced Custom Fields&lt;/a&gt; requires no introduction. &lt;a href="https://wordpress.org/plugins/acf-to-rest-api/"&gt;ACF-to-REST API&lt;/a&gt;, simply takes all your ACF data and dumps it into an &lt;code&gt;acf&lt;/code&gt; object within your REST data. So for example, if you have a field called &lt;code&gt;sub_title&lt;/code&gt;, this will be available in &lt;code&gt;mypost.acf.sub_title&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Lovely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Theme
&lt;/h2&gt;

&lt;p&gt;Our site is gonna be a 'headless' site, so we don't require a theme. We will, however, be adding a few bits &amp;amp; pieces of custom code to extend some REST endpoints, so for that, we can create the bare minimum of a WordPress theme:&lt;/p&gt;

&lt;p&gt;Simply make a folder &lt;code&gt;./web/app/themes/my-rest-site&lt;/code&gt; (or whatever you want to call it) and add an &lt;code&gt;index.php&lt;/code&gt;, &lt;code&gt;functions.php&lt;/code&gt; and &lt;code&gt;style.css&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We'll circle back to this later as we get to step 2.&lt;/p&gt;




&lt;p&gt;And that's that. You now have a Bedrock-powered WordPress site that's ready to be used as our CMS for our Gatsby site.&lt;/p&gt;

&lt;p&gt;Have you used Bedrock before? Do you have any tips for how you've made it work for your projects? I'm keen to hear all about it in the comments below.&lt;/p&gt;




&lt;p&gt;Next up, we'll be covering how to add custom data into our REST endpoint, and how to use WPGraphQL to &lt;code&gt;graphql&lt;/code&gt;-ify our site.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>bedrock</category>
      <category>docker</category>
      <category>composer</category>
    </item>
    <item>
      <title>Finding joy in WordPress again, with React, Gatsby &amp; GraphQL</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Tue, 26 Nov 2019 06:07:27 +0000</pubDate>
      <link>https://dev.to/iaremarkus/finding-joy-in-wordpress-again-with-react-gatsby-graphql-303j</link>
      <guid>https://dev.to/iaremarkus/finding-joy-in-wordpress-again-with-react-gatsby-graphql-303j</guid>
      <description>&lt;p&gt;I've worked with WordPress for over 10 years. It's a great platform, and there's no doubt that its come a long way and progressed from a simple blog publishing platform, to a more of a CMS (albeit through the addition of &lt;a href="https://www.advancedcustomfields.com/"&gt;some&lt;/a&gt; &lt;a href="https://www.gravityforms.com/"&gt;incredible&lt;/a&gt; &lt;a href="https://wordpress.org/plugins/custom-post-type-ui/"&gt;plugins&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;But the way that Automattic steam-rolled the community into adopting Gutenberg, combined with me being bored with WordPress and wanting a new challenge, led to me giving up on the platform and moving onto other things.&lt;/p&gt;

&lt;p&gt;Fast-forward 7 months and my new employer tasked me with a WordPress project (meh), but suggested we give &lt;a href="https://www.gatsbyjs.org/"&gt;Gatsby&lt;/a&gt; a try (huzzah). It's only been a couple weeks now, but I'm finding renewed joy and enthusiasm for the stack.&lt;/p&gt;

&lt;p&gt;Here's why.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. It keeps clients happy.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/XreQmk7ETCak0/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/XreQmk7ETCak0/giphy.gif" alt="gif of a teenage boy giving a cheesy thumbup" title="gif of a teenage boy giving a cheesy thumbup" width="320" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inspite of it being arguably out-performed by other systems like &lt;a href="https://laravel.com/"&gt;Laravel&lt;/a&gt; or &lt;a href="https://directus.io/"&gt;Directus&lt;/a&gt;, WordPress is still a great platform. And because of how mainstream it is, it's familiar to end-users and they're comfortable with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. It keeps you happy.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/MGdfeiKtEiEPS/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/MGdfeiKtEiEPS/giphy.gif" alt="a happy developer, coding and smiling" title="a happy developer, coding and smiling" width="500" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Stands to reason that if you're working with a fun stack, you're going to enjoy your job more. The combination of WordPress, React, Gatsby and GraphQL is just that - fun.&lt;/p&gt;

&lt;p&gt;Over the next couple weeks I will be creating some content around some  libraries, tips &amp;amp; tricks, methodologies and systems that I've put to use in this site build, and that have made work fun again.&lt;/p&gt;

&lt;p&gt;You can look forward to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A headless &amp;amp; more secure WordPress install with &lt;a href="https://roots.io/bedrock"&gt;Bedrock&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Extending the REST-API to extract the most from your CMS&lt;/li&gt;
&lt;li&gt;Setting up your front-end with &lt;a href="https://www.gatsbyjs.org/"&gt;Gatsby&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Understanding how Gatsby uses WordPress to 'build itself'&lt;/li&gt;
&lt;li&gt;Learning some key &lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; queries to extract what you need&lt;/li&gt;
&lt;li&gt;Swapping WordPress plugins, with Gatsby plugins, to do things like:

&lt;ul&gt;
&lt;li&gt;Form handling&lt;/li&gt;
&lt;li&gt;SEO &amp;amp; XML sitemaps&lt;/li&gt;
&lt;li&gt;Image optimisation&lt;/li&gt;
&lt;li&gt;and more...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Deploying a Gatsby site, and triggering builds with WordPress webhooks&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Join me on this journey, as I make WordPress development &lt;em&gt;fun&lt;/em&gt; again.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;PS: This post will be updated with links to the other posts in this series, as they are written.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>react</category>
      <category>gatsby</category>
      <category>javascript</category>
    </item>
    <item>
      <title>200+ Crypto Currency Logo's in SVG Format</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Tue, 07 Aug 2018 07:01:36 +0000</pubDate>
      <link>https://dev.to/iaremarkus/200-crypto-currency-logos-in-svg-format-41ok</link>
      <guid>https://dev.to/iaremarkus/200-crypto-currency-logos-in-svg-format-41ok</guid>
      <description>&lt;p&gt;Thought this might be useful to some folks here. Collected by the awesome &lt;a href="https://twitter.com/rebellenoire"&gt;@rebellenoire&lt;/a&gt;, these are all/most of the current Crypto Currency logos, in SVG format.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/wondergryphon/cryptocurrency-logos"&gt;https://github.com/wondergryphon/cryptocurrency-logos&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Busy building this resource into a site - kind of like iconmonster.com - to make them searchable &amp;amp; more easily usable. Probably also an &lt;code&gt;npm&lt;/code&gt; module too... Watch this space 😉&lt;/p&gt;

&lt;p&gt;(PS: This is my first time maintaining something like this. Would love some feedback on any ways I can make it better.)&lt;/p&gt;

</description>
      <category>svg</category>
      <category>logos</category>
      <category>crypto</category>
    </item>
    <item>
      <title>How do you look after your circulation?</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Fri, 19 May 2017 08:21:50 +0000</pubDate>
      <link>https://dev.to/iaremarkus/how-do-you-look-after-your-circulation</link>
      <guid>https://dev.to/iaremarkus/how-do-you-look-after-your-circulation</guid>
      <description>&lt;p&gt;Right leg crossed over left, or left over right. Or perhaps right leg under left, or left under right.&lt;/p&gt;

&lt;p&gt;â˜ï¸ I cycle through the above configurations and more, probably 50 times a day. But still, lately I'm finding that I get pins and needles more often, and for longer periods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/rzfpqvEWkESEU/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/rzfpqvEWkESEU/giphy.gif" alt="Sore legs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How do you guys find you look after your circulation when sitting for so long? &lt;/p&gt;

&lt;p&gt;I've been thinking of getting a bench or 'ledge' to put at my feet to rest with my legs up, instead of tucking them under me or something.&lt;/p&gt;

&lt;p&gt;I have a 3 monitor setup, so setting up a standing desk would be impractical.&lt;/p&gt;

&lt;p&gt;I'd love some suggestions/thoughts for how others deal with this occupational hazard :) &lt;/p&gt;

</description>
      <category>health</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Hi, I'm Mark</title>
      <dc:creator>Markus</dc:creator>
      <pubDate>Fri, 19 May 2017 08:13:25 +0000</pubDate>
      <link>https://dev.to/iaremarkus/hi-im-mark</link>
      <guid>https://dev.to/iaremarkus/hi-im-mark</guid>
      <description>&lt;p&gt;I have been coding for 13 years.&lt;/p&gt;

&lt;p&gt;You can find me on Twitter as &lt;a href="https://twitter.com/wondergryphon" rel="noopener noreferrer"&gt;@wondergryphon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I live in Cape Town.&lt;/p&gt;

&lt;p&gt;I mostly program in these languages: PHP, Javascript.&lt;/p&gt;

&lt;p&gt;I am currently learning more about Javascript.&lt;/p&gt;

&lt;p&gt;Nice to meet you.&lt;/p&gt;

</description>
      <category>introduction</category>
    </item>
  </channel>
</rss>
