{"data":{"site":{"siteMetadata":{"title":"Developerayo","author":"Shodipo Ayomide"}},"markdownRemark":{"id":"88f7f4c5-2f14-5870-9760-fe944562aa9f","excerpt":"CodeSandbox and Netlify are like a passenger and an Uber driver, the passenger enters into the car and the uber driver starts the car and keeps on moving…","html":"<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554445009/csb_to_netlify.png\"></p>\n<p>CodeSandbox and Netlify are like a passenger and an Uber driver, the passenger enters into the car and the uber driver starts the car and keeps on moving, CodeSandbox started with a super amazing idea by Ives van Hoorne the Creator of CodeSandbox and now works fulltime developing it.</p>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\"># Table of Contents\n- What is CodeSandbox\n- What is Netlify\n- Clients Templates on CodeSandbox\n- File Structure\n- File Structure Content\n- Claim your site\n- Closing Thoughts\n- Resources</code></pre></div>\n<h1>What is CodeSandbox</h1>\n<p>CodeSandbox is an online VSCode-like editor built for web applications development, It was built with a mindset to make projects sharing easy across teams and people. Get started with CodeSandbox here <a href=\"https://codesandbox.io\">https://codesandbox.io</a>.</p>\n<h1>What is Netlify</h1>\n<p>Netlify is a developers platform that automates codes, built in a way users will be able to simply push their code and the platform handles the rest.</p>\n<h1>Let’s get started</h1>\n<p>Firstly, visit your <a href=\"https://codesandbox.io\">https://codesandbox.io</a> dashboard and create a simple static site from one of the client templates.</p>\n<h2>List of client Templates on CodeSandbox</h2>\n<ul>\n<li>React.js (create-react-app)</li>\n<li>Vue.js (vue-cli)</li>\n<li>Angular.js (angular-cli)</li>\n<li>Preact.js (preact-cli)</li>\n<li>Vanilla (parcel)</li>\n<li>Cx.js (cxjs)</li>\n<li>Dojo (dojo/cli-create-app)</li>\n<li>Reason (reason)</li>\n<li>Svelte (svelte)</li>\n<li>Static (static)</li>\n</ul>\n<p>In this scenario, we would be using the React create-react-app template.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554201857/csb01.png\" width=\"600px\"></p>\n<h1>File Structure</h1>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">my-app/\n  package.json\n  public/\n    index.html\n  src/\n    index.js\n    index.css</code></pre></div>\n<p>For the project to build, these files must exist with exact filenames:</p>\n<ul>\n<li><code class=\"language-text\">public/index.html</code> is the page template;</li>\n<li><code class=\"language-text\">src/index.js is</code> the JavaScript entry point.</li>\n</ul>\n<p>You can delete or rename the other files.</p>\n<h2>File Structure Content</h2>\n<p><strong>src/index.js</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"js\"><pre class=\"language-js\"><code class=\"language-js\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">\"react\"</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> ReactDOM <span class=\"token keyword\">from</span> <span class=\"token string\">\"react-dom\"</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">import</span> <span class=\"token string\">\"./styles.css\"</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">App</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n    <span class=\"token operator\">&lt;</span>div className<span class=\"token operator\">=</span><span class=\"token string\">\"App\"</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>h2<span class=\"token operator\">></span>CodeSandbox <span class=\"token constant\">X</span> Netlify<span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>h2<span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>h3<span class=\"token operator\">></span>Deploying Static Sites to Netlify <span class=\"token keyword\">from</span> CodeSandbox<span class=\"token punctuation\">.</span><span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>h3<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n  <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n<span class=\"token keyword\">const</span> rootElement <span class=\"token operator\">=</span> document<span class=\"token punctuation\">.</span><span class=\"token function\">getElementById</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"root\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nReactDOM<span class=\"token punctuation\">.</span><span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token operator\">&lt;</span>App <span class=\"token operator\">/</span><span class=\"token operator\">></span><span class=\"token punctuation\">,</span> rootElement<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<p><strong>src/index.css</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.App</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">font-family</span><span class=\"token punctuation\">:</span> sans-serif<span class=\"token punctuation\">;</span>\n  <span class=\"token property\">text-align</span><span class=\"token punctuation\">:</span> center<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p><strong>public/index.html</strong></p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token doctype\">&lt;!DOCTYPE html></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">lang</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>en<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>head</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">charset</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>utf-8<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>viewport<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>width=device-width, initial-scale=1, shrink-to-fit=no<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>meta</span> <span class=\"token attr-name\">name</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>theme-color<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">content</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>#000000<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>link</span> <span class=\"token attr-name\">rel</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>manifest<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>%PUBLIC_URL%/manifest.json<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>link</span> <span class=\"token attr-name\">rel</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>shortcut icon<span class=\"token punctuation\">\"</span></span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>%PUBLIC_URL%/favicon.ico<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>title</span><span class=\"token punctuation\">></span></span>CodeSandbox X Netlify<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>title</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>head</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>noscript</span><span class=\"token punctuation\">></span></span>\n    You need to enable JavaScript to run this app.\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>noscript</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>div</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>root<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>div</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<p>You can create other files inside the <code class=\"language-text\">src</code> folder for faster rebuilds because only files inside the <code class=\"language-text\">src</code> folder are processed by Webpack. You need to put any JavaScript and CSS files inside <code class=\"language-text\">src</code>, otherwise, Webpack won’t see them.</p>\n<p>Next, you would have to click on <strong>file</strong> and Fork the Sandbox, Awesome! Now you have it all to yourself. you can customize it whichever way you desire.</p>\n<h1>Deploy to Netlify</h1>\n<p align=\"center\"><img src=\"http://res.cloudinary.com/developerayo/image/upload/v1554202547/csb02.png\" width=\"700px\"></p>\n<p>Once that’s done you should have something similar to what I have below.</p>\n<p align=\"center\"><img src=\"http://res.cloudinary.com/developerayo/image/upload/v1554240311/csb03.png\" width=\"700px\"></p>\n<p>Now, let’s create our GitHub repository directly from our CodeSandbox dashboard, click on the GitHub icon on the icon tag across your left.</p>\n<p align=\"center\"><img src=\"http://res.cloudinary.com/developerayo/image/upload/v1554243397/csb04.png\" width=\"700px\"></p>\n<p>Put in your desired name of repo and then click <strong>create repository</strong>, you should get the below, but then wait a few seconds for it to deploy.</p>\n<p align=\"center\"><img src=\"http://res.cloudinary.com/developerayo/image/upload/v1554243397/csb04.png\" width=\"700px\"></p>\n<p>You should get a loading screen like the below for some seconds.</p>\n<p align=\"center\"><img src=\"http://res.cloudinary.com/developerayo/image/upload/v1554244125/csb05.png\" width=\"700px\"></p>\n<p>Once that’s done, click on the Plus sign and refork the repo, Click again on the rocket button and click deploy on Netlify.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554244126/csb06.png\" width=\"700px\"></p>\n<p>Once deploy is clicked on Netlify, you will get a unique domain like csb-mqpoxl7wjx wait few seconds for it to build and deploy.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554244125/csb07.png\" width=\"700px\"></p>\n<p>Awesome🔥🔥🔥, You should get two buttons <strong>Visit</strong> and <strong>Claim Site</strong> click <strong>Visit</strong> to view the deployed site.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554244125/csb08.png\" width=\"700px\"></p>\n<p>Your deployed site should look like the image below if all steps were followed.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554244125/csb09.png\" width=\"700px\"></p>\n<h1>Claim your site</h1>\n<p>Once deployed you would see a blue button named Claim Site click it,</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554583068/csb_claim.png\" width=\"700px\"></p>\n<p>Once that’s clicked, you would be redirected to a new page on Netlify that looks like the image below, you just have to add it to your netlify dashboard.</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554583068/csb_claim2.png\" width=\"700px\"></p>\n<p>Your CodeSandbox site has successfully been added to the list of your site’s hosted on Netlify</p>\n<p align=\"center\"><img src=\"https://res.cloudinary.com/developerayo/image/upload/v1554583067/csb_claim3.png\" width=\"700px\"></p>\n<h1>Closing Thoughts</h1>\n<p>We’ve only scratched the surface with this Deploying Static Sites from CodeSandbox to netlify article. I hope you’ve enjoyed learning how to Deploying Static Sites from CodeSandbox to netlify.</p>\n<p>Read more on Netlify via the official Netlify Docs and use CodeSandbox as your default live editor its amazing if you are looking forward to collaborating with multiple people on a single project. Read more here, <a href=\"https://codesandbox.io/docs\">Documentation - CodeSandbox Documentation</a></p>\n<p>Thanks to <a href=\"https://twitter.com/CompuIves\">Ives van Hoorne</a>, <a href=\"https://twitter.com/NikkitaFTW\">Sara Vieira</a>  and others behind this helping us maintain and improve this amazing platfrom.</p>\n<h1>Resources</h1>\n<p>Link to <a href=\"https://github.com/Developerayo/react-codesandbox-to-netlify\">GitHub</a><br>\nLink to <a href=\"https://codesandbox.io/s/mqpoxl7wjx\">CodeSandbox</a><br>\nCodeSandbox-client on <a href=\"https://github.com/CompuIves/codesandbox-client\">GitHub</a>.</p>","timeToRead":4,"frontmatter":{"title":"Deploying Static Sites to Netlify from CodeSandbox","date":"April 15, 2019","description":"In this article, we are going to be having a walk through deploying your static application from CodeSandbox to Netlify."}}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/deploying-startic-sites-from-codesandbox-to-netlify/","previous":{"fields":{"slug":"/deploying-apps-to-github-using-tortoisegit/"},"frontmatter":{"title":"Deploying Apps to GitHub using TortoiseGIT"}},"next":{"fields":{"slug":"/getting-started-with-rasberry-pi-3/"},"frontmatter":{"title":"Getting started with Raspberry Pi 3"}}}}