Hosted at https://pakkudon.github.io/pixel-art-gallery/
Most of these pieces were created in GIMP with a few earlier pieces created in Lospec's Pixel Editor. Images are either inspired by prompts from Lospec or Pixel Dailies or from other reference images.
The gallery itself is built using Next.js and TypeScript.
- Node (Built using v18 but may work with earlier versions)
- Yarn
- Clone repo
cd
into cloned repo and runyarn install
to install dependencies- Run
yarn dev
to start local development server - Visit
localhost:3000
or whichever port the above server has used to view the page
# Starts local development server
yarn dev
# Formats docs and code using Prettier
yarn format
# Lints `src` directory
yarn lint
# Runs unit tests
yarn test
# Generate production-ready assets. Artifacts are written to `dist/pixel-art-gallery`
# as application is hosted on subpath in production
yarn build
# Runs `build` script and pushes generated assets to Github Pages
yarn deploy
- Add new pixel art images to
public/img/<current year>
directory - Add JSON entry for new image to
src/data/<current year>.ts
. Entries are written in chronological order. Schema for JSON object is as follows:
{
src: "[filename minus `img/` prefix (eg: 2020/20200101.png)]",
title: "One-liner to describe piece",
description: `
Multiline string. Accepts markdown
`,
palette: {
name: "Name of palette",
url: "Link to palette. Optional",
colours: ["Array of colours for palette", "Optional"],
},
resolution: "widthxheight",
date: "Date in ISO 8601 format (eg: 2020-01-01T23:59+11:00)",
tags: ["words", "can contain spaces"],
aliases: ["optional list of other URL slugs to use for this entry"],
},
- Run development server to preview changes.
- Run
yarn deploy
to build assets, link previews and generate RSS feed. This script will also deploy these to Github pages
.
├── cypress - Integration tests
├── dist - Production-ready assets
├── doc - Diagrams and images used in documents
│ └── adr - Architecture Decision Records
├── public - Static assets
│ └── img - Pixel artwork
├── script - Helper scripts
└── src - Source code for React application
├── app - Top-level route handlers
├── components - Components reused across other components
├── data - Metadata for pixel art
└── util - Helper functions
This project uses Architecture Decision Records to capture the rationale (or lack thereof) for architecturally significant decisions. You can find them at doc/adr/.