diff --git a/assets/comic.png b/assets/comic.png
new file mode 100644
index 0000000..d5284d8
Binary files /dev/null and b/assets/comic.png differ
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}}
+
+
+
+
+
+ {{ 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" }}
+
+ {{ end }}
+ {{ end }}
+
{{ if $.Params.animation }}
{{ with resources.Get "play-circle.png" }}