Skip to content

ishchow/artishchow.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

artishchow.com

Personal art portfolio and gallery by Ishaat Chowdhury.

Built with Zola using a vendored Zallery theme. Images stored in Cloudflare R2, content managed via Sveltia CMS, deployed on Cloudflare Pages.

Architecture

Service Domain Purpose
Cloudflare Pages artishchow.com Static site hosting, auto-deploys from main
Cloudflare R2 images.artishchow.com Image storage (public bucket)
Sveltia CMS artishchow.com/admin/ Git-based CMS with editorial workflow

Project Structure

config.toml                  # Zola site config
content/artwork/<slug>.md    # Artwork posts (TOML frontmatter, flat files)
themes/zallery/              # Vendored theme (customized for remote images)
static/admin/                # Sveltia CMS (config.yml + index.html)
sass/                        # Site-level Sass overrides
templates/                   # Site-level template overrides

Prerequisites

  • Zola (static site generator)

Development

zola serve    # Local dev server with hot reload → http://127.0.0.1:1111
zola build    # Production build → ./public/
zola check    # Validate internal links

Adding Artwork

Each artwork post is a flat file at content/artwork/<slug>.md with TOML frontmatter:

+++
title = "Artwork Title"
description = "Optional description"
date = 2026-03-12
[taxonomies]
tags = ["Tag1", "Tag2"]
[extra]
thumbnail = "https://images.artishchow.com/20260312_D19_Thumbnail.jpg"
+++

{{ img(src="https://images.artishchow.com/20260312_D19_Doux.jpg", alt="Description") }}

Conventions

  • Slug format: YYYYMMDD-dN-title (e.g., 20260312-d19-doux)
  • Image filenames: YYYYMMDD_DN_Description.webp (e.g., 20251119_D4_Kasasagi.webp)
  • Thumbnails: 800×800, WebP format

Image Handling

The theme supports two image sources:

  • Remote (R2): URLs starting with http are used directly
  • Local: Filenames are processed through Zola's built-in resize_image()

New posts use R2 URLs. Older posts with colocated images continue to work.

Mobile Workflow

  1. Upload original + thumbnail to R2 via Cloudflare Dashboard
  2. Open artishchow.com/admin/ and sign in with a GitHub PAT
  3. Create a post — the CMS auto-prepends the R2 URL to bare filenames on save
  4. Save creates a PR (editorial workflow) — merge to deploy

License

Source code is MIT licensed. Content and artwork are © Ishaat Chowdhury. All rights reserved. The Zallery theme has its own license. See LICENSE.md for details.

Releases

No releases published

Packages

 
 
 

Contributors