Add missing art, set up nsfw filter

This commit is contained in:
Joshua Goins 2023-02-10 14:25:28 -05:00
parent b4ccae3283
commit d80c8f11ef
48 changed files with 100 additions and 22 deletions

5
art/short-hair.eno Normal file
View file

@ -0,0 +1,5 @@
-- Alt Text
A brown haired girl with dark eyes looking at the viewer. She has a pale purple tank top and playing with her short hair.
-- Alt Text

8
art/sword-leftlean.eno Normal file
View file

@ -0,0 +1,8 @@
-- Alt Text
A girl is looking at you. She has dark brown hair, and pale skin. She has a dark dress with golden accents and is plastered against a simple light background.
-- Alt Text
Characters:
- Mysterious Swordswoman

BIN
assets/art/short-hair.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -6,4 +6,5 @@ date: 2022-01-01
excludefeed: true
layout: art-detail
filename: /art/demon.webp
nsfw: true
---

View file

@ -4,4 +4,5 @@ date: 2021-01-01
excludefeed: true
layout: art-detail
filename: /art/ffxiv-sketches.webp
nsfw: true
---

View file

@ -4,4 +4,5 @@ date: 2020-01-01
excludefeed: true
layout: art-detail
filename: /art/ffxiv-swim.webp
nsfw: true
---

View file

@ -6,4 +6,5 @@ date: 2021-01-01
excludefeed: true
layout: art-detail
filename: /art/miqote-swimsuit.webp
nsfw: true
---

View file

@ -4,4 +4,5 @@ date: 2019-01-01
excludefeed: true
layout: art-detail
filename: /art/naked-elf.webp
nsfw: true
---

View file

@ -4,4 +4,5 @@ date: 2019-01-01
excludefeed: true
layout: art-detail
filename: /art/naked.webp
nsfw: true
---

View file

@ -0,0 +1,9 @@
---
layout: art-detail
filename: /art/short-hair.webp
alt_text: "A brown haired girl with dark eyes looking at the viewer. She has a pale purple tank top and playing with her short hair."
date: 2023-02-01
slug: short-hair
characters:
arttags:
---

View file

@ -8,6 +8,7 @@ slug: summer-byleth
characters:
- Byleth
arttags:
nsfw: true
---
This is my first proper painted character piece, and I'm pretty happy with how it turned out still. Why does she need a knife on the beach though?

View file

@ -10,6 +10,7 @@ characters:
- Asuka
- Rei
arttags:
nsfw: true
---
I drew this while on a trip, and I thought it was about time to do a summer-themed Evangelion drawing! Mari is of course having some fun with Asuka!

View file

@ -1,6 +1,10 @@
---
slug: sword-leftlean
date: 2023-01-05
layout: art-detail
filename: /art/sword-leftlean.webp
alt_text: "A girl is looking at you. She has dark brown hair, and pale skin. She has a dark dress with golden accents and is plastered against a simple light background."
date: 2023-01-05
slug: sword-leftlean
characters:
- Mysterious Swordswoman
arttags:
---

View file

@ -6,4 +6,5 @@ date: 2022-01-01
excludefeed: true
layout: art-detail
filename: /art/two-girls.webp
nsfw: true
---

View file

@ -9,4 +9,5 @@ slug: underwear
characters:
- Merume
arttags:
nsfw: true
---

View file

@ -6,4 +6,5 @@ date: 2022-01-01
excludefeed: true
layout: art-detail
filename: /art/viera1.webp
nsfw: true
---

View file

@ -6,4 +6,5 @@ date: 2022-01-01
excludefeed: true
layout: art-detail
filename: /art/viera2.webp
nsfw: true
---

View file

@ -8,4 +8,5 @@ excludefeed: true
slug: working-out
characters:
arttags:
nsfw: true
---

View file

@ -195,14 +195,16 @@
"filename": "summer-eva-girls.webp",
"newgrounds_url": "https://www.newgrounds.com/art/view/redstrate/summer-eva-girls",
"pixiv_url": "https://www.pixiv.net/en/artworks/100026963",
"date": "7-27"
"date": "7-27",
"nsfw": true
},
{
"title": "summer byleth",
"filename": "summer-byleth.webp",
"pixiv_url": "https://www.pixiv.net/en/artworks/98726204",
"newgrounds_url": "https://www.newgrounds.com/art/view/redstrate/summer-byleth",
"date": "5-30"
"date": "5-30",
"nsfw": true
},
{
"title": "after the rain",
@ -249,13 +251,15 @@
"filename": "tree2.webp"
},
{
"filename": "naked-elf.webp"
"filename": "naked-elf.webp",
"nsfw": true
},
{
"filename": "sketch-collect.webp"
},
{
"filename": "naked.webp"
"filename": "naked.webp",
"nsfw": true
},
{
"filename": "2019.webp"
@ -369,7 +373,8 @@
"filename": "water-test.webp"
},
{
"filename": "ffxiv-swim.webp"
"filename": "ffxiv-swim.webp",
"nsfw": true
},
{
"title": "Trainwatching",
@ -458,7 +463,8 @@
},
{
"title": "Miq'ote in a Swimsuit",
"filename": "miqote-swimsuit.webp"
"filename": "miqote-swimsuit.webp",
"nsfw": true
},
{
"filename": "drawpile-snippet.webp"
@ -482,7 +488,8 @@
"filename": "aerith.webp"
},
{
"filename": "ffxiv-sketches.webp"
"filename": "ffxiv-sketches.webp",
"nsfw": true
},
{
"filename": "futaba.webp"
@ -543,7 +550,8 @@
},
{
"title": "Underwear",
"filename": "underwear.webp"
"filename": "underwear.webp",
"nsfw": true
},
{
"title": "Sketch Dump",
@ -567,15 +575,18 @@
},
{
"title": "Viera #1",
"filename": "viera1.webp"
"filename": "viera1.webp",
"nsfw": true
},
{
"title": "Viera #2",
"filename": "viera2.webp"
"filename": "viera2.webp",
"nsfw": true
},
{
"title": "Two Girls",
"filename": "two-girls.webp"
"filename": "two-girls.webp",
"nsfw": true
},
{
"title": "Overalls",
@ -587,7 +598,8 @@
},
{
"title": "Demonness",
"filename": "demon.webp"
"filename": "demon.webp",
"nsfw": true
},
{
"title": "Guns",
@ -599,7 +611,8 @@
},
{
"title": "Working Out",
"filename": "working-out.webp"
"filename": "working-out.webp",
"nsfw": true
},
{
"title": "Funny",
@ -646,6 +659,10 @@
{
"date": "1-5",
"filename": "sword-leftlean.webp"
},
{
"date": "2-1",
"filename": "short-hair.webp"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

@ -6,13 +6,15 @@ import json
def write_field(f, key, value):
f.write(key + ": " + value + "\n")
def parse_art(title, year, date, original_filename, filename, file):
def parse_art(title, year, date, nsfw, original_filename, filename, file):
with open(original_filename + '.md', 'w') as f:
document = enolib.parse(file)
f.write('---\n')
if title is not None:
write_field(f, 'title', title)
write_field(f, 'layout', 'art-detail')
write_field(f, 'filename', '/art/' + filename + '.webp')
write_field(f, 'alt_text', "\"" + document.field('Alt Text').required_string_value().replace('\n','') + "\"")
@ -37,13 +39,16 @@ def parse_art(title, year, date, original_filename, filename, file):
for tag in document.list('Tags').items():
f.write("- " + tag.required_string_value().lower() + "\n")
if nsfw is not None:
write_field(f, 'nsfw', str(nsfw).lower())
f.write('---\n')
if document.optional_field('Description'):
f.write(document.field('Description').required_string_value())
f.write('\n')
def parse_art_piece(json, year, date):
def parse_art_piece(json, year, date, nsfw):
filename_without_ext = os.path.splitext(json["filename"])[0]
with open(art_output_directory + "/" + filename_without_ext + '.md', 'w') as f:
@ -68,6 +73,9 @@ def parse_art_piece(json, year, date):
write_field(f, 'layout', 'art-detail')
write_field(f, 'filename', '/art/' + json['filename'])
if nsfw is not None:
write_field(f, 'nsfw', str(nsfw).lower())
f.write('---\n')
art_data_directory = '../art'
@ -140,19 +148,27 @@ with open('../data/art.json', 'r') as f:
path = os.path.join(art_data_directory, filename_without_ext + ".eno")
nsfw = None
if "nsfw" in piece.keys():
nsfw = piece["nsfw"]
title = None
if "title" in piece.keys():
title = piece["title"]
if os.path.isfile(path):
num_eno = num_eno + 1
with open(path) as f:
if "date" in piece.keys():
parse_art(piece["title"], year["year"], piece["date"], art_output_directory + "/" + filename_without_ext, filename_without_ext, f.read())
parse_art(title, year["year"], piece["date"], nsfw, art_output_directory + "/" + filename_without_ext, filename_without_ext, f.read())
else:
parse_art(piece["title"], year["year"], None, art_output_directory + "/" + filename_without_ext, filename_without_ext, f.read())
parse_art(title, year["year"], None, nsfw, art_output_directory + "/" + filename_without_ext, filename_without_ext, f.read())
else:
num_noneno = num_noneno + 1
if "date" in piece.keys():
parse_art_piece(piece, year["year"], piece["date"])
parse_art_piece(piece, year["year"], piece["date"], nsfw)
else:
parse_art_piece(piece, year["year"], None)
parse_art_piece(piece, year["year"], None, nsfw)
print("Art coverage: {}/{}".format(num_eno, num_eno + num_noneno));

View file

@ -16,6 +16,11 @@
{{ $path := printf "/art/%d/%.2d/%s" (int $year) (int $month) $filename_without_ext}}
{{ $title := .Params.title }}
{{ $image := (resources.Get (printf "art/%s.webp" .Params.slug)).Resize "300x" }}
{{ if .Params.nsfw }}
{{ $image = $image | images.Filter (images.GaussianBlur 6) (images.Pixelate 8) }}
{{ end }}
{{ with $image }}
<img class="grid-item" width="{{ .Width }}" height="{{ .Height }}" alt="{{ $title }}" src="{{ .Permalink }}"/>
{{ else }}
@ -27,3 +32,4 @@
<em>CANNOT FIND {{.Params.slug }}</em>
{{ end }}
`