diff --git a/src/diary/entries/220831 b/src/diary/entries/220831
index 5fb525e..397e39b 100644
--- a/src/diary/entries/220831
+++ b/src/diary/entries/220831
@@ -1,14 +1,11 @@
-
+
blessfrey.me under construction
-august 31, 2022
#webdev
-The website doesn't look how I want it yet!
-
+The website doesn't look how I want it to yet!
+
working on it
+Iterating over the website. Lots of placeholder pages are up, but few are close to my current plan. This version will be better than ever, with embedded HTML5 applications and more artwork.
-Iterating over the website again. Lots of placeholder pages are up, but few are close to my current plan. This version will be better than ever, with embedded HTML5 applications, a content mix planned for articles, and more artwork.
-
-
-Last updated August 31, 2022
+Last updated May 8, 2023
diff --git a/src/diary/entries/250224 b/src/diary/entries/230227
similarity index 98%
rename from src/diary/entries/250224
rename to src/diary/entries/230227
index b0e66f6..a34369f 100644
--- a/src/diary/entries/250224
+++ b/src/diary/entries/230227
@@ -1,15 +1,14 @@
-Godot Tutorial: Chat Room using WebSocket
-august 31, 2022
-#webdev
+Godot 3 Tutorial: Chat Room using WebSocket
+#godot #webdev
-Follow along to make your first mini WebSocket application in GDScript (with a little JSON). The client and the server will be two separate projects. I build upon the NetworkedMultiplayerENet chat room tutorial by Miziziziz(archive link) and the HTML5 and WebSocket tutorial in the Godot documentation.
+Follow along to make your first mini WebSocket application in GDScript (with a little JSON). The client and the server will be two separate projects. I build upon the NetworkedMultiplayerENet chat room tutorial(archive link) by Miziziziz and the HTML5 and WebSocket tutorial in the Godot documentation.
Why WebSocket over UDP?
UDP is fast but inaccurate. It is best used for real-time action gameplay. TCP is slow but accurate. It is best for sharing data. You can read more about it on the Multiplayer doc page.
-WebSocket uses a TCP connection. Ultimately, I am studying Godot to make a slow-paced adventure browser game, so this is one of the protocols I am considering and the protocol we will use for the tutorial.
+WebSocket uses a TCP connection. Ultimately, I am studying Godot to make a slow-paced adventure browser game, so this is one of the protocols I am considering and the protocol we will use in this tutorial.
Do I need a dedicated server for testing?
Nope! You can test client & server code on your own computer. I am only testing on a single computer at home for now without accessing an outside VPS, etc.
@@ -689,6 +688,8 @@ func _ready():
join_button.connect("button_up", self, "join_chat")
+Enjoy^^
+
Last updated February 26, 2022
diff --git a/src/diary/entries/230508 b/src/diary/entries/230508
new file mode 100644
index 0000000..91eee06
--- /dev/null
+++ b/src/diary/entries/230508
@@ -0,0 +1,44 @@
+
+blessfrey.me - new look, new me
+#webdev
+
+Redesign time! Blessfrey.me is my personal website full of my own interests, art, and research, and it doesn't need to be any more than that.
+
+redefining the goals
+ College, social media, other people's blogs, everyone tells you to laser-focus on a niche, release updates at an algorithm-dictated frequency, and always work towards SEO optimization. When I do something, I try to do it right, but that is a silly amount of energy to put towards the content mix over actually enjoying programming and art. I don't have the same goals as these people with a full-time social media job, and I'm okay with that.
+ I also never looked up to any influencers, so it's not like that advice helps me emulate my role models. The bloggers and game devs I admired as a kid in the 90s-00s had inconsistent updates, wrote about whatever they felt like, and clearly worked more for their own pleasure than their target audience and "the algorithm." No refined professional touch, no politically correct tone, and no telling when updates would drop, but they had something the repetitive mills and the smaller content creators who emulate them don't. I can't even articulate what that something is, but I learned a lot more from those kinds of people.
+ I'm no entrepeneurial mommy blog influencer on the first page Google results, so I just shouldn't care about their process. Even if I was, it would still be important for me to have some cute little site on the side! Maybe it won't bring in $10K/month or clout, but there's still value to a dinky online portfolio.
+
+made for me
+ From this point forward(?), I'm going to update my diary whenever I feel like it instead of postponing and rearranging entries to meet a biweekly schedule and recommended content mix.
+ I'll worry more about blog-worthy topics than meeting the godot indiedev niche. And I'll share more of my work in general. I draw and write, but most of it stays locked up in a hard drive. Why not share? And even if no one ever cares but me, it's nice to look back on them in a curated little gallery.
+ Also, it's just convenient to host my OCs and art somewhere. Toyhou.se and alternatives are popular for a reason, and, if I don't really care to participate in the community over there, a custom coded website is so much less clunky.
+
+hosting my study wiki
+ More than art, I'd like to have my research on here. I spend a lot of time studying and taking classes and have produced notes that, depending on the circumstances, are more valuable to me than Google. (Not that Google's that great of a resource anyway these days.) Other people ask to see my notes sometimes, too. I think they may be useful to others if I host an online copy instead of printing off a few pages and keeping the rest sealed away, only viewable through private software. So why not?
+ Of course, this necessitates the next big tech upgrade: adding wiki software to Blessfrey.me. Once my husband's LazyWiki project is installed on the server, I can make a wiki with lazy linking, meaning all I need to do is write the articles and all the wiki links will be generated by the software as the page loads. Wikis with large communities may be able to insert individual links with more intentionality and at a step that saves on computing power, but lazy evaluation suits Blessfrey.me's needs perfectly. The only change is, I'd like the online copy to be read-only to prevent vandalism and people using my website to transmit illegal things.
+ I think the best way to use wikis would be to give each topic its own database. So one can hold my Bible, church history, and Bible scholar notes, then I'm sure I'll want a more technical one. But it may be cool to keep another as a worldbuilding bible or game manual or something.
+ When this functionality is added, the wikis will be kept on the study page.
+
+reorganization
+ Since Blessfrey.me is more general now, the hierarchy of the site will no longer revolve around the current game I'm working on. Instead, I break the navigation into diary, games, characters, art, study, and an about me page.
+ HTML5 lets you embed games directly into your pages, so I finally added some to the games page. My other gamedev and tech topics like gdd, software requirements, and repos can branch off that page, too, but I think most people would be more interested in the games, hence the page's name.
+ Characters will be my OC database, so people can see them for Artfight or rp or whatever. But honestly, I just like looking at them displayed on their own page. It reminds me of the cast page of a promo site for an otome game. Those are always the most stylish pages with the most prose. Flash's death killed my old favorite designs, so here's whatever the latest Otomate game is as an example of what I mean.
+ The art page can show my pictures. With the exception of OotD/MotD, fashion (designing, patternmaking, sewing, styling) takes a much longer time to produce blogworthy updates than programming and drawing, so it's always awkward to decide if and how to include it with everything else. I think photos and the occasional blog post is the easiest solution for now. Plus, with the variety of media it brings to the page, it makes me feel more comfortable sharing game screenshots and other fun-but-not-necessarily-art pictures.
+ For the about me page, I want to provide a brief description of what I do, how to contact me, and what Blessfrey.me is. I'm kind of private and kind of boring, so there isn't much to explain anyway. It was too general before, sharing too much information about each project, when that information is better situated on the projects' pages.
+ More specific pages were moved under these main pages. Also, more specific pages, like the gdd page, has become a hub for all my game design documents rather than just featuring my latest game.
+
+nav redesign
+The biggest visual change is the navigation bar. It used to be modeled after an RPG skillbar, and I was even trying to mimic the 'cooldown' animation after clicking an icon.
+
+The icons are supposed to be plumb between the heart and star. There are also text labels, so ESL users can machine translate or deaf users can hear them or whatever. They are supposed to be small and nestled unobstructively under the corresponding icons. As you can see in this recent screenshot, it takes a lot of maintenance to keep that look over time. After the most recent css break, I gave up. I just got rid of it. Maybe again someday, but that thing's gone.
+A simple fixed stripe of periwinkle across the bottom with some links is all I need for now. Also, I can add the cute hover, active text decoration that mobile users unfortunately don't even realize is there. Mitochondria is such a cute font.
+
+eternally refactoring
+You know I haven't updated the website without removing lots of redundant, outdated code, and finding shortcuts.
+
+enjoy
+I'm really happy with what I've made so far. Maybe I'll actually show it to people more often instead of always thinking, "when I have something better, I'll show them." I already have lots of cool things, so why not share now?
+
+Last updated May 8, 2023
+
diff --git a/src/diary/entries/230522 b/src/diary/entries/230522
new file mode 100644
index 0000000..2c71e72
--- /dev/null
+++ b/src/diary/entries/230522
@@ -0,0 +1,11 @@
+
+ditching the Bible in a year reading plan
+#christian #bible
+
+The website doesn't look how I want it to yet!
+
+working on it
+Iterating over the website. Lots of placeholder pages are up, but few are close to my current plan. This version will be better than ever, with embedded HTML5 applications and more artwork.
+
+Last updated May 8, 2023
+
diff --git a/src/diary/entries/250831 b/src/diary/entries/250831
index 4abcfac..958d22c 100644
--- a/src/diary/entries/250831
+++ b/src/diary/entries/250831
@@ -1,6 +1,5 @@
starting a new game project? don't forget to add these!
-august 31, 2022
#gamedev
All the new gamedev project essentials.
diff --git a/src/index.py b/src/index.py
index 26e5767..4fbb1aa 100644
--- a/src/index.py
+++ b/src/index.py
@@ -126,7 +126,7 @@ def find_gallery(name):
gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","Emulating old RPG coverart like Elden Gate in mixed media. Don't feel like working on it anymore."],["FlightRising.png","his oc dragon form in FlightRising"],["RuneHeadshot.png","emulating the art style of Battle Girl High School"],["CawfeeCakes_Artfight.png","2022 Artfight attack by CawfeeCakes"],["Teriuuuu_Artfight.png","2020 Artfight attack by Teriuuuu"]])
if name == "Silke":
gal.append("Verpets")
- gal.append([["Silke.png","emulating the art style of Yuu Watase in pixelart"],["Verpets.png","Silke's sprite in Verpets"]])
+ gal.append([["Silke.png","emulating the art style of Yuu Watase in pixelart"],["Silke_png.png","still emulating the art style of Yuu Watase"],["Verpets.png","Silke's sprite in Verpets"]])
if name == "Tessa":
gal.append("Blessfrey")
gal.append([["Tessa.png","Pixelart of Tessa in athletic wear"],["picrew.png","made in あの子がこっちを見ている on Picrew"],["FlightRising.png","her oc dragon form in FlightRising"],["RamblingRoses_Artfight.png","2020 Artfight attack by RamblingRoses"],["Lune_Archon_Artfight.jpeg","2022 Artfight attack by Lune_Archon"],["ElissaKarminakria_Artfight.png","2020 Artfight attack by ElissaKarminakria"],["gemhue_Artfight.png","2020 Artfight attack by gemhue"],["Cyan_moo_Artfight.png","2020 Artfight attack by Cyan_moo"]])
@@ -161,11 +161,12 @@ def list_snippets(articles):
text = article2list(article, loc)
a.append(find_title(text))
a.append(prepare_article(text, path))
- a.append(find_timestamp(text))
+ a.append(find_timestamp(article))
a.append(find_url(path))
a.append(find_social_title(text))
a.append(find_tags(text))
result.append(a)
+ print(result)
return result
# List latest 5 articles as headline links
@@ -215,13 +216,13 @@ def find_content(text):
pos = 0
for line in text:
# skip to line 5
- if pos > 4 and pos < length:
+ if pos > 3 and pos < length:
content += line
pos += 1
return content
def find_tags(text):
- new = text[3].replace('
','')
+ new = text[2].replace('
','')
new = new.replace('\n','')
new = new.split(" ")
final = []
@@ -242,8 +243,10 @@ def find_url(path):
return '/' + path.replace('.tpl','')
# Return clean timestamp
-def find_timestamp(text):
- return text[2].replace('
','')
+def find_timestamp(page):
+ date = str(page)
+ #timestamp is based off file name. Leading zeroes are removed from day; year assumes 21th century.
+ return datetime.datetime.strptime(str(page)[2:4], "%m").strftime("%B").lower() + " " + re.sub("^0+(?!$)", "", (date)[4:]) + ", 20" + (date)[:2]
# Return clean title
def find_title(text):
@@ -305,7 +308,7 @@ def prepare_diary_entry(page, loc):
text = article2list(str(page), loc)
result.append(find_title(text))
result.append(retrieve_diary_entry_content(page, loc))
- result.append(find_timestamp(text))
+ result.append(find_timestamp(page))
result.append(find_url(loc + str(page)))
result.append(find_social_title(text))
result.append(find_tags(text))
@@ -432,10 +435,7 @@ def about():
@route('/art')
def art():
"""art"""
- info = {'css': 'me', 'title': 'art gallery', 'year': find_year(),
- 'pixelart': ["Abbey_EmmArrGus_BrodyChar.png","Aisu+Luna_pix.png","artfight_blessfrey_Tessa.png","chimchooree_moonelf_twitter.png","chimchooree_silke_12colors.png","boss.png","gamecharacter.png","chimchooree_Airi.gif","customsofficer.png"],
- 'digital': ["WISE.png","ringoffire.jpeg"],
- 'fanart': ["trineaRemake.png","persona3demake.png","kamaAD1.gif"]}
+ info = {'css': 'art', 'title': 'blessfrey art gallery', 'year': find_year()}
return template('art.tpl', info)
# OC Page
@@ -462,12 +462,12 @@ def credits():
info = {'css': 'doc', 'title': 'blessfrey credits', 'year': find_year()}
return template('credits.tpl', info)
-# Blessfrey Demo Page
-@route('/demo')
-def demo():
- """demo"""
- info = {'css': 'demo', 'title': 'blessfrey demo', 'year': find_year()}
- return template('demo.tpl', info)
+# Blessfrey Games Page
+@route('/games')
+def games():
+ """games"""
+ info = {'css': 'games', 'title': 'blessfrey games', 'year': find_year()}
+ return template('games.tpl', info)
# Diary Page
@route('/')
@@ -589,21 +589,39 @@ def loc(page):
# return template(os.path.join(abs_views_path,'char.tpl'), info)
# Me Page
-@route('/dev')
+@route('/about-me')
def me():
"""me"""
info = {'css': 'me', 'title': 'about chimchooree (that\'s me)', 'year': find_year()}
return template('me.tpl', info)
+# Feature Requirements
+@route('/milestones')
+def milestones():
+ """feature requirements"""
+ info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()}
+ return template('milestones.tpl', info)
# Blessfrey - Feature Requirements Page
@route('/blessfrey-milestones')
def milestones():
- return milestones()
-@route('/milestones')
+ info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()}
+ return template('milestones-bf.tpl', info)
+# Lemonland - Feature Requirements Page
+@route('/lemonland-milestones')
+def milestones():
+ info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()}
+ return template('milestones-ll.tpl', info)
+# Blue Planet - Feature Requirements Page
+@route('/blueplanet-milestones')
+def milestones():
+ info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()}
+ return template('milestones-bp.tpl', info)
+# LazyWiki - Feature Requirements Page
+@route('/lazywiki-milestones')
def milestones():
"""feature requirements"""
info = {'css': 'doc', 'title': 'blessfrey milestones', 'year': find_year()}
- return template('milestones.tpl', info)
+ return template('milestones-lw.tpl', info)
# Planner Page
@route('/planner')
@@ -656,6 +674,13 @@ def setting():
info = {'css': 'doc', 'title': 'blessfrey gdd - setting', 'year': find_year()}
return template('setting.tpl', info)
+# Blessfrey Wiki Page
+@route('/study')
+def study():
+ """study"""
+ info = {'css': 'games', 'title': 'blessfrey wiki', 'year': find_year()}
+ return template('study.tpl', info)
+
# Search Diary by Tag
@route('/diary/tag/') # Start on first Diary tag page if no page given
def tag2(tagin):
diff --git a/src/static/css/all.css b/src/static/css/all.css
index 1dd5b73..202c381 100755
--- a/src/static/css/all.css
+++ b/src/static/css/all.css
@@ -35,10 +35,10 @@
html, body {padding:0; margin:0; height:100%;}
footer {
position: fixed; bottom: 0; left: 0;
- color: #C0AAC0;
background-color: transparent;
width: 100vw;
}
+
a, a:link, a:visited, a:hover, a:active, b, p {
text-decoration: none;
background-color: transparent;
diff --git a/src/static/css/art.css b/src/static/css/art.css
new file mode 100644
index 0000000..97d200c
--- /dev/null
+++ b/src/static/css/art.css
@@ -0,0 +1,40 @@
+.content-grid {
+ color: white;
+ margin: 2em;
+}
+
+.gallery {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, 200px);
+ grid-column-gap: 0px;
+ grid-row-gap: 0px;
+ border: 2px solid #C0AAC0;
+ margin-bottom: 5em;
+}
+
+.gallery img {
+ height: 200px;
+ width: 200px;
+ border-radius: 5%;
+}
+
+.galitem {
+ position: relative;
+ height: 200px;
+ width: 200px;
+}
+
+.subtitle {
+ color: white;
+ width: 200px;
+ position: absolute;
+ background: rgba(0,0,0,0.7);
+ text-align: center;
+ overflow: hidden;
+ bottom: 0em;
+}
+
+.cats {
+ display: block;
+ text-align: center;
+}
diff --git a/src/static/css/demo.css b/src/static/css/demo.css
deleted file mode 100755
index ca366b3..0000000
--- a/src/static/css/demo.css
+++ /dev/null
@@ -1,27 +0,0 @@
-.content-grid {
- display: grid;
- grid-template-columns: 1fr;
- grid-template-rows: repeat(3, auto);
- grid-column-gap: 0px;
- grid-row-gap: 0em;
- color: white;
-}
-
-.edition {
- grid-area: 1 / 1 / 2 / 2;
- }
-
-.demo { grid-area: 2 / 1 / 3 / 2; }
-
-.demo iframe {
- border: 2px solid #df85a5;
- padding: 10px;
- display: block;
- margin: auto;
-}
-.guide {
- grid-area: 3 / 1 / 4 / 2;
- width: 80%;
- padding: 2em;
- margin: auto;
-}
diff --git a/src/static/css/diary.css b/src/static/css/diary.css
index 3c2e96e..6d3042c 100755
--- a/src/static/css/diary.css
+++ b/src/static/css/diary.css
@@ -58,6 +58,7 @@
.diary-dir-numbers {
height: 0em;
display: inline-block;
+ vertical-align: middle;
white-space: nowrap;
margin-left: .3em;
margin-right: .3em;
@@ -65,6 +66,7 @@
.diary-dir-number {
background-color: #886488;
display: inline-block;
+ vertical-align: middle;
white-space: nowrap;
border-radius: .3em;
padding-left: .3em;
diff --git a/src/static/css/games.css b/src/static/css/games.css
new file mode 100755
index 0000000..88a67ce
--- /dev/null
+++ b/src/static/css/games.css
@@ -0,0 +1,11 @@
+.content-grid {
+ color: white;
+}
+
+
+iframe {
+ border: 2px solid #df85a5;
+ padding: 10px;
+ display: block;
+ margin: auto;
+}
diff --git a/src/static/css/nav.css b/src/static/css/nav.css
index dee5471..5476f17 100644
--- a/src/static/css/nav.css
+++ b/src/static/css/nav.css
@@ -1,112 +1,22 @@
-/*set heart and star to 0px if viewport too small*/
-
-@media (max-width: 625px) {
- .heart {
- width: auto;
- }
-}
-.heart {
- grid-area: 1 / 1 / 2 / 2;
- background-color: transparent;
- background-image: url(../img/nav/heart.png);
- background-repeat: no-repeat;
- background-position: bottom right;
- background-size: contain;
-}
-.nav-grid {
- grid-area: 1 / 2 / 2 / 3;
- background-color: transparent;
- background-image: url(../img/nav/field.png);
- background-repeat: no-repeat;
- background-position: bottom center;
- background-size: contain;
- display: grid;
- grid-template-columns: auto;
- grid-template-rows: repeat(4, auto);
- /*grid-template-columns: minmax(0%,10%) repeat(6, minmax(7ch,96px)) minmax(0%,10%);*/
- grid-column-gap: 0px;
- grid-row-gap: 0px;
- align-items: center;
-}
-.star {
- grid-area: 1 / 3 / 2 / 4;
- background-color: transparent;
- background-image: url(../img/nav/star.png);
- background-repeat: no-repeat;
- background-position: bottom left;
- background-size: contain;
-}
-
-.nav-diary {
- grid-area: 1 / 1 / 2 / 2;
- display: grid;
- grid-template-columns: 100%;
- grid-template-rows: 80% 20%;
- grid-column-gap: 0px;
- grid-row-gap: 0px;
- flex-direction: column;
- min-width: 48px;
-}
-.nav-play {
- grid-area: 1 / 2 / 2 / 3;
- display: grid;
- grid-template-columns: 100%;
- grid-template-rows: 80% 20%;
- grid-column-gap: 0px;
- grid-row-gap: 0px;
- flex-direction: column;
- min-width: 48px;
-}
-.nav-about {
- grid-area: 1 / 3 / 2 / 4;
- display: grid;
- grid-template-columns: 100%;
- grid-template-rows: 80% 20%;
- grid-column-gap: 0px;
- grid-row-gap: 0px;
- flex-direction: column;
- min-width: 48px;
-}
-.nav-dev {
- grid-area: 1 / 4 / 2 / 5;
- display: grid;
- grid-template-columns: 100%;
- grid-template-rows: 80% 20%;
- grid-column-gap: 0px;
- grid-row-gap: 0px;
- flex-direction: column;
- min-width: 48px;
-}
-.navlink {
- font-size: 110%;
- font-weight: bold;
+footer {
color: #C0AAC0;
+ background-color: #404164;
+ width: 100vw;
text-align: center;
+ padding-top: 0.5em;
+ padding-bottom: 1em;
}
-.navlink a:link {
+footer a:link {
color: #C0AAC0;
}
-.navlink a:visited {
+footer a:visited {
color: #C0AAC0;
}
-.navlink a:hover {
+footer a:hover {
color: #E1B9E6;
+ font-family: 'mitochondriaregular', sans-serif;
}
-.navlink a:active {
+footer a:active {
color: #C0AAC0;
+ font-family: 'mitochondriaregular', sans-serif;
}
-.nav-grid img {
- height: auto;
- width: 100%;
-}
-.links {
- grid-area: 2 / 1 / 3 / 2;
- background-color: black;
- width: 100vw;
- text-align: center;
- padding-top: 0.5em;
- padding-bottom: 1em;
-}
-.links a {
- color: #C0AAC0;
-}
diff --git a/src/static/css/sidebar.css b/src/static/css/sidebar.css
index 0704f47..83a7273 100644
--- a/src/static/css/sidebar.css
+++ b/src/static/css/sidebar.css
@@ -39,21 +39,20 @@
.about-box {
grid-area: 1 / 1 / 2 / 2;
}
- .twitter-box {
+ .social-box {
grid-area: 2 / 1 / 3 / 2;
}
.latest {
grid-area: 3 / 1 / 4 / 2;
}
- .latest-text {
- text-align: left;
- padding: 0em;
- background-color: #A88AA8;
- }
.wordcloud {
grid-area: 4 / 1 / 5 / 2;
}
.disclosure {
grid-area: 5 / 1 / 6 / 2;
}
-
+ .diary-box ul {
+ text-align: left;
+ padding: 0em;
+ background-color: #A88AA8;
+ }
diff --git a/src/static/img/art/07-02.png b/src/static/img/art/07-02.png
new file mode 100755
index 0000000..d8ce7ad
Binary files /dev/null and b/src/static/img/art/07-02.png differ
diff --git a/src/static/img/art/07-02thumb.png b/src/static/img/art/07-02thumb.png
new file mode 100644
index 0000000..94bdf78
Binary files /dev/null and b/src/static/img/art/07-02thumb.png differ
diff --git a/src/static/img/art/AisuLuna_pix.png b/src/static/img/art/AisuLuna_pix.png
new file mode 100755
index 0000000..8b5ada7
Binary files /dev/null and b/src/static/img/art/AisuLuna_pix.png differ
diff --git a/src/static/img/art/AisuLuna_pix_bigger.png b/src/static/img/art/AisuLuna_pix_bigger.png
new file mode 100755
index 0000000..a2d8226
Binary files /dev/null and b/src/static/img/art/AisuLuna_pix_bigger.png differ
diff --git a/src/static/img/art/AisuLuna_pix_biggerthumb.png b/src/static/img/art/AisuLuna_pix_biggerthumb.png
new file mode 100644
index 0000000..0b2e3d1
Binary files /dev/null and b/src/static/img/art/AisuLuna_pix_biggerthumb.png differ
diff --git a/src/static/img/art/AisuLuna_pixthumb.png b/src/static/img/art/AisuLuna_pixthumb.png
new file mode 100644
index 0000000..0b2e3d1
Binary files /dev/null and b/src/static/img/art/AisuLuna_pixthumb.png differ
diff --git a/src/static/img/art/AnimeEnding.png b/src/static/img/art/AnimeEnding.png
new file mode 100755
index 0000000..0ad552c
Binary files /dev/null and b/src/static/img/art/AnimeEnding.png differ
diff --git a/src/static/img/art/AnimeEndingthumb.png b/src/static/img/art/AnimeEndingthumb.png
new file mode 100644
index 0000000..1b467c4
Binary files /dev/null and b/src/static/img/art/AnimeEndingthumb.png differ
diff --git a/src/static/img/art/BrodyChar.png b/src/static/img/art/BrodyChar.png
new file mode 100755
index 0000000..6644916
Binary files /dev/null and b/src/static/img/art/BrodyChar.png differ
diff --git a/src/static/img/art/BrodyChar_big.png b/src/static/img/art/BrodyChar_big.png
new file mode 100755
index 0000000..63cd693
Binary files /dev/null and b/src/static/img/art/BrodyChar_big.png differ
diff --git a/src/static/img/art/BrodyChar_bigthumb.png b/src/static/img/art/BrodyChar_bigthumb.png
new file mode 100644
index 0000000..d13a5d4
Binary files /dev/null and b/src/static/img/art/BrodyChar_bigthumb.png differ
diff --git a/src/static/img/art/BrodyCharthumb.png b/src/static/img/art/BrodyCharthumb.png
new file mode 100644
index 0000000..d13a5d4
Binary files /dev/null and b/src/static/img/art/BrodyCharthumb.png differ
diff --git a/src/static/img/art/Jan13.png b/src/static/img/art/Jan13.png
new file mode 100755
index 0000000..da49957
Binary files /dev/null and b/src/static/img/art/Jan13.png differ
diff --git a/src/static/img/art/Jan13thumb.png b/src/static/img/art/Jan13thumb.png
new file mode 100644
index 0000000..89ffa7d
Binary files /dev/null and b/src/static/img/art/Jan13thumb.png differ
diff --git a/src/static/img/art/JoAnn.jpg b/src/static/img/art/JoAnn.jpg
new file mode 100755
index 0000000..3797565
Binary files /dev/null and b/src/static/img/art/JoAnn.jpg differ
diff --git a/src/static/img/art/JoAnnthumb.jpg b/src/static/img/art/JoAnnthumb.jpg
new file mode 100644
index 0000000..c3d536a
Binary files /dev/null and b/src/static/img/art/JoAnnthumb.jpg differ
diff --git a/src/static/img/art/RingOfFire.jpg b/src/static/img/art/RingOfFire.jpg
new file mode 100644
index 0000000..10fec9a
Binary files /dev/null and b/src/static/img/art/RingOfFire.jpg differ
diff --git a/src/static/img/art/RingOfFirethumb.jpg b/src/static/img/art/RingOfFirethumb.jpg
new file mode 100644
index 0000000..4a16c93
Binary files /dev/null and b/src/static/img/art/RingOfFirethumb.jpg differ
diff --git a/src/static/img/art/Rune_bank.png b/src/static/img/art/Rune_bank.png
new file mode 100755
index 0000000..8af352f
Binary files /dev/null and b/src/static/img/art/Rune_bank.png differ
diff --git a/src/static/img/art/Rune_bankthumb.png b/src/static/img/art/Rune_bankthumb.png
new file mode 100644
index 0000000..9e61d0a
Binary files /dev/null and b/src/static/img/art/Rune_bankthumb.png differ
diff --git a/src/static/img/art/ScreenShot128.bmp b/src/static/img/art/ScreenShot128.bmp
new file mode 100755
index 0000000..033df39
Binary files /dev/null and b/src/static/img/art/ScreenShot128.bmp differ
diff --git a/src/static/img/art/ScreenShot128thumb.bmp b/src/static/img/art/ScreenShot128thumb.bmp
new file mode 100644
index 0000000..e54f9c0
Binary files /dev/null and b/src/static/img/art/ScreenShot128thumb.bmp differ
diff --git a/src/static/img/art/ScreenShot131.bmp b/src/static/img/art/ScreenShot131.bmp
new file mode 100755
index 0000000..729b944
Binary files /dev/null and b/src/static/img/art/ScreenShot131.bmp differ
diff --git a/src/static/img/art/ScreenShot131thumb.bmp b/src/static/img/art/ScreenShot131thumb.bmp
new file mode 100644
index 0000000..d6736a1
Binary files /dev/null and b/src/static/img/art/ScreenShot131thumb.bmp differ
diff --git a/src/static/img/art/ScreenShot43.bmp b/src/static/img/art/ScreenShot43.bmp
new file mode 100755
index 0000000..d431c28
Binary files /dev/null and b/src/static/img/art/ScreenShot43.bmp differ
diff --git a/src/static/img/art/ScreenShot43thumb.bmp b/src/static/img/art/ScreenShot43thumb.bmp
new file mode 100644
index 0000000..9f6b7b1
Binary files /dev/null and b/src/static/img/art/ScreenShot43thumb.bmp differ
diff --git a/src/static/img/art/ScreenShot46.bmp b/src/static/img/art/ScreenShot46.bmp
new file mode 100755
index 0000000..cc33d07
Binary files /dev/null and b/src/static/img/art/ScreenShot46.bmp differ
diff --git a/src/static/img/art/ScreenShot46thumb.bmp b/src/static/img/art/ScreenShot46thumb.bmp
new file mode 100644
index 0000000..43e78ed
Binary files /dev/null and b/src/static/img/art/ScreenShot46thumb.bmp differ
diff --git a/src/static/img/art/ScreenShot9.bmp b/src/static/img/art/ScreenShot9.bmp
new file mode 100755
index 0000000..fadc874
Binary files /dev/null and b/src/static/img/art/ScreenShot9.bmp differ
diff --git a/src/static/img/art/ScreenShot91.bmp b/src/static/img/art/ScreenShot91.bmp
new file mode 100755
index 0000000..668f0aa
Binary files /dev/null and b/src/static/img/art/ScreenShot91.bmp differ
diff --git a/src/static/img/art/ScreenShot91thumb.bmp b/src/static/img/art/ScreenShot91thumb.bmp
new file mode 100644
index 0000000..51b9ebd
Binary files /dev/null and b/src/static/img/art/ScreenShot91thumb.bmp differ
diff --git a/src/static/img/art/ScreenShot9thumb.bmp b/src/static/img/art/ScreenShot9thumb.bmp
new file mode 100644
index 0000000..e8fc5b0
Binary files /dev/null and b/src/static/img/art/ScreenShot9thumb.bmp differ
diff --git a/src/static/img/art/Silke.png b/src/static/img/art/Silke.png
new file mode 100644
index 0000000..2be8ffc
Binary files /dev/null and b/src/static/img/art/Silke.png differ
diff --git a/src/static/img/art/Silke_png.png b/src/static/img/art/Silke_png.png
new file mode 100755
index 0000000..4f3a671
Binary files /dev/null and b/src/static/img/art/Silke_png.png differ
diff --git a/src/static/img/art/Silke_pngthumb.png b/src/static/img/art/Silke_pngthumb.png
new file mode 100644
index 0000000..c7231da
Binary files /dev/null and b/src/static/img/art/Silke_pngthumb.png differ
diff --git a/src/static/img/art/Silkethumb.png b/src/static/img/art/Silkethumb.png
new file mode 100644
index 0000000..8249d49
Binary files /dev/null and b/src/static/img/art/Silkethumb.png differ
diff --git a/src/static/img/art/Sunset.bmp b/src/static/img/art/Sunset.bmp
new file mode 100755
index 0000000..9bfa348
Binary files /dev/null and b/src/static/img/art/Sunset.bmp differ
diff --git a/src/static/img/art/Sunsetthumb.bmp b/src/static/img/art/Sunsetthumb.bmp
new file mode 100644
index 0000000..33add6c
Binary files /dev/null and b/src/static/img/art/Sunsetthumb.bmp differ
diff --git a/src/static/img/art/TavernMeal.png b/src/static/img/art/TavernMeal.png
new file mode 100755
index 0000000..e5a4a44
Binary files /dev/null and b/src/static/img/art/TavernMeal.png differ
diff --git a/src/static/img/art/TavernMealthumb.png b/src/static/img/art/TavernMealthumb.png
new file mode 100644
index 0000000..de32d31
Binary files /dev/null and b/src/static/img/art/TavernMealthumb.png differ
diff --git a/src/static/img/art/Tessa.png b/src/static/img/art/Tessa.png
new file mode 100644
index 0000000..a46f7e5
Binary files /dev/null and b/src/static/img/art/Tessa.png differ
diff --git a/src/static/img/art/Tessathumb.png b/src/static/img/art/Tessathumb.png
new file mode 100644
index 0000000..9348505
Binary files /dev/null and b/src/static/img/art/Tessathumb.png differ
diff --git a/src/static/img/art/WISE.png b/src/static/img/art/WISE.png
new file mode 100755
index 0000000..5e68029
Binary files /dev/null and b/src/static/img/art/WISE.png differ
diff --git a/src/static/img/art/WISEthumb.png b/src/static/img/art/WISEthumb.png
new file mode 100644
index 0000000..191fa4a
Binary files /dev/null and b/src/static/img/art/WISEthumb.png differ
diff --git a/src/static/img/art/Wyrm.jpg b/src/static/img/art/Wyrm.jpg
new file mode 100755
index 0000000..668e0f1
Binary files /dev/null and b/src/static/img/art/Wyrm.jpg differ
diff --git a/src/static/img/art/Wyrmthumb.jpg b/src/static/img/art/Wyrmthumb.jpg
new file mode 100644
index 0000000..f39f1c9
Binary files /dev/null and b/src/static/img/art/Wyrmthumb.jpg differ
diff --git a/src/static/img/art/boardwalk.jpg b/src/static/img/art/boardwalk.jpg
new file mode 100755
index 0000000..348827f
Binary files /dev/null and b/src/static/img/art/boardwalk.jpg differ
diff --git a/src/static/img/art/boardwalk.jpg~ b/src/static/img/art/boardwalk.jpg~
new file mode 100755
index 0000000..65a67e9
Binary files /dev/null and b/src/static/img/art/boardwalk.jpg~ differ
diff --git a/src/static/img/art/boardwalkthumb.jpg b/src/static/img/art/boardwalkthumb.jpg
new file mode 100644
index 0000000..69c781b
Binary files /dev/null and b/src/static/img/art/boardwalkthumb.jpg differ
diff --git a/src/static/img/art/boss.png b/src/static/img/art/boss.png
new file mode 100755
index 0000000..1c757c7
Binary files /dev/null and b/src/static/img/art/boss.png differ
diff --git a/src/static/img/art/boss_bigger.png b/src/static/img/art/boss_bigger.png
new file mode 100755
index 0000000..9d91bd9
Binary files /dev/null and b/src/static/img/art/boss_bigger.png differ
diff --git a/src/static/img/art/boss_biggerthumb.png b/src/static/img/art/boss_biggerthumb.png
new file mode 100644
index 0000000..acb6dbe
Binary files /dev/null and b/src/static/img/art/boss_biggerthumb.png differ
diff --git a/src/static/img/art/bossthumb.png b/src/static/img/art/bossthumb.png
new file mode 100644
index 0000000..acb6dbe
Binary files /dev/null and b/src/static/img/art/bossthumb.png differ
diff --git a/src/static/img/art/chimchooree_LittleAiri.gif b/src/static/img/art/chimchooree_LittleAiri.gif
new file mode 100755
index 0000000..0dfd7bf
Binary files /dev/null and b/src/static/img/art/chimchooree_LittleAiri.gif differ
diff --git a/src/static/img/art/chimchooree_LittleAirithumb.gif b/src/static/img/art/chimchooree_LittleAirithumb.gif
new file mode 100644
index 0000000..f634ae6
Binary files /dev/null and b/src/static/img/art/chimchooree_LittleAirithumb.gif differ
diff --git a/src/static/img/art/chimchooree_moonelf.png b/src/static/img/art/chimchooree_moonelf.png
new file mode 100644
index 0000000..c4caf97
Binary files /dev/null and b/src/static/img/art/chimchooree_moonelf.png differ
diff --git a/src/static/img/art/chimchooree_moonelfthumb.png b/src/static/img/art/chimchooree_moonelfthumb.png
new file mode 100644
index 0000000..3b17b6e
Binary files /dev/null and b/src/static/img/art/chimchooree_moonelfthumb.png differ
diff --git a/src/static/img/art/customsofficer.png b/src/static/img/art/customsofficer.png
new file mode 100755
index 0000000..be8fba2
Binary files /dev/null and b/src/static/img/art/customsofficer.png differ
diff --git a/src/static/img/art/customsofficerthumb.png b/src/static/img/art/customsofficerthumb.png
new file mode 100644
index 0000000..690037f
Binary files /dev/null and b/src/static/img/art/customsofficerthumb.png differ
diff --git a/src/static/img/art/demake.png b/src/static/img/art/demake.png
new file mode 100755
index 0000000..9e9254d
Binary files /dev/null and b/src/static/img/art/demake.png differ
diff --git a/src/static/img/art/demakethumb.png b/src/static/img/art/demakethumb.png
new file mode 100644
index 0000000..e3123af
Binary files /dev/null and b/src/static/img/art/demakethumb.png differ
diff --git a/src/static/img/art/enemycat.png b/src/static/img/art/enemycat.png
new file mode 100755
index 0000000..cc1848a
Binary files /dev/null and b/src/static/img/art/enemycat.png differ
diff --git a/src/static/img/art/enemycat_dead.png b/src/static/img/art/enemycat_dead.png
new file mode 100755
index 0000000..5c8ab41
Binary files /dev/null and b/src/static/img/art/enemycat_dead.png differ
diff --git a/src/static/img/art/flats.jpg b/src/static/img/art/flats.jpg
new file mode 100755
index 0000000..4fd4343
Binary files /dev/null and b/src/static/img/art/flats.jpg differ
diff --git a/src/static/img/art/flatsthumb.jpg b/src/static/img/art/flatsthumb.jpg
new file mode 100644
index 0000000..5329c89
Binary files /dev/null and b/src/static/img/art/flatsthumb.jpg differ
diff --git a/src/static/img/art/kamaAD1.gif b/src/static/img/art/kamaAD1.gif
new file mode 100755
index 0000000..8ffcd61
Binary files /dev/null and b/src/static/img/art/kamaAD1.gif differ
diff --git a/src/static/img/art/kamaAD1thumb.gif b/src/static/img/art/kamaAD1thumb.gif
new file mode 100644
index 0000000..74fbedf
Binary files /dev/null and b/src/static/img/art/kamaAD1thumb.gif differ
diff --git a/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockup.png b/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockup.png
new file mode 100755
index 0000000..91d421e
Binary files /dev/null and b/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockup.png differ
diff --git a/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockupthumb.png b/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockupthumb.png
new file mode 100644
index 0000000..725bbe8
Binary files /dev/null and b/src/static/img/art/lilchimchooree_chimchooree_dungeongirls_mockupthumb.png differ
diff --git a/src/static/img/art/lya_marker.png b/src/static/img/art/lya_marker.png
new file mode 100755
index 0000000..d0a719a
Binary files /dev/null and b/src/static/img/art/lya_marker.png differ
diff --git a/src/static/img/art/lya_markerthumb.png b/src/static/img/art/lya_markerthumb.png
new file mode 100644
index 0000000..cc53e39
Binary files /dev/null and b/src/static/img/art/lya_markerthumb.png differ
diff --git a/src/static/img/art/magesstaff.png b/src/static/img/art/magesstaff.png
new file mode 100755
index 0000000..3cee73c
Binary files /dev/null and b/src/static/img/art/magesstaff.png differ
diff --git a/src/static/img/art/magesstaffthumb.png b/src/static/img/art/magesstaffthumb.png
new file mode 100644
index 0000000..1b8c5d5
Binary files /dev/null and b/src/static/img/art/magesstaffthumb.png differ
diff --git a/src/static/img/art/remake.png b/src/static/img/art/remake.png
new file mode 100755
index 0000000..a556caf
Binary files /dev/null and b/src/static/img/art/remake.png differ
diff --git a/src/static/img/art/remakethumb.png b/src/static/img/art/remakethumb.png
new file mode 100644
index 0000000..cbbe981
Binary files /dev/null and b/src/static/img/art/remakethumb.png differ
diff --git a/src/static/img/art/slimes.png b/src/static/img/art/slimes.png
new file mode 100755
index 0000000..bbcc1b1
Binary files /dev/null and b/src/static/img/art/slimes.png differ
diff --git a/src/static/img/art/slimesthumb.png b/src/static/img/art/slimesthumb.png
new file mode 100644
index 0000000..c7370bd
Binary files /dev/null and b/src/static/img/art/slimesthumb.png differ
diff --git a/src/static/img/art/sophie.png b/src/static/img/art/sophie.png
new file mode 100644
index 0000000..15889c9
Binary files /dev/null and b/src/static/img/art/sophie.png differ
diff --git a/src/static/img/art/sophiethumb.png b/src/static/img/art/sophiethumb.png
new file mode 100644
index 0000000..07a063e
Binary files /dev/null and b/src/static/img/art/sophiethumb.png differ
diff --git a/src/static/img/art/stilllife.png b/src/static/img/art/stilllife.png
new file mode 100644
index 0000000..aad36a3
Binary files /dev/null and b/src/static/img/art/stilllife.png differ
diff --git a/src/static/img/art/stilllifethumb.png b/src/static/img/art/stilllifethumb.png
new file mode 100644
index 0000000..de1b797
Binary files /dev/null and b/src/static/img/art/stilllifethumb.png differ
diff --git a/src/static/img/art/stoplight.png b/src/static/img/art/stoplight.png
new file mode 100644
index 0000000..0821f3f
Binary files /dev/null and b/src/static/img/art/stoplight.png differ
diff --git a/src/static/img/art/stoplightthumb.png b/src/static/img/art/stoplightthumb.png
new file mode 100644
index 0000000..1beb490
Binary files /dev/null and b/src/static/img/art/stoplightthumb.png differ
diff --git a/src/static/img/art/tvseries.png b/src/static/img/art/tvseries.png
new file mode 100755
index 0000000..85cc23d
Binary files /dev/null and b/src/static/img/art/tvseries.png differ
diff --git a/src/static/img/art/tvseriesthumb.png b/src/static/img/art/tvseriesthumb.png
new file mode 100644
index 0000000..5ce75a6
Binary files /dev/null and b/src/static/img/art/tvseriesthumb.png differ
diff --git a/src/static/img/art/unpaid.jpg b/src/static/img/art/unpaid.jpg
new file mode 100755
index 0000000..3c49dce
Binary files /dev/null and b/src/static/img/art/unpaid.jpg differ
diff --git a/src/static/img/art/unpaidthumb.jpg b/src/static/img/art/unpaidthumb.jpg
new file mode 100644
index 0000000..e59f345
Binary files /dev/null and b/src/static/img/art/unpaidthumb.jpg differ
diff --git a/src/static/img/art/wasplady.jpg b/src/static/img/art/wasplady.jpg
new file mode 100755
index 0000000..7085f9c
Binary files /dev/null and b/src/static/img/art/wasplady.jpg differ
diff --git a/src/static/img/art/waspladythumb.jpg b/src/static/img/art/waspladythumb.jpg
new file mode 100644
index 0000000..2cf4fa9
Binary files /dev/null and b/src/static/img/art/waspladythumb.jpg differ
diff --git a/src/static/img/art/wwww.jpg b/src/static/img/art/wwww.jpg
new file mode 100755
index 0000000..e2c2bb0
Binary files /dev/null and b/src/static/img/art/wwww.jpg differ
diff --git a/src/static/img/art/wwwwthumb.jpg b/src/static/img/art/wwwwthumb.jpg
new file mode 100644
index 0000000..0191c5a
Binary files /dev/null and b/src/static/img/art/wwwwthumb.jpg differ
diff --git a/src/static/img/char/Silke/Silke_png.png b/src/static/img/char/Silke/Silke_png.png
new file mode 100755
index 0000000..4f3a671
Binary files /dev/null and b/src/static/img/char/Silke/Silke_png.png differ
diff --git a/src/static/img/char/Silke/Silke_pngthumb.png b/src/static/img/char/Silke/Silke_pngthumb.png
new file mode 100644
index 0000000..c7231da
Binary files /dev/null and b/src/static/img/char/Silke/Silke_pngthumb.png differ
diff --git a/src/static/img/ent/oldblessfrey_navbar.png b/src/static/img/ent/oldblessfrey_navbar.png
new file mode 100644
index 0000000..aa59619
Binary files /dev/null and b/src/static/img/ent/oldblessfrey_navbar.png differ
diff --git a/src/views/art.tpl b/src/views/art.tpl
new file mode 100644
index 0000000..5ba0e4f
--- /dev/null
+++ b/src/views/art.tpl
@@ -0,0 +1,218 @@
+% rebase('frame.tpl')
+
+
blessfrey art
+
I should draw more often.
+
+
+
+
+
blessfrey
+
Typical "high school kids and a Canaanite giant go on an adventure and save the world" story.
+
+ <%
+ gallery = [
+ ["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],
+ ["Tessa.png","Tessa in athleisure"],
+ ["WISE.png","WISE, a lost Canaanite virtual assistant."],
+ ["Rune_bank.png","Learning about American culture with Rune"],
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
petsites
+
My weakness. My favorite ever was Verpets, but I've played about 20 of them.
+
+ <%
+ gallery = [
+ ["stilllife.png","emulating the cover of BigBang's Still Life with my FlightRising lore dragons"],
+ ["Silke.png","Imitating Yuu Watase's art style."],
+ ["Silke_png.png","Her face is stuck like that."]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
art games, hashtags
+
Attack me on ArtFight! I should get back into Mermay and OutfitAugust again, too.
+
+ <%
+ gallery = [
+ ["BrodyChar.png","Art Fight 2023, Team Bloom: EmmArrGus's Char + Brody"],
+ ["BrodyChar_big.png","larger view"],
+ ["AisuLuna_pix.png","Art Fight 2023, Team Bloom: Skye_0723's Aisu + Luna"],
+ ["AisuLuna_pix_bigger.png","larger view"]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
fanart
+
+ <%
+ gallery = [
+ ["RingOfFire.jpg","My Guild Wars main at end-game Proph"],
+ ["chimchooree_moonelf.png","A Dungeons & Dragons moon elf (my NWN2 main to be exact)"],
+ ["kamaAD1.gif","Kama AD1 for #octobit"],
+ ["sophie.png","Atelier Sophie for #octobit"],
+ ["tvseries.png","Code Lyoko's Sissi for #octobit"]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
screenshots
+
Modded Oblivion.
+
+ <%
+ gallery = [
+ ["magesstaff.png","That quest where necromancers chase you over a cliff repeatedly until they die from fall damage."],
+ ["ScreenShot9.bmp","Finally found the giant crab dungeon."],
+ ["ScreenShot46.bmp","The fancy hotel in Skingrad with SomeWelshGuy's Immersive Interiors clear windows mod."],
+ ["ScreenShot128.bmp","That player home mod that clips with the skybox."],
+ ["ScreenShot131.bmp","I found this unicorn during the last ever E3."],
+ ["Sunset.bmp","Martin and Thyme in their hoodies, jeans, and Converse."]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
make-believe mockups
+
These games don't exist, but I'm still going to draw screenshots of them.
+
+ <%
+ gallery = [
+ ["boss.png","A Gameboy game with Bad Cat and the Customs Officer"],
+ ["boss_bigger.png","Larger view"],
+ ["demake.png","A Persona 3 demake for Gameboy"],
+ ["chimchooree_LittleAiri.gif","Tiny VN."],
+ ["remake.png","A remake of SNES Trinea for Gameboy"]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
screenshots of my games
+
These games did exist at some point. Maybe I'll release them eventually.
+
+ <%
+ gallery = [
+ ["Jan13.png","Dungeon Girls - Angel fighting Bad Cat"],
+ ["07-02.png","Dungeon Girls - outdoor mall"],
+ ["lilchimchooree_chimchooree_dungeongirls_mockup.png","Dungeon Girls - basically venting about coyotes."],
+ ["slimes.png","Blessfrey - Angel in the slime caves"],
+ ["stoplight.png","The Coroutines Game, playable on itch.io"],
+ ["customsofficer.png","Lemonland Immigration Office, almost entirely traced photos."]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
fashion
+
I've sewn since I was little.
+
+ <%
+ gallery = [
+ ["Wyrm.jpg","My senior prom dress, embroidered satin and crepe"],
+ ["wwww.jpg","Lyalira, my junior prom dress at a local runway event"],
+ ["lya_marker.png","Lyalira fashion illustration in Prismacolor & gel pen"],
+
+ ["boardwalk.jpg","Drafted and knit for a local art museum event then shown at a local runway"],
+ #["JoAnn.jpg","Swimsuit, designed, cut, and sewn in a few hours"],
+ ["wasplady.jpg","Fancy pajamas collection referencing fabric in my closet. I made a few pieces but gave them away."],
+ ["unpaid.jpg","Converting my pixelart to sequinart"],
+ ["flats.jpg","Flats for loungewear"]
+ ]
+ for g in gallery:
+ i = g[0].index('.')
+ thumb = g[0][:i] + 'thumb' + g[0][i:]
+ %>
+
+ % end
+
+
+
+
diff --git a/src/views/demo.tpl b/src/views/demo.tpl
deleted file mode 100644
index eec5f80..0000000
--- a/src/views/demo.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-% rebase('frame.tpl')
-
-
-
-
Poltics Cat lost his legs!! Push him around using WASD to find them. Eat any breakfasts you can find along the way!
-
-
(In case it isn't obvious, this is a crude maze constructed from the infamous 'godot heads'. Click the game to make it active then control kitty using W A S D or arrow keys to find all three breakfasts and his missing legs. His breakfast counter is in the top-right corner. After you win, you can continue to wander the maze aimlessly. Refresh the page to start over.)
-
-
diff --git a/src/views/diary-boxes.tpl b/src/views/diary-boxes.tpl
index 2271d12..f9b653a 100644
--- a/src/views/diary-boxes.tpl
+++ b/src/views/diary-boxes.tpl
@@ -3,22 +3,20 @@