diff --git a/characters/merume.json b/characters/merume.json new file mode 100644 index 0000000..df50b5a --- /dev/null +++ b/characters/merume.json @@ -0,0 +1,6 @@ +{ + "name": "Merume", + "description": "A four-armed succubus with long elven ears, and a tail. She usually ties her blue hair into pigtails. She enjoys cooking (only when she's by herself) and of course, playing way too much video games in her free time.", + "age": "???", + "pronouns": "she/her" +} diff --git a/characters/mysterious-swordswoman.json b/characters/mysterious-swordswoman.json new file mode 100644 index 0000000..8172638 --- /dev/null +++ b/characters/mysterious-swordswoman.json @@ -0,0 +1,6 @@ +{ + "name": "Mysterious Swordswoman", + "description": "She is a talented swordsman and nomad that travels from town to town in the countryside.", + "age": "???", + "pronouns": "she/her" +} diff --git a/content/characters/merume/_index.md b/content/characters/merume/_index.md new file mode 100644 index 0000000..4e23818 --- /dev/null +++ b/content/characters/merume/_index.md @@ -0,0 +1,8 @@ +--- +layout: art-character +title: Merume +age: ??? +pronouns: she/her +slug: merume +--- +A four-armed succubus with long elven ears, and a tail. She usually ties her blue hair into pigtails. She enjoys cooking (only when she's by herself) and of course, playing way too much video games in her free time. diff --git a/content/characters/mysterious-swordswoman/_index.md b/content/characters/mysterious-swordswoman/_index.md new file mode 100644 index 0000000..73ed475 --- /dev/null +++ b/content/characters/mysterious-swordswoman/_index.md @@ -0,0 +1,8 @@ +--- +layout: art-character +title: Mysterious Swordswoman +age: ??? +pronouns: she/her +slug: mysterious-swordswoman +--- +She is a talented swordsman and nomad that travels from town to town in the countryside. diff --git a/resources/_gen/images/2024_hu56a3f7c9b1241eb794192a4c3385e366_23696_256x0_resize_box_2.bmp b/resources/_gen/images/2024_hu56a3f7c9b1241eb794192a4c3385e366_23696_256x0_resize_box_2.bmp new file mode 100644 index 0000000..9970d39 Binary files /dev/null and b/resources/_gen/images/2024_hu56a3f7c9b1241eb794192a4c3385e366_23696_256x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/gushing-kde/kasts_hudf31f6309f79099d6ace5651246f1022_133059_400x0_resize_box_3.bmp b/resources/_gen/images/blog/gushing-kde/kasts_hudf31f6309f79099d6ace5651246f1022_133059_400x0_resize_box_3.bmp new file mode 100644 index 0000000..0991b69 Binary files /dev/null and b/resources/_gen/images/blog/gushing-kde/kasts_hudf31f6309f79099d6ace5651246f1022_133059_400x0_resize_box_3.bmp differ diff --git a/resources/_gen/images/blog/gushing-kde/kdenlive_hu203db434d1a68e56bc1bcb9c67f9d1d5_831125_400x0_resize_box_3.bmp b/resources/_gen/images/blog/gushing-kde/kdenlive_hu203db434d1a68e56bc1bcb9c67f9d1d5_831125_400x0_resize_box_3.bmp new file mode 100644 index 0000000..7dc2b96 Binary files /dev/null and b/resources/_gen/images/blog/gushing-kde/kdenlive_hu203db434d1a68e56bc1bcb9c67f9d1d5_831125_400x0_resize_box_3.bmp differ diff --git a/resources/_gen/images/blog/gushing-kde/kmail_hu32f0250e2a10d929dc2d48e2d171a8e1_194929_400x0_resize_box_3.bmp b/resources/_gen/images/blog/gushing-kde/kmail_hu32f0250e2a10d929dc2d48e2d171a8e1_194929_400x0_resize_box_3.bmp new file mode 100644 index 0000000..a9ddbcb Binary files /dev/null and b/resources/_gen/images/blog/gushing-kde/kmail_hu32f0250e2a10d929dc2d48e2d171a8e1_194929_400x0_resize_box_3.bmp differ diff --git a/resources/_gen/images/blog/gushing-kde/ruqola_huc8c11ac59962c42bb70b06af4ac38680_132835_400x0_resize_box_3.bmp b/resources/_gen/images/blog/gushing-kde/ruqola_huc8c11ac59962c42bb70b06af4ac38680_132835_400x0_resize_box_3.bmp new file mode 100644 index 0000000..c4af02d Binary files /dev/null and b/resources/_gen/images/blog/gushing-kde/ruqola_huc8c11ac59962c42bb70b06af4ac38680_132835_400x0_resize_box_3.bmp differ diff --git a/resources/_gen/images/blog/gushing-kde/tokodon_huac36eb9801afc7494fac03d8510a5938_171747_400x0_resize_box_3.bmp b/resources/_gen/images/blog/gushing-kde/tokodon_huac36eb9801afc7494fac03d8510a5938_171747_400x0_resize_box_3.bmp new file mode 100644 index 0000000..4ee30c9 Binary files /dev/null and b/resources/_gen/images/blog/gushing-kde/tokodon_huac36eb9801afc7494fac03d8510a5938_171747_400x0_resize_box_3.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/curve_huab5124e2214888471e7a0e1728978a57_60778_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/curve_huab5124e2214888471e7a0e1728978a57_60778_400x0_resize_box_2.bmp new file mode 100644 index 0000000..6c82bea Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/curve_huab5124e2214888471e7a0e1728978a57_60778_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/fixed-camera_hued7204e1ebd8c7e9043f2a83c0948b98_1662_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/fixed-camera_hued7204e1ebd8c7e9043f2a83c0948b98_1662_400x0_resize_box_2.bmp new file mode 100644 index 0000000..52c11dc Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/fixed-camera_hued7204e1ebd8c7e9043f2a83c0948b98_1662_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/fixed-send_hu92e48c72d7377fac153d8fb3dad843cb_996_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/fixed-send_hu92e48c72d7377fac153d8fb3dad843cb_996_400x0_resize_box_2.bmp new file mode 100644 index 0000000..0585a24 Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/fixed-send_hu92e48c72d7377fac153d8fb3dad843cb_996_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/flow_hu927af6f6dfebb336c3ca7a981474727a_46114_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/flow_hu927af6f6dfebb336c3ca7a981474727a_46114_400x0_resize_box_2.bmp new file mode 100644 index 0000000..e08da1f Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/flow_hu927af6f6dfebb336c3ca7a981474727a_46114_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/private_hu9b13614ada2a27e9d7fc3b27b79d2de2_13736_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/private_hu9b13614ada2a27e9d7fc3b27b79d2de2_13736_400x0_resize_box_2.bmp new file mode 100644 index 0000000..ba456f9 Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/private_hu9b13614ada2a27e9d7fc3b27b79d2de2_13736_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/search_hu9c51628c4458ef7cd16fdb1f2e106b4a_48426_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/search_hu9c51628c4458ef7cd16fdb1f2e106b4a_48426_400x0_resize_box_2.bmp new file mode 100644 index 0000000..4f86da4 Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/search_hu9c51628c4458ef7cd16fdb1f2e106b4a_48426_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/tester_hue56a05b6d84dfeda7b1f423cc4f18b91_38978_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/tester_hue56a05b6d84dfeda7b1f423cc4f18b91_38978_400x0_resize_box_2.bmp new file mode 100644 index 0000000..1da5e07 Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/tester_hue56a05b6d84dfeda7b1f423cc4f18b91_38978_400x0_resize_box_2.bmp differ diff --git a/resources/_gen/images/blog/kde-jan2024/tobias_hua14535f7ad488a208c9da1afb7adff50_3096_400x0_resize_box_2.bmp b/resources/_gen/images/blog/kde-jan2024/tobias_hua14535f7ad488a208c9da1afb7adff50_3096_400x0_resize_box_2.bmp new file mode 100644 index 0000000..3f8a23c Binary files /dev/null and b/resources/_gen/images/blog/kde-jan2024/tobias_hua14535f7ad488a208c9da1afb7adff50_3096_400x0_resize_box_2.bmp differ diff --git a/scripts/gen_art.py b/scripts/gen_art.py index 4730876..179f52c 100644 --- a/scripts/gen_art.py +++ b/scripts/gen_art.py @@ -113,15 +113,50 @@ def parse_art_json(output_directory, filename, json_file, threed = False, animat return (year, characters, tags) +def parse_character_json(output_directory, filename, json_file): + print(f"parsed character: {filename}") + + json_data = json.load(json_file) + + base_directory = os.path.join(characters_output_directory, filename) + if not os.path.exists(base_directory): + os.mkdir(base_directory) + + with open(os.path.join(base_directory, '_index.md'), 'w') as f: + f.write('---\n') + + write_field(f, 'layout', 'art-character') + + write_field(f, 'title', json_data["name"]) + + if "age" in json_data: + write_field(f, 'age', json_data["age"]) + + if "pronouns" in json_data: + write_field(f, 'pronouns', json_data["pronouns"]) + + write_field(f, 'slug', filename) + + f.write('---\n') + + if "description" in json_data: + f.write(json_data["description"]) + f.write('\n') + art_data_directory = '../art' threed_data_directory = '../3d' animation_data_directory = '../animation' +characters_data_directory = '../characters' art_output_directory = '../content/art' guest_art_data_directory = '../guestart' +characters_output_directory = '../content/characters' shutil.rmtree(art_output_directory) os.mkdir(art_output_directory) +shutil.rmtree(characters_output_directory) +os.mkdir(characters_output_directory) + collected_years = set() year_stats = {} total_art = 0 @@ -162,6 +197,18 @@ for filename in os.listdir(art_data_directory): collected_years.add(year) total_art += 1 +for filename in os.listdir(characters_data_directory): + f = os.path.join(characters_data_directory, filename) + + if os.path.isfile(f): + filename_without_ext = os.path.splitext(filename)[0] + + if filename_without_ext == ".DS_Store" or filename_without_ext == ".directory": + continue + + with open(f, "r") as file: + parse_character_json(characters_data_directory, filename_without_ext, file) + for filename in os.listdir(threed_data_directory): f = os.path.join(threed_data_directory, filename) diff --git a/themes/red/layouts/_default/character.html b/themes/red/layouts/_default/character.html index d82eedd..015e3b0 100644 --- a/themes/red/layouts/_default/character.html +++ b/themes/red/layouts/_default/character.html @@ -1,3 +1,17 @@ {{ define "main" }} +

{{ .Title }}

+
+ + + + + + + + + + +
Age{{ .Params.age }}
Pronouns{{ .Params.pronouns }}
+ {{ partial "art-tag" . }} {{ end }} diff --git a/themes/red/layouts/partials/art-tag.html b/themes/red/layouts/partials/art-tag.html index 73d77b4..a7a880d 100644 --- a/themes/red/layouts/partials/art-tag.html +++ b/themes/red/layouts/partials/art-tag.html @@ -1,6 +1,3 @@ -

{{ .Title }}

-
- {{ .Content }} {{ partial "art-gallery" . }} diff --git a/themes/retro/layouts/_default/arttag.html b/themes/retro/layouts/_default/arttag.html index d82eedd..3a74041 100644 --- a/themes/retro/layouts/_default/arttag.html +++ b/themes/retro/layouts/_default/arttag.html @@ -1,3 +1,6 @@ {{ define "main" }} +

{{ .Title }}

+
+ {{ partial "art-tag" . }} {{ end }} diff --git a/themes/retro/layouts/_default/character.html b/themes/retro/layouts/_default/character.html index d82eedd..3a74041 100644 --- a/themes/retro/layouts/_default/character.html +++ b/themes/retro/layouts/_default/character.html @@ -1,3 +1,6 @@ {{ define "main" }} +

{{ .Title }}

+
+ {{ partial "art-tag" . }} {{ end }}