Fractal Forest
Better Portable Graphics module for After Dark. Fractal Forest adds support for Fabrice Bellard's BPG Image format.
Setup
None required.
Installation
-
Copy the contents of this repository into a directory called
themes/fractal-forest
under the root of your After Dark site. -
Add
fractal-forest
as a theme component to your After Dark siteconfig.toml
, e.g.theme = ["fractal-forest","after-dark"] -
Add and specify settings for the module in your After Dark site config, e.g.
[params.modules.fractal_forest]enabled = true # Optional, set false to disable moduledecoders = ["bpgdec8", # 8-bit only javascript decoder without animation"bpgdec", # > 8-bit javascript decoder without animation"bpgdec8a" # 8-bit javascript decoder with animation]crossorigin = "anonymous" # Optional, sets CORS attribute -
Build and deploy your After Dark site.
For additional information please see BPG Image format.
Development
For development, install Docker on your machine:
Then build the codecs with docker build
.
To adjust the version of bpg used simply modify LIBBPG_VERSION
in the Dockerfile
for desired version and rebuild. If you're on a multicore system adjust CPU_CORES
to decrease compilation time.
Docker build produces an intermediate container image with libbpg source and result of compilation. It also copyies the codecs into a busybox image.
To access the full libbpg
source run:
$ docker run -it 30c982469f98
Where 30c982469f98
is the image id of the intermediate step.
To access just the codecs run:
$ docker run -it 712e9ce47e86
Where 712e9ce47e86
is the image id of the final build step.
To update the javascript decoders in static/js/bpg
run:
$ docker run --rm --entrypoint tar 712e9ce47e86 cC /var/www/ . | tar xvC static/js
Where 712e9ce47e86
is the image id of the final build step.
Reference the libbpg
mirror for additional compilation settings, README
and Makefile
. See the Docker Documentation for help with Docker.
Contributing
Please squash commits and use Convention Commit messages. Run npm run commit
after installing NPM dev dependencies for help creating conventional commit messages.
Rights
Copyright (C) 2018, 2019 by Josh Habdas jhabdas@protonmail.com
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
The text of the above license is included in the file COPYING in the source.