This website is statically generated thanks to Astro, a new (1.0.0-rc.1 at the moment) all-in-one web framework for building fast, content-focused websites. Here are some of its features:
- Component Islands: Interactive UI component on an otherwise static page of HTML.
- Edge-ready: Deploy anywhere, even a global edge runtime like Deno or Cloudflare.
- UI-agnostic: Supports React, Preact, Svelte, Vue, Solid, Lit and more.
The folder structure of this website looks something like this:
. ├── public/ │ └── assets └── src/ ├── components/ ├── layouts/ ├── pages/ ├── scripts/ └── style/
Page layouts are in the
src/layouts folder while
src/components/ is where I
put anything that I want to re-use inside pages. All client side JS is put into
All global styles are in
src/styles/ and written with
SASS. Individual page or component styles are in each
page or component file inside the
Source code: https://github.com/daniele-salvagni/dan.salvagni.io
The stack mentioned above is replacing the following one:
Gulp is used to automate the build process. The base of the site generator is Metalsmith, the stylesheets are compiled from SASS using the Bourbon library and Neat for the responsive grid. Templates are written with Handlebars and the content in Markdown with YAML frontmatter. Comments to the blog posts are retrieved from this repository’s issue page using GitHub’s API and rendered using Vue.js.
Last commit with the old stack on Github: 49d02f4