<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Tutorial on nublog</title><link>https://nublog.pages.dev/categories/tutorial/</link><description>Recent content in Tutorial on nublog</description><generator>Hugo -- 0.160.0</generator><language>en-us</language><lastBuildDate>Mon, 16 Jun 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://nublog.pages.dev/categories/tutorial/index.xml" rel="self" type="application/rss+xml"/><item><title>How I Built This Blog Using AWS and Hugo</title><link>https://nublog.pages.dev/posts/my-first-post/</link><pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate><guid>https://nublog.pages.dev/posts/my-first-post/</guid><description>&lt;p&gt;I just launched my personal blog! 🚀 In this first post, I want to share how I built it from scratch using &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt; and AWS services like IAM, S3, ACM, and CloudFront — all behind my custom domain, &lt;code&gt;nublog.cloud&lt;/code&gt; (though I have since migrated the site to &lt;strong&gt;&lt;a href="https://nublog.pages.dev"&gt;nublog.pages.dev&lt;/a&gt;&lt;/strong&gt;).&lt;/p&gt;
&lt;h2 id="-tools--services-i-used"&gt;🛠️ Tools &amp;amp; Services I Used&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hugo&lt;/strong&gt; – static site generator for blazing-fast content&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Amazon S3&lt;/strong&gt; – for hosting the static site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS Certificate Manager (ACM)&lt;/strong&gt; – for issuing a free SSL certificate&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Amazon CloudFront&lt;/strong&gt; – CDN for HTTPS support and global delivery&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IAM&lt;/strong&gt; – to manage secure access to AWS services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namecheap&lt;/strong&gt; – for my previous custom domain &lt;code&gt;nublog.cloud&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="-key-steps-i-followed"&gt;⚙️ Key Steps I Followed&lt;/h2&gt;
&lt;h3 id="1-set-up-hugo-locally"&gt;1. Set up Hugo locally&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo new site my-blog
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd my-blog
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#39;theme = &amp;#34;PaperMod&amp;#34;&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; hugo.toml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-added-a-post-like-this-one"&gt;2. Added a post (like this one!)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo new posts/my-first-post.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-built-the-site"&gt;3. Built the site&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-synced-it-to-s3"&gt;4. Synced it to S3&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;aws s3 sync ./public s3://my-blog-bucket --delete --profile myprofile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="5-created-an-acm-certificate-in-us-east-1"&gt;5. Created an ACM certificate in us-east-1&lt;/h3&gt;
&lt;p&gt;Used DNS validation via Namecheap and added the CNAME records.&lt;/p&gt;</description></item></channel></rss>