caseydelorme.com.html 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <meta name="description" content="">
  8. <title>caseydelorme.com | Casey DeLorme's Portfolio / caseydelorme.com</title>
  9. <link rel="icon" type="image/x-icon" href="https://d2xxklvztqk0jd.cloudfront.net/favicon.ico" />
  10. <link rel="stylesheet" type="text/css" href="/css/main.css#c5e63ca">
  11. </head>
  12. <body>
  13. <header class="group">
  14. <h1><a href='/'>Casey DeLorme</a></h1>
  15. <nav>
  16. <ul>
  17. <li><a href="/projects">Projects</a></li>
  18. <li><a href="/resume.html">Resume</a></li>
  19. </ul>
  20. </nav>
  21. </header>
  22. <div class="content group">
  23. <h3><a href="https://github.com/cdelorme/caseydelorme.com">caseydelorme.com</a></h3>
  24. <p>This site began with the concept of a simplified static site generator, which resulted in writing <a href="accelerator.html">accelerator</a> first.</p>
  25. <p>The goal of this site was to replace a traditional dynamic system with raw static content and redirect the domain after.</p>
  26. <h4>design considerations</h4>
  27. <p>One major consideration was taking advantage of content delivery using AWS S3 and CloudFront services for any static or binary contents. This provides a significantly greater degree of scalability, in that I can create as many servers as necessary to deliver the websites static content, while binary/static files all come from one place.</p>
  28. <p>Right now that includes images, fonts, and some static third-party css and javascript. Because my own css and javascript are still under construction it made sense to include them using git-hash-versioning to ensure the browser won&rsquo;t cache incorrectly. <em>In the future I could continue to version but also minify and upload the changed files to S3 so I could benefit from using it for all &ldquo;static&rdquo; files.</em></p>
  29. <p>Another advantage to moving away from a dynamic website is that when dealing with basic static html we can enable simple caching directly through nginx without concern for other layers; there is no CMS to contend with or concern for &ldquo;immediately up-to-date&rdquo; contents.</p>
  30. <p>I decided to implement <code>https</code> because I intend to use the domain for experiments from time to time, <em>and also <a href="https://letsencrypt.org/">because it&rsquo;s free</a>.</em></p>
  31. <p>Finally, I am using git, as well as github, as a means of version control for my website now. This allows me to enable a simple cronjob to pull changes hourly, and know that I can update my site from any computer by simply pushing new static html to the github repository. This also means I have a backup, and a very simple distribution and deployment method.</p>
  32. <h4>future plans</h4>
  33. <p>I have two considerations for the next steps:</p>
  34. <ul>
  35. <li>possibly switch to <a href="https://gohugo.io/">hugo</a></li>
  36. <li>generate the site on the server after pulling changes and remove html from the repository</li>
  37. </ul>
  38. <p>The custom tool I built was more of a proof-of-concept, and while neat it isn&rsquo;t the best option out there. Another tool built in go with much greater stability is available, and might be worth trying.</p>
  39. <p>Right now I commit the parsed html directly to the repository, and while this means deployment is a simple <code>git pull</code>, it also means that the compiled version of every file is taking space up in the repository redundantly.</p>
  40. <p><em>Finally, I might move the css and javascript to the same S3 CDN that I use for images.</em></p>
  41. <p><strong><em>updated on 2017-07-18</em></strong></p>
  42. </div>
  43. <footer class="group">
  44. <a href='https://www.facebook.com/CaseyRDeLorme' class='link facebook'></a>
  45. <a href='https://www.linkedin.com/in/cdelorme' class='link linkedin'></a>
  46. <a href='https://www.youtube.com/user/LordOfElm' class='link youtube'></a>
  47. <a href='https://github.com/cdelorme' class='link github'></a>
  48. <a href='skype:casey.delorme?chat' class='link skype'></a>
  49. <div class="scripts">
  50. <script type="text/javascript" src="/js/main.js#c5e63ca" async></script>
  51. </div>
  52. </footer>
  53. </body>
  54. </html>