12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="">
- <title>caseydelorme.com | Casey DeLorme's Portfolio / caseydelorme.com</title>
- <link rel="icon" type="image/x-icon" href="https://d2xxklvztqk0jd.cloudfront.net/favicon.ico" />
- <link rel="stylesheet" type="text/css" href="/css/main.css#3ff6967">
- </head>
- <body>
- <header class="group">
- <h1><a href='/'>Casey DeLorme</a></h1>
- <nav>
- <ul>
- <li><a href="/projects">Projects</a></li>
- <li><a href="/resume.html">Resume</a></li>
- </ul>
- </nav>
- </header>
- <div class="content group">
- <h3><a href="https://github.com/cdelorme/caseydelorme.com">caseydelorme.com</a></h3>
- <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>
- <p>The goal of this site was to replace a traditional dynamic system with raw static content and redirect the domain after.</p>
- <h4>design considerations</h4>
- <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>
- <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’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 “static” files.</em></p>
- <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 “immediately up-to-date” contents.</p>
- <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’s free</a>.</em></p>
- <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>
- <h4>future plans</h4>
- <p>I have two considerations for the next steps:</p>
- <ul>
- <li>possibly switch to <a href="https://gohugo.io/">hugo</a></li>
- <li>generate the site on the server after pulling changes and remove html from the repository</li>
- </ul>
- <p>The custom tool I built was more of a proof-of-concept, and while neat it isn’t the best option out there. Another tool built in go with much greater stability is available, and might be worth trying.</p>
- <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>
- <p><em>Finally, I might move the css and javascript to the same S3 CDN that I use for images.</em></p>
- <p><strong><em>updated on 2017-07-18</em></strong></p>
- </div>
- <footer class="group">
- <a href='https://www.facebook.com/CaseyRDeLorme' class='link facebook'></a>
- <a href='https://www.linkedin.com/in/cdelorme' class='link linkedin'></a>
- <a href='https://www.youtube.com/user/LordOfElm' class='link youtube'></a>
- <a href='https://github.com/cdelorme' class='link github'></a>
- <a href='skype:casey.delorme?chat' class='link skype'></a>
- <div class="scripts">
- <script type="text/javascript" src="/js/main.js#3ff6967" async></script>
- </div>
- </footer>
- </body>
- </html>
|