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