diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c935bc8dd56aac090c338b37d07e1c06fa9f23aa..6e94c2c2e786173cc275e215e2a7d7d7fffa266c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,53 +1,66 @@
# See https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
include:
- - 'https://gitlab.com/Cynerd/gitlab-ci-nix/-/raw/master/template.yml'
-
-stages:
- - build
- - comment
-
-variables:
- NIX_CACHE_HOME: "./nix-cache"
+ - local: .gitlab/build-year.yml
+ inputs:
+ year: 2025
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+ - local: .gitlab/build-year.yml
+ inputs:
+ year: 2024
+ rules:
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
build:
- extends: .nix
+ image: python:3-alpine
+ stage: build
rules:
- - if: $CI_PIPELINE_SOURCE == $CI_PIPELINE_SOURCE # Truly terrible syntax (otherwise, wonβt run during MR as a side effect of the rule in comment )
- stage: "build"
- cache:
- key: nix-user-cache
- paths:
- - nix-cache
+ - when: always
script:
- - NIX_CACHE_HOME=$(pwd)/nix-cache
- - "nix run --extra-experimental-features nix-command --extra-experimental-features flakes nixpkgs/25.05#python3 -- ./tools/merge_data.py ./entries atlas2024.json"
- - "nix run --extra-experimental-features nix-command --extra-experimental-features flakes nixpkgs/25.05#python3 -- ./tools/merge_data.py ./entries2025 atlas2025.json"
+ - python ./tools/merge_data.py ./entries/2024 ./atlas2024.json
+ - python ./tools/merge_data.py ./entries/2025 ./atlas2025.json
artifacts:
- expire_in: "1 year"
+ expire_in: "1 hour"
expose_as: "atlas_json"
paths:
- "atlas2024.json"
- "atlas2025.json"
comment:
- extends: .nix
- stage: "comment"
+ image: alpine
+ stage: .post
rules:
- if: "$CI_PIPELINE_SOURCE == 'merge_request_event'"
- cache:
- key: nix-user-cache
- paths:
- - nix-cache
+ changes:
+ paths:
+ - entries/**/*.json
+ dependencies:
+ - build
+ needs:
+ - build
+ before_script:
+ - apk add curl jq git
script:
- # Here are the comments that will always be added
- # - DOCUMENTATION="Did you update the corresponding documentation?"
- # Here we parse them into URL
- # - DOCUMENTATION_PARSED=$(echo $DOCUMENTATION | sed 's/ /%20/g')
- - NIX_CACHE_HOME=$(pwd)/nix-cache
- - ATLAS2024_JSON_URL=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/refs/merge-requests/$CI_MERGE_REQUEST_IID/head/raw/atlas2024.json?job=build
- - ATLAS2025_JSON_URL=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/refs/merge-requests/$CI_MERGE_REQUEST_IID/head/raw/atlas2025.json?job=build
- - BODY="You can preview the data [here for 2024](https://atlas.mariusdavid.fr?atlas=$(nix --extra-experimental-features nix-command --extra-experimental-features flakes run nixpkgs/25.05#urlencode -- $ATLAS2024_JSON_URL)) and [here for 2025](https://atlas2025.mariusdavid.fr?atlas=$(nix --extra-experimental-features nix-command --extra-experimental-features flakes run nixpkgs/25.05#urlencode -- $ATLAS2025_JSON_URL))."
- - echo $BODY
- # And finally we post them on your merge request!
- - 'curl --request POST --header "PRIVATE-TOKEN: ${GITLAB_CI_COMMENT_API_KEY}" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes" --data-urlencode "body=$BODY"'
+ - |
+ # π Build MR Comment Body
+ MR_BODY=$(
+ echo "Preview links: *(β Links below will load files from this MR, exercise caution β )*"
+ git diff --name-only origin/main HEAD -- entries/**/*.json | while read line; do
+ YEAR=${line##entries/}
+ YEAR=${YEAR%/*}
+ ID=$(jq .id "$line")
+ NAME=$(jq .name "$line")
+
+ JOB_ARTIFACT="$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/refs/merge-requests/$CI_MERGE_REQUEST_IID/head/raw/atlas$YEAR.json?job=build"
+ PREVIEW_URL="https://$YEAR.canvas-atlas.fediverse.events?atlas=$(jq -rn --arg x "$JOB_ARTIFACT" '$x|@uri')#$ID"
+
+ echo "* [$YEAR - $NAME]($PREVIEW_URL)"
+ done
+ )
+ - |
+ # π§ Post comment on MR
+ curl --fail-with-body -X POST \
+ --header "PRIVATE-TOKEN: ${GITLAB_CI_COMMENT_API_KEY}" \
+ --data-urlencode "body=$MR_BODY" \
+ "$CI_API_V4_URL/projects/$CI_PROJECT_ID/merge_requests/$CI_MERGE_REQUEST_IID/notes"
diff --git a/.gitlab/build-year.yml b/.gitlab/build-year.yml
new file mode 100644
index 0000000000000000000000000000000000000000..59b4f6e70418d32a441a7dfb25dec7481836f9b8
--- /dev/null
+++ b/.gitlab/build-year.yml
@@ -0,0 +1,41 @@
+spec:
+ inputs:
+ year:
+ type: string
+---
+build $[[ inputs.year ]]:
+ image: python:3-alpine
+ stage: build
+ before_script:
+ - apk add git git-lfs
+ script:
+ - git lfs install && git lfs pull
+ - mkdir -p ./web/atlas
+ - python ./tools/merge_data.py ./entries/$[[ inputs.year ]] ./web/atlas/$[[ inputs.year ]].json
+ - python ./tools/pre_process.py $[[ inputs.year ]] ./web
+ - rm -f ./web/index_template.html
+ artifacts:
+ expire_in: 1 hour
+ expose_as: atlas_$[[ inputs.year ]]
+ paths:
+ - ./web
+
+deploy $[[ inputs.year ]]:
+ image: alpine
+ stage: deploy
+ dependencies:
+ - build $[[ inputs.year ]]
+ needs:
+ - build $[[ inputs.year ]]
+ before_script:
+ - apk add curl zip
+ script:
+ - |
+ # π Creating zip
+ zip -r archive.zip web
+ - |
+ # β¨ Send artifact to deployer
+ curl -X POST --fail-with-body \
+ -H "Authorization: Bearer $DEPLOY_KEY_$[[ inputs.year ]]" \
+ -F "file=@archive.zip" \
+ -s -o /dev/null -w "Deploy Status: %{http_code}" https://deploy.sc07.company/deploy
diff --git a/entries/.keep b/entries/2024/.keep
similarity index 100%
rename from entries/.keep
rename to entries/2024/.keep
diff --git a/entries/16_bit_mario_mario_kart_.json b/entries/2024/16_bit_mario_mario_kart_.json
similarity index 100%
rename from entries/16_bit_mario_mario_kart_.json
rename to entries/2024/16_bit_mario_mario_kart_.json
diff --git a/entries/502_bad_gateway.json b/entries/2024/502_bad_gateway.json
similarity index 100%
rename from entries/502_bad_gateway.json
rename to entries/2024/502_bad_gateway.json
diff --git a/entries/8_bit_link_the_legend_of_zelda_.json b/entries/2024/8_bit_link_the_legend_of_zelda_.json
similarity index 100%
rename from entries/8_bit_link_the_legend_of_zelda_.json
rename to entries/2024/8_bit_link_the_legend_of_zelda_.json
diff --git a/entries/8_bit_mario_super_mario_.json b/entries/2024/8_bit_mario_super_mario_.json
similarity index 100%
rename from entries/8_bit_mario_super_mario_.json
rename to entries/2024/8_bit_mario_super_mario_.json
diff --git a/entries/a_completly_accurate_depiction_of_a_irl_friend_of_mine_.json b/entries/2024/a_completly_accurate_depiction_of_a_irl_friend_of_mine_.json
similarity index 100%
rename from entries/a_completly_accurate_depiction_of_a_irl_friend_of_mine_.json
rename to entries/2024/a_completly_accurate_depiction_of_a_irl_friend_of_mine_.json
diff --git a/entries/alastor_from_hazbin_hotel.json b/entries/2024/alastor_from_hazbin_hotel.json
similarity index 100%
rename from entries/alastor_from_hazbin_hotel.json
rename to entries/2024/alastor_from_hazbin_hotel.json
diff --git a/entries/among_us_red_crewmate.json b/entries/2024/among_us_red_crewmate.json
similarity index 100%
rename from entries/among_us_red_crewmate.json
rename to entries/2024/among_us_red_crewmate.json
diff --git a/entries/android_bugdroid.json b/entries/2024/android_bugdroid.json
similarity index 100%
rename from entries/android_bugdroid.json
rename to entries/2024/android_bugdroid.json
diff --git a/entries/antifa_symbol.json b/entries/2024/antifa_symbol.json
similarity index 100%
rename from entries/antifa_symbol.json
rename to entries/2024/antifa_symbol.json
diff --git a/entries/aperture_science.json b/entries/2024/aperture_science.json
similarity index 100%
rename from entries/aperture_science.json
rename to entries/2024/aperture_science.json
diff --git a/entries/arch_linux_logo.json b/entries/2024/arch_linux_logo.json
similarity index 100%
rename from entries/arch_linux_logo.json
rename to entries/2024/arch_linux_logo.json
diff --git a/entries/arecibo_message.json b/entries/2024/arecibo_message.json
similarity index 100%
rename from entries/arecibo_message.json
rename to entries/2024/arecibo_message.json
diff --git a/entries/ariane_6.json b/entries/2024/ariane_6.json
similarity index 100%
rename from entries/ariane_6.json
rename to entries/2024/ariane_6.json
diff --git a/entries/australian_flag_.json b/entries/2024/australian_flag_.json
similarity index 100%
rename from entries/australian_flag_.json
rename to entries/2024/australian_flag_.json
diff --git a/entries/austria_flag.json b/entries/2024/austria_flag.json
similarity index 100%
rename from entries/austria_flag.json
rename to entries/2024/austria_flag.json
diff --git a/entries/balatro.json b/entries/2024/balatro.json
similarity index 100%
rename from entries/balatro.json
rename to entries/2024/balatro.json
diff --git a/entries/belgium_flag.json b/entries/2024/belgium_flag.json
similarity index 100%
rename from entries/belgium_flag.json
rename to entries/2024/belgium_flag.json
diff --git a/entries/bender_futurama_.json b/entries/2024/bender_futurama_.json
similarity index 100%
rename from entries/bender_futurama_.json
rename to entries/2024/bender_futurama_.json
diff --git a/entries/bigger_triforce.json b/entries/2024/bigger_triforce.json
similarity index 100%
rename from entries/bigger_triforce.json
rename to entries/2024/bigger_triforce.json
diff --git a/entries/biggest_triforce.json b/entries/2024/biggest_triforce.json
similarity index 100%
rename from entries/biggest_triforce.json
rename to entries/2024/biggest_triforce.json
diff --git a/entries/bisexual_flag.json b/entries/2024/bisexual_flag.json
similarity index 100%
rename from entries/bisexual_flag.json
rename to entries/2024/bisexual_flag.json
diff --git a/entries/blahaj_zone_mascot.json b/entries/2024/blahaj_zone_mascot.json
similarity index 100%
rename from entries/blahaj_zone_mascot.json
rename to entries/2024/blahaj_zone_mascot.json
diff --git a/entries/blinky_friends_vs_pacman.json b/entries/2024/blinky_friends_vs_pacman.json
similarity index 100%
rename from entries/blinky_friends_vs_pacman.json
rename to entries/2024/blinky_friends_vs_pacman.json
diff --git a/entries/blinky_pacman_.json b/entries/2024/blinky_pacman_.json
similarity index 100%
rename from entries/blinky_pacman_.json
rename to entries/2024/blinky_pacman_.json
diff --git a/entries/blobhaj_witch.json b/entries/2024/blobhaj_witch.json
similarity index 100%
rename from entries/blobhaj_witch.json
rename to entries/2024/blobhaj_witch.json
diff --git a/entries/block_o.json b/entries/2024/block_o.json
similarity index 100%
rename from entries/block_o.json
rename to entries/2024/block_o.json
diff --git a/entries/blue_butterfly.json b/entries/2024/blue_butterfly.json
similarity index 100%
rename from entries/blue_butterfly.json
rename to entries/2024/blue_butterfly.json
diff --git a/entries/brandon_sanderson_s_cosmere.json b/entries/2024/brandon_sanderson_s_cosmere.json
similarity index 100%
rename from entries/brandon_sanderson_s_cosmere.json
rename to entries/2024/brandon_sanderson_s_cosmere.json
diff --git a/entries/brown_chicken_stardew_valley_.json b/entries/2024/brown_chicken_stardew_valley_.json
similarity index 100%
rename from entries/brown_chicken_stardew_valley_.json
rename to entries/2024/brown_chicken_stardew_valley_.json
diff --git a/entries/bulgaria_flag.json b/entries/2024/bulgaria_flag.json
similarity index 100%
rename from entries/bulgaria_flag.json
rename to entries/2024/bulgaria_flag.json
diff --git a/entries/canvas_logo.json b/entries/2024/canvas_logo.json
similarity index 100%
rename from entries/canvas_logo.json
rename to entries/2024/canvas_logo.json
diff --git a/entries/cccac.json b/entries/2024/cccac.json
similarity index 100%
rename from entries/cccac.json
rename to entries/2024/cccac.json
diff --git a/entries/cece_s_otomo.json b/entries/2024/cece_s_otomo.json
similarity index 100%
rename from entries/cece_s_otomo.json
rename to entries/2024/cece_s_otomo.json
diff --git a/entries/chaosknoten.json b/entries/2024/chaosknoten.json
similarity index 100%
rename from entries/chaosknoten.json
rename to entries/2024/chaosknoten.json
diff --git a/entries/chicken_egg_stardew_valley_.json b/entries/2024/chicken_egg_stardew_valley_.json
similarity index 100%
rename from entries/chicken_egg_stardew_valley_.json
rename to entries/2024/chicken_egg_stardew_valley_.json
diff --git a/entries/chloe_price.json b/entries/2024/chloe_price.json
similarity index 100%
rename from entries/chloe_price.json
rename to entries/2024/chloe_price.json
diff --git a/entries/clyde_friends_vs_pacman.json b/entries/2024/clyde_friends_vs_pacman.json
similarity index 100%
rename from entries/clyde_friends_vs_pacman.json
rename to entries/2024/clyde_friends_vs_pacman.json
diff --git a/entries/coat_of_arms_of_agrunas.json b/entries/2024/coat_of_arms_of_agrunas.json
similarity index 100%
rename from entries/coat_of_arms_of_agrunas.json
rename to entries/2024/coat_of_arms_of_agrunas.json
diff --git a/entries/coat_of_arms_of_ukraine.json b/entries/2024/coat_of_arms_of_ukraine.json
similarity index 100%
rename from entries/coat_of_arms_of_ukraine.json
rename to entries/2024/coat_of_arms_of_ukraine.json
diff --git a/entries/couleur.json b/entries/2024/couleur.json
similarity index 100%
rename from entries/couleur.json
rename to entries/2024/couleur.json
diff --git a/entries/counter_strike_initials.json b/entries/2024/counter_strike_initials.json
similarity index 100%
rename from entries/counter_strike_initials.json
rename to entries/2024/counter_strike_initials.json
diff --git a/entries/croatia_flag.json b/entries/2024/croatia_flag.json
similarity index 100%
rename from entries/croatia_flag.json
rename to entries/2024/croatia_flag.json
diff --git a/entries/crux.json b/entries/2024/crux.json
similarity index 100%
rename from entries/crux.json
rename to entries/2024/crux.json
diff --git a/entries/czechia_flag.json b/entries/2024/czechia_flag.json
similarity index 100%
rename from entries/czechia_flag.json
rename to entries/2024/czechia_flag.json
diff --git a/entries/d_e_k_a.json b/entries/2024/d_e_k_a.json
similarity index 100%
rename from entries/d_e_k_a.json
rename to entries/2024/d_e_k_a.json
diff --git a/entries/dannebrog_danish_flag_.json b/entries/2024/dannebrog_danish_flag_.json
similarity index 100%
rename from entries/dannebrog_danish_flag_.json
rename to entries/2024/dannebrog_danish_flag_.json
diff --git a/entries/debian_logo.json b/entries/2024/debian_logo.json
similarity index 100%
rename from entries/debian_logo.json
rename to entries/2024/debian_logo.json
diff --git a/entries/dn42.json b/entries/2024/dn42.json
similarity index 100%
rename from entries/dn42.json
rename to entries/2024/dn42.json
diff --git a/entries/dominion.json b/entries/2024/dominion.json
similarity index 100%
rename from entries/dominion.json
rename to entries/2024/dominion.json
diff --git a/entries/donotsta_re.json b/entries/2024/donotsta_re.json
similarity index 100%
rename from entries/donotsta_re.json
rename to entries/2024/donotsta_re.json
diff --git a/entries/duck_stardew_valley_.json b/entries/2024/duck_stardew_valley_.json
similarity index 100%
rename from entries/duck_stardew_valley_.json
rename to entries/2024/duck_stardew_valley_.json
diff --git a/entries/duke.json b/entries/2024/duke.json
similarity index 100%
rename from entries/duke.json
rename to entries/2024/duke.json
diff --git a/entries/elden_ring.json b/entries/2024/elden_ring.json
similarity index 100%
rename from entries/elden_ring.json
rename to entries/2024/elden_ring.json
diff --git a/entries/elwood_s_dog_meat.json b/entries/2024/elwood_s_dog_meat.json
similarity index 100%
rename from entries/elwood_s_dog_meat.json
rename to entries/2024/elwood_s_dog_meat.json
diff --git a/entries/elwood_s_dog_meat_url.json b/entries/2024/elwood_s_dog_meat_url.json
similarity index 100%
rename from entries/elwood_s_dog_meat_url.json
rename to entries/2024/elwood_s_dog_meat_url.json
diff --git a/entries/esperanto_flag.json b/entries/2024/esperanto_flag.json
similarity index 100%
rename from entries/esperanto_flag.json
rename to entries/2024/esperanto_flag.json
diff --git a/entries/estonia_flag.json b/entries/2024/estonia_flag.json
similarity index 100%
rename from entries/estonia_flag.json
rename to entries/2024/estonia_flag.json
diff --git a/entries/eu_flag.json b/entries/2024/eu_flag.json
similarity index 100%
rename from entries/eu_flag.json
rename to entries/2024/eu_flag.json
diff --git a/entries/factorio.json b/entries/2024/factorio.json
similarity index 100%
rename from entries/factorio.json
rename to entries/2024/factorio.json
diff --git a/entries/fauna_s_sapling.json b/entries/2024/fauna_s_sapling.json
similarity index 100%
rename from entries/fauna_s_sapling.json
rename to entries/2024/fauna_s_sapling.json
diff --git a/entries/fediverse_logo_alternative.json b/entries/2024/fediverse_logo_alternative.json
similarity index 100%
rename from entries/fediverse_logo_alternative.json
rename to entries/2024/fediverse_logo_alternative.json
diff --git a/entries/fedora_logo.json b/entries/2024/fedora_logo.json
similarity index 100%
rename from entries/fedora_logo.json
rename to entries/2024/fedora_logo.json
diff --git a/entries/ferris.json b/entries/2024/ferris.json
similarity index 100%
rename from entries/ferris.json
rename to entries/2024/ferris.json
diff --git a/entries/finland_flag.json b/entries/2024/finland_flag.json
similarity index 100%
rename from entries/finland_flag.json
rename to entries/2024/finland_flag.json
diff --git a/entries/flag_of_brittany.json b/entries/2024/flag_of_brittany.json
similarity index 100%
rename from entries/flag_of_brittany.json
rename to entries/2024/flag_of_brittany.json
diff --git a/entries/flag_of_costa_rica.json b/entries/2024/flag_of_costa_rica.json
similarity index 100%
rename from entries/flag_of_costa_rica.json
rename to entries/2024/flag_of_costa_rica.json
diff --git a/entries/flag_of_tuvalu.json b/entries/2024/flag_of_tuvalu.json
similarity index 100%
rename from entries/flag_of_tuvalu.json
rename to entries/2024/flag_of_tuvalu.json
diff --git a/entries/flag_of_vepida.json b/entries/2024/flag_of_vepida.json
similarity index 100%
rename from entries/flag_of_vepida.json
rename to entries/2024/flag_of_vepida.json
diff --git a/entries/flower.json b/entries/2024/flower.json
similarity index 100%
rename from entries/flower.json
rename to entries/2024/flower.json
diff --git a/entries/france_flag.json b/entries/2024/france_flag.json
similarity index 100%
rename from entries/france_flag.json
rename to entries/2024/france_flag.json
diff --git a/entries/freecad_logo.json b/entries/2024/freecad_logo.json
similarity index 100%
rename from entries/freecad_logo.json
rename to entries/2024/freecad_logo.json
diff --git a/entries/fuck_afd.json b/entries/2024/fuck_afd.json
similarity index 100%
rename from entries/fuck_afd.json
rename to entries/2024/fuck_afd.json
diff --git a/entries/fuck_putin.json b/entries/2024/fuck_putin.json
similarity index 100%
rename from entries/fuck_putin.json
rename to entries/2024/fuck_putin.json
diff --git a/entries/game_of_life.json b/entries/2024/game_of_life.json
similarity index 100%
rename from entries/game_of_life.json
rename to entries/2024/game_of_life.json
diff --git a/entries/germany_flag.json b/entries/2024/germany_flag.json
similarity index 100%
rename from entries/germany_flag.json
rename to entries/2024/germany_flag.json
diff --git a/entries/godot_logo.json b/entries/2024/godot_logo.json
similarity index 100%
rename from entries/godot_logo.json
rename to entries/2024/godot_logo.json
diff --git a/entries/gog_com_logo.json b/entries/2024/gog_com_logo.json
similarity index 100%
rename from entries/gog_com_logo.json
rename to entries/2024/gog_com_logo.json
diff --git a/entries/grapheneos_logo.json b/entries/2024/grapheneos_logo.json
similarity index 100%
rename from entries/grapheneos_logo.json
rename to entries/2024/grapheneos_logo.json
diff --git a/entries/greg.json b/entries/2024/greg.json
similarity index 100%
rename from entries/greg.json
rename to entries/2024/greg.json
diff --git a/entries/grom_fight_lumity.json b/entries/2024/grom_fight_lumity.json
similarity index 100%
rename from entries/grom_fight_lumity.json
rename to entries/2024/grom_fight_lumity.json
diff --git a/entries/grub.json b/entries/2024/grub.json
similarity index 100%
rename from entries/grub.json
rename to entries/2024/grub.json
diff --git a/entries/grub_in_a_jar.json b/entries/2024/grub_in_a_jar.json
similarity index 100%
rename from entries/grub_in_a_jar.json
rename to entries/2024/grub_in_a_jar.json
diff --git a/entries/guybrush_threepwood.json b/entries/2024/guybrush_threepwood.json
similarity index 100%
rename from entries/guybrush_threepwood.json
rename to entries/2024/guybrush_threepwood.json
diff --git a/entries/half_life_lambda_logo.json b/entries/2024/half_life_lambda_logo.json
similarity index 100%
rename from entries/half_life_lambda_logo.json
rename to entries/2024/half_life_lambda_logo.json
diff --git a/entries/happy_mac.json b/entries/2024/happy_mac.json
similarity index 100%
rename from entries/happy_mac.json
rename to entries/2024/happy_mac.json
diff --git a/entries/haskell.json b/entries/2024/haskell.json
similarity index 100%
rename from entries/haskell.json
rename to entries/2024/haskell.json
diff --git a/entries/hello_internet_podcast.json b/entries/2024/hello_internet_podcast.json
similarity index 100%
rename from entries/hello_internet_podcast.json
rename to entries/2024/hello_internet_podcast.json
diff --git a/entries/hobbes_holding_a_bottle_of_wine.json b/entries/2024/hobbes_holding_a_bottle_of_wine.json
similarity index 100%
rename from entries/hobbes_holding_a_bottle_of_wine.json
rename to entries/2024/hobbes_holding_a_bottle_of_wine.json
diff --git a/entries/hong_kong_protests_logo.json b/entries/2024/hong_kong_protests_logo.json
similarity index 100%
rename from entries/hong_kong_protests_logo.json
rename to entries/2024/hong_kong_protests_logo.json
diff --git a/entries/hungary_flag.json b/entries/2024/hungary_flag.json
similarity index 100%
rename from entries/hungary_flag.json
rename to entries/2024/hungary_flag.json
diff --git a/entries/india.json b/entries/2024/india.json
similarity index 100%
rename from entries/india.json
rename to entries/2024/india.json
diff --git a/entries/ingress_enlightened_logo.json b/entries/2024/ingress_enlightened_logo.json
similarity index 100%
rename from entries/ingress_enlightened_logo.json
rename to entries/2024/ingress_enlightened_logo.json
diff --git a/entries/inky_friends_vs_pacman.json b/entries/2024/inky_friends_vs_pacman.json
similarity index 100%
rename from entries/inky_friends_vs_pacman.json
rename to entries/2024/inky_friends_vs_pacman.json
diff --git a/entries/inugami_korone_furball_.json b/entries/2024/inugami_korone_furball_.json
similarity index 100%
rename from entries/inugami_korone_furball_.json
rename to entries/2024/inugami_korone_furball_.json
diff --git a/entries/iron_axe_minecraft_.json b/entries/2024/iron_axe_minecraft_.json
similarity index 100%
rename from entries/iron_axe_minecraft_.json
rename to entries/2024/iron_axe_minecraft_.json
diff --git a/entries/iron_pickaxe_minecraft_.json b/entries/2024/iron_pickaxe_minecraft_.json
similarity index 100%
rename from entries/iron_pickaxe_minecraft_.json
rename to entries/2024/iron_pickaxe_minecraft_.json
diff --git a/entries/italy_flag.json b/entries/2024/italy_flag.json
similarity index 100%
rename from entries/italy_flag.json
rename to entries/2024/italy_flag.json
diff --git a/entries/itch_io_logo.json b/entries/2024/itch_io_logo.json
similarity index 100%
rename from entries/itch_io_logo.json
rename to entries/2024/itch_io_logo.json
diff --git a/entries/jlai_lu_logo.json b/entries/2024/jlai_lu_logo.json
similarity index 100%
rename from entries/jlai_lu_logo.json
rename to entries/2024/jlai_lu_logo.json
diff --git a/entries/jlailu_community.json b/entries/2024/jlailu_community.json
similarity index 100%
rename from entries/jlailu_community.json
rename to entries/2024/jlailu_community.json
diff --git a/entries/junimo_holding_a_stardrop.json b/entries/2024/junimo_holding_a_stardrop.json
similarity index 100%
rename from entries/junimo_holding_a_stardrop.json
rename to entries/2024/junimo_holding_a_stardrop.json
diff --git a/entries/kicad_logo.json b/entries/2024/kicad_logo.json
similarity index 100%
rename from entries/kicad_logo.json
rename to entries/2024/kicad_logo.json
diff --git a/entries/kiki.json b/entries/2024/kiki.json
similarity index 100%
rename from entries/kiki.json
rename to entries/2024/kiki.json
diff --git a/entries/konqi.json b/entries/2024/konqi.json
similarity index 100%
rename from entries/konqi.json
rename to entries/2024/konqi.json
diff --git a/entries/lemmy_logo_colored_with_the_dach_flags_.json b/entries/2024/lemmy_logo_colored_with_the_dach_flags_.json
similarity index 100%
rename from entries/lemmy_logo_colored_with_the_dach_flags_.json
rename to entries/2024/lemmy_logo_colored_with_the_dach_flags_.json
diff --git a/entries/lemmy_zip.json b/entries/2024/lemmy_zip.json
similarity index 100%
rename from entries/lemmy_zip.json
rename to entries/2024/lemmy_zip.json
diff --git a/entries/linux_mint_logo.json b/entries/2024/linux_mint_logo.json
similarity index 100%
rename from entries/linux_mint_logo.json
rename to entries/2024/linux_mint_logo.json
diff --git a/entries/listener_san.json b/entries/2024/listener_san.json
similarity index 100%
rename from entries/listener_san.json
rename to entries/2024/listener_san.json
diff --git a/entries/lithuania_flag.json b/entries/2024/lithuania_flag.json
similarity index 100%
rename from entries/lithuania_flag.json
rename to entries/2024/lithuania_flag.json
diff --git a/entries/loss_meme.json b/entries/2024/loss_meme.json
similarity index 100%
rename from entries/loss_meme.json
rename to entries/2024/loss_meme.json
diff --git a/entries/luxembourg_flag.json b/entries/2024/luxembourg_flag.json
similarity index 100%
rename from entries/luxembourg_flag.json
rename to entries/2024/luxembourg_flag.json
diff --git a/entries/madeline.json b/entries/2024/madeline.json
similarity index 100%
rename from entries/madeline.json
rename to entries/2024/madeline.json
diff --git a/entries/malenia_blade_of_miquella.json b/entries/2024/malenia_blade_of_miquella.json
similarity index 100%
rename from entries/malenia_blade_of_miquella.json
rename to entries/2024/malenia_blade_of_miquella.json
diff --git a/entries/map_of_belgium.json b/entries/2024/map_of_belgium.json
similarity index 100%
rename from entries/map_of_belgium.json
rename to entries/2024/map_of_belgium.json
diff --git a/entries/mastodon_logo.json b/entries/2024/mastodon_logo.json
similarity index 100%
rename from entries/mastodon_logo.json
rename to entries/2024/mastodon_logo.json
diff --git a/entries/max_sam_and_max_.json b/entries/2024/max_sam_and_max_.json
similarity index 100%
rename from entries/max_sam_and_max_.json
rename to entries/2024/max_sam_and_max_.json
diff --git a/entries/mega_man.json b/entries/2024/mega_man.json
similarity index 100%
rename from entries/mega_man.json
rename to entries/2024/mega_man.json
diff --git a/entries/mini_triforce.json b/entries/2024/mini_triforce.json
similarity index 100%
rename from entries/mini_triforce.json
rename to entries/2024/mini_triforce.json
diff --git a/entries/mr_squeaks.json b/entries/2024/mr_squeaks.json
similarity index 100%
rename from entries/mr_squeaks.json
rename to entries/2024/mr_squeaks.json
diff --git a/entries/nato_anniversary.json b/entries/2024/nato_anniversary.json
similarity index 100%
rename from entries/nato_anniversary.json
rename to entries/2024/nato_anniversary.json
diff --git a/entries/neco_arc_okayu.json b/entries/2024/neco_arc_okayu.json
similarity index 100%
rename from entries/neco_arc_okayu.json
rename to entries/2024/neco_arc_okayu.json
diff --git a/entries/neovim_community.json b/entries/2024/neovim_community.json
similarity index 100%
rename from entries/neovim_community.json
rename to entries/2024/neovim_community.json
diff --git a/entries/netherlands_flag.json b/entries/2024/netherlands_flag.json
similarity index 100%
rename from entries/netherlands_flag.json
rename to entries/2024/netherlands_flag.json
diff --git a/entries/new_lunar_republic_emblem.json b/entries/2024/new_lunar_republic_emblem.json
similarity index 100%
rename from entries/new_lunar_republic_emblem.json
rename to entries/2024/new_lunar_republic_emblem.json
diff --git a/entries/new_zealand.json b/entries/2024/new_zealand.json
similarity index 100%
rename from entries/new_zealand.json
rename to entries/2024/new_zealand.json
diff --git a/entries/new_zealand_lemmy.json b/entries/2024/new_zealand_lemmy.json
similarity index 100%
rename from entries/new_zealand_lemmy.json
rename to entries/2024/new_zealand_lemmy.json
diff --git a/entries/new_zealand_zone.json b/entries/2024/new_zealand_zone.json
similarity index 100%
rename from entries/new_zealand_zone.json
rename to entries/2024/new_zealand_zone.json
diff --git a/entries/no_lastname_nz.json b/entries/2024/no_lastname_nz.json
similarity index 100%
rename from entries/no_lastname_nz.json
rename to entries/2024/no_lastname_nz.json
diff --git a/entries/norway_flag.json b/entries/2024/norway_flag.json
similarity index 100%
rename from entries/norway_flag.json
rename to entries/2024/norway_flag.json
diff --git a/entries/olympic_rings.json b/entries/2024/olympic_rings.json
similarity index 100%
rename from entries/olympic_rings.json
rename to entries/2024/olympic_rings.json
diff --git a/entries/pacific_drive_station_wagon.json b/entries/2024/pacific_drive_station_wagon.json
similarity index 100%
rename from entries/pacific_drive_station_wagon.json
rename to entries/2024/pacific_drive_station_wagon.json
diff --git a/entries/pacman_vs_pinky_friends.json b/entries/2024/pacman_vs_pinky_friends.json
similarity index 100%
rename from entries/pacman_vs_pinky_friends.json
rename to entries/2024/pacman_vs_pinky_friends.json
diff --git a/entries/palestinian_flag.json b/entries/2024/palestinian_flag.json
similarity index 100%
rename from entries/palestinian_flag.json
rename to entries/2024/palestinian_flag.json
diff --git a/entries/pansexual_flag.json b/entries/2024/pansexual_flag.json
similarity index 100%
rename from entries/pansexual_flag.json
rename to entries/2024/pansexual_flag.json
diff --git a/entries/peeking_autumn_blaze.json b/entries/2024/peeking_autumn_blaze.json
similarity index 100%
rename from entries/peeking_autumn_blaze.json
rename to entries/2024/peeking_autumn_blaze.json
diff --git a/entries/peeking_princess_skystar.json b/entries/2024/peeking_princess_skystar.json
similarity index 100%
rename from entries/peeking_princess_skystar.json
rename to entries/2024/peeking_princess_skystar.json
diff --git a/entries/perry_the_platapus.json b/entries/2024/perry_the_platapus.json
similarity index 100%
rename from entries/perry_the_platapus.json
rename to entries/2024/perry_the_platapus.json
diff --git a/entries/pinky_friends_vs_pacman.json b/entries/2024/pinky_friends_vs_pacman.json
similarity index 100%
rename from entries/pinky_friends_vs_pacman.json
rename to entries/2024/pinky_friends_vs_pacman.json
diff --git a/entries/pinky_pacman_.json b/entries/2024/pinky_pacman_.json
similarity index 100%
rename from entries/pinky_pacman_.json
rename to entries/2024/pinky_pacman_.json
diff --git a/entries/piwakawaka.json b/entries/2024/piwakawaka.json
similarity index 100%
rename from entries/piwakawaka.json
rename to entries/2024/piwakawaka.json
diff --git a/entries/pixel_anime_faction_paf_.json b/entries/2024/pixel_anime_faction_paf_.json
similarity index 100%
rename from entries/pixel_anime_faction_paf_.json
rename to entries/2024/pixel_anime_faction_paf_.json
diff --git a/entries/pokemon_gold_silver_crystal_character.json b/entries/2024/pokemon_gold_silver_crystal_character.json
similarity index 100%
rename from entries/pokemon_gold_silver_crystal_character.json
rename to entries/2024/pokemon_gold_silver_crystal_character.json
diff --git "a/entries/pok\303\251_ball_from_pok\303\251mon_gold_silver.json" "b/entries/2024/pok\303\251_ball_from_pok\303\251mon_gold_silver.json"
similarity index 100%
rename from "entries/pok\303\251_ball_from_pok\303\251mon_gold_silver.json"
rename to "entries/2024/pok\303\251_ball_from_pok\303\251mon_gold_silver.json"
diff --git "a/entries/pok\303\251_ball_from_pok\303\251mon_red_blue_green_yellow_.json" "b/entries/2024/pok\303\251_ball_from_pok\303\251mon_red_blue_green_yellow_.json"
similarity index 100%
rename from "entries/pok\303\251_ball_from_pok\303\251mon_red_blue_green_yellow_.json"
rename to "entries/2024/pok\303\251_ball_from_pok\303\251mon_red_blue_green_yellow_.json"
diff --git "a/entries/pok\303\251mon_red_blue_green_yellow_character.json" "b/entries/2024/pok\303\251mon_red_blue_green_yellow_character.json"
similarity index 100%
rename from "entries/pok\303\251mon_red_blue_green_yellow_character.json"
rename to "entries/2024/pok\303\251mon_red_blue_green_yellow_character.json"
diff --git a/entries/poland_flag.json b/entries/2024/poland_flag.json
similarity index 100%
rename from entries/poland_flag.json
rename to entries/2024/poland_flag.json
diff --git a/entries/portal_logo.json b/entries/2024/portal_logo.json
similarity index 100%
rename from entries/portal_logo.json
rename to entries/2024/portal_logo.json
diff --git a/entries/portugal_flag.json b/entries/2024/portugal_flag.json
similarity index 100%
rename from entries/portugal_flag.json
rename to entries/2024/portugal_flag.json
diff --git a/entries/programming_dev_collection.json b/entries/2024/programming_dev_collection.json
similarity index 100%
rename from entries/programming_dev_collection.json
rename to entries/2024/programming_dev_collection.json
diff --git a/entries/programming_dev_logo.json b/entries/2024/programming_dev_logo.json
similarity index 100%
rename from entries/programming_dev_logo.json
rename to entries/2024/programming_dev_logo.json
diff --git a/entries/propagandalf.json b/entries/2024/propagandalf.json
similarity index 100%
rename from entries/propagandalf.json
rename to entries/2024/propagandalf.json
diff --git a/entries/rampage_baboon.json b/entries/2024/rampage_baboon.json
similarity index 100%
rename from entries/rampage_baboon.json
rename to entries/2024/rampage_baboon.json
diff --git a/entries/rare_blue_chicken_stardew_valley_.json b/entries/2024/rare_blue_chicken_stardew_valley_.json
similarity index 100%
rename from entries/rare_blue_chicken_stardew_valley_.json
rename to entries/2024/rare_blue_chicken_stardew_valley_.json
diff --git a/entries/red_and_black_flag.json b/entries/2024/red_and_black_flag.json
similarity index 100%
rename from entries/red_and_black_flag.json
rename to entries/2024/red_and_black_flag.json
diff --git a/entries/retrodeck_logo.json b/entries/2024/retrodeck_logo.json
similarity index 100%
rename from entries/retrodeck_logo.json
rename to entries/2024/retrodeck_logo.json
diff --git a/entries/rocket_league_logo.json b/entries/2024/rocket_league_logo.json
similarity index 100%
rename from entries/rocket_league_logo.json
rename to entries/2024/rocket_league_logo.json
diff --git a/entries/romania_flag.json b/entries/2024/romania_flag.json
similarity index 100%
rename from entries/romania_flag.json
rename to entries/2024/romania_flag.json
diff --git a/entries/router_icon.json b/entries/2024/router_icon.json
similarity index 100%
rename from entries/router_icon.json
rename to entries/2024/router_icon.json
diff --git a/entries/rozemyne.json b/entries/2024/rozemyne.json
similarity index 100%
rename from entries/rozemyne.json
rename to entries/2024/rozemyne.json
diff --git a/entries/russian_flag.json b/entries/2024/russian_flag.json
similarity index 100%
rename from entries/russian_flag.json
rename to entries/2024/russian_flag.json
diff --git a/entries/rust.json b/entries/2024/rust.json
similarity index 100%
rename from entries/rust.json
rename to entries/2024/rust.json
diff --git a/entries/sam_sam_and_max_.json b/entries/2024/sam_sam_and_max_.json
similarity index 100%
rename from entries/sam_sam_and_max_.json
rename to entries/2024/sam_sam_and_max_.json
diff --git a/entries/satisfactory.json b/entries/2024/satisfactory.json
similarity index 100%
rename from entries/satisfactory.json
rename to entries/2024/satisfactory.json
diff --git "a/entries/sentience_pm_projet_m\303\251duse_.json" "b/entries/2024/sentience_pm_projet_m\303\251duse_.json"
similarity index 100%
rename from "entries/sentience_pm_projet_m\303\251duse_.json"
rename to "entries/2024/sentience_pm_projet_m\303\251duse_.json"
diff --git a/entries/sh_itjust_works_logo.json b/entries/2024/sh_itjust_works_logo.json
similarity index 100%
rename from entries/sh_itjust_works_logo.json
rename to entries/2024/sh_itjust_works_logo.json
diff --git a/entries/sliso_globe.json b/entries/2024/sliso_globe.json
similarity index 100%
rename from entries/sliso_globe.json
rename to entries/2024/sliso_globe.json
diff --git a/entries/slovakia_flag.json b/entries/2024/slovakia_flag.json
similarity index 100%
rename from entries/slovakia_flag.json
rename to entries/2024/slovakia_flag.json
diff --git a/entries/slovenia_flag.json b/entries/2024/slovenia_flag.json
similarity index 100%
rename from entries/slovenia_flag.json
rename to entries/2024/slovenia_flag.json
diff --git a/entries/spain_flag.json b/entries/2024/spain_flag.json
similarity index 100%
rename from entries/spain_flag.json
rename to entries/2024/spain_flag.json
diff --git a/entries/squared_circle_championship_belt.json b/entries/2024/squared_circle_championship_belt.json
similarity index 100%
rename from entries/squared_circle_championship_belt.json
rename to entries/2024/squared_circle_championship_belt.json
diff --git a/entries/super_smash_bros_logo.json b/entries/2024/super_smash_bros_logo.json
similarity index 100%
rename from entries/super_smash_bros_logo.json
rename to entries/2024/super_smash_bros_logo.json
diff --git a/entries/sweden_flag.json b/entries/2024/sweden_flag.json
similarity index 100%
rename from entries/sweden_flag.json
rename to entries/2024/sweden_flag.json
diff --git a/entries/swedish_flag_airforce.json b/entries/2024/swedish_flag_airforce.json
similarity index 100%
rename from entries/swedish_flag_airforce.json
rename to entries/2024/swedish_flag_airforce.json
diff --git a/entries/syl_avatar.json b/entries/2024/syl_avatar.json
similarity index 100%
rename from entries/syl_avatar.json
rename to entries/2024/syl_avatar.json
diff --git a/entries/tash_peterson.json b/entries/2024/tash_peterson.json
similarity index 100%
rename from entries/tash_peterson.json
rename to entries/2024/tash_peterson.json
diff --git a/entries/team_fortress_2_logo.json b/entries/2024/team_fortress_2_logo.json
similarity index 100%
rename from entries/team_fortress_2_logo.json
rename to entries/2024/team_fortress_2_logo.json
diff --git a/entries/the_blue_corner.json b/entries/2024/the_blue_corner.json
similarity index 100%
rename from entries/the_blue_corner.json
rename to entries/2024/the_blue_corner.json
diff --git a/entries/the_blue_corner_2.json b/entries/2024/the_blue_corner_2.json
similarity index 100%
rename from entries/the_blue_corner_2.json
rename to entries/2024/the_blue_corner_2.json
diff --git a/entries/the_dark_side_of_the_moon.json b/entries/2024/the_dark_side_of_the_moon.json
similarity index 100%
rename from entries/the_dark_side_of_the_moon.json
rename to entries/2024/the_dark_side_of_the_moon.json
diff --git a/entries/the_head_of_technoblade.json b/entries/2024/the_head_of_technoblade.json
similarity index 100%
rename from entries/the_head_of_technoblade.json
rename to entries/2024/the_head_of_technoblade.json
diff --git a/entries/the_kiwi_kiwi_fruit.json b/entries/2024/the_kiwi_kiwi_fruit.json
similarity index 100%
rename from entries/the_kiwi_kiwi_fruit.json
rename to entries/2024/the_kiwi_kiwi_fruit.json
diff --git a/entries/the_komeiji_sisters_touhou_project_.json b/entries/2024/the_komeiji_sisters_touhou_project_.json
similarity index 100%
rename from entries/the_komeiji_sisters_touhou_project_.json
rename to entries/2024/the_komeiji_sisters_touhou_project_.json
diff --git a/entries/the_tardis_and_sutekh.json b/entries/2024/the_tardis_and_sutekh.json
similarity index 100%
rename from entries/the_tardis_and_sutekh.json
rename to entries/2024/the_tardis_and_sutekh.json
diff --git a/entries/three_investigators.json b/entries/2024/three_investigators.json
similarity index 100%
rename from entries/three_investigators.json
rename to entries/2024/three_investigators.json
diff --git a/entries/tim_sweeney.json b/entries/2024/tim_sweeney.json
similarity index 100%
rename from entries/tim_sweeney.json
rename to entries/2024/tim_sweeney.json
diff --git a/entries/toothless.json b/entries/2024/toothless.json
similarity index 100%
rename from entries/toothless.json
rename to entries/2024/toothless.json
diff --git a/entries/touhou_project_hijack.json b/entries/2024/touhou_project_hijack.json
similarity index 100%
rename from entries/touhou_project_hijack.json
rename to entries/2024/touhou_project_hijack.json
diff --git a/entries/transgender_flag.json b/entries/2024/transgender_flag.json
similarity index 100%
rename from entries/transgender_flag.json
rename to entries/2024/transgender_flag.json
diff --git a/entries/trees_in_new_zealand.json b/entries/2024/trees_in_new_zealand.json
similarity index 100%
rename from entries/trees_in_new_zealand.json
rename to entries/2024/trees_in_new_zealand.json
diff --git a/entries/tugboat.json b/entries/2024/tugboat.json
similarity index 100%
rename from entries/tugboat.json
rename to entries/2024/tugboat.json
diff --git a/entries/tux_mascot_.json b/entries/2024/tux_mascot_.json
similarity index 100%
rename from entries/tux_mascot_.json
rename to entries/2024/tux_mascot_.json
diff --git a/entries/twilight_marekisser.json b/entries/2024/twilight_marekisser.json
similarity index 100%
rename from entries/twilight_marekisser.json
rename to entries/2024/twilight_marekisser.json
diff --git a/entries/typescript_community.json b/entries/2024/typescript_community.json
similarity index 100%
rename from entries/typescript_community.json
rename to entries/2024/typescript_community.json
diff --git a/entries/ubuntu.json b/entries/2024/ubuntu.json
similarity index 100%
rename from entries/ubuntu.json
rename to entries/2024/ubuntu.json
diff --git a/entries/ugly.json b/entries/2024/ugly.json
similarity index 100%
rename from entries/ugly.json
rename to entries/2024/ugly.json
diff --git a/entries/upper_head_of_couleur.json b/entries/2024/upper_head_of_couleur.json
similarity index 100%
rename from entries/upper_head_of_couleur.json
rename to entries/2024/upper_head_of_couleur.json
diff --git a/entries/uselessserver093.json b/entries/2024/uselessserver093.json
similarity index 100%
rename from entries/uselessserver093.json
rename to entries/2024/uselessserver093.json
diff --git a/entries/vegan_symbol.json b/entries/2024/vegan_symbol.json
similarity index 100%
rename from entries/vegan_symbol.json
rename to entries/2024/vegan_symbol.json
diff --git a/entries/watermelon.json b/entries/2024/watermelon.json
similarity index 100%
rename from entries/watermelon.json
rename to entries/2024/watermelon.json
diff --git a/entries/white_blue_white_flag.json b/entries/2024/white_blue_white_flag.json
similarity index 100%
rename from entries/white_blue_white_flag.json
rename to entries/2024/white_blue_white_flag.json
diff --git a/entries/white_red_white_flag.json b/entries/2024/white_red_white_flag.json
similarity index 100%
rename from entries/white_red_white_flag.json
rename to entries/2024/white_red_white_flag.json
diff --git a/entries/windows_logo.json b/entries/2024/windows_logo.json
similarity index 100%
rename from entries/windows_logo.json
rename to entries/2024/windows_logo.json
diff --git a/entries/zero.json b/entries/2024/zero.json
similarity index 100%
rename from entries/zero.json
rename to entries/2024/zero.json
diff --git a/entries2025/.keep b/entries/2025/.keep
similarity index 100%
rename from entries2025/.keep
rename to entries/2025/.keep
diff --git a/entries2025/112haloboy_pixel_ponies.json b/entries/2025/112haloboy_pixel_ponies.json
similarity index 100%
rename from entries2025/112haloboy_pixel_ponies.json
rename to entries/2025/112haloboy_pixel_ponies.json
diff --git "a/entries2025/1\313\242\341\265\227_hungary.json" "b/entries/2025/1\313\242\341\265\227_hungary.json"
similarity index 100%
rename from "entries2025/1\313\242\341\265\227_hungary.json"
rename to "entries/2025/1\313\242\341\265\227_hungary.json"
diff --git "a/entries2025/2\342\201\277\341\265\210_hungary.json" "b/entries/2025/2\342\201\277\341\265\210_hungary.json"
similarity index 100%
rename from "entries2025/2\342\201\277\341\265\210_hungary.json"
rename to "entries/2025/2\342\201\277\341\265\210_hungary.json"
diff --git a/entries2025/30p87.json b/entries/2025/30p87.json
similarity index 100%
rename from entries2025/30p87.json
rename to entries/2025/30p87.json
diff --git "a/entries2025/3\312\263\341\265\210_hungary.json" "b/entries/2025/3\312\263\341\265\210_hungary.json"
similarity index 100%
rename from "entries2025/3\312\263\341\265\210_hungary.json"
rename to "entries/2025/3\312\263\341\265\210_hungary.json"
diff --git a/entries2025/86_47.json b/entries/2025/86_47.json
similarity index 100%
rename from entries2025/86_47.json
rename to entries/2025/86_47.json
diff --git a/entries2025/_fuck_flags_statement.json b/entries/2025/_fuck_flags_statement.json
similarity index 100%
rename from entries2025/_fuck_flags_statement.json
rename to entries/2025/_fuck_flags_statement.json
diff --git a/entries/2025/_gesture.json b/entries/2025/_gesture.json
new file mode 100644
index 0000000000000000000000000000000000000000..646a422aee85f57747e652f0411f39af70d1b318
--- /dev/null
+++ b/entries/2025/_gesture.json
@@ -0,0 +1,41 @@
+{
+ "id": 5665190657,
+ "name": "\ud83e\udd18 gesture",
+ "description": "The \"Sign of the horns\" hand gesture is commonly used in (rock or Metal) concerts.",
+ "links": {
+ "website": [
+ "https://en.wikipedia.org/wiki/Sign_of_the_horns"
+ ]
+ },
+ "path": {
+ "41-48": [
+ [
+ 390,
+ 311
+ ],
+ [
+ 400,
+ 311
+ ],
+ [
+ 400,
+ 321
+ ],
+ [
+ 390,
+ 321
+ ]
+ ]
+ },
+ "center": {
+ "41-48": [
+ 395,
+ 316
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8480847
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/antifa.json b/entries/2025/antifa.json
similarity index 100%
rename from entries2025/antifa.json
rename to entries/2025/antifa.json
diff --git a/entries2025/anubis_mascot.json b/entries/2025/anubis_mascot.json
similarity index 100%
rename from entries2025/anubis_mascot.json
rename to entries/2025/anubis_mascot.json
diff --git a/entries2025/aotearoa_new_zealand.json b/entries/2025/aotearoa_new_zealand.json
similarity index 100%
rename from entries2025/aotearoa_new_zealand.json
rename to entries/2025/aotearoa_new_zealand.json
diff --git a/entries2025/arch.json b/entries/2025/arch.json
similarity index 100%
rename from entries2025/arch.json
rename to entries/2025/arch.json
diff --git a/entries/2025/arizona.json b/entries/2025/arizona.json
new file mode 100644
index 0000000000000000000000000000000000000000..85abae6198143620e538c1cf368d9701becdcfc4
--- /dev/null
+++ b/entries/2025/arizona.json
@@ -0,0 +1,133 @@
+{
+ "id": 5919470639,
+ "name": "Arizona",
+ "description": "The character Arizona from the game Them's Fightin' Herds.",
+ "links": {
+ "website": [
+ "https://themsfightinherds.fandom.com/wiki/Arizona"
+ ]
+ },
+ "path": {
+ "11-48": [
+ [
+ 160,
+ 493
+ ],
+ [
+ 160,
+ 495
+ ],
+ [
+ 163,
+ 495
+ ],
+ [
+ 163,
+ 499
+ ],
+ [
+ 171,
+ 499
+ ],
+ [
+ 171,
+ 498
+ ],
+ [
+ 174,
+ 498
+ ],
+ [
+ 175,
+ 497
+ ],
+ [
+ 175,
+ 489
+ ],
+ [
+ 174,
+ 486
+ ],
+ [
+ 181,
+ 488
+ ],
+ [
+ 181,
+ 491
+ ],
+ [
+ 178,
+ 492
+ ],
+ [
+ 178,
+ 494
+ ],
+ [
+ 180,
+ 494
+ ],
+ [
+ 184,
+ 491
+ ],
+ [
+ 184,
+ 486
+ ],
+ [
+ 181,
+ 483
+ ],
+ [
+ 178,
+ 482
+ ],
+ [
+ 171,
+ 482
+ ],
+ [
+ 167,
+ 484
+ ],
+ [
+ 166,
+ 486
+ ],
+ [
+ 166,
+ 489
+ ],
+ [
+ 168,
+ 489
+ ],
+ [
+ 168,
+ 491
+ ],
+ [
+ 163,
+ 491
+ ],
+ [
+ 162,
+ 493
+ ]
+ ]
+ },
+ "center": {
+ "11-48": [
+ 171,
+ 494
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484447
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/arte_logo.json b/entries/2025/arte_logo.json
similarity index 100%
rename from entries2025/arte_logo.json
rename to entries/2025/arte_logo.json
diff --git a/entries2025/article_1_of_german_basic_law.json b/entries/2025/article_1_of_german_basic_law.json
similarity index 100%
rename from entries2025/article_1_of_german_basic_law.json
rename to entries/2025/article_1_of_german_basic_law.json
diff --git a/entries2025/ategondev.json b/entries/2025/ategondev.json
similarity index 100%
rename from entries2025/ategondev.json
rename to entries/2025/ategondev.json
diff --git a/entries2025/bad_dragon_logo.json b/entries/2025/bad_dragon_logo.json
similarity index 100%
rename from entries2025/bad_dragon_logo.json
rename to entries/2025/bad_dragon_logo.json
diff --git a/entries2025/bavarian_meal.json b/entries/2025/bavarian_meal.json
similarity index 100%
rename from entries2025/bavarian_meal.json
rename to entries/2025/bavarian_meal.json
diff --git a/entries2025/bevy.json b/entries/2025/bevy.json
similarity index 100%
rename from entries2025/bevy.json
rename to entries/2025/bevy.json
diff --git a/entries/2025/bevy_logo.json b/entries/2025/bevy_logo.json
new file mode 100644
index 0000000000000000000000000000000000000000..c53a16e28beee6fa848f04410fb8e51db8a1ab5d
--- /dev/null
+++ b/entries/2025/bevy_logo.json
@@ -0,0 +1,139 @@
+{
+ "id": 3719351912,
+ "name": "Bevy logo",
+ "description": "Bevy is a game engine build on Rust.",
+ "links": {
+ "lemmy": [
+ "https://lemmy.world/c/bevy"
+ ],
+ "website": [
+ "https://bevy.org/"
+ ],
+ "subreddit": [
+ "bevy"
+ ]
+ },
+ "path": {
+ "48": [
+ [
+ 210,
+ 109
+ ],
+ [
+ 211,
+ 110
+ ],
+ [
+ 215,
+ 110
+ ],
+ [
+ 216,
+ 109
+ ],
+ [
+ 217,
+ 110
+ ],
+ [
+ 218,
+ 110
+ ],
+ [
+ 222,
+ 106
+ ],
+ [
+ 224,
+ 106
+ ],
+ [
+ 225,
+ 105
+ ],
+ [
+ 223,
+ 103
+ ],
+ [
+ 223,
+ 102
+ ],
+ [
+ 221,
+ 100
+ ],
+ [
+ 221,
+ 99
+ ],
+ [
+ 220,
+ 98
+ ],
+ [
+ 219,
+ 98
+ ],
+ [
+ 218,
+ 97
+ ],
+ [
+ 216,
+ 97
+ ],
+ [
+ 213,
+ 100
+ ],
+ [
+ 211,
+ 100
+ ],
+ [
+ 210,
+ 101
+ ],
+ [
+ 211,
+ 102
+ ],
+ [
+ 208,
+ 105
+ ],
+ [
+ 209,
+ 106
+ ],
+ [
+ 214,
+ 106
+ ],
+ [
+ 214,
+ 107
+ ],
+ [
+ 213,
+ 108
+ ],
+ [
+ 211,
+ 108
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 218,
+ 103
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8509530
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/big_luigi.json b/entries/2025/big_luigi.json
similarity index 100%
rename from entries2025/big_luigi.json
rename to entries/2025/big_luigi.json
diff --git a/entries2025/blender.json b/entries/2025/blender.json
similarity index 100%
rename from entries2025/blender.json
rename to entries/2025/blender.json
diff --git a/entries2025/bloodsurg_memorial.json b/entries/2025/bloodsurg_memorial.json
similarity index 100%
rename from entries2025/bloodsurg_memorial.json
rename to entries/2025/bloodsurg_memorial.json
diff --git a/entries2025/bok_club_pixel_ponies.json b/entries/2025/bok_club_pixel_ponies.json
similarity index 100%
rename from entries2025/bok_club_pixel_ponies.json
rename to entries/2025/bok_club_pixel_ponies.json
diff --git a/entries2025/bomb_cow_express_stu.json b/entries/2025/bomb_cow_express_stu.json
similarity index 100%
rename from entries2025/bomb_cow_express_stu.json
rename to entries/2025/bomb_cow_express_stu.json
diff --git a/entries2025/bomb_cow_express_train.json b/entries/2025/bomb_cow_express_train.json
similarity index 100%
rename from entries2025/bomb_cow_express_train.json
rename to entries/2025/bomb_cow_express_train.json
diff --git a/entries2025/carpenter_brut_logo.json b/entries/2025/carpenter_brut_logo.json
similarity index 100%
rename from entries2025/carpenter_brut_logo.json
rename to entries/2025/carpenter_brut_logo.json
diff --git a/entries/2025/cells.json b/entries/2025/cells.json
new file mode 100644
index 0000000000000000000000000000000000000000..ca24473f8a7edc3f05ec061c103cb5456721658f
--- /dev/null
+++ b/entries/2025/cells.json
@@ -0,0 +1,174 @@
+ {
+ "id": 8274973170,
+ "name": "Cells",
+ "description": "Variations of the \"Cell\", a creature originating from the r/place clone pxls.space.\nIn the top right is the classic Cell Lattice design where the Cell originated from.\nOn the left is a Cell variant of the \"Bag\" creature, also originating from pxls.space.\nOn the bottom right is a Cell variant of Stu.",
+ "links": {
+ "website": [
+ "https://wiki.pxls.space/view/Cell_Lattice"
+ ]
+ },
+ "path": {
+ "10-48": [
+ [
+ 498,
+ 439
+ ],
+ [
+ 497,
+ 440
+ ],
+ [
+ 497,
+ 443
+ ],
+ [
+ 475,
+ 443
+ ],
+ [
+ 474,
+ 444
+ ],
+ [
+ 476,
+ 445
+ ],
+ [
+ 476,
+ 448
+ ],
+ [
+ 475,
+ 452
+ ],
+ [
+ 475,
+ 454
+ ],
+ [
+ 477,
+ 456
+ ],
+ [
+ 474,
+ 458
+ ],
+ [
+ 472,
+ 460
+ ],
+ [
+ 472,
+ 462
+ ],
+ [
+ 475,
+ 464
+ ],
+ [
+ 483,
+ 464
+ ],
+ [
+ 487,
+ 461
+ ],
+ [
+ 488,
+ 456
+ ],
+ [
+ 486,
+ 452
+ ],
+ [
+ 491,
+ 451
+ ],
+ [
+ 490,
+ 457
+ ],
+ [
+ 491,
+ 458
+ ],
+ [
+ 490,
+ 462
+ ],
+ [
+ 490,
+ 467
+ ],
+ [
+ 493,
+ 467
+ ],
+ [
+ 496,
+ 464
+ ],
+ [
+ 496,
+ 463
+ ],
+ [
+ 494,
+ 461
+ ],
+ [
+ 494,
+ 458
+ ],
+ [
+ 495,
+ 457
+ ],
+ [
+ 499,
+ 458
+ ],
+ [
+ 499,
+ 439
+ ]
+ ],
+ "5-9": [
+ [
+ 489,
+ 446
+ ],
+ [
+ 489,
+ 468
+ ],
+ [
+ 497,
+ 468
+ ],
+ [
+ 497,
+ 460
+ ],
+ [
+ 495,
+ 445
+ ],
+ [
+ 490,
+ 445
+ ]
+ ]
+ },
+ "center": {
+ "10-48": [
+ 481,
+ 448
+ ],
+ "5-9": [
+ 493,
+ 457
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries/2025/changeling_lands_flag.json b/entries/2025/changeling_lands_flag.json
new file mode 100644
index 0000000000000000000000000000000000000000..0d7ac8376f7cf804bdb760e6e9be96c92734def6
--- /dev/null
+++ b/entries/2025/changeling_lands_flag.json
@@ -0,0 +1,188 @@
+ {
+ "id": 9983026119,
+ "name": "Changeling Lands Flag",
+ "description": "The flag design for the Changeling Lands country in the Hearts of Iron IV mod \"Equestria at War\"",
+ "links": {
+ "website": [
+ "https://equestriaatwar.wiki.gg/wiki/Changeling_Lands"
+ ]
+ },
+ "path": {
+ "35-48": [
+ [
+ 485,
+ 186
+ ],
+ [
+ 489,
+ 186
+ ],
+ [
+ 490,
+ 187
+ ],
+ [
+ 491,
+ 187
+ ],
+ [
+ 492,
+ 186
+ ],
+ [
+ 496,
+ 186
+ ],
+ [
+ 498,
+ 184
+ ],
+ [
+ 497,
+ 183
+ ],
+ [
+ 496,
+ 184
+ ],
+ [
+ 499,
+ 181
+ ],
+ [
+ 499,
+ 180
+ ],
+ [
+ 498,
+ 179
+ ],
+ [
+ 495,
+ 182
+ ],
+ [
+ 496,
+ 181
+ ],
+ [
+ 496,
+ 180
+ ],
+ [
+ 495,
+ 179
+ ],
+ [
+ 492,
+ 182
+ ],
+ [
+ 492,
+ 184
+ ],
+ [
+ 492,
+ 183
+ ],
+ [
+ 491,
+ 182
+ ],
+ [
+ 492,
+ 181
+ ],
+ [
+ 491,
+ 180
+ ],
+ [
+ 491,
+ 179
+ ],
+ [
+ 492,
+ 178
+ ],
+ [
+ 491,
+ 177
+ ],
+ [
+ 489,
+ 179
+ ],
+ [
+ 489,
+ 180
+ ],
+ [
+ 490,
+ 181
+ ],
+ [
+ 489,
+ 182
+ ],
+ [
+ 489,
+ 184
+ ],
+ [
+ 489,
+ 181
+ ],
+ [
+ 488,
+ 181
+ ],
+ [
+ 486,
+ 179
+ ],
+ [
+ 485,
+ 180
+ ],
+ [
+ 485,
+ 181
+ ],
+ [
+ 486,
+ 182
+ ],
+ [
+ 483,
+ 179
+ ],
+ [
+ 482,
+ 180
+ ],
+ [
+ 482,
+ 181
+ ],
+ [
+ 485,
+ 184
+ ],
+ [
+ 484,
+ 183
+ ],
+ [
+ 483,
+ 184
+ ]
+ ]
+ },
+ "center": {
+ "35-48": [
+ 494,
+ 184
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries2025/chiro.json b/entries/2025/chiro.json
similarity index 100%
rename from entries2025/chiro.json
rename to entries/2025/chiro.json
diff --git a/entries2025/commander_keen.json b/entries/2025/commander_keen.json
similarity index 100%
rename from entries2025/commander_keen.json
rename to entries/2025/commander_keen.json
diff --git a/entries/2025/commonwealth_star.json b/entries/2025/commonwealth_star.json
new file mode 100644
index 0000000000000000000000000000000000000000..108b5e9e3fc1830d51c64ad424545342137cef88
--- /dev/null
+++ b/entries/2025/commonwealth_star.json
@@ -0,0 +1,245 @@
+{
+ "id": 693057358,
+ "name": "Commonwealth Star",
+ "description": "Seven pointed star on the australian flag, with 6 points representing the 6 states, and the 7th point representing the territories and any future states.",
+ "links": {},
+ "path": {
+ "48": [
+ [
+ 42,
+ 88
+ ],
+ [
+ 44,
+ 88
+ ],
+ [
+ 49,
+ 83
+ ],
+ [
+ 50,
+ 83
+ ],
+ [
+ 55,
+ 88
+ ],
+ [
+ 57,
+ 88
+ ],
+ [
+ 57,
+ 86
+ ],
+ [
+ 56,
+ 85
+ ],
+ [
+ 56,
+ 79
+ ],
+ [
+ 64,
+ 79
+ ],
+ [
+ 64,
+ 77
+ ],
+ [
+ 63,
+ 77
+ ],
+ [
+ 62,
+ 76
+ ],
+ [
+ 61,
+ 76
+ ],
+ [
+ 60,
+ 75
+ ],
+ [
+ 59,
+ 74
+ ],
+ [
+ 58,
+ 74
+ ],
+ [
+ 57,
+ 73
+ ],
+ [
+ 57,
+ 71
+ ],
+ [
+ 58,
+ 71
+ ],
+ [
+ 60,
+ 69
+ ],
+ [
+ 61,
+ 67
+ ],
+ [
+ 61,
+ 65
+ ],
+ [
+ 59,
+ 65
+ ],
+ [
+ 58,
+ 66
+ ],
+ [
+ 56,
+ 66
+ ],
+ [
+ 55,
+ 67
+ ],
+ [
+ 53,
+ 67
+ ],
+ [
+ 52,
+ 66
+ ],
+ [
+ 52,
+ 64
+ ],
+ [
+ 51,
+ 63
+ ],
+ [
+ 51,
+ 61
+ ],
+ [
+ 50,
+ 60
+ ],
+ [
+ 49,
+ 60
+ ],
+ [
+ 48,
+ 61
+ ],
+ [
+ 48,
+ 63
+ ],
+ [
+ 47,
+ 64
+ ],
+ [
+ 46,
+ 67
+ ],
+ [
+ 43,
+ 67
+ ],
+ [
+ 42,
+ 66
+ ],
+ [
+ 40,
+ 65
+ ],
+ [
+ 40,
+ 70
+ ],
+ [
+ 41,
+ 71
+ ],
+ [
+ 42,
+ 72
+ ],
+ [
+ 42,
+ 73
+ ],
+ [
+ 41,
+ 73
+ ],
+ [
+ 40,
+ 74
+ ],
+ [
+ 39,
+ 75
+ ],
+ [
+ 37,
+ 75
+ ],
+ [
+ 37,
+ 76
+ ],
+ [
+ 35,
+ 76
+ ],
+ [
+ 35,
+ 79
+ ],
+ [
+ 43,
+ 79
+ ],
+ [
+ 43,
+ 85
+ ],
+ [
+ 42,
+ 86
+ ],
+ [
+ 42,
+ 88
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 50,
+ 75
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8520684
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/cozy_glow_cutie_mark.json b/entries/2025/cozy_glow_cutie_mark.json
similarity index 100%
rename from entries2025/cozy_glow_cutie_mark.json
rename to entries/2025/cozy_glow_cutie_mark.json
diff --git a/entries2025/d2jam.json b/entries/2025/d2jam.json
similarity index 100%
rename from entries2025/d2jam.json
rename to entries/2025/d2jam.json
diff --git a/entries2025/demoman.json b/entries/2025/demoman.json
similarity index 100%
rename from entries2025/demoman.json
rename to entries/2025/demoman.json
diff --git a/entries2025/derpy_hooves.json b/entries/2025/derpy_hooves.json
similarity index 100%
rename from entries2025/derpy_hooves.json
rename to entries/2025/derpy_hooves.json
diff --git a/entries2025/die_drei_fragezeichen.json b/entries/2025/die_drei_fragezeichen.json
similarity index 100%
rename from entries2025/die_drei_fragezeichen.json
rename to entries/2025/die_drei_fragezeichen.json
diff --git a/entries2025/donkey_kong.json b/entries/2025/donkey_kong.json
similarity index 100%
rename from entries2025/donkey_kong.json
rename to entries/2025/donkey_kong.json
diff --git a/entries2025/dragondot.json b/entries/2025/dragondot.json
similarity index 100%
rename from entries2025/dragondot.json
rename to entries/2025/dragondot.json
diff --git a/entries2025/drm_free_games_are_forever.json b/entries/2025/drm_free_games_are_forever.json
similarity index 100%
rename from entries2025/drm_free_games_are_forever.json
rename to entries/2025/drm_free_games_are_forever.json
diff --git a/entries2025/dusk_saw.json b/entries/2025/dusk_saw.json
similarity index 100%
rename from entries2025/dusk_saw.json
rename to entries/2025/dusk_saw.json
diff --git a/entries2025/ebonypet.json b/entries/2025/ebonypet.json
similarity index 100%
rename from entries2025/ebonypet.json
rename to entries/2025/ebonypet.json
diff --git a/entries2025/eli_elly_.json b/entries/2025/eli_elly_.json
similarity index 100%
rename from entries2025/eli_elly_.json
rename to entries/2025/eli_elly_.json
diff --git a/entries2025/emblem_of_globasa.json b/entries/2025/emblem_of_globasa.json
similarity index 100%
rename from entries2025/emblem_of_globasa.json
rename to entries/2025/emblem_of_globasa.json
diff --git a/entries2025/ena.json b/entries/2025/ena.json
similarity index 100%
rename from entries2025/ena.json
rename to entries/2025/ena.json
diff --git a/entries2025/esix.json b/entries/2025/esix.json
similarity index 100%
rename from entries2025/esix.json
rename to entries/2025/esix.json
diff --git a/entries2025/estelle_and_joshua_bright.json b/entries/2025/estelle_and_joshua_bright.json
similarity index 100%
rename from entries2025/estelle_and_joshua_bright.json
rename to entries/2025/estelle_and_joshua_bright.json
diff --git a/entries2025/eu_aligned_flags.json b/entries/2025/eu_aligned_flags.json
similarity index 100%
rename from entries2025/eu_aligned_flags.json
rename to entries/2025/eu_aligned_flags.json
diff --git a/entries2025/euler_s_identity.json b/entries/2025/euler_s_identity.json
similarity index 100%
rename from entries2025/euler_s_identity.json
rename to entries/2025/euler_s_identity.json
diff --git a/entries/2025/factorio.json b/entries/2025/factorio.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d4208afee5aa45d8c6d18b0e22a908231e9e24a
--- /dev/null
+++ b/entries/2025/factorio.json
@@ -0,0 +1,156 @@
+{
+ "id": 3552371583,
+ "name": "Factorio",
+ "description": "Factorio is a factory game made by Wube Software.",
+ "links": {
+ "lemmy": [
+ "https://lemmy.world/c/factorio"
+ ],
+ "website": [
+ "https://factorio.com/",
+ "https://store.steampowered.com/app/427520/Factorio/"
+ ],
+ "subreddit": [
+ "factorio"
+ ]
+ },
+ "path": {
+ "48": [
+ [
+ 228,
+ 104
+ ],
+ [
+ 229,
+ 105
+ ],
+ [
+ 230,
+ 105
+ ],
+ [
+ 231,
+ 104
+ ],
+ [
+ 232,
+ 105
+ ],
+ [
+ 232,
+ 106
+ ],
+ [
+ 233,
+ 106
+ ],
+ [
+ 233,
+ 105
+ ],
+ [
+ 234,
+ 104
+ ],
+ [
+ 235,
+ 105
+ ],
+ [
+ 236,
+ 105
+ ],
+ [
+ 237,
+ 104
+ ],
+ [
+ 236,
+ 103
+ ],
+ [
+ 237,
+ 102
+ ],
+ [
+ 237,
+ 101
+ ],
+ [
+ 236,
+ 100
+ ],
+ [
+ 236,
+ 98
+ ],
+ [
+ 235,
+ 98
+ ],
+ [
+ 234,
+ 99
+ ],
+ [
+ 233,
+ 98
+ ],
+ [
+ 233,
+ 97
+ ],
+ [
+ 232,
+ 97
+ ],
+ [
+ 232,
+ 98
+ ],
+ [
+ 231,
+ 99
+ ],
+ [
+ 230,
+ 98
+ ],
+ [
+ 229,
+ 98
+ ],
+ [
+ 229,
+ 100
+ ],
+ [
+ 228,
+ 101
+ ],
+ [
+ 228,
+ 102
+ ],
+ [
+ 229,
+ 103
+ ],
+ [
+ 228,
+ 104
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 233,
+ 102
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8509531
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/fairy.json b/entries/2025/fairy.json
similarity index 100%
rename from entries2025/fairy.json
rename to entries/2025/fairy.json
diff --git a/entries2025/fdgo_ultras.json b/entries/2025/fdgo_ultras.json
similarity index 100%
rename from entries2025/fdgo_ultras.json
rename to entries/2025/fdgo_ultras.json
diff --git a/entries2025/feddit_org.json b/entries/2025/feddit_org.json
similarity index 100%
rename from entries2025/feddit_org.json
rename to entries/2025/feddit_org.json
diff --git a/entries/2025/ferris.json b/entries/2025/ferris.json
new file mode 100644
index 0000000000000000000000000000000000000000..9f8bd137a69d557be3fed259ce9ed62d3b0adcf0
--- /dev/null
+++ b/entries/2025/ferris.json
@@ -0,0 +1,233 @@
+{
+ "id": 411011266,
+ "name": "Ferris",
+ "description": "Ferris the mascot of the Rust programming language.",
+ "links": {
+ "lemmy": [
+ "https://programming.dev/c/rust",
+ "https://lemmy.ml/c/rust"
+ ],
+ "website": [
+ "https://www.rustacean.net/",
+ "https://www.rust-lang.org/"
+ ],
+ "subreddit": [
+ "rust"
+ ]
+ },
+ "path": {
+ "48": [
+ [
+ 195,
+ 117
+ ],
+ [
+ 198,
+ 120
+ ],
+ [
+ 199,
+ 121
+ ],
+ [
+ 198,
+ 122
+ ],
+ [
+ 201,
+ 125
+ ],
+ [
+ 200,
+ 124
+ ],
+ [
+ 200,
+ 123
+ ],
+ [
+ 199,
+ 122
+ ],
+ [
+ 200,
+ 121
+ ],
+ [
+ 202,
+ 123
+ ],
+ [
+ 203,
+ 122
+ ],
+ [
+ 209,
+ 122
+ ],
+ [
+ 210,
+ 123
+ ],
+ [
+ 212,
+ 121
+ ],
+ [
+ 213,
+ 122
+ ],
+ [
+ 212,
+ 123
+ ],
+ [
+ 212,
+ 124
+ ],
+ [
+ 211,
+ 125
+ ],
+ [
+ 214,
+ 122
+ ],
+ [
+ 213,
+ 121
+ ],
+ [
+ 217,
+ 117
+ ],
+ [
+ 216,
+ 118
+ ],
+ [
+ 215,
+ 117
+ ],
+ [
+ 215,
+ 118
+ ],
+ [
+ 214,
+ 119
+ ],
+ [
+ 213,
+ 118
+ ],
+ [
+ 213,
+ 117
+ ],
+ [
+ 212,
+ 118
+ ],
+ [
+ 211,
+ 117
+ ],
+ [
+ 211,
+ 115
+ ],
+ [
+ 210,
+ 116
+ ],
+ [
+ 209,
+ 115
+ ],
+ [
+ 209,
+ 114
+ ],
+ [
+ 208,
+ 115
+ ],
+ [
+ 207,
+ 114
+ ],
+ [
+ 205,
+ 114
+ ],
+ [
+ 204,
+ 115
+ ],
+ [
+ 203,
+ 114
+ ],
+ [
+ 203,
+ 116
+ ],
+ [
+ 201,
+ 116
+ ],
+ [
+ 201,
+ 118
+ ],
+ [
+ 200,
+ 118
+ ],
+ [
+ 199,
+ 117
+ ],
+ [
+ 199,
+ 118
+ ],
+ [
+ 200,
+ 119
+ ],
+ [
+ 199,
+ 120
+ ],
+ [
+ 198,
+ 120
+ ],
+ [
+ 197,
+ 119
+ ],
+ [
+ 197,
+ 117
+ ],
+ [
+ 196,
+ 118
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 206,
+ 118
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8509481
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/flag_of_algeria.json b/entries/2025/flag_of_algeria.json
similarity index 100%
rename from entries2025/flag_of_algeria.json
rename to entries/2025/flag_of_algeria.json
diff --git a/entries2025/flag_of_argentina.json b/entries/2025/flag_of_argentina.json
similarity index 100%
rename from entries2025/flag_of_argentina.json
rename to entries/2025/flag_of_argentina.json
diff --git a/entries2025/flag_of_brazil.json b/entries/2025/flag_of_brazil.json
similarity index 100%
rename from entries2025/flag_of_brazil.json
rename to entries/2025/flag_of_brazil.json
diff --git a/entries2025/flag_of_cyprus.json b/entries/2025/flag_of_cyprus.json
similarity index 100%
rename from entries2025/flag_of_cyprus.json
rename to entries/2025/flag_of_cyprus.json
diff --git a/entries2025/flag_of_malta.json b/entries/2025/flag_of_malta.json
similarity index 100%
rename from entries2025/flag_of_malta.json
rename to entries/2025/flag_of_malta.json
diff --git a/entries2025/flag_of_minas_gerais.json b/entries/2025/flag_of_minas_gerais.json
similarity index 100%
rename from entries2025/flag_of_minas_gerais.json
rename to entries/2025/flag_of_minas_gerais.json
diff --git a/entries2025/flag_of_oceania.json b/entries/2025/flag_of_oceania.json
similarity index 100%
rename from entries2025/flag_of_oceania.json
rename to entries/2025/flag_of_oceania.json
diff --git a/entries/2025/fluttershy_chicken_jockey.json b/entries/2025/fluttershy_chicken_jockey.json
new file mode 100644
index 0000000000000000000000000000000000000000..80d19a57fae2e205c745550f3970e4d2f517dfaf
--- /dev/null
+++ b/entries/2025/fluttershy_chicken_jockey.json
@@ -0,0 +1,73 @@
+{
+ "id": 2736729364,
+ "name": "Fluttershy Chicken Jockey",
+ "description": "The My Little Pony character Fluttershy riding atop a chicken in parody of a Minecraft Chicken Jockey.",
+ "links": {},
+ "path": {
+ "46-48": [
+ [
+ 1,
+ 330
+ ],
+ [
+ 1,
+ 333
+ ],
+ [
+ 0,
+ 334
+ ],
+ [
+ 0,
+ 341
+ ],
+ [
+ 1,
+ 346
+ ],
+ [
+ 3,
+ 347
+ ],
+ [
+ 6,
+ 347
+ ],
+ [
+ 8,
+ 346
+ ],
+ [
+ 9,
+ 343
+ ],
+ [
+ 8,
+ 339
+ ],
+ [
+ 10,
+ 336
+ ],
+ [
+ 8,
+ 334
+ ],
+ [
+ 8,
+ 330
+ ]
+ ]
+ },
+ "center": {
+ "46-48": [
+ 5,
+ 343
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484597
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/foss.json b/entries/2025/foss.json
similarity index 100%
rename from entries2025/foss.json
rename to entries/2025/foss.json
diff --git a/entries2025/fqqd.json b/entries/2025/fqqd.json
similarity index 100%
rename from entries2025/fqqd.json
rename to entries/2025/fqqd.json
diff --git a/entries2025/free_luigi_.json b/entries/2025/free_luigi_.json
similarity index 100%
rename from entries2025/free_luigi_.json
rename to entries/2025/free_luigi_.json
diff --git a/entries2025/freehk.json b/entries/2025/freehk.json
similarity index 100%
rename from entries2025/freehk.json
rename to entries/2025/freehk.json
diff --git a/entries2025/fridays_for_future.json b/entries/2025/fridays_for_future.json
similarity index 100%
rename from entries2025/fridays_for_future.json
rename to entries/2025/fridays_for_future.json
diff --git a/entries2025/fuck_afd.json b/entries/2025/fuck_afd.json
similarity index 100%
rename from entries2025/fuck_afd.json
rename to entries/2025/fuck_afd.json
diff --git a/entries2025/fuck_stalin.json b/entries/2025/fuck_stalin.json
similarity index 100%
rename from entries2025/fuck_stalin.json
rename to entries/2025/fuck_stalin.json
diff --git a/entries2025/furret_stu.json b/entries/2025/furret_stu.json
similarity index 100%
rename from entries2025/furret_stu.json
rename to entries/2025/furret_stu.json
diff --git a/entries2025/game_of_life_gliders.json b/entries/2025/game_of_life_gliders.json
similarity index 100%
rename from entries2025/game_of_life_gliders.json
rename to entries/2025/game_of_life_gliders.json
diff --git a/entries2025/gary_yourofsky.json b/entries/2025/gary_yourofsky.json
similarity index 100%
rename from entries2025/gary_yourofsky.json
rename to entries/2025/gary_yourofsky.json
diff --git a/entries2025/gog.json b/entries/2025/gog.json
similarity index 100%
rename from entries2025/gog.json
rename to entries/2025/gog.json
diff --git a/entries2025/goodboy_dog.json b/entries/2025/goodboy_dog.json
similarity index 100%
rename from entries2025/goodboy_dog.json
rename to entries/2025/goodboy_dog.json
diff --git a/entries2025/green_anarchism_flag.json b/entries/2025/green_anarchism_flag.json
similarity index 100%
rename from entries2025/green_anarchism_flag.json
rename to entries/2025/green_anarchism_flag.json
diff --git a/entries2025/grub.json b/entries/2025/grub.json
similarity index 100%
rename from entries2025/grub.json
rename to entries/2025/grub.json
diff --git a/entries2025/gunners_arsenal_f_c_.json b/entries/2025/gunners_arsenal_f_c_.json
similarity index 100%
rename from entries2025/gunners_arsenal_f_c_.json
rename to entries/2025/gunners_arsenal_f_c_.json
diff --git a/entries2025/hazelnut_junction_commuters.json b/entries/2025/hazelnut_junction_commuters.json
similarity index 100%
rename from entries2025/hazelnut_junction_commuters.json
rename to entries/2025/hazelnut_junction_commuters.json
diff --git a/entries/2025/hololive_logo.json b/entries/2025/hololive_logo.json
new file mode 100644
index 0000000000000000000000000000000000000000..6ebb86854aafee14383b2401e1423dddd5a46c81
--- /dev/null
+++ b/entries/2025/hololive_logo.json
@@ -0,0 +1,64 @@
+{
+ "id": 4186742611,
+ "name": "Hololive Logo",
+ "description": "The logo of Hololive Production, a VTuber Agency under Cover Corporation.\n\n\"Home\" of some of the most popular past and active VTubers in multiple languages, including Mori Calliope, Houshou Marine, Kobo Kanaeru and Gawr Gura.",
+ "links": {
+ "lemmy": [
+ "!hololive@lemmy.world"
+ ],
+ "website": [
+ "https://hololive.hololivepro.com/en/"
+ ]
+ },
+ "path": {
+ "4-48": [
+ [
+ 4,
+ 243
+ ],
+ [
+ 7,
+ 243
+ ],
+ [
+ 39,
+ 259
+ ],
+ [
+ 39,
+ 274
+ ],
+ [
+ 7,
+ 291
+ ],
+ [
+ 4,
+ 291
+ ],
+ [
+ 1,
+ 288
+ ],
+ [
+ 1,
+ 245
+ ],
+ [
+ 4,
+ 243
+ ]
+ ]
+ },
+ "center": {
+ "4-48": [
+ 17,
+ 266
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8477829
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/huggies_emote.json b/entries/2025/huggies_emote.json
similarity index 100%
rename from entries2025/huggies_emote.json
rename to entries/2025/huggies_emote.json
diff --git a/entries2025/hyacinth.json b/entries/2025/hyacinth.json
similarity index 100%
rename from entries2025/hyacinth.json
rename to entries/2025/hyacinth.json
diff --git a/entries2025/ike_a_.json b/entries/2025/ike_a_.json
similarity index 100%
rename from entries2025/ike_a_.json
rename to entries/2025/ike_a_.json
diff --git a/entries2025/inaturalist.json b/entries/2025/inaturalist.json
similarity index 100%
rename from entries2025/inaturalist.json
rename to entries/2025/inaturalist.json
diff --git a/entries2025/intercity_express.json b/entries/2025/intercity_express.json
similarity index 100%
rename from entries2025/intercity_express.json
rename to entries/2025/intercity_express.json
diff --git a/entries2025/intercity_express_entering_a_portal.json b/entries/2025/intercity_express_entering_a_portal.json
similarity index 100%
rename from entries2025/intercity_express_entering_a_portal.json
rename to entries/2025/intercity_express_entering_a_portal.json
diff --git a/entries2025/international_space_station_iss_.json b/entries/2025/international_space_station_iss_.json
similarity index 100%
rename from entries2025/international_space_station_iss_.json
rename to entries/2025/international_space_station_iss_.json
diff --git a/entries2025/inugami_korone.json b/entries/2025/inugami_korone.json
similarity index 100%
rename from entries2025/inugami_korone.json
rename to entries/2025/inugami_korone.json
diff --git a/entries2025/irelephant.json b/entries/2025/irelephant.json
similarity index 100%
rename from entries2025/irelephant.json
rename to entries/2025/irelephant.json
diff --git a/entries2025/itch_io_logo.json b/entries/2025/itch_io_logo.json
similarity index 100%
rename from entries2025/itch_io_logo.json
rename to entries/2025/itch_io_logo.json
diff --git a/entries2025/jimbo.json b/entries/2025/jimbo.json
similarity index 100%
rename from entries2025/jimbo.json
rename to entries/2025/jimbo.json
diff --git a/entries2025/keygen_church_logo.json b/entries/2025/keygen_church_logo.json
similarity index 100%
rename from entries2025/keygen_church_logo.json
rename to entries/2025/keygen_church_logo.json
diff --git a/entries2025/klingon_ship.json b/entries/2025/klingon_ship.json
similarity index 100%
rename from entries2025/klingon_ship.json
rename to entries/2025/klingon_ship.json
diff --git a/entries2025/koboldcoterie.json b/entries/2025/koboldcoterie.json
similarity index 100%
rename from entries2025/koboldcoterie.json
rename to entries/2025/koboldcoterie.json
diff --git a/entries/2025/koin_koin_.json b/entries/2025/koin_koin_.json
new file mode 100644
index 0000000000000000000000000000000000000000..dd7693906bd2d760ef854573eb2ef7dfd1cafc0f
--- /dev/null
+++ b/entries/2025/koin_koin_.json
@@ -0,0 +1,64 @@
+ {
+ "id": 975838374,
+ "name": "Koin ! Koin !",
+ "description": "A yellow duck. Every morning, on !forumlibre@jlai.lu we are greeting each other with : Coin ! Coin !",
+ "links": {
+ "lemmy": [
+ "!forumlibre@jlai.lu"
+ ],
+ "website": [
+ "https://jlai.lu/",
+ "https://jlailu.zulipchat.com/"
+ ]
+ },
+ "path": {
+ "31-48": [
+ [
+ 79,
+ 100
+ ],
+ [
+ 78,
+ 101
+ ],
+ [
+ 79,
+ 102
+ ],
+ [
+ 81,
+ 104
+ ],
+ [
+ 82,
+ 104
+ ],
+ [
+ 84,
+ 102
+ ],
+ [
+ 83,
+ 101
+ ],
+ [
+ 82,
+ 101
+ ],
+ [
+ 82,
+ 99
+ ],
+ [
+ 79,
+ 99
+ ]
+ ]
+ },
+ "center": {
+ "31-48": [
+ 81,
+ 102
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries2025/kurisu_makise.json b/entries/2025/kurisu_makise.json
similarity index 100%
rename from entries2025/kurisu_makise.json
rename to entries/2025/kurisu_makise.json
diff --git a/entries/2025/laibach.json b/entries/2025/laibach.json
new file mode 100644
index 0000000000000000000000000000000000000000..81d0f53bc90a4adec0c351032bbe5fef9566a75d
--- /dev/null
+++ b/entries/2025/laibach.json
@@ -0,0 +1,53 @@
+{
+ "id": 9788820567,
+ "name": "Laibach",
+ "description": "The famous slovenian industrial metal band.",
+ "links": {
+ "website": [
+ "https://www.laibach.org/"
+ ]
+ },
+ "path": {
+ "41-48": [
+ [
+ 422,
+ 0
+ ],
+ [
+ 422,
+ 4
+ ],
+ [
+ 448,
+ 4
+ ],
+ [
+ 448,
+ 0
+ ],
+ [
+ 434,
+ 0
+ ],
+ [
+ 425,
+ 0
+ ],
+ [
+ 422,
+ 0
+ ]
+ ]
+ },
+ "center": {
+ "41-48": [
+ 435,
+ 2
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8487107
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/lain_iwakura.json b/entries/2025/lain_iwakura.json
similarity index 100%
rename from entries2025/lain_iwakura.json
rename to entries/2025/lain_iwakura.json
diff --git a/entries2025/lemmings.json b/entries/2025/lemmings.json
similarity index 100%
rename from entries2025/lemmings.json
rename to entries/2025/lemmings.json
diff --git a/entries2025/lgbtq_greece.json b/entries/2025/lgbtq_greece.json
similarity index 100%
rename from entries2025/lgbtq_greece.json
rename to entries/2025/lgbtq_greece.json
diff --git a/entries/2025/lilou.json b/entries/2025/lilou.json
new file mode 100644
index 0000000000000000000000000000000000000000..6030641666f116ea0906ee04ab83f8630cd1f922
--- /dev/null
+++ b/entries/2025/lilou.json
@@ -0,0 +1,273 @@
+{
+ "id": 8947166272,
+ "name": "Lilou",
+ "description": "@lilou41's pony OC",
+ "links": {},
+ "path": {
+ "3-48": [
+ [
+ 296,
+ 234
+ ],
+ [
+ 294,
+ 242
+ ],
+ [
+ 292,
+ 242
+ ],
+ [
+ 287,
+ 251
+ ],
+ [
+ 285,
+ 249
+ ],
+ [
+ 280,
+ 256
+ ],
+ [
+ 277,
+ 265
+ ],
+ [
+ 274,
+ 257
+ ],
+ [
+ 273,
+ 267
+ ],
+ [
+ 270,
+ 275
+ ],
+ [
+ 268,
+ 273
+ ],
+ [
+ 268,
+ 284
+ ],
+ [
+ 274,
+ 290
+ ],
+ [
+ 268,
+ 298
+ ],
+ [
+ 268,
+ 306
+ ],
+ [
+ 271,
+ 306
+ ],
+ [
+ 279,
+ 300
+ ],
+ [
+ 279,
+ 297
+ ],
+ [
+ 281,
+ 297
+ ],
+ [
+ 283,
+ 298
+ ],
+ [
+ 285,
+ 302
+ ],
+ [
+ 288,
+ 302
+ ],
+ [
+ 290,
+ 300
+ ],
+ [
+ 297,
+ 301
+ ],
+ [
+ 296,
+ 306
+ ],
+ [
+ 286,
+ 306
+ ],
+ [
+ 285,
+ 311
+ ],
+ [
+ 292,
+ 321
+ ],
+ [
+ 290,
+ 334
+ ],
+ [
+ 293,
+ 340
+ ],
+ [
+ 297,
+ 336
+ ],
+ [
+ 300,
+ 339
+ ],
+ [
+ 295,
+ 352
+ ],
+ [
+ 295,
+ 361
+ ],
+ [
+ 299,
+ 366
+ ],
+ [
+ 301,
+ 366
+ ],
+ [
+ 307,
+ 361
+ ],
+ [
+ 307,
+ 344
+ ],
+ [
+ 310,
+ 335
+ ],
+ [
+ 307,
+ 331
+ ],
+ [
+ 310,
+ 324
+ ],
+ [
+ 310,
+ 318
+ ],
+ [
+ 310,
+ 319
+ ],
+ [
+ 319,
+ 311
+ ],
+ [
+ 323,
+ 304
+ ],
+ [
+ 324,
+ 296
+ ],
+ [
+ 323,
+ 293
+ ],
+ [
+ 325,
+ 284
+ ],
+ [
+ 322,
+ 290
+ ],
+ [
+ 319,
+ 279
+ ],
+ [
+ 319,
+ 268
+ ],
+ [
+ 322,
+ 258
+ ],
+ [
+ 324,
+ 253
+ ],
+ [
+ 321,
+ 257
+ ],
+ [
+ 320,
+ 251
+ ],
+ [
+ 323,
+ 245
+ ],
+ [
+ 320,
+ 246
+ ],
+ [
+ 314,
+ 251
+ ],
+ [
+ 310,
+ 260
+ ],
+ [
+ 306,
+ 257
+ ],
+ [
+ 301,
+ 255
+ ],
+ [
+ 301,
+ 248
+ ],
+ [
+ 299,
+ 241
+ ]
+ ]
+ },
+ "center": {
+ "3-48": [
+ 296,
+ 278
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484371
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/linux_mint_logo.json b/entries/2025/linux_mint_logo.json
similarity index 100%
rename from entries2025/linux_mint_logo.json
rename to entries/2025/linux_mint_logo.json
diff --git a/entries2025/littleshyfim_and_tootsie4ever.json b/entries/2025/littleshyfim_and_tootsie4ever.json
similarity index 100%
rename from entries2025/littleshyfim_and_tootsie4ever.json
rename to entries/2025/littleshyfim_and_tootsie4ever.json
diff --git a/entries2025/madeline.json b/entries/2025/madeline.json
similarity index 100%
rename from entries2025/madeline.json
rename to entries/2025/madeline.json
diff --git a/entries2025/madeline_celeste_pico_8_.json b/entries/2025/madeline_celeste_pico_8_.json
similarity index 100%
rename from entries2025/madeline_celeste_pico_8_.json
rename to entries/2025/madeline_celeste_pico_8_.json
diff --git a/entries2025/madotsuki.json b/entries/2025/madotsuki.json
similarity index 100%
rename from entries2025/madotsuki.json
rename to entries/2025/madotsuki.json
diff --git a/entries2025/maelle.json b/entries/2025/maelle.json
similarity index 100%
rename from entries2025/maelle.json
rename to entries/2025/maelle.json
diff --git a/entries2025/mander_xyz.json b/entries/2025/mander_xyz.json
similarity index 100%
rename from entries2025/mander_xyz.json
rename to entries/2025/mander_xyz.json
diff --git a/entries2025/mastodon.json b/entries/2025/mastodon.json
similarity index 100%
rename from entries2025/mastodon.json
rename to entries/2025/mastodon.json
diff --git a/entries2025/maya_fey.json b/entries/2025/maya_fey.json
similarity index 100%
rename from entries2025/maya_fey.json
rename to entries/2025/maya_fey.json
diff --git a/entries/2025/meerkat.json b/entries/2025/meerkat.json
new file mode 100644
index 0000000000000000000000000000000000000000..c14f7293fa82b5124a5295e1356db65b22822460
--- /dev/null
+++ b/entries/2025/meerkat.json
@@ -0,0 +1,97 @@
+{
+ "id": 1039557004,
+ "name": "Meerkat",
+ "description": "One of jlai.lu users. A desert sentinel that love joking.",
+ "links": {
+ "lemmy": [
+ "!forumlibre@jlai.lu"
+ ],
+ "website": [
+ "https://jlai.lu/",
+ "https://jlailu.zulipchat.com/"
+ ]
+ },
+ "path": {
+ "35-48": [
+ [
+ 84,
+ 98
+ ],
+ [
+ 84,
+ 93
+ ],
+ [
+ 86,
+ 91
+ ],
+ [
+ 91,
+ 91
+ ],
+ [
+ 92,
+ 92
+ ],
+ [
+ 93,
+ 92
+ ],
+ [
+ 94,
+ 93
+ ],
+ [
+ 95,
+ 93
+ ],
+ [
+ 95,
+ 95
+ ],
+ [
+ 94,
+ 96
+ ],
+ [
+ 93,
+ 96
+ ],
+ [
+ 92,
+ 97
+ ],
+ [
+ 91,
+ 97
+ ],
+ [
+ 90,
+ 98
+ ],
+ [
+ 85,
+ 98
+ ],
+ [
+ 84,
+ 97
+ ],
+ [
+ 84,
+ 93
+ ]
+ ]
+ },
+ "center": {
+ "35-48": [
+ 88,
+ 95
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8485426
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/nafo_1_of_2_.json b/entries/2025/nafo_1_of_2_.json
similarity index 100%
rename from entries2025/nafo_1_of_2_.json
rename to entries/2025/nafo_1_of_2_.json
diff --git a/entries2025/nafo_2_of_2_.json b/entries/2025/nafo_2_of_2_.json
similarity index 100%
rename from entries2025/nafo_2_of_2_.json
rename to entries/2025/nafo_2_of_2_.json
diff --git a/entries/2025/nasa_pony.json b/entries/2025/nasa_pony.json
new file mode 100644
index 0000000000000000000000000000000000000000..d6eb55c3fb15d7ba1f1972f46cc065e3c9abedd0
--- /dev/null
+++ b/entries/2025/nasa_pony.json
@@ -0,0 +1,100 @@
+ {
+ "id": 9755364744,
+ "name": "NASA pony",
+ "description": "A small pony designed to look like the NASA logo.",
+ "links": {},
+ "path": {
+ "38-48": [
+ [
+ 275,
+ 305
+ ],
+ [
+ 275,
+ 307
+ ],
+ [
+ 278,
+ 310
+ ],
+ [
+ 279,
+ 310
+ ],
+ [
+ 280,
+ 311
+ ],
+ [
+ 281,
+ 310
+ ],
+ [
+ 283,
+ 310
+ ],
+ [
+ 283,
+ 309
+ ],
+ [
+ 282,
+ 308
+ ],
+ [
+ 283,
+ 307
+ ],
+ [
+ 282,
+ 306
+ ],
+ [
+ 283,
+ 305
+ ],
+ [
+ 283,
+ 304
+ ],
+ [
+ 281,
+ 302
+ ],
+ [
+ 280,
+ 303
+ ],
+ [
+ 280,
+ 304
+ ],
+ [
+ 279,
+ 305
+ ],
+ [
+ 279,
+ 306
+ ],
+ [
+ 280,
+ 307
+ ],
+ [
+ 280,
+ 308
+ ],
+ [
+ 276,
+ 305
+ ]
+ ]
+ },
+ "center": {
+ "38-48": [
+ 281,
+ 305
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries2025/nix_flake.json b/entries/2025/nix_flake.json
similarity index 100%
rename from entries2025/nix_flake.json
rename to entries/2025/nix_flake.json
diff --git a/entries2025/ohaa.json b/entries/2025/ohaa.json
similarity index 100%
rename from entries2025/ohaa.json
rename to entries/2025/ohaa.json
diff --git a/entries2025/omegamouse.json b/entries/2025/omegamouse.json
similarity index 100%
rename from entries2025/omegamouse.json
rename to entries/2025/omegamouse.json
diff --git a/entries/2025/osu_.json b/entries/2025/osu_.json
new file mode 100644
index 0000000000000000000000000000000000000000..aec931f74709cfdb4233a3c5bccd89d7d5b24b6e
--- /dev/null
+++ b/entries/2025/osu_.json
@@ -0,0 +1,36 @@
+ {
+ "id": 3913905527,
+ "name": "osu!",
+ "description": "The text \"osu!\", in reference to the Rhythm game osu!.",
+ "links": {
+ "website": [
+ "https://osu.ppy.sh/"
+ ]
+ },
+ "path": {
+ "47-48": [
+ [
+ 57,
+ 281
+ ],
+ [
+ 57,
+ 287
+ ],
+ [
+ 71,
+ 287
+ ],
+ [
+ 71,
+ 281
+ ]
+ ]
+ },
+ "center": {
+ "47-48": [
+ 64,
+ 284
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries/2025/otter.json b/entries/2025/otter.json
new file mode 100644
index 0000000000000000000000000000000000000000..b10e50e4a2998b3de0b5dadb654e2fc3128954ed
--- /dev/null
+++ b/entries/2025/otter.json
@@ -0,0 +1,57 @@
+{
+ "id": 9420833713,
+ "name": "Otter",
+ "description": "One of our jlai.lu user. He love stones and dice game.",
+ "links": {
+ "lemmy": [
+ "!forumlibre@jlai.lu"
+ ],
+ "website": [
+ "https://jlai.lu/",
+ "https://jlailu.zulipchat.com/"
+ ]
+ },
+ "path": {
+ "41-48": [
+ [
+ 123,
+ 67
+ ],
+ [
+ 129,
+ 67
+ ],
+ [
+ 129,
+ 74
+ ],
+ [
+ 126,
+ 77
+ ],
+ [
+ 125,
+ 76
+ ],
+ [
+ 124,
+ 76
+ ],
+ [
+ 123,
+ 75
+ ]
+ ]
+ },
+ "center": {
+ "41-48": [
+ 126,
+ 72
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484602
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/p_np.json b/entries/2025/p_np.json
similarity index 100%
rename from entries2025/p_np.json
rename to entries/2025/p_np.json
diff --git a/entries2025/parana_pine_and_red_breasted_toucan.json b/entries/2025/parana_pine_and_red_breasted_toucan.json
similarity index 100%
rename from entries2025/parana_pine_and_red_breasted_toucan.json
rename to entries/2025/parana_pine_and_red_breasted_toucan.json
diff --git a/entries2025/pathfinder_roleplaying_game.json b/entries/2025/pathfinder_roleplaying_game.json
similarity index 100%
rename from entries2025/pathfinder_roleplaying_game.json
rename to entries/2025/pathfinder_roleplaying_game.json
diff --git a/entries2025/peeking_belgium_pony.json b/entries/2025/peeking_belgium_pony.json
similarity index 100%
rename from entries2025/peeking_belgium_pony.json
rename to entries/2025/peeking_belgium_pony.json
diff --git a/entries/2025/peeking_odessa_evensong.json b/entries/2025/peeking_odessa_evensong.json
new file mode 100644
index 0000000000000000000000000000000000000000..c937f28adc8dea7953b2976000b3d0003ac0dea2
--- /dev/null
+++ b/entries/2025/peeking_odessa_evensong.json
@@ -0,0 +1,121 @@
+{
+ "id": 3317470607,
+ "name": "Peeking Odessa Evensong",
+ "description": "The character Odessa Evensong from My Little Pony: Tell Your Tale peeking up from below the canvas.\nPixel art made by @Chssam.",
+ "links": {},
+ "path": {
+ "1-48": [
+ [
+ 200,
+ 472
+ ],
+ [
+ 200,
+ 477
+ ],
+ [
+ 197,
+ 476
+ ],
+ [
+ 197,
+ 480
+ ],
+ [
+ 196,
+ 483
+ ],
+ [
+ 192,
+ 486
+ ],
+ [
+ 190,
+ 489
+ ],
+ [
+ 190,
+ 499
+ ],
+ [
+ 240,
+ 499
+ ],
+ [
+ 237,
+ 495
+ ],
+ [
+ 233,
+ 493
+ ],
+ [
+ 237,
+ 489
+ ],
+ [
+ 237,
+ 484
+ ],
+ [
+ 232,
+ 486
+ ],
+ [
+ 230,
+ 484
+ ],
+ [
+ 233,
+ 481
+ ],
+ [
+ 226,
+ 480
+ ],
+ [
+ 227,
+ 477
+ ],
+ [
+ 225,
+ 473
+ ],
+ [
+ 222,
+ 472
+ ],
+ [
+ 219,
+ 475
+ ],
+ [
+ 211,
+ 474
+ ],
+ [
+ 209,
+ 475
+ ],
+ [
+ 205,
+ 472
+ ],
+ [
+ 203,
+ 475
+ ]
+ ]
+ },
+ "center": {
+ "1-48": [
+ 216,
+ 487
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484655
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/peeking_queen_chrysalis.json b/entries/2025/peeking_queen_chrysalis.json
similarity index 100%
rename from entries2025/peeking_queen_chrysalis.json
rename to entries/2025/peeking_queen_chrysalis.json
diff --git a/entries2025/pickaxe.json b/entries/2025/pickaxe.json
similarity index 100%
rename from entries2025/pickaxe.json
rename to entries/2025/pickaxe.json
diff --git a/entries2025/pipp_best_pony.json b/entries/2025/pipp_best_pony.json
similarity index 100%
rename from entries2025/pipp_best_pony.json
rename to entries/2025/pipp_best_pony.json
diff --git a/entries2025/pipp_s_blep.json b/entries/2025/pipp_s_blep.json
similarity index 100%
rename from entries2025/pipp_s_blep.json
rename to entries/2025/pipp_s_blep.json
diff --git a/entries2025/pixel_ponies.json b/entries/2025/pixel_ponies.json
similarity index 100%
rename from entries2025/pixel_ponies.json
rename to entries/2025/pixel_ponies.json
diff --git a/entries2025/pochita.json b/entries/2025/pochita.json
similarity index 100%
rename from entries2025/pochita.json
rename to entries/2025/pochita.json
diff --git a/entries2025/pokemon.json b/entries/2025/pokemon.json
similarity index 100%
rename from entries2025/pokemon.json
rename to entries/2025/pokemon.json
diff --git "a/entries2025/pok\303\251ball_6_6_.json" "b/entries/2025/pok\303\251ball_6_6_.json"
similarity index 100%
rename from "entries2025/pok\303\251ball_6_6_.json"
rename to "entries/2025/pok\303\251ball_6_6_.json"
diff --git a/entries2025/pretzel.json b/entries/2025/pretzel.json
similarity index 100%
rename from entries2025/pretzel.json
rename to entries/2025/pretzel.json
diff --git a/entries2025/princess_pipp_petals.json b/entries/2025/princess_pipp_petals.json
similarity index 100%
rename from entries2025/princess_pipp_petals.json
rename to entries/2025/princess_pipp_petals.json
diff --git a/entries2025/programming_dev.json b/entries/2025/programming_dev.json
similarity index 100%
rename from entries2025/programming_dev.json
rename to entries/2025/programming_dev.json
diff --git a/entries2025/pup_cup_dog.json b/entries/2025/pup_cup_dog.json
similarity index 100%
rename from entries2025/pup_cup_dog.json
rename to entries/2025/pup_cup_dog.json
diff --git a/entries2025/purple.json b/entries/2025/purple.json
similarity index 100%
rename from entries2025/purple.json
rename to entries/2025/purple.json
diff --git a/entries2025/purple_and_black_flag.json b/entries/2025/purple_and_black_flag.json
similarity index 100%
rename from entries2025/purple_and_black_flag.json
rename to entries/2025/purple_and_black_flag.json
diff --git a/entries2025/purple_sus.json b/entries/2025/purple_sus.json
similarity index 100%
rename from entries2025/purple_sus.json
rename to entries/2025/purple_sus.json
diff --git a/entries2025/r_a_m_the_robot.json b/entries/2025/r_a_m_the_robot.json
similarity index 100%
rename from entries2025/r_a_m_the_robot.json
rename to entries/2025/r_a_m_the_robot.json
diff --git a/entries2025/rainbow_dash.json b/entries/2025/rainbow_dash.json
similarity index 100%
rename from entries2025/rainbow_dash.json
rename to entries/2025/rainbow_dash.json
diff --git a/entries2025/rainbow_flag.json b/entries/2025/rainbow_flag.json
similarity index 100%
rename from entries2025/rainbow_flag.json
rename to entries/2025/rainbow_flag.json
diff --git a/entries2025/rainbow_pawb_logo.json b/entries/2025/rainbow_pawb_logo.json
similarity index 100%
rename from entries2025/rainbow_pawb_logo.json
rename to entries/2025/rainbow_pawb_logo.json
diff --git a/entries2025/ralsei.json b/entries/2025/ralsei.json
similarity index 100%
rename from entries2025/ralsei.json
rename to entries/2025/ralsei.json
diff --git a/entries2025/red_and_black_flag.json b/entries/2025/red_and_black_flag.json
similarity index 100%
rename from entries2025/red_and_black_flag.json
rename to entries/2025/red_and_black_flag.json
diff --git a/entries/2025/rescue_rangers.json b/entries/2025/rescue_rangers.json
new file mode 100644
index 0000000000000000000000000000000000000000..214154eb1a0c4c11881857604f95fb0e6b2585fc
--- /dev/null
+++ b/entries/2025/rescue_rangers.json
@@ -0,0 +1,229 @@
+{
+ "id": 2112259520,
+ "name": "Rescue Rangers",
+ "description": "The logo from the 2022 film Chip 'n Dale: Rescue Rangers",
+ "links": {
+ "website": [
+ "https://disney.fandom.com/wiki/Chip_%27n_Dale_Rescue_Rangers_(film)"
+ ]
+ },
+ "path": {
+ "1-48": [
+ [
+ 3,
+ 300
+ ],
+ [
+ 13,
+ 300
+ ],
+ [
+ 15,
+ 301
+ ],
+ [
+ 17,
+ 301
+ ],
+ [
+ 17,
+ 300
+ ],
+ [
+ 24,
+ 300
+ ],
+ [
+ 22,
+ 301
+ ],
+ [
+ 21,
+ 302
+ ],
+ [
+ 21,
+ 303
+ ],
+ [
+ 22,
+ 304
+ ],
+ [
+ 23,
+ 306
+ ],
+ [
+ 24,
+ 307
+ ],
+ [
+ 24,
+ 316
+ ],
+ [
+ 23,
+ 316
+ ],
+ [
+ 23,
+ 318
+ ],
+ [
+ 22,
+ 318
+ ],
+ [
+ 22,
+ 319
+ ],
+ [
+ 21,
+ 319
+ ],
+ [
+ 21,
+ 320
+ ],
+ [
+ 20,
+ 320
+ ],
+ [
+ 20,
+ 321
+ ],
+ [
+ 19,
+ 321
+ ],
+ [
+ 19,
+ 322
+ ],
+ [
+ 18,
+ 322
+ ],
+ [
+ 17,
+ 322
+ ],
+ [
+ 17,
+ 323
+ ],
+ [
+ 12,
+ 323
+ ],
+ [
+ 12,
+ 322
+ ],
+ [
+ 11,
+ 322
+ ],
+ [
+ 6,
+ 322
+ ],
+ [
+ 6,
+ 323
+ ],
+ [
+ 5,
+ 323
+ ],
+ [
+ 5,
+ 324
+ ],
+ [
+ 5,
+ 323
+ ],
+ [
+ 5,
+ 322
+ ],
+ [
+ 4,
+ 322
+ ],
+ [
+ 4,
+ 321
+ ],
+ [
+ 3,
+ 321
+ ],
+ [
+ 3,
+ 320
+ ],
+ [
+ 2,
+ 320
+ ],
+ [
+ 2,
+ 319
+ ],
+ [
+ 1,
+ 319
+ ],
+ [
+ 1,
+ 317
+ ],
+ [
+ 0,
+ 317
+ ],
+ [
+ 0,
+ 308
+ ],
+ [
+ 1,
+ 308
+ ],
+ [
+ 1,
+ 306
+ ],
+ [
+ 2,
+ 306
+ ],
+ [
+ 2,
+ 304
+ ],
+ [
+ 3,
+ 304
+ ],
+ [
+ 3,
+ 300
+ ]
+ ]
+ },
+ "center": {
+ "1-48": [
+ 13,
+ 311
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8476376
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/rocket_league_logo.json b/entries/2025/rocket_league_logo.json
similarity index 100%
rename from entries2025/rocket_league_logo.json
rename to entries/2025/rocket_league_logo.json
diff --git a/entries2025/rubber_duck.json b/entries/2025/rubber_duck.json
similarity index 100%
rename from entries2025/rubber_duck.json
rename to entries/2025/rubber_duck.json
diff --git a/entries/2025/rust.json b/entries/2025/rust.json
new file mode 100644
index 0000000000000000000000000000000000000000..929de02508bec19f5081d18e8e62ed3cfd63a75e
--- /dev/null
+++ b/entries/2025/rust.json
@@ -0,0 +1,128 @@
+{
+ "id": 2689476345,
+ "name": "Rust",
+ "description": "The logo of the Rust programming language.",
+ "links": {
+ "lemmy": [
+ "https://programming.dev/c/rust",
+ "https://lemmy.ml/c/rust"
+ ],
+ "website": [
+ "https://www.rust-lang.org/"
+ ],
+ "subreddit": [
+ "rust"
+ ]
+ },
+ "path": {
+ "11-48": [
+ [
+ 221,
+ 120
+ ],
+ [
+ 222,
+ 121
+ ],
+ [
+ 222,
+ 122
+ ],
+ [
+ 224,
+ 124
+ ],
+ [
+ 225,
+ 124
+ ],
+ [
+ 226,
+ 125
+ ],
+ [
+ 231,
+ 125
+ ],
+ [
+ 232,
+ 124
+ ],
+ [
+ 233,
+ 124
+ ],
+ [
+ 235,
+ 122
+ ],
+ [
+ 235,
+ 121
+ ],
+ [
+ 236,
+ 120
+ ],
+ [
+ 236,
+ 115
+ ],
+ [
+ 235,
+ 114
+ ],
+ [
+ 235,
+ 113
+ ],
+ [
+ 233,
+ 111
+ ],
+ [
+ 232,
+ 111
+ ],
+ [
+ 231,
+ 110
+ ],
+ [
+ 226,
+ 110
+ ],
+ [
+ 225,
+ 111
+ ],
+ [
+ 224,
+ 111
+ ],
+ [
+ 222,
+ 113
+ ],
+ [
+ 222,
+ 114
+ ],
+ [
+ 221,
+ 115
+ ]
+ ]
+ },
+ "center": {
+ "11-48": [
+ 229,
+ 118
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8509480
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries/2025/salute_dashie.json b/entries/2025/salute_dashie.json
new file mode 100644
index 0000000000000000000000000000000000000000..8fbc6b97de0def791d4e9049f7a99f813a790b5f
--- /dev/null
+++ b/entries/2025/salute_dashie.json
@@ -0,0 +1,77 @@
+{
+ "id": 1358911944,
+ "name": "Salute Dashie",
+ "description": "The My Little Pony character Rainbow Dash saluting.\nThis is a smaller version of the classic Salute Dashie that bronies have built on every r/place canvas.",
+ "links": {},
+ "path": {
+ "44-48": [
+ [
+ 66,
+ 190
+ ],
+ [
+ 67,
+ 191
+ ],
+ [
+ 61,
+ 197
+ ],
+ [
+ 61,
+ 200
+ ],
+ [
+ 64,
+ 202
+ ],
+ [
+ 81,
+ 202
+ ],
+ [
+ 83,
+ 198
+ ],
+ [
+ 83,
+ 190
+ ],
+ [
+ 80,
+ 187
+ ],
+ [
+ 78,
+ 188
+ ],
+ [
+ 76,
+ 187
+ ],
+ [
+ 71,
+ 186
+ ],
+ [
+ 70,
+ 187
+ ],
+ [
+ 69,
+ 187
+ ]
+ ]
+ },
+ "center": {
+ "44-48": [
+ 74,
+ 194
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484603
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/sc07.json b/entries/2025/sc07.json
similarity index 100%
rename from entries2025/sc07.json
rename to entries/2025/sc07.json
diff --git a/entries2025/seating_situation_passengers.json b/entries/2025/seating_situation_passengers.json
similarity index 100%
rename from entries2025/seating_situation_passengers.json
rename to entries/2025/seating_situation_passengers.json
diff --git a/entries2025/seiran.json b/entries/2025/seiran.json
similarity index 100%
rename from entries2025/seiran.json
rename to entries/2025/seiran.json
diff --git a/entries/2025/senna_s_helmet.json b/entries/2025/senna_s_helmet.json
new file mode 100644
index 0000000000000000000000000000000000000000..456926f6c4186f69a111f968e34404e8d3210dc2
--- /dev/null
+++ b/entries/2025/senna_s_helmet.json
@@ -0,0 +1,69 @@
+{
+ "id": 4327997577,
+ "name": "Senna's Helmet",
+ "description": "Commander Keen's helmet was briefly changed to resemble Ayrton Senna's racing helmet. Senna was a legendary Brazilian Formula One driver, renowned for his exceptional skill, fierce competitiveness, and three World Championships, who tragically died in a racing accident in 1994.",
+ "links": {
+ "website": [
+ "https://en.wikipedia.org/wiki/Ayrton_Senna#Helmet_design"
+ ]
+ },
+ "path": {
+ "18-19": [
+ [
+ 194,
+ 286
+ ],
+ [
+ 199,
+ 286
+ ],
+ [
+ 202,
+ 289
+ ],
+ [
+ 202,
+ 295
+ ],
+ [
+ 200,
+ 297
+ ],
+ [
+ 200,
+ 289
+ ],
+ [
+ 193,
+ 289
+ ],
+ [
+ 193,
+ 297
+ ],
+ [
+ 191,
+ 295
+ ],
+ [
+ 191,
+ 289
+ ],
+ [
+ 194,
+ 286
+ ]
+ ]
+ },
+ "center": {
+ "18-19": [
+ 197,
+ 288
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8467185
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries/2025/shield_of_knight_solaire.json b/entries/2025/shield_of_knight_solaire.json
new file mode 100644
index 0000000000000000000000000000000000000000..7a6439853802b2195b0dad18c949a01ef8a13356
--- /dev/null
+++ b/entries/2025/shield_of_knight_solaire.json
@@ -0,0 +1,73 @@
+{
+ "id": 1661506163,
+ "name": "Shield of knight Solaire",
+ "description": "The shield of Solaire of Astora from the Dark Souls series.",
+ "links": {
+ "website": [
+ "https://darksouls.wiki.fextralife.com/Solaire+of+Astora"
+ ]
+ },
+ "path": {
+ "48": [
+ [
+ 159,
+ 113
+ ],
+ [
+ 160,
+ 113
+ ],
+ [
+ 163,
+ 110
+ ],
+ [
+ 163,
+ 109
+ ],
+ [
+ 164,
+ 108
+ ],
+ [
+ 164,
+ 101
+ ],
+ [
+ 154,
+ 101
+ ],
+ [
+ 154,
+ 108
+ ],
+ [
+ 155,
+ 109
+ ],
+ [
+ 155,
+ 110
+ ],
+ [
+ 158,
+ 113
+ ],
+ [
+ 159,
+ 113
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 159,
+ 106
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8509422
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/simon_belmont.json b/entries/2025/simon_belmont.json
similarity index 100%
rename from entries2025/simon_belmont.json
rename to entries/2025/simon_belmont.json
diff --git a/entries/2025/small_aussie_flag.json b/entries/2025/small_aussie_flag.json
new file mode 100644
index 0000000000000000000000000000000000000000..17850db64d0944ae23be062fe2a83548e3cb09aa
--- /dev/null
+++ b/entries/2025/small_aussie_flag.json
@@ -0,0 +1,48 @@
+{
+ "id": 6352791645,
+ "name": "Small aussie flag",
+ "description": "Small australian flag",
+ "links": {
+ "lemmy": [
+ "!australia@aussie.zone"
+ ],
+ "matrix": [
+ "#australiacanvas:waffle.tech"
+ ]
+ },
+ "path": {
+ "48": [
+ [
+ 25,
+ 71
+ ],
+ [
+ 39,
+ 71
+ ],
+ [
+ 39,
+ 61
+ ],
+ [
+ 25,
+ 61
+ ],
+ [
+ 25,
+ 71
+ ]
+ ]
+ },
+ "center": {
+ "48": [
+ 32,
+ 66
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8520486
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/small_ukrainian_flag.json b/entries/2025/small_ukrainian_flag.json
similarity index 100%
rename from entries2025/small_ukrainian_flag.json
rename to entries/2025/small_ukrainian_flag.json
diff --git a/entries/2025/snoopy.json b/entries/2025/snoopy.json
new file mode 100644
index 0000000000000000000000000000000000000000..1c10ca5e4da85ffbab95377281dcbafd59f28882
--- /dev/null
+++ b/entries/2025/snoopy.json
@@ -0,0 +1,194 @@
+{
+ "id": 552472362,
+ "name": "Snoopy",
+ "description": "One of jlai.lu user, he is a warm typewritter.\n\nSnoopy is also an famous beagle in the comic strip Peanuts by American cartoonist Charles M. Schulz",
+ "links": {
+ "lemmy": [
+ "!forumlibre@jlai.lu",
+ "!peanuts@midwest.social"
+ ],
+ "website": [
+ "https://jlai.lu/",
+ "https://jlailu.zulipchat.com/"
+ ]
+ },
+ "path": {
+ "11-48": [
+ [
+ 74,
+ 107
+ ],
+ [
+ 76,
+ 105
+ ],
+ [
+ 79,
+ 105
+ ],
+ [
+ 80,
+ 104
+ ],
+ [
+ 84,
+ 104
+ ],
+ [
+ 86,
+ 106
+ ],
+ [
+ 86,
+ 108
+ ],
+ [
+ 85,
+ 109
+ ],
+ [
+ 85,
+ 110
+ ],
+ [
+ 84,
+ 110
+ ],
+ [
+ 83,
+ 111
+ ],
+ [
+ 83,
+ 112
+ ],
+ [
+ 85,
+ 112
+ ],
+ [
+ 85,
+ 111
+ ],
+ [
+ 87,
+ 111
+ ],
+ [
+ 85,
+ 111
+ ],
+ [
+ 85,
+ 112
+ ],
+ [
+ 83,
+ 112
+ ],
+ [
+ 83,
+ 113
+ ],
+ [
+ 84,
+ 114
+ ],
+ [
+ 85,
+ 115
+ ],
+ [
+ 86,
+ 115
+ ],
+ [
+ 84,
+ 115
+ ],
+ [
+ 84,
+ 116
+ ],
+ [
+ 84,
+ 116
+ ],
+ [
+ 80,
+ 116
+ ],
+ [
+ 79,
+ 117
+ ],
+ [
+ 79,
+ 118
+ ],
+ [
+ 79,
+ 116
+ ],
+ [
+ 77,
+ 114
+ ],
+ [
+ 78,
+ 113
+ ],
+ [
+ 80,
+ 113
+ ],
+ [
+ 81,
+ 112
+ ],
+ [
+ 81,
+ 111
+ ],
+ [
+ 79,
+ 111
+ ],
+ [
+ 78,
+ 110
+ ],
+ [
+ 76,
+ 110
+ ],
+ [
+ 75,
+ 109
+ ],
+ [
+ 74,
+ 108
+ ],
+ [
+ 74,
+ 107
+ ],
+ [
+ 75,
+ 106
+ ]
+ ]
+ },
+ "center": {
+ "11-48": [
+ 82,
+ 107
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484982
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/speckflagge.json b/entries/2025/speckflagge.json
similarity index 100%
rename from entries2025/speckflagge.json
rename to entries/2025/speckflagge.json
diff --git a/entries2025/spezi_logo.json b/entries/2025/spezi_logo.json
similarity index 100%
rename from entries2025/spezi_logo.json
rename to entries/2025/spezi_logo.json
diff --git a/entries2025/squaredcircle.json b/entries/2025/squaredcircle.json
similarity index 100%
rename from entries2025/squaredcircle.json
rename to entries/2025/squaredcircle.json
diff --git a/entries2025/ssh_ftp_http.json b/entries/2025/ssh_ftp_http.json
similarity index 100%
rename from entries2025/ssh_ftp_http.json
rename to entries/2025/ssh_ftp_http.json
diff --git a/entries/2025/starpup.json b/entries/2025/starpup.json
new file mode 100644
index 0000000000000000000000000000000000000000..13654e60e55b84cd4016d06f2c77baf5de5d3a8d
--- /dev/null
+++ b/entries/2025/starpup.json
@@ -0,0 +1,393 @@
+{
+ "id": 7719380713,
+ "name": "starpup",
+ "description": "@starpup69's pony OC",
+ "links": {},
+ "path": {
+ "1-48": [
+ [
+ 226,
+ 407
+ ],
+ [
+ 231,
+ 408
+ ],
+ [
+ 239,
+ 406
+ ],
+ [
+ 225,
+ 417
+ ],
+ [
+ 231,
+ 417
+ ],
+ [
+ 244,
+ 410
+ ],
+ [
+ 238,
+ 417
+ ],
+ [
+ 238,
+ 420
+ ],
+ [
+ 246,
+ 414
+ ],
+ [
+ 255,
+ 412
+ ],
+ [
+ 260,
+ 411
+ ],
+ [
+ 255,
+ 415
+ ],
+ [
+ 263,
+ 415
+ ],
+ [
+ 268,
+ 417
+ ],
+ [
+ 274,
+ 424
+ ],
+ [
+ 272,
+ 435
+ ],
+ [
+ 269,
+ 429
+ ],
+ [
+ 263,
+ 422
+ ],
+ [
+ 257,
+ 419
+ ],
+ [
+ 252,
+ 419
+ ],
+ [
+ 248,
+ 417
+ ],
+ [
+ 245,
+ 417
+ ],
+ [
+ 251,
+ 425
+ ],
+ [
+ 242,
+ 424
+ ],
+ [
+ 257,
+ 445
+ ],
+ [
+ 261,
+ 450
+ ],
+ [
+ 270,
+ 454
+ ],
+ [
+ 258,
+ 454
+ ],
+ [
+ 257,
+ 457
+ ],
+ [
+ 250,
+ 456
+ ],
+ [
+ 245,
+ 459
+ ],
+ [
+ 249,
+ 463
+ ],
+ [
+ 241,
+ 467
+ ],
+ [
+ 241,
+ 490
+ ],
+ [
+ 244,
+ 487
+ ],
+ [
+ 245,
+ 496
+ ],
+ [
+ 248,
+ 499
+ ],
+ [
+ 248,
+ 495
+ ],
+ [
+ 257,
+ 499
+ ],
+ [
+ 266,
+ 499
+ ],
+ [
+ 256,
+ 485
+ ],
+ [
+ 261,
+ 485
+ ],
+ [
+ 259,
+ 482
+ ],
+ [
+ 264,
+ 483
+ ],
+ [
+ 271,
+ 481
+ ],
+ [
+ 273,
+ 484
+ ],
+ [
+ 275,
+ 484
+ ],
+ [
+ 279,
+ 480
+ ],
+ [
+ 279,
+ 466
+ ],
+ [
+ 282,
+ 468
+ ],
+ [
+ 281,
+ 476
+ ],
+ [
+ 275,
+ 496
+ ],
+ [
+ 277,
+ 499
+ ],
+ [
+ 287,
+ 499
+ ],
+ [
+ 289,
+ 497
+ ],
+ [
+ 289,
+ 475
+ ],
+ [
+ 297,
+ 475
+ ],
+ [
+ 297,
+ 470
+ ],
+ [
+ 293,
+ 465
+ ],
+ [
+ 287,
+ 464
+ ],
+ [
+ 289,
+ 450
+ ],
+ [
+ 290,
+ 438
+ ],
+ [
+ 294,
+ 434
+ ],
+ [
+ 304,
+ 444
+ ],
+ [
+ 308,
+ 444
+ ],
+ [
+ 310,
+ 438
+ ],
+ [
+ 302,
+ 434
+ ],
+ [
+ 294,
+ 424
+ ],
+ [
+ 291,
+ 426
+ ],
+ [
+ 292,
+ 419
+ ],
+ [
+ 290,
+ 409
+ ],
+ [
+ 290,
+ 400
+ ],
+ [
+ 292,
+ 392
+ ],
+ [
+ 299,
+ 387
+ ],
+ [
+ 301,
+ 378
+ ],
+ [
+ 298,
+ 373
+ ],
+ [
+ 293,
+ 368
+ ],
+ [
+ 286,
+ 367
+ ],
+ [
+ 278,
+ 373
+ ],
+ [
+ 276,
+ 378
+ ],
+ [
+ 276,
+ 382
+ ],
+ [
+ 278,
+ 387
+ ],
+ [
+ 282,
+ 392
+ ],
+ [
+ 280,
+ 395
+ ],
+ [
+ 279,
+ 401
+ ],
+ [
+ 279,
+ 411
+ ],
+ [
+ 282,
+ 418
+ ],
+ [
+ 278,
+ 421
+ ],
+ [
+ 272,
+ 408
+ ],
+ [
+ 264,
+ 400
+ ],
+ [
+ 258,
+ 399
+ ],
+ [
+ 252,
+ 397
+ ],
+ [
+ 245,
+ 397
+ ]
+ ]
+ },
+ "center": {
+ "1-48": [
+ 265,
+ 468
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484382
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/steam_deck_logo.json b/entries/2025/steam_deck_logo.json
similarity index 100%
rename from entries2025/steam_deck_logo.json
rename to entries/2025/steam_deck_logo.json
diff --git a/entries2025/stop_killing_games.json b/entries/2025/stop_killing_games.json
similarity index 100%
rename from entries2025/stop_killing_games.json
rename to entries/2025/stop_killing_games.json
diff --git a/entries2025/stu_rocks.json b/entries/2025/stu_rocks.json
similarity index 100%
rename from entries2025/stu_rocks.json
rename to entries/2025/stu_rocks.json
diff --git a/entries2025/study_sama.json b/entries/2025/study_sama.json
similarity index 100%
rename from entries2025/study_sama.json
rename to entries/2025/study_sama.json
diff --git a/entries2025/super_mario_world_rotating_block.json b/entries/2025/super_mario_world_rotating_block.json
similarity index 100%
rename from entries2025/super_mario_world_rotating_block.json
rename to entries/2025/super_mario_world_rotating_block.json
diff --git a/entries2025/tardis_13th_doctor_and_rose.json b/entries/2025/tardis_13th_doctor_and_rose.json
similarity index 100%
rename from entries2025/tardis_13th_doctor_and_rose.json
rename to entries/2025/tardis_13th_doctor_and_rose.json
diff --git a/entries2025/tblflip.json b/entries/2025/tblflip.json
similarity index 100%
rename from entries2025/tblflip.json
rename to entries/2025/tblflip.json
diff --git a/entries2025/the_first_stu.json b/entries/2025/the_first_stu.json
similarity index 100%
rename from entries2025/the_first_stu.json
rename to entries/2025/the_first_stu.json
diff --git a/entries2025/the_monster_from_let_s_sky.json b/entries/2025/the_monster_from_let_s_sky.json
similarity index 100%
rename from entries2025/the_monster_from_let_s_sky.json
rename to entries/2025/the_monster_from_let_s_sky.json
diff --git a/entries2025/the_pony_bok_club.json b/entries/2025/the_pony_bok_club.json
similarity index 100%
rename from entries2025/the_pony_bok_club.json
rename to entries/2025/the_pony_bok_club.json
diff --git a/entries2025/three_headed_monkey.json b/entries/2025/three_headed_monkey.json
similarity index 100%
rename from entries2025/three_headed_monkey.json
rename to entries/2025/three_headed_monkey.json
diff --git a/entries2025/tiny_derpy.json b/entries/2025/tiny_derpy.json
similarity index 100%
rename from entries2025/tiny_derpy.json
rename to entries/2025/tiny_derpy.json
diff --git a/entries2025/toast.json b/entries/2025/toast.json
similarity index 100%
rename from entries2025/toast.json
rename to entries/2025/toast.json
diff --git a/entries2025/toki_pona_a_minimalist_language.json b/entries/2025/toki_pona_a_minimalist_language.json
similarity index 100%
rename from entries2025/toki_pona_a_minimalist_language.json
rename to entries/2025/toki_pona_a_minimalist_language.json
diff --git a/entries2025/triforce.json b/entries/2025/triforce.json
similarity index 100%
rename from entries2025/triforce.json
rename to entries/2025/triforce.json
diff --git a/entries/2025/trixie.json b/entries/2025/trixie.json
new file mode 100644
index 0000000000000000000000000000000000000000..0644976a406fc71ba0e67637824e164812146e88
--- /dev/null
+++ b/entries/2025/trixie.json
@@ -0,0 +1,208 @@
+ {
+ "id": 471550327,
+ "name": "Trixie",
+ "description": "The My Little Pony character Trixie, shown levitating the Ikea sign with her magic.",
+ "links": {},
+ "path": {
+ "8-48": [
+ [
+ 242,
+ 447
+ ],
+ [
+ 244,
+ 449
+ ],
+ [
+ 246,
+ 449
+ ],
+ [
+ 247,
+ 448
+ ],
+ [
+ 247,
+ 456
+ ],
+ [
+ 248,
+ 457
+ ],
+ [
+ 249,
+ 456
+ ],
+ [
+ 249,
+ 453
+ ],
+ [
+ 249,
+ 455
+ ],
+ [
+ 250,
+ 456
+ ],
+ [
+ 251,
+ 455
+ ],
+ [
+ 251,
+ 453
+ ],
+ [
+ 252,
+ 453
+ ],
+ [
+ 253,
+ 454
+ ],
+ [
+ 253,
+ 456
+ ],
+ [
+ 255,
+ 456
+ ],
+ [
+ 255,
+ 454
+ ],
+ [
+ 255,
+ 455
+ ],
+ [
+ 256,
+ 456
+ ],
+ [
+ 257,
+ 455
+ ],
+ [
+ 257,
+ 450
+ ],
+ [
+ 258,
+ 451
+ ],
+ [
+ 258,
+ 452
+ ],
+ [
+ 257,
+ 453
+ ],
+ [
+ 258,
+ 454
+ ],
+ [
+ 260,
+ 454
+ ],
+ [
+ 262,
+ 452
+ ],
+ [
+ 262,
+ 451
+ ],
+ [
+ 258,
+ 447
+ ],
+ [
+ 257,
+ 447
+ ],
+ [
+ 256,
+ 448
+ ],
+ [
+ 251,
+ 448
+ ],
+ [
+ 252,
+ 447
+ ],
+ [
+ 252,
+ 445
+ ],
+ [
+ 251,
+ 444
+ ],
+ [
+ 251,
+ 443
+ ],
+ [
+ 249,
+ 441
+ ],
+ [
+ 247,
+ 441
+ ],
+ [
+ 247,
+ 440
+ ],
+ [
+ 248,
+ 439
+ ],
+ [
+ 247,
+ 438
+ ],
+ [
+ 246,
+ 439
+ ],
+ [
+ 246,
+ 440
+ ],
+ [
+ 245,
+ 439
+ ],
+ [
+ 243,
+ 441
+ ],
+ [
+ 244,
+ 442
+ ],
+ [
+ 244,
+ 446
+ ],
+ [
+ 243,
+ 445
+ ]
+ ]
+ },
+ "center": {
+ "8-48": [
+ 248,
+ 445
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries2025/troleg.json b/entries/2025/troleg.json
similarity index 100%
rename from entries2025/troleg.json
rename to entries/2025/troleg.json
diff --git a/entries/2025/tux.json b/entries/2025/tux.json
new file mode 100644
index 0000000000000000000000000000000000000000..6cb48ca5208d545f542b590a766914150485ffaa
--- /dev/null
+++ b/entries/2025/tux.json
@@ -0,0 +1,338 @@
+{
+ "id": 5151814208,
+ "name": "Tux",
+ "description": "The penguin Tux is the mascot of the Linux operating system. Its white belly has been replaced with light blue, pink, and white stripes, as a reference to the Transgender Pride flag.",
+ "links": {
+ "website": [
+ "https://en.wikipedia.org/wiki/Tux_(mascot)",
+ "https://en.wikipedia.org/wiki/Transgender_flag"
+ ]
+ },
+ "path": {
+ "1-48": [
+ [
+ 61,
+ 139
+ ],
+ [
+ 60,
+ 138
+ ],
+ [
+ 55,
+ 138
+ ],
+ [
+ 54,
+ 137
+ ],
+ [
+ 53,
+ 137
+ ],
+ [
+ 52,
+ 136
+ ],
+ [
+ 51,
+ 135
+ ],
+ [
+ 49,
+ 135
+ ],
+ [
+ 49,
+ 133
+ ],
+ [
+ 50,
+ 132
+ ],
+ [
+ 50,
+ 131
+ ],
+ [
+ 48,
+ 129
+ ],
+ [
+ 48,
+ 125
+ ],
+ [
+ 47,
+ 124
+ ],
+ [
+ 47,
+ 123
+ ],
+ [
+ 46,
+ 123
+ ],
+ [
+ 44,
+ 121
+ ],
+ [
+ 40,
+ 121
+ ],
+ [
+ 39,
+ 122
+ ],
+ [
+ 38,
+ 122
+ ],
+ [
+ 36,
+ 124
+ ],
+ [
+ 36,
+ 132
+ ],
+ [
+ 35,
+ 133
+ ],
+ [
+ 35,
+ 137
+ ],
+ [
+ 34,
+ 138
+ ],
+ [
+ 34,
+ 140
+ ],
+ [
+ 33,
+ 141
+ ],
+ [
+ 33,
+ 147
+ ],
+ [
+ 34,
+ 148
+ ],
+ [
+ 34,
+ 149
+ ],
+ [
+ 35,
+ 150
+ ],
+ [
+ 35,
+ 151
+ ],
+ [
+ 37,
+ 151
+ ],
+ [
+ 37,
+ 153
+ ],
+ [
+ 38,
+ 154
+ ],
+ [
+ 39,
+ 155
+ ],
+ [
+ 39,
+ 158
+ ],
+ [
+ 37,
+ 158
+ ],
+ [
+ 36,
+ 159
+ ],
+ [
+ 37,
+ 160
+ ],
+ [
+ 38,
+ 160
+ ],
+ [
+ 39,
+ 159
+ ],
+ [
+ 40,
+ 160
+ ],
+ [
+ 41,
+ 160
+ ],
+ [
+ 42,
+ 159
+ ],
+ [
+ 43,
+ 160
+ ],
+ [
+ 43,
+ 159
+ ],
+ [
+ 42,
+ 158
+ ],
+ [
+ 40,
+ 158
+ ],
+ [
+ 40,
+ 155
+ ],
+ [
+ 48,
+ 155
+ ],
+ [
+ 48,
+ 157
+ ],
+ [
+ 49,
+ 158
+ ],
+ [
+ 49,
+ 159
+ ],
+ [
+ 50,
+ 160
+ ],
+ [
+ 51,
+ 159
+ ],
+ [
+ 52,
+ 160
+ ],
+ [
+ 54,
+ 160
+ ],
+ [
+ 55,
+ 159
+ ],
+ [
+ 54,
+ 158
+ ],
+ [
+ 50,
+ 158
+ ],
+ [
+ 50,
+ 156
+ ],
+ [
+ 49,
+ 155
+ ],
+ [
+ 49,
+ 154
+ ],
+ [
+ 50,
+ 153
+ ],
+ [
+ 50,
+ 151
+ ],
+ [
+ 51,
+ 151
+ ],
+ [
+ 51,
+ 148
+ ],
+ [
+ 52,
+ 148
+ ],
+ [
+ 52,
+ 144
+ ],
+ [
+ 51,
+ 144
+ ],
+ [
+ 51,
+ 141
+ ],
+ [
+ 53,
+ 141
+ ],
+ [
+ 53,
+ 142
+ ],
+ [
+ 58,
+ 142
+ ],
+ [
+ 59,
+ 141
+ ],
+ [
+ 60,
+ 141
+ ],
+ [
+ 61,
+ 140
+ ]
+ ]
+ },
+ "center": {
+ "1-48": [
+ 42,
+ 144
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8469201
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries/2025/ukraine_pony.json b/entries/2025/ukraine_pony.json
new file mode 100644
index 0000000000000000000000000000000000000000..d3bd2e541845ac6a95a96e4ede2b3590aba87690
--- /dev/null
+++ b/entries/2025/ukraine_pony.json
@@ -0,0 +1,121 @@
+{
+ "id": 12665976,
+ "name": "Ukraine Pony",
+ "description": "A Ukraine themed pony OC",
+ "links": {},
+ "path": {
+ "19-48": [
+ [
+ 427,
+ 328
+ ],
+ [
+ 422,
+ 333
+ ],
+ [
+ 422,
+ 341
+ ],
+ [
+ 424,
+ 341
+ ],
+ [
+ 427,
+ 345
+ ],
+ [
+ 430,
+ 345
+ ],
+ [
+ 430,
+ 353
+ ],
+ [
+ 432,
+ 359
+ ],
+ [
+ 448,
+ 359
+ ],
+ [
+ 452,
+ 358
+ ],
+ [
+ 452,
+ 356
+ ],
+ [
+ 449,
+ 354
+ ],
+ [
+ 449,
+ 351
+ ],
+ [
+ 451,
+ 351
+ ],
+ [
+ 451,
+ 347
+ ],
+ [
+ 448,
+ 344
+ ],
+ [
+ 442,
+ 344
+ ],
+ [
+ 441,
+ 346
+ ],
+ [
+ 438,
+ 346
+ ],
+ [
+ 438,
+ 342
+ ],
+ [
+ 439,
+ 342
+ ],
+ [
+ 439,
+ 332
+ ],
+ [
+ 437,
+ 329
+ ],
+ [
+ 431,
+ 329
+ ],
+ [
+ 431,
+ 328
+ ]
+ ]
+ },
+ "center": {
+ "19-48": [
+ 431,
+ 337
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8484442
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/ukrainian_amogus.json b/entries/2025/ukrainian_amogus.json
similarity index 100%
rename from entries2025/ukrainian_amogus.json
rename to entries/2025/ukrainian_amogus.json
diff --git a/entries2025/ukrainian_flag_and_salute.json b/entries/2025/ukrainian_flag_and_salute.json
similarity index 100%
rename from entries2025/ukrainian_flag_and_salute.json
rename to entries/2025/ukrainian_flag_and_salute.json
diff --git a/entries2025/ultimate_chicken_horse.json b/entries/2025/ultimate_chicken_horse.json
similarity index 100%
rename from entries2025/ultimate_chicken_horse.json
rename to entries/2025/ultimate_chicken_horse.json
diff --git a/entries/2025/union_apple_jack.json b/entries/2025/union_apple_jack.json
new file mode 100644
index 0000000000000000000000000000000000000000..330b222f99762b0315406b39b0944f8e25a689c8
--- /dev/null
+++ b/entries/2025/union_apple_jack.json
@@ -0,0 +1,324 @@
+ {
+ "id": 5415600005,
+ "name": "Union (Apple)Jack",
+ "description": "The My Little Pony character Applejack holding the Union Jack as a play on her name including \"Jack\".\nPurposefully built next to the EU (aligned) flags.",
+ "links": {},
+ "path": {
+ "37-48": [
+ [
+ 326,
+ 250
+ ],
+ [
+ 327,
+ 250
+ ],
+ [
+ 328,
+ 249
+ ],
+ [
+ 328,
+ 248
+ ],
+ [
+ 329,
+ 247
+ ],
+ [
+ 329,
+ 246
+ ],
+ [
+ 330,
+ 245
+ ],
+ [
+ 330,
+ 244
+ ],
+ [
+ 329,
+ 243
+ ],
+ [
+ 328,
+ 243
+ ],
+ [
+ 326,
+ 241
+ ],
+ [
+ 324,
+ 241
+ ],
+ [
+ 323,
+ 240
+ ],
+ [
+ 320,
+ 240
+ ],
+ [
+ 320,
+ 242
+ ],
+ [
+ 319,
+ 243
+ ],
+ [
+ 319,
+ 244
+ ],
+ [
+ 318,
+ 245
+ ],
+ [
+ 318,
+ 246
+ ],
+ [
+ 317,
+ 247
+ ],
+ [
+ 316,
+ 248
+ ],
+ [
+ 316,
+ 244
+ ],
+ [
+ 317,
+ 243
+ ],
+ [
+ 318,
+ 243
+ ],
+ [
+ 319,
+ 242
+ ],
+ [
+ 319,
+ 241
+ ],
+ [
+ 318,
+ 240
+ ],
+ [
+ 318,
+ 239
+ ],
+ [
+ 319,
+ 239
+ ],
+ [
+ 321,
+ 237
+ ],
+ [
+ 319,
+ 235
+ ],
+ [
+ 318,
+ 236
+ ],
+ [
+ 318,
+ 233
+ ],
+ [
+ 317,
+ 233
+ ],
+ [
+ 316,
+ 234
+ ],
+ [
+ 315,
+ 233
+ ],
+ [
+ 314,
+ 234
+ ],
+ [
+ 312,
+ 234
+ ],
+ [
+ 310,
+ 236
+ ],
+ [
+ 310,
+ 240
+ ],
+ [
+ 311,
+ 241
+ ],
+ [
+ 311,
+ 243
+ ],
+ [
+ 308,
+ 243
+ ],
+ [
+ 306,
+ 241
+ ],
+ [
+ 304,
+ 241
+ ],
+ [
+ 301,
+ 244
+ ],
+ [
+ 301,
+ 247
+ ],
+ [
+ 302,
+ 248
+ ],
+ [
+ 302,
+ 249
+ ],
+ [
+ 300,
+ 251
+ ],
+ [
+ 301,
+ 252
+ ],
+ [
+ 302,
+ 252
+ ],
+ [
+ 304,
+ 250
+ ],
+ [
+ 304,
+ 249
+ ],
+ [
+ 305,
+ 248
+ ],
+ [
+ 305,
+ 245
+ ],
+ [
+ 306,
+ 244
+ ],
+ [
+ 306,
+ 252
+ ],
+ [
+ 308,
+ 252
+ ],
+ [
+ 308,
+ 249
+ ],
+ [
+ 308,
+ 252
+ ],
+ [
+ 310,
+ 252
+ ],
+ [
+ 310,
+ 249
+ ],
+ [
+ 311,
+ 248
+ ],
+ [
+ 312,
+ 248
+ ],
+ [
+ 312,
+ 250
+ ],
+ [
+ 316,
+ 250
+ ],
+ [
+ 317,
+ 249
+ ],
+ [
+ 319,
+ 247
+ ],
+ [
+ 320,
+ 246
+ ],
+ [
+ 321,
+ 246
+ ],
+ [
+ 322,
+ 245
+ ],
+ [
+ 323,
+ 245
+ ],
+ [
+ 322,
+ 246
+ ],
+ [
+ 322,
+ 247
+ ],
+ [
+ 324,
+ 249
+ ],
+ [
+ 325,
+ 249
+ ]
+ ]
+ },
+ "center": {
+ "37-48": [
+ 314,
+ 238
+ ]
+ }
+ }
\ No newline at end of file
diff --git a/entries2025/uss_enterprise.json b/entries/2025/uss_enterprise.json
similarity index 100%
rename from entries2025/uss_enterprise.json
rename to entries/2025/uss_enterprise.json
diff --git a/entries2025/v_label_com.json b/entries/2025/v_label_com.json
similarity index 100%
rename from entries2025/v_label_com.json
rename to entries/2025/v_label_com.json
diff --git a/entries/2025/warp_pipe.json b/entries/2025/warp_pipe.json
new file mode 100644
index 0000000000000000000000000000000000000000..15ae12a23d83b0501d9313a93a3fd84b5f829137
--- /dev/null
+++ b/entries/2025/warp_pipe.json
@@ -0,0 +1,273 @@
+{
+ "id": 4044042265,
+ "name": "Warp Pipe",
+ "description": "These green pipes are a common element in many Super Mario games, sometimes spitting out coins, spawning piranha plant enemies or allowing the player to warp between 2 locations.\n\nTh character above being exactly centred on it suggest they just exited this pipe, making it a warp pipe.",
+ "links": {},
+ "path": {
+ "13": [
+ [
+ 319,
+ 415
+ ],
+ [
+ 320,
+ 415
+ ],
+ [
+ 321,
+ 414
+ ],
+ [
+ 322,
+ 414
+ ],
+ [
+ 323,
+ 413
+ ],
+ [
+ 334,
+ 413
+ ],
+ [
+ 335,
+ 414
+ ],
+ [
+ 336,
+ 414
+ ],
+ [
+ 337,
+ 415
+ ],
+ [
+ 338,
+ 415
+ ],
+ [
+ 338,
+ 418
+ ],
+ [
+ 337,
+ 419
+ ],
+ [
+ 337,
+ 425
+ ],
+ [
+ 320,
+ 425
+ ],
+ [
+ 320,
+ 419
+ ],
+ [
+ 319,
+ 418
+ ]
+ ],
+ "14-39": [
+ [
+ 320,
+ 432
+ ],
+ [
+ 320,
+ 419
+ ],
+ [
+ 319,
+ 418
+ ],
+ [
+ 319,
+ 415
+ ],
+ [
+ 320,
+ 415
+ ],
+ [
+ 321,
+ 414
+ ],
+ [
+ 322,
+ 414
+ ],
+ [
+ 323,
+ 413
+ ],
+ [
+ 334,
+ 413
+ ],
+ [
+ 335,
+ 414
+ ],
+ [
+ 336,
+ 414
+ ],
+ [
+ 337,
+ 415
+ ],
+ [
+ 338,
+ 415
+ ],
+ [
+ 338,
+ 418
+ ],
+ [
+ 337,
+ 419
+ ],
+ [
+ 337,
+ 432
+ ],
+ [
+ 336,
+ 432
+ ],
+ [
+ 335,
+ 433
+ ],
+ [
+ 334,
+ 433
+ ],
+ [
+ 333,
+ 434
+ ],
+ [
+ 324,
+ 434
+ ],
+ [
+ 323,
+ 433
+ ],
+ [
+ 322,
+ 433
+ ],
+ [
+ 321,
+ 432
+ ]
+ ],
+ "40-48": [
+ [
+ 320,
+ 422
+ ],
+ [
+ 320,
+ 418
+ ],
+ [
+ 319,
+ 418
+ ],
+ [
+ 319,
+ 416
+ ],
+ [
+ 321,
+ 414
+ ],
+ [
+ 322,
+ 414
+ ],
+ [
+ 323,
+ 413
+ ],
+ [
+ 334,
+ 413
+ ],
+ [
+ 335,
+ 414
+ ],
+ [
+ 336,
+ 414
+ ],
+ [
+ 338,
+ 416
+ ],
+ [
+ 338,
+ 418
+ ],
+ [
+ 337,
+ 419
+ ],
+ [
+ 337,
+ 432
+ ],
+ [
+ 333,
+ 428
+ ],
+ [
+ 333,
+ 424
+ ],
+ [
+ 328,
+ 424
+ ],
+ [
+ 328,
+ 425
+ ],
+ [
+ 325,
+ 425
+ ],
+ [
+ 322,
+ 422
+ ]
+ ]
+ },
+ "center": {
+ "13": [
+ 329,
+ 419
+ ],
+ "14-39": [
+ 329,
+ 423
+ ],
+ "40-48": [
+ 326,
+ 419
+ ]
+ },
+ "source_list": {
+ "lemmy": [
+ 8467103
+ ]
+ }
+}
\ No newline at end of file
diff --git a/entries2025/watch_dominion.json b/entries/2025/watch_dominion.json
similarity index 100%
rename from entries2025/watch_dominion.json
rename to entries/2025/watch_dominion.json
diff --git a/entries2025/watermelon.json b/entries/2025/watermelon.json
similarity index 100%
rename from entries2025/watermelon.json
rename to entries/2025/watermelon.json
diff --git a/entries2025/wir_iel_banner.json b/entries/2025/wir_iel_banner.json
similarity index 100%
rename from entries2025/wir_iel_banner.json
rename to entries/2025/wir_iel_banner.json
diff --git a/entries2025/yiffit_mascot.json b/entries/2025/yiffit_mascot.json
similarity index 100%
rename from entries2025/yiffit_mascot.json
rename to entries/2025/yiffit_mascot.json
diff --git "a/entries2025/\305\223il.json" "b/entries/2025/\305\223il.json"
similarity index 100%
rename from "entries2025/\305\223il.json"
rename to "entries/2025/\305\223il.json"
diff --git "a/entries2025/\345\205\211\346\231\202.json" "b/entries/2025/\345\205\211\346\231\202.json"
similarity index 100%
rename from "entries2025/\345\205\211\346\231\202.json"
rename to "entries/2025/\345\205\211\346\231\202.json"
diff --git a/tools/lemmy_fetcher.py b/tools/lemmy_fetcher.py
index 26af403bdf9d764a48594223b310d87d627ba751..7080f183a25400c8afc235d164ebdf477a207add 100644
--- a/tools/lemmy_fetcher.py
+++ b/tools/lemmy_fetcher.py
@@ -11,15 +11,15 @@
EDITIONS = {
"2024": {
"community": "2024lemmycanvasatlas",
- "entry_folder": "entries/"
+ "entry_folder": "entries/2024/"
},
"2025": {
"community": "2025fedicanvasatlas",
- "entry_folder": "entries2025/"
+ "entry_folder": "entries/2025/"
},
"test": {
"community": "testatlas",
- "entry_folder": "entries2025/"
+ "entry_folder": "entries/2025/"
}
}
diff --git a/tools/migrate-dirs.sh b/tools/migrate-dirs.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b5d8859439c76cc33689ad89140363b12ce6b7af
--- /dev/null
+++ b/tools/migrate-dirs.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+git rebase origin/main
+git pull --rebase
+while true; do
+ git rev-parse --verify REBASE_HEAD < /dev/null
+ if [ $? -ne 0 ]; then
+ break
+ fi
+ git add entries
+ GIT_EDITOR=true git rebase --continue
+done
+git push
\ No newline at end of file
diff --git a/web/_js/config-2024.js b/web/_js/config-2024.js
index 7313d9b4312fd1421eca8924b9c5e8f7783cac18..8ec9cb974a5e44a2cb3afd626f3603162a11a01e 100644
--- a/web/_js/config-2024.js
+++ b/web/_js/config-2024.js
@@ -2,38 +2,38 @@
// Please also check code indicated with "@instanceonly" outside this file.
// TODO: Avoid having instance-only code inside the main scripts to make updating easier.
-const prodDomain = "canvas.mariusdavid.fr"
-window.prodDomain = prodDomain
+const prodDomain = "2024.canvas-atlas.fediverse.events";
+window.prodDomain = prodDomain;
-const instanceId = "canvas2024"
-window.instanceId = instanceId
+const instanceId = "canvas2024";
+window.instanceId = instanceId;
-const instanceSubreddit = null
-window.instanceSubreddit = instanceSubreddit
+const instanceSubreddit = null;
+window.instanceSubreddit = instanceSubreddit;
-const instanceRepo = null
-window.instanceRepo = instanceRepo
+const instanceRepo = null;
+window.instanceRepo = instanceRepo;
-const pageTitle = "2024 Fediverse canvas Atlas"
-window.pageTitle = pageTitle
+const pageTitle = "2024 Fediverse Canvas Atlas";
+window.pageTitle = pageTitle;
const canvasSize = {
x: 1000,
- y: 500
-}
-window.canvasSize = canvasSize
+ y: 500,
+};
+window.canvasSize = canvasSize;
const canvasOffset = {
x: 0,
- y: 0
-}
-window.canvasOffset = canvasOffset
+ y: 0,
+};
+window.canvasOffset = canvasOffset;
const canvasCenter = {
- x: canvasSize.x/2 + canvasOffset.x,
- y: canvasSize.y/2 + canvasOffset.y
-}
-window.canvasCenter = canvasCenter
+ x: canvasSize.x / 2 + canvasOffset.x,
+ y: canvasSize.y / 2 + canvasOffset.y,
+};
+window.canvasCenter = canvasCenter;
const variationsConfig = {
default: {
@@ -42,27 +42,29 @@ const variationsConfig = {
default: 0,
drawablePeriods: [0, 0],
drawableRegions: [
- [[0, 0], [0, 0, 999, 499]]
+ [
+ [0, 0],
+ [0, 0, 999, 499],
+ ],
],
versions: [
{
timestamp: "Final",
url: "./_img/fedicanvas2024/final.png",
- }
+ },
],
- icon: ''
+ icon: '',
+ },
+};
+window.variationsConfig = variationsConfig;
- }
-}
-window.variationsConfig = variationsConfig
+let defaultVariation = "default";
+window.defaultVariation = defaultVariation;
-let defaultVariation = 'default'
-window.defaultVariation = defaultVariation
+let defaultPeriod = variationsConfig[defaultVariation].default;
+window.defaultPeriod = defaultPeriod;
-let defaultPeriod = variationsConfig[defaultVariation].default
-window.defaultPeriod = defaultPeriod
+const useNumericalId = true;
+window.useNumericalId = useNumericalId;
-const useNumericalId = true
-window.useNumericalId = useNumericalId
-
-window.defaultAtlasURL = "./atlas2024.json"
+window.defaultAtlasURL = "./atlas/2024.json";
diff --git a/web/_js/config-2025.js b/web/_js/config-2025.js
index c3a3788e968a8a4cc6731ee6549722f52135806e..715c8c8cf16791a239d0d04b326663d9d8fef154 100644
--- a/web/_js/config-2025.js
+++ b/web/_js/config-2025.js
@@ -2,7 +2,7 @@
// Please also check code indicated with "@instanceonly" outside this file.
// TODO: Avoid having instance-only code inside the main scripts to make updating easier.
-const prodDomain = "canvas2025.mariusdavid.fr";
+const prodDomain = "2025.canvas-atlas.fediverse.events";
window.prodDomain = prodDomain;
const instanceId = "canvas2025";
@@ -14,7 +14,7 @@ window.instanceSubreddit = instanceSubreddit;
const instanceRepo = null;
window.instanceRepo = instanceRepo;
-const pageTitle = "2025 Fediverse canvas Atlas";
+const pageTitle = "2025 Fediverse Canvas Atlas";
window.pageTitle = pageTitle;
const canvasSize = {
@@ -48,54 +48,198 @@ const variationsConfig = {
],
],
versions: [
- {"timestamp": "blank", "url":"./_img/fedicanvas2025/canvas-1752285642.png"},
- {"timestamp": 1752289199, "url":"./_img/fedicanvas2025/canvas-1752289199.png"},
- {"timestamp": 1752292797, "url":"./_img/fedicanvas2025/canvas-1752292797.png"},
- {"timestamp": 1752296399, "url":"./_img/fedicanvas2025/canvas-1752296399.png"},
- {"timestamp": 1752299999, "url":"./_img/fedicanvas2025/canvas-1752299999.png"},
- {"timestamp": 1752303597, "url":"./_img/fedicanvas2025/canvas-1752303597.png"},
- {"timestamp": 1752307199, "url":"./_img/fedicanvas2025/canvas-1752307199.png"},
- {"timestamp": 1752310797, "url":"./_img/fedicanvas2025/canvas-1752310797.png"},
- {"timestamp": 1752314399, "url":"./_img/fedicanvas2025/canvas-1752314399.png"},
- {"timestamp": 1752317999, "url":"./_img/fedicanvas2025/canvas-1752317999.png"},
- {"timestamp": 1752321599, "url":"./_img/fedicanvas2025/canvas-1752321599.png"},
- {"timestamp": 1752325199, "url":"./_img/fedicanvas2025/canvas-1752325199.png"},
- {"timestamp": 1752328799, "url":"./_img/fedicanvas2025/canvas-1752328799.png"},
- {"timestamp": 1752332399, "url":"./_img/fedicanvas2025/canvas-1752332399.png"},
- {"timestamp": 1752335999, "url":"./_img/fedicanvas2025/canvas-1752335999.png"},
- {"timestamp": 1752339599, "url":"./_img/fedicanvas2025/canvas-1752339599.png"},
- {"timestamp": 1752343199, "url":"./_img/fedicanvas2025/canvas-1752343199.png"},
- {"timestamp": 1752346799, "url":"./_img/fedicanvas2025/canvas-1752346799.png"},
- {"timestamp": 1752350399, "url":"./_img/fedicanvas2025/canvas-1752350399.png"},
- {"timestamp": 1752353999, "url":"./_img/fedicanvas2025/canvas-1752353999.png"},
- {"timestamp": 1752357598, "url":"./_img/fedicanvas2025/canvas-1752357598.png"},
- {"timestamp": 1752361199, "url":"./_img/fedicanvas2025/canvas-1752361199.png"},
- {"timestamp": 1752364799, "url":"./_img/fedicanvas2025/canvas-1752364799.png"},
- {"timestamp": 1752368399, "url":"./_img/fedicanvas2025/canvas-1752368399.png"},
- {"timestamp": 1752371999, "url":"./_img/fedicanvas2025/canvas-1752371999.png"},
- {"timestamp": 1752375597, "url":"./_img/fedicanvas2025/canvas-1752375597.png"},
- {"timestamp": 1752379199, "url":"./_img/fedicanvas2025/canvas-1752379199.png"},
- {"timestamp": 1752382799, "url":"./_img/fedicanvas2025/canvas-1752382799.png"},
- {"timestamp": 1752386399, "url":"./_img/fedicanvas2025/canvas-1752386399.png"},
- {"timestamp": 1752389999, "url":"./_img/fedicanvas2025/canvas-1752389999.png"},
- {"timestamp": 1752393599, "url":"./_img/fedicanvas2025/canvas-1752393599.png"},
- {"timestamp": 1752397199, "url":"./_img/fedicanvas2025/canvas-1752397199.png"},
- {"timestamp": 1752400799, "url":"./_img/fedicanvas2025/canvas-1752400799.png"},
- {"timestamp": 1752404399, "url":"./_img/fedicanvas2025/canvas-1752404399.png"},
- {"timestamp": 1752407998, "url":"./_img/fedicanvas2025/canvas-1752407998.png"},
- {"timestamp": 1752411599, "url":"./_img/fedicanvas2025/canvas-1752411599.png"},
- {"timestamp": 1752415199, "url":"./_img/fedicanvas2025/canvas-1752415199.png"},
- {"timestamp": 1752418799, "url":"./_img/fedicanvas2025/canvas-1752418799.png"},
- {"timestamp": 1752422399, "url":"./_img/fedicanvas2025/canvas-1752422399.png"},
- {"timestamp": 1752425999, "url":"./_img/fedicanvas2025/canvas-1752425999.png"},
- {"timestamp": 1752429594, "url":"./_img/fedicanvas2025/canvas-1752429594.png"},
- {"timestamp": 1752433199, "url":"./_img/fedicanvas2025/canvas-1752433199.png"},
- {"timestamp": 1752436799, "url":"./_img/fedicanvas2025/canvas-1752436799.png"},
- {"timestamp": 1752440399, "url":"./_img/fedicanvas2025/canvas-1752440399.png"},
- {"timestamp": 1752443999, "url":"./_img/fedicanvas2025/canvas-1752443999.png"},
- {"timestamp": 1752447596, "url":"./_img/fedicanvas2025/canvas-1752447596.png"},
- {"timestamp": 1752451198, "url":"./_img/fedicanvas2025/canvas-1752451198.png"},
- {"timestamp": 1752454799, "url":"./_img/fedicanvas2025/canvas-1752454799.png"},
+ {
+ timestamp: "blank",
+ url: "./_img/fedicanvas2025/canvas-1752285642.png",
+ },
+ {
+ timestamp: 1752289199,
+ url: "./_img/fedicanvas2025/canvas-1752289199.png",
+ },
+ {
+ timestamp: 1752292797,
+ url: "./_img/fedicanvas2025/canvas-1752292797.png",
+ },
+ {
+ timestamp: 1752296399,
+ url: "./_img/fedicanvas2025/canvas-1752296399.png",
+ },
+ {
+ timestamp: 1752299999,
+ url: "./_img/fedicanvas2025/canvas-1752299999.png",
+ },
+ {
+ timestamp: 1752303597,
+ url: "./_img/fedicanvas2025/canvas-1752303597.png",
+ },
+ {
+ timestamp: 1752307199,
+ url: "./_img/fedicanvas2025/canvas-1752307199.png",
+ },
+ {
+ timestamp: 1752310797,
+ url: "./_img/fedicanvas2025/canvas-1752310797.png",
+ },
+ {
+ timestamp: 1752314399,
+ url: "./_img/fedicanvas2025/canvas-1752314399.png",
+ },
+ {
+ timestamp: 1752317999,
+ url: "./_img/fedicanvas2025/canvas-1752317999.png",
+ },
+ {
+ timestamp: 1752321599,
+ url: "./_img/fedicanvas2025/canvas-1752321599.png",
+ },
+ {
+ timestamp: 1752325199,
+ url: "./_img/fedicanvas2025/canvas-1752325199.png",
+ },
+ {
+ timestamp: 1752328799,
+ url: "./_img/fedicanvas2025/canvas-1752328799.png",
+ },
+ {
+ timestamp: 1752332399,
+ url: "./_img/fedicanvas2025/canvas-1752332399.png",
+ },
+ {
+ timestamp: 1752335999,
+ url: "./_img/fedicanvas2025/canvas-1752335999.png",
+ },
+ {
+ timestamp: 1752339599,
+ url: "./_img/fedicanvas2025/canvas-1752339599.png",
+ },
+ {
+ timestamp: 1752343199,
+ url: "./_img/fedicanvas2025/canvas-1752343199.png",
+ },
+ {
+ timestamp: 1752346799,
+ url: "./_img/fedicanvas2025/canvas-1752346799.png",
+ },
+ {
+ timestamp: 1752350399,
+ url: "./_img/fedicanvas2025/canvas-1752350399.png",
+ },
+ {
+ timestamp: 1752353999,
+ url: "./_img/fedicanvas2025/canvas-1752353999.png",
+ },
+ {
+ timestamp: 1752357598,
+ url: "./_img/fedicanvas2025/canvas-1752357598.png",
+ },
+ {
+ timestamp: 1752361199,
+ url: "./_img/fedicanvas2025/canvas-1752361199.png",
+ },
+ {
+ timestamp: 1752364799,
+ url: "./_img/fedicanvas2025/canvas-1752364799.png",
+ },
+ {
+ timestamp: 1752368399,
+ url: "./_img/fedicanvas2025/canvas-1752368399.png",
+ },
+ {
+ timestamp: 1752371999,
+ url: "./_img/fedicanvas2025/canvas-1752371999.png",
+ },
+ {
+ timestamp: 1752375597,
+ url: "./_img/fedicanvas2025/canvas-1752375597.png",
+ },
+ {
+ timestamp: 1752379199,
+ url: "./_img/fedicanvas2025/canvas-1752379199.png",
+ },
+ {
+ timestamp: 1752382799,
+ url: "./_img/fedicanvas2025/canvas-1752382799.png",
+ },
+ {
+ timestamp: 1752386399,
+ url: "./_img/fedicanvas2025/canvas-1752386399.png",
+ },
+ {
+ timestamp: 1752389999,
+ url: "./_img/fedicanvas2025/canvas-1752389999.png",
+ },
+ {
+ timestamp: 1752393599,
+ url: "./_img/fedicanvas2025/canvas-1752393599.png",
+ },
+ {
+ timestamp: 1752397199,
+ url: "./_img/fedicanvas2025/canvas-1752397199.png",
+ },
+ {
+ timestamp: 1752400799,
+ url: "./_img/fedicanvas2025/canvas-1752400799.png",
+ },
+ {
+ timestamp: 1752404399,
+ url: "./_img/fedicanvas2025/canvas-1752404399.png",
+ },
+ {
+ timestamp: 1752407998,
+ url: "./_img/fedicanvas2025/canvas-1752407998.png",
+ },
+ {
+ timestamp: 1752411599,
+ url: "./_img/fedicanvas2025/canvas-1752411599.png",
+ },
+ {
+ timestamp: 1752415199,
+ url: "./_img/fedicanvas2025/canvas-1752415199.png",
+ },
+ {
+ timestamp: 1752418799,
+ url: "./_img/fedicanvas2025/canvas-1752418799.png",
+ },
+ {
+ timestamp: 1752422399,
+ url: "./_img/fedicanvas2025/canvas-1752422399.png",
+ },
+ {
+ timestamp: 1752425999,
+ url: "./_img/fedicanvas2025/canvas-1752425999.png",
+ },
+ {
+ timestamp: 1752429594,
+ url: "./_img/fedicanvas2025/canvas-1752429594.png",
+ },
+ {
+ timestamp: 1752433199,
+ url: "./_img/fedicanvas2025/canvas-1752433199.png",
+ },
+ {
+ timestamp: 1752436799,
+ url: "./_img/fedicanvas2025/canvas-1752436799.png",
+ },
+ {
+ timestamp: 1752440399,
+ url: "./_img/fedicanvas2025/canvas-1752440399.png",
+ },
+ {
+ timestamp: 1752443999,
+ url: "./_img/fedicanvas2025/canvas-1752443999.png",
+ },
+ {
+ timestamp: 1752447596,
+ url: "./_img/fedicanvas2025/canvas-1752447596.png",
+ },
+ {
+ timestamp: 1752451198,
+ url: "./_img/fedicanvas2025/canvas-1752451198.png",
+ },
+ {
+ timestamp: 1752454799,
+ url: "./_img/fedicanvas2025/canvas-1752454799.png",
+ },
{
timestamp: "final",
url: "./_img/fedicanvas2025/final.png",
@@ -115,4 +259,4 @@ window.defaultPeriod = defaultPeriod;
const useNumericalId = true;
window.useNumericalId = useNumericalId;
-window.defaultAtlasURL = "./atlas2025.json"
+window.defaultAtlasURL = "./atlas/2025.json";
diff --git a/web/_js/config-common.js b/web/_js/config-common.js
index ff4a2656cbe91dd631733cb6de4c661e2ea4cc3d..f67aed7157ce88ced53f81af4872bfcdf132eb42 100644
--- a/web/_js/config-common.js
+++ b/web/_js/config-common.js
@@ -88,7 +88,7 @@ const externalLinksConfig = [
placeholder: "pJkm23b2nA",
configureInputField: (inputField) => {
inputField.placeholder = "r/example";
- inputField.pattern = "^r\/[A-Za-z0-9][A-Za-z0-9_]{1,50}$";
+ inputField.pattern = "^r/[A-Za-z0-9][A-Za-z0-9_]{1,50}$";
inputField.title = "Subreddit in format of r/example";
inputField.minLength = "4";
inputField.maxLength = "50";
@@ -112,16 +112,16 @@ const externalLinksConfig = [
];
console.info(
- `%cThe fediverse canvas atlas
+ `%cThe Fediverse Canvas Atlas
%cCopyright (c) 2017 Roland Rytz
Copyright (c) 2023 Place Atlas Initiative and contributors
-Copyright (c) 2025 Fediverse canvas atlas contributors
+Copyright (c) 2025 Fediverse Canvas Atlas contributors
Licensed under AGPL-3.0 (https://2023.place-atlas.stefanocoding.me/license.txt)
-https://sc07.dev/marius851000/fediverse-canvas-atlas-2024
+https://sc07.dev/fediverse.events/canvas-atlas
To get the image of the canvas, use downloadCanvas().
`,
"font-size: 150%; line-height: 150%",
- "",
+ ""
);
diff --git a/web/index_template.html b/web/index_template.html
index 99a4f3b80d807e597153a729e6ef15b56e44a0d8..ef7952dcb117fdd473c6c65e6c91e87c89bf2f14 100644
--- a/web/index_template.html
+++ b/web/index_template.html
@@ -17,8 +17,8 @@
-
-
+
+
@@ -26,10 +26,10 @@
-
+
-
+
@@ -52,7 +52,7 @@
{2025ONLYCOMMENTSTART}{2025ONLYCOMMENTEND}
@@ -104,7 +104,7 @@
Place Wiki
-->
- Source
+ Source
@@ -113,11 +113,11 @@
{2024ONLYCOMMENTSTART}
- 2024 atlas
+ 2024 atlas
{2024ONLYCOMMENTEND}
{2025ONLYCOMMENTSTART}
- 2025 atlas
+ 2025 atlas
{2025ONLYCOMMENTEND}