From edf819f2d478c4ca18f76a06d6b5e119867e8a12 Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 31 Mar 2024 12:32:05 -0400 Subject: [PATCH] Add comic support, add latest artwork --- assets/comic.png | Bin 0 -> 10292 bytes comic/big-bunny.json | 24 ++++++++++++ content/art/2024/big-bunny.md | 23 ++++++++++++ content/art/stats/_index.md | 10 ++--- scripts/gen_art.py | 39 +++++++++++++++++++- themes/red/layouts/_default/art-detail.html | 13 ++++++- themes/red/layouts/partials/render-art.html | 6 +++ 7 files changed, 108 insertions(+), 7 deletions(-) create mode 100644 assets/comic.png create mode 100644 comic/big-bunny.json create mode 100644 content/art/2024/big-bunny.md diff --git a/assets/comic.png b/assets/comic.png new file mode 100644 index 0000000000000000000000000000000000000000..d5284d82ac9741d433ae206ecbe663c87c3711ea GIT binary patch literal 10292 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 literal 0 HcmV?d00001 diff --git a/comic/big-bunny.json b/comic/big-bunny.json new file mode 100644 index 0000000..7023d2a --- /dev/null +++ b/comic/big-bunny.json @@ -0,0 +1,24 @@ +{ + "date": "2024-03-30", + "title": "Big Bunny 🐰", + "tags": ["Comic"], + "characters": ["Mysterious Swordswoman"], + "mastodon_url": "https://mastodon.art/@redstrate/112187076950789997", + "pixiv_url": "https://www.pixiv.net/artworks/117405970", + "newgrounds_url": "https://www.newgrounds.com/art/view/redstrate/big-bunny", + "program": "Krita", + "pages": [ + { + "filename": "big-bunny", + "alt_text": "Comic strip made up of four panels. The first panel has one girl putting up a poster on the side of a store wall. Another woman is walking nearby, but the other says 'Huh?' and 'Ma'am! Please wait!' The second panel has the first girl asking 'Would you please try on something for me?' while looking amazed. The other girl asks the following in the next two panels, as the first holds up her hands to imagine a picture. 'Well I dunno, is it gaudy?' 'I'm not exactly the fancy-type' and finally, 'I don't have any money.' The first woman replies 'I just need someone to try it on. That's all!'" + }, + { + "filename": "big-bunny2", + "alt_text": "Two panels make up this comic. The first bubble sets up that it's 'Some time later...' The other woman is now clothed in a one-piece dark bunny suit, with long white gloves. The other girl is behind her, with a measurement tape. She asks 'See? Isn't it cute? ❤︎' and the other respons 'Sure, but it barely fits me.' 'Really? I'm sure I fit it correctly.' In the next panel, the woman in the bunnysuit is eating a carrot. She says 'A carrot too? It's pretty dry.' Off-panel, the other girl says 'Ma'am, that's for decoration...' In the last panel it's a drawing of a door, specifically the bell above it ringing as it swings open." + }, + { + "filename": "big-bunny3", + "alt_text": "This comic is made up of one panel. Behind the woman in the bunnysuit, there stands a gigantic bunny monster with large red eyes. It has both of it's sharp claws in the air. The woman says 'Did someone come in?' and also 'Hey, have you noticed how high your ceilings are?' The last bubble is 'She quickly regretted leaving her sword at the inn.'" + } + ] +} diff --git a/content/art/2024/big-bunny.md b/content/art/2024/big-bunny.md new file mode 100644 index 0000000..3a61abf --- /dev/null +++ b/content/art/2024/big-bunny.md @@ -0,0 +1,23 @@ +--- +title: "Big Bunny 🐰" +date: 2024-03-30 +layout: art-detail +filename: /art/big-bunny.webp +comic: true +pages: +- filename: big-bunny + alt_text: Comic strip made up of four panels. The first panel has one girl putting up a poster on the side of a store wall. Another woman is walking nearby, but the other says 'Huh?' and 'Ma'am! Please wait!' The second panel has the first girl asking 'Would you please try on something for me?' while looking amazed. The other girl asks the following in the next two panels, as the first holds up her hands to imagine a picture. 'Well I dunno, is it gaudy?' 'I'm not exactly the fancy-type' and finally, 'I don't have any money.' The first woman replies 'I just need someone to try it on. That's all!' +- filename: big-bunny2 + alt_text: Two panels make up this comic. The first bubble sets up that it's 'Some time later...' The other woman is now clothed in a one-piece dark bunny suit, with long white gloves. The other girl is behind her, with a measurement tape. She asks 'See? Isn't it cute? ❤︎' and the other respons 'Sure, but it barely fits me.' 'Really? I'm sure I fit it correctly.' In the next panel, the woman in the bunnysuit is eating a carrot. She says 'A carrot too? It's pretty dry.' Off-panel, the other girl says 'Ma'am, that's for decoration...' In the last panel it's a drawing of a door, specifically the bell above it ringing as it swings open. +- filename: big-bunny3 + alt_text: This comic is made up of one panel. Behind the woman in the bunnysuit, there stands a gigantic bunny monster with large red eyes. It has both of it's sharp claws in the air. The woman says 'Did someone come in?' and also 'Hey, have you noticed how high your ceilings are?' The last bubble is 'She quickly regretted leaving her sword at the inn.' +slug: big-bunny +characters: +- Mysterious Swordswoman +arttags: +- comic +mastodon_url: https://mastodon.art/@redstrate/112187076950789997 +pixiv_url: https://www.pixiv.net/artworks/117405970 +newgrounds_url: https://www.newgrounds.com/art/view/redstrate/big-bunny +program: Krita +--- diff --git a/content/art/stats/_index.md b/content/art/stats/_index.md index 4bd6bde..821e0eb 100644 --- a/content/art/stats/_index.md +++ b/content/art/stats/_index.md @@ -1,7 +1,7 @@ --- title: Stats layout: art-stats -total: 226 +total: 227 years: - year: 2019 num: 60 @@ -14,7 +14,7 @@ years: - year: 2021 num: 27 - year: 2024 - num: 12 + num: 13 - year: 2018 num: 7 - year: 2016 @@ -23,7 +23,7 @@ years: num: 1 characters: - name: Mysterious Swordswoman - num: 15 + num: 16 - name: Juritta num: 14 - name: Merume @@ -45,10 +45,10 @@ characters: tags: - name: technical num: 1 -- name: comic - num: 2 - name: animation num: 2 +- name: comic + num: 3 - name: oil painting num: 4 - name: artfight diff --git a/scripts/gen_art.py b/scripts/gen_art.py index 421ec1c..0f1139e 100644 --- a/scripts/gen_art.py +++ b/scripts/gen_art.py @@ -10,7 +10,7 @@ def write_field(f, key, value): f.write(key + ": " + value + "\n") -def parse_art_json(output_directory, filename, json_file, threed = False, animation = False, guest = False): +def parse_art_json(output_directory, filename, json_file, threed = False, animation = False, guest = False, comic = False): print(filename) json_data = json.load(json_file) @@ -63,6 +63,13 @@ def parse_art_json(output_directory, filename, json_file, threed = False, animat else: write_field(f, 'filename', '/art/' + filename + '.webp') + if comic: + write_field(f, 'comic', 'true') + f.write('pages:\n') + for page in json_data["pages"]: + f.write('- filename: ' + page["filename"] + "\n") + f.write(' alt_text: ' + page["alt_text"] + "\n") + if "alt_text" in json_data: write_field(f, 'alt_text', "\"" + json_data["alt_text"].replace('\n', '').replace('"', '\\"') + "\"") @@ -153,6 +160,7 @@ characters_data_directory = '../characters' art_output_directory = '../content/art' guest_art_data_directory = '../guestart' characters_output_directory = '../content/characters' +comic_data_directory = '../comic' shutil.rmtree(art_output_directory) os.mkdir(art_output_directory) @@ -270,6 +278,35 @@ for filename in os.listdir(animation_data_directory): collected_years.add(year) total_art += 1 +for filename in os.listdir(comic_data_directory): + f = os.path.join(comic_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, False, False, False, 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/layouts/_default/art-detail.html b/themes/red/layouts/_default/art-detail.html index da9ce5a..2c2ad87 100644 --- a/themes/red/layouts/_default/art-detail.html +++ b/themes/red/layouts/_default/art-detail.html @@ -15,7 +15,7 @@ {{ $month = int (index $split 3) }} {{ end }} - {{ if and (ge (int $year) 2023) (and (not $.Params.animation) (and (not (in .File.Dir "art/guest")) (not $.Params.threed)) ) }} + {{ if and (ge (int $year) 2023) (and (not $.Params.animation) (and (not (in .File.Dir "art/guest")) (and (not $.Params.threed) (not $.Params.comic) )) ) }} {{ $full := printf "https://images.redstrate.com/art/%s.avif" $.Params.slug }} {{ $jpeg := printf "https://images.redstrate.com/art/%s.jpg" $.Params.slug }} @@ -44,6 +44,17 @@ {{ end }} {{ end }} + {{ if $.Params.comic }} + {{ range $.Params.pages }} + {{ $full := printf "https://images.redstrate.com/art/%s.avif" .filename }} + {{ $jpeg := printf "https://images.redstrate.com/art/%s.jpg" .filename}} + + + + {{ .alt_text }} + + {{ end }} + {{ end }} {{ partial "voting" . }} diff --git a/themes/red/layouts/partials/render-art.html b/themes/red/layouts/partials/render-art.html index b5162b6..07551fd 100644 --- a/themes/red/layouts/partials/render-art.html +++ b/themes/red/layouts/partials/render-art.html @@ -49,6 +49,12 @@ {{ end }} {{ end }} + {{ if $.Params.comic }} + {{ with resources.Get "comic.png" }} + Comic icon + {{ end }} + {{ end }} + {{ if $.Params.animation }} {{ with resources.Get "play-circle.png" }} Play animation icon