From 9e51832f76a2aa6b7e23dfa0576313594c224d43 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Thu, 13 Apr 2023 11:45:52 -0400 Subject: [PATCH] Add lost files --- art/alley.json | 3 +- art/city-train.json | 3 +- art/glass.json | 3 +- art/hallway.json | 3 +- art/lemon.json | 3 +- art/production-monitor.json | 3 +- art/room.json | 3 +- art/samus.json | 3 +- art/sniper-girl.json | 3 +- art/sniper-rifle.json | 3 +- art/space.json | 3 +- art/tv.json | 3 +- assets/art/headsculpt.webp | Bin 39102 -> 0 bytes config.yaml | 17 +++---- content/art/2016/lantern.md | 8 +++- content/art/2016/production-monitor.md | 2 + content/art/2016/sniper-rifle.md | 2 + content/art/2016/space.md | 2 + content/art/2017/samus.md | 2 + content/art/2018/alley.md | 2 + content/art/2018/city-train.md | 2 + content/art/2018/glass.md | 2 + content/art/2018/hallway.md | 2 + content/art/2018/lemon.md | 2 + content/art/2018/room.md | 2 + content/art/2018/tv.md | 2 + content/art/2019/sniper-girl.md | 2 + content/art/2022/headsculpt.md | 5 ++- content/art/_index.md | 2 +- content/art/stats/_index.md | 16 ++++--- data/art-config.json | 2 +- scripts/gen_art.py | 47 +++++++++++++++++++- themes/red/assets/css/site.css | 6 ++- themes/red/layouts/_default/art-detail.html | 15 +++++++ themes/red/layouts/partials/render-art.html | 16 ++++--- 35 files changed, 152 insertions(+), 42 deletions(-) delete mode 100644 assets/art/headsculpt.webp diff --git a/art/alley.json b/art/alley.json index dd3e801..21c6f17 100644 --- a/art/alley.json +++ b/art/alley.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "Alley" + "title": "Alley", + "tags": ["3D"] } diff --git a/art/city-train.json b/art/city-train.json index 57051f3..eb50a97 100644 --- a/art/city-train.json +++ b/art/city-train.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "City Train" + "title": "City Train", + "tags": ["3D"] } diff --git a/art/glass.json b/art/glass.json index e1920f2..3584fa4 100644 --- a/art/glass.json +++ b/art/glass.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "Glass" + "title": "Glass", + "tags": ["3D"] } diff --git a/art/hallway.json b/art/hallway.json index 50fc047..17f8e6a 100644 --- a/art/hallway.json +++ b/art/hallway.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "Hallway" + "title": "Hallway", + "tags": ["3D"] } diff --git a/art/lemon.json b/art/lemon.json index 7654dfc..c841081 100644 --- a/art/lemon.json +++ b/art/lemon.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "Lemon" + "title": "Lemon", + "tags": ["3D"] } diff --git a/art/production-monitor.json b/art/production-monitor.json index 1d3061c..88f7ec3 100644 --- a/art/production-monitor.json +++ b/art/production-monitor.json @@ -1,4 +1,5 @@ { "date": "2016", - "title": "Cool-looking Monitor" + "title": "Cool-looking Monitor", + "tags": ["3D"] } diff --git a/art/room.json b/art/room.json index a868fe6..2f266a5 100644 --- a/art/room.json +++ b/art/room.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "Classroom" + "title": "Classroom", + "tags": ["3D"] } diff --git a/art/samus.json b/art/samus.json index 27a54f0..f5a2212 100644 --- a/art/samus.json +++ b/art/samus.json @@ -1,4 +1,5 @@ { "date": "2017", - "title": "Unfinished Samus Wallpaper" + "title": "Unfinished Samus Wallpaper", + "tags": ["3D"] } diff --git a/art/sniper-girl.json b/art/sniper-girl.json index 7a5ac66..0c619e7 100644 --- a/art/sniper-girl.json +++ b/art/sniper-girl.json @@ -4,5 +4,6 @@ ], "date": "2019", "nsfw": false, - "title": "Sniper Girl" + "title": "Sniper Girl", + "tags": ["3D"] } diff --git a/art/sniper-rifle.json b/art/sniper-rifle.json index 3a6e5a4..4762c67 100644 --- a/art/sniper-rifle.json +++ b/art/sniper-rifle.json @@ -1,4 +1,5 @@ { "date": "2016", - "title": "Sniper Rifle" + "title": "Sniper Rifle", + "tags": ["3D"] } diff --git a/art/space.json b/art/space.json index b8efab6..0b64b99 100644 --- a/art/space.json +++ b/art/space.json @@ -1,4 +1,5 @@ { "date": "2016", - "title": "Spaceship" + "title": "Spaceship", + "tags": ["3D"] } diff --git a/art/tv.json b/art/tv.json index 63f5442..a2523d4 100644 --- a/art/tv.json +++ b/art/tv.json @@ -1,4 +1,5 @@ { "date": "2018", - "title": "TV" + "title": "TV", + "tags": ["3D"] } diff --git a/assets/art/headsculpt.webp b/assets/art/headsculpt.webp deleted file mode 100644 index 81ad84a5fce55abc132f7e1427c2c314c3947141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39102 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 diff --git a/config.yaml b/config.yaml index 5d24906..b9bfb24 100644 --- a/config.yaml +++ b/config.yaml @@ -57,30 +57,27 @@ menu: - name: 'Art' url: '/art' weight: 2 - - name: '3D' - url: '/3D' - weight: 3 - name: 'Music' url: '/music' - weight: 4 + weight: 3 - name: 'Software' url: '/software' - weight: 5 + weight: 4 - name: 'Videos' url: 'https://tube.ryne.moe/@redchannel' - weight: 6 + weight: 5 - name: 'Downloads' url: '/downloads' - weight: 7 + weight: 6 - name: 'Links' url: '/links' - weight: 8 + weight: 7 - name: 'Guestbook' url: '/guestbook' - weight: 9 + weight: 8 - name: 'About' url: '/about' - weight: 10 + weight: 9 footer: - name: 'Blog Feed' url: '/blog/index.xml' diff --git a/content/art/2016/lantern.md b/content/art/2016/lantern.md index 4b12a9e..b03681d 100644 --- a/content/art/2016/lantern.md +++ b/content/art/2016/lantern.md @@ -3,6 +3,12 @@ title: Lantern date: 2016-01-01 excludefeed: true layout: art-detail -filename: /art/lantern.webp +filename: /3d/lantern.glb +orbit: 122.3deg 76deg 12.79m +alt_text: "A metal old-looking lantern." slug: lantern +threed: true +arttags: +- 3d +nsfw: false --- diff --git a/content/art/2016/production-monitor.md b/content/art/2016/production-monitor.md index b5ee306..1f2ca75 100644 --- a/content/art/2016/production-monitor.md +++ b/content/art/2016/production-monitor.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/production-monitor.webp slug: production-monitor +arttags: +- 3d --- diff --git a/content/art/2016/sniper-rifle.md b/content/art/2016/sniper-rifle.md index 01a0cd8..396754f 100644 --- a/content/art/2016/sniper-rifle.md +++ b/content/art/2016/sniper-rifle.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/sniper-rifle.webp slug: sniper-rifle +arttags: +- 3d --- diff --git a/content/art/2016/space.md b/content/art/2016/space.md index 8a72568..31f592b 100644 --- a/content/art/2016/space.md +++ b/content/art/2016/space.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/space.webp slug: space +arttags: +- 3d --- diff --git a/content/art/2017/samus.md b/content/art/2017/samus.md index a72c717..8e7f982 100644 --- a/content/art/2017/samus.md +++ b/content/art/2017/samus.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/samus.webp slug: samus +arttags: +- 3d --- diff --git a/content/art/2018/alley.md b/content/art/2018/alley.md index 62663ec..39890af 100644 --- a/content/art/2018/alley.md +++ b/content/art/2018/alley.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/alley.webp slug: alley +arttags: +- 3d --- diff --git a/content/art/2018/city-train.md b/content/art/2018/city-train.md index 7c4d620..9a498f2 100644 --- a/content/art/2018/city-train.md +++ b/content/art/2018/city-train.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/city-train.webp slug: city-train +arttags: +- 3d --- diff --git a/content/art/2018/glass.md b/content/art/2018/glass.md index b33d4b2..499627b 100644 --- a/content/art/2018/glass.md +++ b/content/art/2018/glass.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/glass.webp slug: glass +arttags: +- 3d --- diff --git a/content/art/2018/hallway.md b/content/art/2018/hallway.md index 17c9073..b52577b 100644 --- a/content/art/2018/hallway.md +++ b/content/art/2018/hallway.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/hallway.webp slug: hallway +arttags: +- 3d --- diff --git a/content/art/2018/lemon.md b/content/art/2018/lemon.md index c16c68c..068edab 100644 --- a/content/art/2018/lemon.md +++ b/content/art/2018/lemon.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/lemon.webp slug: lemon +arttags: +- 3d --- diff --git a/content/art/2018/room.md b/content/art/2018/room.md index 45d4832..dfda1a6 100644 --- a/content/art/2018/room.md +++ b/content/art/2018/room.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/room.webp slug: room +arttags: +- 3d --- diff --git a/content/art/2018/tv.md b/content/art/2018/tv.md index 17d93d1..5453efc 100644 --- a/content/art/2018/tv.md +++ b/content/art/2018/tv.md @@ -5,4 +5,6 @@ excludefeed: true layout: art-detail filename: /art/tv.webp slug: tv +arttags: +- 3d --- diff --git a/content/art/2019/sniper-girl.md b/content/art/2019/sniper-girl.md index e5fea8b..97fae1e 100644 --- a/content/art/2019/sniper-girl.md +++ b/content/art/2019/sniper-girl.md @@ -7,5 +7,7 @@ filename: /art/sniper-girl.webp slug: sniper-girl characters: - Sniper Girl +arttags: +- 3d nsfw: false --- diff --git a/content/art/2022/headsculpt.md b/content/art/2022/headsculpt.md index 3592a48..78417d3 100644 --- a/content/art/2022/headsculpt.md +++ b/content/art/2022/headsculpt.md @@ -2,9 +2,12 @@ title: Nomadsculpt test date: 2022-12-05 layout: art-detail -filename: /art/headsculpt.webp +filename: /3d/headsculpt.glb alt_text: "A 3d sculpt of a short, brown haired girl. It’s only a bust." slug: headsculpt +threed: true +arttags: +- 3d mastodon_url: https://mastodon.art/@redstrate/109459311625828312 program: Nomadsculpt --- diff --git a/content/art/_index.md b/content/art/_index.md index 44381e7..8f1280f 100644 --- a/content/art/_index.md +++ b/content/art/_index.md @@ -2,7 +2,7 @@ title: Art layout: art summary: My personal art gallery. -new_banner: You can now vote on artwork! +new_banner: You can now view select 3D pieces in your browser! commissions: true aliases: - /gallery diff --git a/content/art/stats/_index.md b/content/art/stats/_index.md index 6b2a976..c65018a 100644 --- a/content/art/stats/_index.md +++ b/content/art/stats/_index.md @@ -1,21 +1,21 @@ --- title: Stats layout: art-stats -total: 183 +total: 187 years: - year: 2019 num: 60 - year: 2022 - num: 44 + num: 46 - year: 2020 num: 29 - year: 2021 - num: 27 + num: 28 - year: 2023 num: 8 -- year: 2018 - num: 7 - year: 2016 + num: 8 +- year: 2018 num: 7 - year: 2017 num: 1 @@ -26,12 +26,12 @@ characters: num: 9 - name: Merume num: 7 +- name: Sakura + num: 5 - name: Mari num: 5 - name: Asuka num: 5 -- name: Sakura - num: 4 - name: Mythra num: 4 - name: Elisanne @@ -47,4 +47,6 @@ tags: num: 7 - name: drawpile num: 8 +- name: 3d + num: 16 --- diff --git a/data/art-config.json b/data/art-config.json index bf19c11..d4dcb3e 100644 --- a/data/art-config.json +++ b/data/art-config.json @@ -4,6 +4,6 @@ "goinghome", "orbit-correction" ], - "new-banner": "You can now vote on artwork!", + "new-banner": "You can now view select 3D pieces in your browser!", "commissions": true } diff --git a/scripts/gen_art.py b/scripts/gen_art.py index af93001..99ad6a6 100644 --- a/scripts/gen_art.py +++ b/scripts/gen_art.py @@ -7,7 +7,7 @@ def write_field(f, key, value): f.write(key + ": " + value + "\n") -def parse_art_json(output_directory, filename, json_file): +def parse_art_json(output_directory, filename, json_file, threed = False): json_data = json.load(json_file) year = None @@ -36,7 +36,17 @@ def parse_art_json(output_directory, filename, json_file): write_field(f, 'excludefeed', "true") write_field(f, 'layout', 'art-detail') - write_field(f, 'filename', '/art/' + filename + '.webp') + + if threed: + write_field(f, 'filename', '/3d/' + filename + '.glb') + if "camera-orbit" in json_data: + write_field(f, 'orbit', json_data["camera-orbit"]) + if "camera-target" in json_data: + write_field(f, 'target', json_data["camera-target"]) + if "camera-fov" in json_data: + write_field(f, 'fov', json_data["camera-fov"]) + else: + write_field(f, 'filename', '/art/' + filename + '.webp') if "alt_text" in json_data: write_field(f, 'alt_text', @@ -44,6 +54,9 @@ def parse_art_json(output_directory, filename, json_file): write_field(f, 'slug', filename) + if threed: + write_field(f, 'threed', 'true') + characters = [] if "characters" in json_data: f.write("characters:\n") @@ -83,6 +96,7 @@ def parse_art_json(output_directory, filename, json_file): art_data_directory = '../art' +threed_data_directory = '../3d' art_output_directory = '../content/art' shutil.rmtree(art_output_directory) @@ -125,6 +139,35 @@ for filename in os.listdir(art_data_directory): collected_years.add(year) total_art += 1 +for filename in os.listdir(threed_data_directory): + f = os.path.join(threed_data_directory, filename) + + if os.path.isfile(f): + filename_without_ext = os.path.splitext(filename)[0] + + with open(f, "r") as file: + year, characters, tags = parse_art_json(art_output_directory, filename_without_ext, file, True) + + if year in year_stats: + year_stats[year] += 1 + else: + year_stats[year] = 1 + + for character in characters: + if character in character_stats: + character_stats[character] += 1 + else: + character_stats[character] = 1 + + for tag in tags: + if tag in tag_stats: + tag_stats[tag] += 1 + else: + tag_stats[tag] = 1 + + collected_years.add(year) + total_art += 1 + for year in collected_years: with open(os.path.join(art_output_directory, str(year), '_index.md'), 'w') as f: f.write('---\n') diff --git a/themes/red/assets/css/site.css b/themes/red/assets/css/site.css index 8d45bae..51cf026 100644 --- a/themes/red/assets/css/site.css +++ b/themes/red/assets/css/site.css @@ -433,6 +433,8 @@ pre { } model-viewer { - width: 640px; - height: 480px; + height: 100vh; + width: 100%; + margin-left: auto; + margin-right: auto; } diff --git a/themes/red/layouts/_default/art-detail.html b/themes/red/layouts/_default/art-detail.html index 8145ea3..12da995 100644 --- a/themes/red/layouts/_default/art-detail.html +++ b/themes/red/layouts/_default/art-detail.html @@ -4,7 +4,14 @@
{{ with resources.Get .Params.filename }} + {{ if $.Params.threed }} + {{ $cameraorbit := $.Params.orbit }} + {{ $cameratarget := $.Params.target }} + {{ $fov := $.Params.fov }} + + {{ else }} {{ $.Params.alt_text }} + {{ end }} {{ end }} @@ -90,5 +97,13 @@

{{ end }} + {{ if .Params.threed }} + {{ $site := resources.Get "js/model-viewer.min.js" }} + {{ if hugo.IsProduction }} + {{ $site = $site | fingerprint | resources.PostProcess }} + {{ end }} + + {{ end }} + {{ partial "comments" . }} {{ end }} diff --git a/themes/red/layouts/partials/render-art.html b/themes/red/layouts/partials/render-art.html index 1e2bffe..5a1648a 100644 --- a/themes/red/layouts/partials/render-art.html +++ b/themes/red/layouts/partials/render-art.html @@ -1,4 +1,9 @@ -{{ $full := resources.Get (printf "art/%s.webp" .Params.slug) }} +{{ $base := "art" }} +{{ if .Params.threed }} +{{ $base = "3d" }} +{{ end }} + +{{ $full := resources.Get (printf "%s/%s.webp" $base .Params.slug) }} {{ if $full }} {{ $filename_without_ext := .Params.slug }} @@ -13,9 +18,10 @@ {{ end }} -{{ $path := printf "/art/%d/%.2d/%s" (int $year) (int $month) $filename_without_ext}} + +{{ $path := printf "/%s/%d/%.2d/%s" $base (int $year) (int $month) $filename_without_ext}} {{ $title := .Params.title }} - {{ $image := (resources.Get (printf "art/%s.webp" .Params.slug)).Resize "400x" }} + {{ $image := (resources.Get (printf "%s/%s.webp" $base .Params.slug)).Resize "400x" }} {{ if .Params.nsfw }} {{ $image = $image | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }} @@ -29,7 +35,7 @@ {{ else }} -CANNOT FIND {{.Params.slug }} +CANNOT FIND {{ .Params.slug }} {{ end }} -` +