About this website

Sun Jan 29 2023


About creating and publishing this website.


About

The source code found here isn’t the actual code I wrote. I’m running a Node.js server locally and using wget command to make a snapshot of the website.

The command I use is:

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent -e robots=off http://localhost:3000

Then I just copy the files with rsync excluding some of the files I don’t want to change:

rsync -av --delete --exclude=.git --exclude=CNAME --exclude=robots.txt "./localhost:3000/" "./website"

A static site generated like that is published through GitHub pages.

This has several advantages:

For example, the body of the gallery page looks like this in Node.js:

<body>
    <%- include('../partials/header') %>

    <div class="container main-container">
        <div class="gallery" id="gallery">
            <% for(var i=1; i < files.length; i++) {%>
                <% let image = "images/privatePhotos/small/" + files[i]["image"] %>
                <% let thumbnail = "images/privatePhotos/thumbnails/" + thumbnails[i] %>
                <div class="mb-3 pics animation all 2">
                    <a href="<%= image %>"
                        data-pswp-width="<%= files[i]["width"] %>" 
                        data-pswp-height="<%= files[i]["height"] %>">
                        <img class="img-fluid" src="<%= thumbnail %>" alt="" />
                    </a>
                </div>
            <% } %>
        </div>
    </div>

    <%- include('../partials/footer') %>
</body>

which results in this static file