diff options
| author | Christian Cleberg <[email protected]> | 2026-07-15 01:54:26 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-15 01:58:41 -0500 |
| commit | b1ad14553277d9d72a5e4b4462a52a2e2d0fdbb1 (patch) | |
| tree | 3ae0688125ffb7d3adcbeba439c5fbf36f2eddaf | |
| parent | 155a7b9ea6de609cdc8deb6ebef233013f23c9f0 (diff) | |
| download | skunky-art-b1ad14553277d9d72a5e4b4462a52a2e2d0fdbb1.tar.gz skunky-art-b1ad14553277d9d72a5e4b4462a52a2e2d0fdbb1.tar.bz2 skunky-art-b1ad14553277d9d72a5e4b4462a52a2e2d0fdbb1.zip | |
fix: remove russian language throughout
| -rwxr-xr-x | README.md | 40 | ||||
| -rwxr-xr-x | SETUP-RU.md | 42 | ||||
| -rwxr-xr-x | SETUP.md | 2 | ||||
| -rwxr-xr-x | app/api.go | 2 | ||||
| -rwxr-xr-x | app/cache.go | 2 | ||||
| -rwxr-xr-x | app/parsers.go | 2 | ||||
| -rwxr-xr-x | app/router.go | 2 | ||||
| -rwxr-xr-x | app/util.go | 4 | ||||
| -rwxr-xr-x | app/wrapper.go | 6 | ||||
| -rwxr-xr-x | static/templates-noembed.go | 2 |
10 files changed, 10 insertions, 94 deletions
@@ -8,7 +8,6 @@ Instances: [`INSTANCES.md`](INSTANCES.md) -# EN 🇺🇸 ## Description SkunkyArt 🦨 — an alternative frontend for DeviantArt that works entirely without JavaScript. @@ -32,42 +31,3 @@ To do this, you must either make a PR by adding your instance to the `instances.json` and `INSTANCES.md` files (you can use `--add-instance` cli-argument to automatically add the instance to these files) or create an Issue. - -## Acknowledgements -* [vlnst](https://git.bloat.cat/vlnst) — wrote a Docker file. -* [Лис⚛](https://go.kde.org/matrix/#/@fox:matrix.org) — helped me understand Go - and gave me a lot of useful advice on this language. -* [meoww](https://codeberg.org/meoww) — translated some sentences into English - and wrote a service for openrc - -# RU 🇷🇺 -## Описание -SkunkyArt 🦨 — альтернативный фронтенд к DeviantArt, который полностью работает -без JS (JavaScript). - -## Сборка -Рекомендуется производить сборку с тегом 'embed', поскольку он встраивает -заготовки в бинарный файл. Если вы планируете изменять заготовки, то не -используйте этот тег. Также вы можете добавить аргумент `-ldflags "-w -s"` (у -GCCGO он называется по-другому — `gccgoflags`) для уменьшения размера выходного -файла. Вот пример: - -`go build -tags embed -ldflags "-w -s"` - -## Настройка -Пример конфига находится в файле `config.example.json`. Чтобы указать свой -конфиг, используйте cli-аргумент `--config`. - -См. [`SETUP-RU.md`](SETUP-RU.md) для информации о настройки фронтенда. - -## Добавление инстанса в список -Чтобы это сделать, вы должны либо сделать PR, добавив в файлы `instances.json` и -`INSTANCES.md` свой инстанс (можете воспользоваться cli-аргументом -`--add-instance`, который автоматически это сделает), либо создать Issue. - -## Благодарности -* [vlnst](https://git.bloat.cat/vlnst) — написал Docker-файл. -* [Лис⚛](https://go.kde.org/matrix/#/@fox:matrix.org) — помог разобраться в Go и - много чего полезного посоветовал по этому языку. -* [meoww](https://codeberg.org/meoww) — перевела некоторые предложения на - английский язык и написала сервис для openrc diff --git a/SETUP-RU.md b/SETUP-RU.md deleted file mode 100755 index 3306d58..0000000 --- a/SETUP-RU.md +++ /dev/null @@ -1,42 +0,0 @@ -[English version 🇬🇧](SETUP.md) - -# Единицы измерения -Размер файла в кеше измеряется в мегабайтах.<br> -Единицы времени: -* `i` — минуты -* `h` — часы -* `w` — недели -* `m` — месяца -* `y` — года - -# Конфигурация -* `listen` — IP и порт для слушанья; заполняется по такой форме: ip:port -* `uri` — URI инстанса. Пример: `"uri":"/art/"` -> https://skunky.ebloid.ru/art/ -* `cache` — Система кеширования; по умолчанию выключена - * `enabled` — Состояние системы кеширования; требуется булёвое значение - * `path` — Полный путь до каталога, куда будет сохраняться кеш - * `lifetime` — Время жизни файла в кеше, требует целочисленное значение, дополненное суффиксом времени (см. 'Единицы времени') - * `max-size` — Максимальный размер файла - * `update-interval` — Интервал для автоматической ротации кеша -* `static-path` — Строка, являющаяся путём до статики. SkunkyArt при запуске скопирует содержимое этого каталога в ОЗУ. Однако, если вы собрали фронтенд с тегом 'embed', то этого не произайдёт -* `download-proxy` — Адрес прокси для загрузки файлов -* `user-agent` — Строка, которая используется в качестве User-Agent'а - -# Настройка обратного прокси -Если вы собираетесь хостить инстанс в Интернете, то вам следует настроить заголовок прокси [`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto). В противном случае, все ссылки на вашем инстансе будут вида "http". Ниже есть информация о том, как настроить обратное проксирование: - -Nginx: -```apache -server { - listen 443 ssl; - server_name skunky.example.com; - - # Если используется поддомен, то вместо ((BASE_URL)), укажите '/'. - location ((BASE_URL)) { - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header Host $host; - proxy_http_version 1.1; - proxy_pass http://((IP)):((PORT)); - } -} -```
\ No newline at end of file @@ -1,5 +1,3 @@ -[Версия на русском языке 🇷🇺](SETUP-RU.md) - # Units Maximum file size in megabytes, requires numeric value.<br> Time units: @@ -57,7 +57,7 @@ func (a API) sendMedia(d *devianter.Deviation) { } } -// TODO: сделать фильтры +// TODO: add filters func (a API) Random() { // Bounded retries: the loop used to be unbounded, and the DeviantArt-error // path never incremented attempt, so a single request could spin forever diff --git a/app/cache.go b/app/cache.go index e03db67..1cb8988 100755 --- a/app/cache.go +++ b/app/cache.go @@ -1,4 +1,4 @@ -// TODO: реализовать кеширование JSON и почистить код +// TODO: implement JSON caching and clean up the code package app import ( diff --git a/app/parsers.go b/app/parsers.go index 229b4b5..976c1b5 100755 --- a/app/parsers.go +++ b/app/parsers.go @@ -188,7 +188,7 @@ type text struct { To int } -// переписать весь этот пиздец нахуй +// TODO: rewrite this whole mess func ParseDescription(dscr devianter.Text) string { var parsedDescription strings.Builder TagBuilder := func(content string, tags ...string) string { diff --git a/app/router.go b/app/router.go index ac65c3d..13e8415 100755 --- a/app/router.go +++ b/app/router.go @@ -52,7 +52,7 @@ func Router() { return fileReaded } - // функция, что управляет всем + // the function that drives everything handle := func(w http.ResponseWriter, r *http.Request) { path := parsepath(r.URL.Path) Host = "http://" + r.Host diff --git a/app/util.go b/app/util.go index c886b29..1eecc13 100755 --- a/app/util.go +++ b/app/util.go @@ -261,13 +261,13 @@ func GetValueOfTag(t *html.Tokenizer) string { } } -// навигация по страницам +// page navigation type DeviationList struct { Pages int More bool } -// FIXME: на некоротрых артах первая страница может вызывать полное отсутствие панели навигации. +// FIXME: on some artworks the first page can make the navigation panel disappear entirely. func (s skunkyart) NavBase(c DeviationList) string { var list strings.Builder diff --git a/app/wrapper.go b/app/wrapper.go index 0f69159..9668ce0 100755 --- a/app/wrapper.go +++ b/app/wrapper.go @@ -167,7 +167,7 @@ func (s skunkyart) GRUser() { } } -// посты +// posts func (s skunkyart) Deviation(author, postname string) { id_search := regexp.MustCompile("[0-9]+").FindAllString(postname, -1) if len(id_search) < 1 { @@ -209,7 +209,7 @@ func (s skunkyart) Deviation(author, postname string) { } } - // хештэги + // hashtags for _, x := range post.Post.Deviation.Extended.Tags { var tag strings.Builder tag.WriteString(` <a href="`) @@ -270,7 +270,7 @@ func (s skunkyart) Search() { ss.Content, daError, err = devianter.PerformSearch(s.Query, s.Page, s.Type) case 'g', 'f': ss.Content, daError, err = devianter.PerformSearch(s.Query, s.Page, s.Type, s.Args.Get("usr")) - case 'r': // скраппер, поскольку девиантартовцы зажопили гостевое API для поиска групп + case 'r': // scraper, since DeviantArt withholds the guest API for group search var ( usernames = make(map[int]string) url strings.Builder diff --git a/static/templates-noembed.go b/static/templates-noembed.go index 7a3c541..c0dfe7f 100755 --- a/static/templates-noembed.go +++ b/static/templates-noembed.go @@ -91,7 +91,7 @@ func try(err error) { } } -/* сделано на основе https://github.com/psanford/memfs; требуется для корректной работы templates.ParseFS */ +/* based on https://github.com/psanford/memfs; required for templates.ParseFS to work correctly */ type fileInfo struct { name string } |
