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 @@
11#+title: skunkyart
22
33* fork
4fork of SkunkyArt (https://git.macaw.me/skunky/SkunkyArt). upstream
5hasn't updated in over a year, has open bugs, and its listed
6instances are dead links. this fork keeps it maintained.
4fork of SkunkyArt (https://git.macaw.me/skunky/SkunkyArt). upstream hasn't
5updated in over a year, has open bugs, and its listed instances are dead links.
6this fork keeps it maintained.
77
88* what
9skunkyart. alternative frontend for deviantart. works with no
10javascript.
9skunkyart. alternative frontend for deviantart. works with no javascript.
1110
12instances: INSTANCES.md
11instances: [[file:INSTANCES.md][INSTANCES.md]]
1312
1413* build
15build with the embed tag to embed presets in the binary. skip the
16tag if you'll modify templates. add -ldflags "-w -s" (gccgo:
17gccgoflags) to shrink the output:
14build with the embed tag to embed presets in the binary. skip the tag if you'll
15modify templates. add ~-ldflags "-w -s"~ (~gccgo: gccgoflags~) to shrink the output:
1816
1917#+begin_src sh
2018go build -tags embed -ldflags "-w -s"
2119#+end_src
2220
23that build reports its version as dev. stamp one in with
24-X main.version=<version>, as the release workflow does from the
25git tag.
21that build reports its version as dev. stamp one in with ~-X
22main.version=<version>~, as the release workflow does from the git tag.
2623
2724* docker
28multi-arch images (linux/amd64, linux/arm64) publish to ghcr on
29every release tag:
25multi-arch images (~linux/amd64~, ~linux/arm64~) publish to ghcr on every release
26tag:
3027
3128#+begin_src sh
3229docker pull ghcr.io/krazywarez/skunky-art:latest
3330#+end_src
3431
35each release is tagged 1.3.3, 1.3, 1, and latest. pin an exact
36version for reproducible upgrades. compose.example.yaml uses the
37image; compose.vpn_example.yml adds an optional vpn egress sidecar.
32each release is tagged 1.3.3, 1.3, 1, and latest. pin an exact version for
33reproducible upgrades. [[file:compose.example.yaml][compose.example.yaml]] uses the image;
34[[file:compose.vpn_example.yml][compose.vpn_example.yml]] adds an optional vpn egress sidecar.
3835
3936* config
40sample config in config.example.json. custom config with --config.
41directive details in SETUP.md.
37sample config in [[file:config.example.json][config.example.json]]. custom config with ~--config~. directive
38details in [[file:SETUP.md][SETUP.md]].
4239
4340* instances
44add yours by pr to instances.json and INSTANCES.md (or use
45--add-instance to write both), or open an issue.
41add yours by pr to [[file:instances.json][instances.json]] and [[file:INSTANCES.md][INSTANCES.md]] (or use ~--add-instance~ to
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