Commit 028903ac81

028903ac81345a6d27dbc241940c8faec3629802

parent: 721f315f92

Verified · cmc

cmc <hello@cleberg.net> · 2026-09-11 01:22 UTC

Link local files in README and move TODO items to issues

README.org: rewrap text and turn local file references into org file links.

Remove TODO.md. Open items are now issues #1-#6; the embed item was
already done and the arenas item was declined.

Layout: unified · split

README.org +18 −21
@@ -1,45 +1,42 @@
1#+title: skunkyart 1#+title: skunkyart
2 2
3* fork 3* fork
4fork of SkunkyArt (https://git.macaw.me/skunky/SkunkyArt). upstream 4fork of SkunkyArt (https://git.macaw.me/skunky/SkunkyArt). upstream hasn't
5hasn't updated in over a year, has open bugs, and its listed 5updated in over a year, has open bugs, and its listed instances are dead links.
6instances are dead links. this fork keeps it maintained. 6this fork keeps it maintained.
7 7
8* what 8* what
9skunkyart. alternative frontend for deviantart. works with no 9skunkyart. alternative frontend for deviantart. works with no javascript.
10javascript.
11 10
12instances: INSTANCES.md 11instances: [[file:INSTANCES.md][INSTANCES.md]]
13 12
14* build 13* build
15build with the embed tag to embed presets in the binary. skip the 14build with the embed tag to embed presets in the binary. skip the tag if you'll
16tag if you'll modify templates. add -ldflags "-w -s" (gccgo: 15modify templates. add ~-ldflags "-w -s"~ (~gccgo: gccgoflags~) to shrink the output:
17gccgoflags) to shrink the output:
18 16
19#+begin_src sh 17#+begin_src sh
20go build -tags embed -ldflags "-w -s" 18go build -tags embed -ldflags "-w -s"
21#+end_src 19#+end_src
22 20
23that build reports its version as dev. stamp one in with 21that build reports its version as dev. stamp one in with ~-X
24-X main.version=<version>, as the release workflow does from the 22main.version=<version>~, as the release workflow does from the git tag.
25git tag.
26 23
27* docker 24* docker
28multi-arch images (linux/amd64, linux/arm64) publish to ghcr on 25multi-arch images (~linux/amd64~, ~linux/arm64~) publish to ghcr on every release
29every release tag: 26tag:
30 27
31#+begin_src sh 28#+begin_src sh
32docker pull ghcr.io/krazywarez/skunky-art:latest 29docker pull ghcr.io/krazywarez/skunky-art:latest
33#+end_src 30#+end_src
34 31
35each release is tagged 1.3.3, 1.3, 1, and latest. pin an exact 32each release is tagged 1.3.3, 1.3, 1, and latest. pin an exact version for
36version for reproducible upgrades. compose.example.yaml uses the 33reproducible upgrades. [[file:compose.example.yaml][compose.example.yaml]] uses the image;
37image; compose.vpn_example.yml adds an optional vpn egress sidecar. 34[[file:compose.vpn_example.yml][compose.vpn_example.yml]] adds an optional vpn egress sidecar.
38 35
39* config 36* config
40sample config in config.example.json. custom config with --config. 37sample config in [[file:config.example.json][config.example.json]]. custom config with ~--config~. directive
41directive details in SETUP.md. 38details in [[file:SETUP.md][SETUP.md]].
42 39
43* instances 40* instances
44add yours by pr to instances.json and INSTANCES.md (or use 41add yours by pr to [[file:instances.json][instances.json]] and [[file:INSTANCES.md][INSTANCES.md]] (or use ~--add-instance~ to
45--add-instance to write both), or open an issue. 42write both), or open an issue.
TODO.md deleted −34
@@ -1,34 +0,0 @@
1# TODO
2
3## v1.3.x
4
5- [ ] Clean up the messy code
6- [ ] Add search filters
7- [x] Make a port for FreeBSD
8- [ ] **Finish parsing the description**
9- [x] Implement strips in daily arts
10- [x] Fix the page navigation bug
11- [x] Make proper error display
12- [x] Make the units in the config more understandable
13- [ ] Add an instance checker for availability
14- [x] Add viewing of a user's liked arts
15- [ ] Add the ability to embed templates into the binary `[P]`
16- [x] Implement thumbnails and optimize CSS for small screens
17- [ ] Write a Makefile and a script for automatic instance deployment
18- [ ] Fix the emoji bug where some custom emotes may not display
19- [x] Add a `&filename` argument that serves the file with a properly formatted name
20- [x] Improve the caching system: add a rating for eviction and copy images into RAM
21
22## v1.4
23
24- [x] Implement an API
25- [x] Implement themes
26- [~] Switch to arenas in the cache — not doing this. An arena frees a whole
27 region at once, and the media cache evicts entries individually by score
28 (see `ageMemCache`), so entries would either outlive their eviction until
29 the whole arena went, or need one arena each, which is allocation with
30 extra bookkeeping. Arenas suit request-scoped allocation, not a
31 long-lived scored cache. They also remain behind `GOEXPERIMENT=arenas`,
32 unsupported and paused upstream, which every build and the Dockerfile
33 would have to carry.
34- [x] Implement a multilingual interface