build site via zola

This commit is contained in:
Nico 2025-05-25 15:45:17 +10:00
parent 0ebd2218fd
commit beccccb61f
11 changed files with 199 additions and 48 deletions

1
.envrc Normal file
View file

@ -0,0 +1 @@
use flake

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.DS_Store
.direnv

16
config.toml Normal file
View file

@ -0,0 +1,16 @@
# The URL the site will be built for
base_url = "https://astolfo.org"
# Whether to automatically compile all Sass files in the sass directory
compile_sass = false
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = true
[markdown]
# Whether to do syntax highlighting
# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
highlight_code = true
[extra]
# Put all your custom variables here

5
content/_index.md Normal file
View file

@ -0,0 +1,5 @@
+++
title = "astolfo.org | homepage"
page_template = "homepage.html"
template = "homepage.html"
+++

61
flake.lock generated Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1747060738,
"narHash": "sha256-ByfPRQuqj+nhtVV0koinEpmJw0KLzNbgcgi9EF+NVow=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "eaeed9530c76ce5f1d2d8232e08bec5e26f18ec1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

30
flake.nix Normal file
View file

@ -0,0 +1,30 @@
{
# from https://ilanjoselevich.com/blog/building-websites-using-nix-flakes-and-zola/
description = "the website for astolfo.org";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
packages.website = pkgs.stdenv.mkDerivation rec {
pname = "astolfo.org";
version = "1.0";
src = ./src;
nativeBuildInputs = [ pkgs.zola ];
buildPhase = "zola build";
installPhase = "cp -r public $out";
};
defaultPackage = self.packages.${system}.website;
devShell = pkgs.mkShell {
packages = with pkgs; [
zola
];
};
}
);
}

View file

@ -1,50 +1,3 @@
<!DOCTYPE html>
<html lang="en-AU">
<head>
<title>astolfo.org</title>
</head>
<body>
<header>
<ul>
<li><a class="header-links" href="/store">store</a></li>
<li><a class="header-links" href="/blog">blog</a></li>
<li><a class="header-links" href="/services">services</a></li>
<li><a class="header-links" href="/about">about</a></li>
</ul>
</header>
<div id="landing" style="height: 70vh; max-height: 70vh;">
<div id="landing-inner">
<h1 id="float-header">
<span style="animation-delay: 0.1s;">a</span>
<span style="animation-delay: 0.2s;">s</span>
<span style="animation-delay: 0.3s;">t</span>
<span style="animation-delay: 0.4s;">o</span>
<span style="animation-delay: 0.5s;">l</span>
<span style="animation-delay: 0.6s;">f</span>
<span style="animation-delay: 0.7s;">o</span>
<span style="animation-delay: 0.8s;">.</span>
<span style="animation-delay: 0.9s;">o</span>
<span style="animation-delay: 1s; ">r</span>
<span style="animation-delay: 1.1s;">g</span>
</h1>
</div>
</div>
<footer>
<marquee id="footer-scroll" style="font-size: 13vw; width: 50%; box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; background-color: var(--accent2); border-radius: var(--rounding)">astolfo.org</marquee>
<!-- idk put astolfo in a train here, learn pixel art someday -->
<div>
<p>all text, html and css licensed under BSD0 unless noted otherwise.</p>
<hr>
<p>site build at commit [PUT COMMIT HERE]. source avaliable at git.astolfo.org/nico/astolfo.org</p>
</div>
</footer>
</body>
</html>
<style>
:root {
--text: black;
--accent: #ff69b4;
@ -162,4 +115,3 @@ footer * {
width: auto !important;
}
}
</style>

20
templates/blog.html Normal file
View file

@ -0,0 +1,20 @@
{% extends "chrome.html" %}/html>
{% block content %}
<div id="landing" style="height: 70vh; max-height: 70vh;">
<div id="landing-inner">
<h1 id="float-header">
<span style="animation-delay: 0.1s;">a</span>
<span style="animation-delay: 0.2s;">s</span>
<span style="animation-delay: 0.3s;">t</span>
<span style="animation-delay: 0.4s;">o</span>
<span style="animation-delay: 0.5s;">l</span>
<span style="animation-delay: 0.6s;">f</span>
<span style="animation-delay: 0.7s;">o</span>
<span style="animation-delay: 0.8s;">.</span>
<span style="animation-delay: 0.9s;">o</span>
<span style="animation-delay: 1s; ">r</span>
<span style="animation-delay: 1.1s;">g</span>
</h1>
</div>
</div>
{% endblock content %}

14
templates/blog_list.html Normal file
View file

@ -0,0 +1,14 @@
{% extends "chrome.html" %}/html>
{% block content %}
<h1 class="title">
{{ section.title }}
</h1>
<ul>
<!-- If you are using pagination, section.pages will be empty.
You need to use the paginator object -->
{% for page in section.pages %}
<li><a href="{{ page.permalink | safe }}">{{ page.title }}</a></li>
{% endfor %}
</ul>
{% endblock content %}

30
templates/chrome.html Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en-AU">
<head>
<title>astolfo.org</title>
<link rel="stylesheet" href={{ get_url(path="style.css") | safe }}>
</head>
<body>
<header>
<ul>
<li><a class="header-links" href="/store">store</a></li>
<li><a class="header-links" href="/blog">blog</a></li>
<li><a class="header-links" href="/services">services</a></li>
<li><a class="header-links" href="/about">about</a></li>
</ul>
</header>
{% block content %} {% endblock content %}
<footer>
<marquee id="footer-scroll" style="font-size: 13vw; width: 50%; box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; background-color: var(--accent2); border-radius: var(--rounding)">astolfo.org</marquee>
<!-- idk put astolfo in a train here, learn pixel art someday -->
<div>
<p>all text, html and css licensed under BSD0 unless noted otherwise.</p>
<hr>
<p>site build at commit [PUT COMMIT HERE]. source avaliable at git.astolfo.org/nico/astolfo.org</p>
</div>
</footer>
</body>
</html>

20
templates/homepage.html Normal file
View file

@ -0,0 +1,20 @@
{% extends "chrome.html" %}/html>
{% block content %}
<div id="landing" style="height: 70vh; max-height: 70vh;">
<div id="landing-inner">
<h1 id="float-header">
<span style="animation-delay: 0.1s;">a</span>
<span style="animation-delay: 0.2s;">s</span>
<span style="animation-delay: 0.3s;">t</span>
<span style="animation-delay: 0.4s;">o</span>
<span style="animation-delay: 0.5s;">l</span>
<span style="animation-delay: 0.6s;">f</span>
<span style="animation-delay: 0.7s;">o</span>
<span style="animation-delay: 0.8s;">.</span>
<span style="animation-delay: 0.9s;">o</span>
<span style="animation-delay: 1s; ">r</span>
<span style="animation-delay: 1.1s;">g</span>
</h1>
</div>
</div>
{% endblock content %}