From aaf925a076be92871df5bbebcd87c52571e042bd Mon Sep 17 00:00:00 2001 From: chimchooree Date: Fri, 29 Jul 2022 18:41:32 -0500 Subject: [PATCH] preparing content mix --- src/.~lock.articleplan.ods# | 1 + src/articleplan.ods | Bin 0 -> 22269 bytes src/articles | 50 ------------------------- src/diary/entries/220728 | 44 +++++++++++++++------- src/diary/{entries => hold}/200806 | 0 src/diary/{entries => hold}/200903 | 0 src/diary/{entries => hold}/200917 | 0 src/diary/{entries => hold}/201029 | 0 src/diary/{entries => hold}/201210 | 0 src/diary/{entries => hold}/201224 | 0 src/diary/{entries => hold}/210101 | 0 src/diary/{entries => hold}/210102 | 0 src/diary/{entries => hold}/210103 | 0 src/diary/{entries => hold}/210104 | 0 src/diary/{entries => hold}/210105 | 0 src/diary/{entries => hold}/210106 | 0 src/diary/{entries => hold}/210107 | 0 src/diary/{entries => hold}/210218 | 0 src/diary/{entries => hold}/210304 | 0 src/diary/{entries => hold}/210318 | 0 src/diary/{entries => hold}/210415 | 0 src/diary/{entries => hold}/210429 | 0 src/diary/{entries => hold}/210513 | 0 src/diary/{entries => hold}/210527 | 0 src/diary/{entries => hold}/210610 | 0 src/diary/{entries => hold}/210708 | 0 src/diary/{entries => hold}/220101 | 0 src/diary/{entries => hold}/220127 | 0 src/diary/{entries => hold}/220505 | 0 src/diary/hold/220728 | 39 +++++++++++++++++++ src/diary/{entries => hold}/220811 | 0 src/diary/{entries => hold}/220825 | 0 src/diary/{entries => hold}/220908 | 0 src/diary/{entries => hold}/220922 | 0 src/diary/{entries => hold}/221006 | 0 src/diary/{entries => hold}/221020 | 0 src/diary/{entries => hold}/oldwebsite | 0 src/diary/hold/{ => reject}/200820 | 0 src/diary/hold/{ => reject}/201112 | 0 src/diary/hold/{ => reject}/201126 | 0 src/diary/hold/{ => reject}/210121 | 0 src/diary/hold/{ => reject}/210204 | 0 src/diary/hold/{ => reject}/220114 | 0 src/diary/hold/{ => reject}/220120 | 0 src/diary/hold/{ => reject}/220324 | 0 src/index.py | 6 +-- 46 files changed, 73 insertions(+), 67 deletions(-) create mode 100644 src/.~lock.articleplan.ods# create mode 100644 src/articleplan.ods delete mode 100644 src/articles rename src/diary/{entries => hold}/200806 (100%) rename src/diary/{entries => hold}/200903 (100%) rename src/diary/{entries => hold}/200917 (100%) rename src/diary/{entries => hold}/201029 (100%) rename src/diary/{entries => hold}/201210 (100%) rename src/diary/{entries => hold}/201224 (100%) rename src/diary/{entries => hold}/210101 (100%) rename src/diary/{entries => hold}/210102 (100%) rename src/diary/{entries => hold}/210103 (100%) rename src/diary/{entries => hold}/210104 (100%) rename src/diary/{entries => hold}/210105 (100%) rename src/diary/{entries => hold}/210106 (100%) rename src/diary/{entries => hold}/210107 (100%) rename src/diary/{entries => hold}/210218 (100%) rename src/diary/{entries => hold}/210304 (100%) rename src/diary/{entries => hold}/210318 (100%) rename src/diary/{entries => hold}/210415 (100%) rename src/diary/{entries => hold}/210429 (100%) rename src/diary/{entries => hold}/210513 (100%) rename src/diary/{entries => hold}/210527 (100%) rename src/diary/{entries => hold}/210610 (100%) rename src/diary/{entries => hold}/210708 (100%) rename src/diary/{entries => hold}/220101 (100%) rename src/diary/{entries => hold}/220127 (100%) rename src/diary/{entries => hold}/220505 (100%) create mode 100644 src/diary/hold/220728 rename src/diary/{entries => hold}/220811 (100%) rename src/diary/{entries => hold}/220825 (100%) rename src/diary/{entries => hold}/220908 (100%) rename src/diary/{entries => hold}/220922 (100%) rename src/diary/{entries => hold}/221006 (100%) rename src/diary/{entries => hold}/221020 (100%) rename src/diary/{entries => hold}/oldwebsite (100%) rename src/diary/hold/{ => reject}/200820 (100%) rename src/diary/hold/{ => reject}/201112 (100%) rename src/diary/hold/{ => reject}/201126 (100%) rename src/diary/hold/{ => reject}/210121 (100%) rename src/diary/hold/{ => reject}/210204 (100%) rename src/diary/hold/{ => reject}/220114 (100%) rename src/diary/hold/{ => reject}/220120 (100%) rename src/diary/hold/{ => reject}/220324 (100%) diff --git a/src/.~lock.articleplan.ods# b/src/.~lock.articleplan.ods# new file mode 100644 index 0000000..f4e0135 --- /dev/null +++ b/src/.~lock.articleplan.ods# @@ -0,0 +1 @@ +,grid,grid-X570-I-AORUS-PRO-WIFI,29.07.2022 15:05,file:///home/grid/.config/libreoffice/4; \ No newline at end of file diff --git a/src/articleplan.ods b/src/articleplan.ods new file mode 100644 index 0000000000000000000000000000000000000000..4efef5713970ae1af9bc8b488e02206b1be307e5 GIT binary patch literal 22269 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 YI<2LOjdT7nva^@ +

everything's coming together: a new website

july 28, 2022
#webdev

-

Everything's coming together. I've been learning a lot and think I'm finally ready to start sharing my work.

+

Everything's coming together. I've been learning a lot, and I'm finally ready to share my work.

(screenshot: Blessfrey homepage)

-

up and up

-

I've had a mostly solid horizontal slice of Blessfrey ready for a while, and this cycle of system revamps is finally able to support the sophistication of content I want. When I finish this iteration of skill systems and AI, I will be ready to make a real demo release of Blessfrey!

+

new website, new me

+

Welcome to Blessfrey.me, my online portfolio and design blog! After using it privately (or at least as privately as anything can be online) to practice webdev and biweekly blogging for a year, this site is ready for visitors.


-

I don't know why it never occurred to me that I don't have to hold back my website waiting on that demo, though. Releasing and publishing is an important skill in itself. I threw together No-Legs the Cat in a few hours, exported it, hosted it on itch.io, and embedded what is currently the crown jewels of my website. Finally! I have a gamedev website with a playable game on it.

-(No-Legs the Cat screenshot: Poltics Cat finds a bowl of breakfast in the maze)
-

All this time, my website maintenance skills have been getting stronger. I have a years' worth of content as a buffer. My artist's block has dissipated for the first time in years, and I actually enjoy drawing concept art and character designs again. I've also spent a year trying different languages and frameworks and improving across the board. The website's already a night and day difference from old versions, and I finally feel comfortable with where it's at.
+

The last time I did any webdev was back when every website had custom HTML+CSS profiles, so I'm stunned by how far web technology has come along, both in terms of capability and ease of implementation. Man, I wish we had the CSS grid to lay out old petsite pages! I feel up to speed now, though. My confidence in maintaining and upgrading my website is solid. Same for writing articles. They're at a good length, level of organization, and readability. Writing for just yourself and writing for someone else are two completely different mindsets, you know?


-

changes

-

This is my website, so I might as well use it however I want. If I have a website, I shouldn't have to rely on anyone else for image hosting or digital content presentation. There's no reason for me to have to pull up my phone all the time to show people what I'm working on. Blessfrey.me can take care of all of that for me.

+

Of course, I'm not saying Blessfrey.me is great, I'm saying I'm not ashamed anymore. People with a harsh inner critic understand what a hurdle that is.


-

From now on, I'll post fashion content here. I used to have a separate online portfolio for it and tried a separate blog from that once, but I was always struggling to fit into standard formats. Giving myself a blank section of my general portfolio to structure however I want is freeing. Some fashion designers like Kenneth D. King don't even organize their ideas into seasonal collections. The industry as a whole is moving away from the rigid structure of in-person runway shows in lieu of directly meeting with the press, releasing lookbooks of fashion photography, and shooting short art films. Why shouldn't a fashion blogger re-evaluate her portfolio, too? Maybe I'll add a section for general art here, too, someday. Who knows?

+

I'm going to take this somewhat professionally (I mean, I'm no business suit avatar "no offers under 100k" person), so I have a release schedule and content mix and everything. I'll get back on social media, too. All that pandemic news was hard to look at, but I miss seeing other people's projects and meeting fellow devs. My Twitter is @lilchimchooree, and I'll get on Mastodon, too. Twitter is big, but it has so many problems.


-Maybe best practice is to stay laser-focused on a content niche, but I'm not an SEO zombie. I develop websites, games, programming projects, fashion projects, interior design projects, pixelart, writing, and more, and they all deserve some web real estate. Maybe later, I can work with clients through here, too, but that is a dream for the future. For now, I'm keeping everything Web 1.0. The security is so much easier that way.

+

So please bookmark and visit every other Thursday (US time) for new articles! Also, message me on social media. I don't mind chatting.

+
+

reassessing things

+

I never really had a plan for how to use this site and was generally copying other portfolios and blogs. Having your own website is really cool, though. Unless I'm somewhere else for a community, there's no reason for me to still be fussing with image hosting services or any kind of content management tool. My server, domain, and custom code should cover everything. It should be the easiest thing in the world to show people what I've been working on, too - just show them my website, duh.

+
+

So what should I do with my website? Whatever I want. It should be obvious, but the drive to copy others and meet standard expectations is so hard to break.

+
+

First, I'm going to have embedded HTML5 applications. I'm not waiting for Blessfrey's first demo to do that, either. I'm making gamejam projects, prototypes, anything interesting, and slapping them right on the website. After all, a gamedev website should have games!

+
+

Second, I'm going to share programming and fashion projects. I used to have a separate fashion portfolio and a few blogs, but I was always struggling to match the guidelines for online content. It's more freeing to give myself a blank section of my general portfolio and a tenth of the blog to fill however I want. Some fashion designers like Kenneth D. King don't even organize their ideas into seasonal collections. The industry as a whole is reconsidering rigid expectations, experimenting with replacing in-person runway shows with alternatives like direct meetings with the press, lookbooks of fashion photography, and short art films. Why shouldn't a fashion blogger re-evaluate her portfolio, too?

+
+

+

Best practice says to be an SEO zombie laser-focused on a niche, but that conflicts with my own needs. I develop websites, games, programming projects, fashion projects, interior design projects, pixelart, writing, and more, and people in my life ask to see them. I want to work for actual people, not an algorithm.

+
+

technical journey

+

Blessfrey.me's needs are fairly simple - some static pages and a blog page. Blogging platforms are overkill for my purposes, and all those unused features would bog down the website at best and contribute to security vulnerabilities at worst. So I write and maintain this site from scratch.

+
+

It's plain fun to write my own platform. Besides, it just makes sense for my programming portfolio to be something I programmed.

+
+

I always thought PHP developers were so cool as a kid, so Blessfrey.me was originally written in PHP. That didn't last long. I could compare pros and cons, but PHP was unenjoyable to maintain. Its documentation is crazy, though. Each page has a comment section with 19-year-old posts criticising the language. So bizarrely negative and old!

+
+

Now I use Bottle, a Python micro web-framework, its built-in template engine SimpleTemplate, and raw HTML and CSS. It's deployed using Docker. Anything's more fun if I get to use Python.


plans for the future

-

That isn't to say the website's perfect as it! It looks pretty wonky on mobile and tablets, and I've only been testing in Firefox and Chrome-based browsers. It's functional and has a decent amount of content, though, so I'd say it's a-okay to take out of maintenance mode for now.

+

The website has plenty of room for improvement. It looks pretty wonky on mobile and tablets, and I've only been testing in Firefox and Chrome-based browsers. It's functional and has a decent amount of content, though, so I'd say it's a-okay to take out of maintenance mode for now.


-

Next I'm going to work with every resolution I can get my hands on and refactor my code a little. Also, I have a different vision for the formatting of most pages. The demo and fashion pages could definitely be broken into pieces. There should probably ultimately be a separate, permanent page for each HTML5 application. I also like having not just my Blessfrey characters but all my ocs here. It's like Toyhouse, but the price of custom CSS is already included in server costs. If nothing else, it'll be nice for when Artfight's sputtering.

+

Next I'm going to work with every resolution I can get my hands on and iron out the code. Each page is wordy and unstructured, but I'll rein them in soon. I'll also properly implement my character database, so I don't have to use clunky Toyhouse anymore.


let's appreciate what we have!

Don't go through the motions. If you have anything super cool like a website, don't just use it how you're "supposed" to use it. Put your stuff to work and have fun!

diff --git a/src/diary/entries/200806 b/src/diary/hold/200806 similarity index 100% rename from src/diary/entries/200806 rename to src/diary/hold/200806 diff --git a/src/diary/entries/200903 b/src/diary/hold/200903 similarity index 100% rename from src/diary/entries/200903 rename to src/diary/hold/200903 diff --git a/src/diary/entries/200917 b/src/diary/hold/200917 similarity index 100% rename from src/diary/entries/200917 rename to src/diary/hold/200917 diff --git a/src/diary/entries/201029 b/src/diary/hold/201029 similarity index 100% rename from src/diary/entries/201029 rename to src/diary/hold/201029 diff --git a/src/diary/entries/201210 b/src/diary/hold/201210 similarity index 100% rename from src/diary/entries/201210 rename to src/diary/hold/201210 diff --git a/src/diary/entries/201224 b/src/diary/hold/201224 similarity index 100% rename from src/diary/entries/201224 rename to src/diary/hold/201224 diff --git a/src/diary/entries/210101 b/src/diary/hold/210101 similarity index 100% rename from src/diary/entries/210101 rename to src/diary/hold/210101 diff --git a/src/diary/entries/210102 b/src/diary/hold/210102 similarity index 100% rename from src/diary/entries/210102 rename to src/diary/hold/210102 diff --git a/src/diary/entries/210103 b/src/diary/hold/210103 similarity index 100% rename from src/diary/entries/210103 rename to src/diary/hold/210103 diff --git a/src/diary/entries/210104 b/src/diary/hold/210104 similarity index 100% rename from src/diary/entries/210104 rename to src/diary/hold/210104 diff --git a/src/diary/entries/210105 b/src/diary/hold/210105 similarity index 100% rename from src/diary/entries/210105 rename to src/diary/hold/210105 diff --git a/src/diary/entries/210106 b/src/diary/hold/210106 similarity index 100% rename from src/diary/entries/210106 rename to src/diary/hold/210106 diff --git a/src/diary/entries/210107 b/src/diary/hold/210107 similarity index 100% rename from src/diary/entries/210107 rename to src/diary/hold/210107 diff --git a/src/diary/entries/210218 b/src/diary/hold/210218 similarity index 100% rename from src/diary/entries/210218 rename to src/diary/hold/210218 diff --git a/src/diary/entries/210304 b/src/diary/hold/210304 similarity index 100% rename from src/diary/entries/210304 rename to src/diary/hold/210304 diff --git a/src/diary/entries/210318 b/src/diary/hold/210318 similarity index 100% rename from src/diary/entries/210318 rename to src/diary/hold/210318 diff --git a/src/diary/entries/210415 b/src/diary/hold/210415 similarity index 100% rename from src/diary/entries/210415 rename to src/diary/hold/210415 diff --git a/src/diary/entries/210429 b/src/diary/hold/210429 similarity index 100% rename from src/diary/entries/210429 rename to src/diary/hold/210429 diff --git a/src/diary/entries/210513 b/src/diary/hold/210513 similarity index 100% rename from src/diary/entries/210513 rename to src/diary/hold/210513 diff --git a/src/diary/entries/210527 b/src/diary/hold/210527 similarity index 100% rename from src/diary/entries/210527 rename to src/diary/hold/210527 diff --git a/src/diary/entries/210610 b/src/diary/hold/210610 similarity index 100% rename from src/diary/entries/210610 rename to src/diary/hold/210610 diff --git a/src/diary/entries/210708 b/src/diary/hold/210708 similarity index 100% rename from src/diary/entries/210708 rename to src/diary/hold/210708 diff --git a/src/diary/entries/220101 b/src/diary/hold/220101 similarity index 100% rename from src/diary/entries/220101 rename to src/diary/hold/220101 diff --git a/src/diary/entries/220127 b/src/diary/hold/220127 similarity index 100% rename from src/diary/entries/220127 rename to src/diary/hold/220127 diff --git a/src/diary/entries/220505 b/src/diary/hold/220505 similarity index 100% rename from src/diary/entries/220505 rename to src/diary/hold/220505 diff --git a/src/diary/hold/220728 b/src/diary/hold/220728 new file mode 100644 index 0000000..244daf5 --- /dev/null +++ b/src/diary/hold/220728 @@ -0,0 +1,39 @@ + +

everything's coming together: a new website

+july 28, 2022
+#webdev
+
+

Everything's coming together. I've been learning a lot, and I'm finally ready to share my work.

+(screenshot: Blessfrey homepage)
+
+

new website, new me

+

Blessfrey.me is my online portfolio and design blog. I've been using it privately (or at least as privately as anything can be online) to practice webdev and biweekly blogging.

+
+

The last time I did any webdev was back when every website had custom HTML+CSS profiles, so I'm kind of stunned by how far the technology has come along, both in terms of capability and ease of implementation. Man, I wish I could have used the CSS grid to lay out my old petsite pages! I feel up to speed now, though. My confidence in maintaining and upgrading my website is solid. Same for writing articles. They're at a good length, level of organization, and readability.

+
+

Of course, I'm not saying Blessfrey.me is perfect, I'm saying I'm not ashamed anymore.

+ +

I've had a mostly solid horizontal slice of Blessfrey ready for a while, and this cycle of system revamps is finally able to support the sophistication of content I want. When I finish this iteration of skill systems and AI, I will be ready to make a real demo release of Blessfrey!

+
+

I don't know why it never occurred to me that I don't have to hold back my website waiting on that demo, though. Releasing and publishing is an important skill in itself. I threw together No-Legs the Cat in a few hours, exported it, hosted it on itch.io, and embedded what is currently the crown jewels of my website. Finally! I have a gamedev website with a playable game on it.

+(No-Legs the Cat screenshot: Poltics Cat finds a bowl of breakfast in the maze)
+

All this time, my website maintenance skills have been getting stronger. I have a years' worth of content as a buffer. My artist's block has dissipated for the first time in years, and I actually enjoy drawing concept art and character designs again. I've also spent a year trying different languages and frameworks and improving across the board. The website's already a night and day difference from old versions, and I finally feel comfortable with where it's at.
+
+

changes

+

This is my website, so I might as well use it however I want. If I have a website, I shouldn't have to rely on anyone else for image hosting or digital content presentation. There's no reason for me to have to pull up my phone all the time to show people what I'm working on. Blessfrey.me can take care of all of that for me.

+
+

From now on, I'll post fashion content here. I used to have a separate online portfolio for it and tried a separate blog from that once, but I was always struggling to fit into standard formats. Giving myself a blank section of my general portfolio to structure however I want is freeing. Some fashion designers like Kenneth D. King don't even organize their ideas into seasonal collections. The industry as a whole is moving away from the rigid structure of in-person runway shows in lieu of directly meeting with the press, releasing lookbooks of fashion photography, and shooting short art films. Why shouldn't a fashion blogger re-evaluate her portfolio, too? Maybe I'll add a section for general art here, too, someday. Who knows?

+
+Maybe best practice is to stay laser-focused on a content niche, but I'm not an SEO zombie. I develop websites, games, programming projects, fashion projects, interior design projects, pixelart, writing, and more, and they all deserve some web real estate. Maybe later, I can work with clients through here, too, but that is a dream for the future. For now, I'm keeping everything Web 1.0. The security is so much easier that way.

+
+

plans for the future

+

That isn't to say the website's perfect as it! It looks pretty wonky on mobile and tablets, and I've only been testing in Firefox and Chrome-based browsers. It's functional and has a decent amount of content, though, so I'd say it's a-okay to take out of maintenance mode for now.

+
+

Next I'm going to work with every resolution I can get my hands on and refactor my code a little. Also, I have a different vision for the formatting of most pages. The demo and fashion pages could definitely be broken into pieces. There should probably ultimately be a separate, permanent page for each HTML5 application. I also like having not just my Blessfrey characters but all my ocs here. It's like Toyhouse, but the price of custom CSS is already included in server costs. If nothing else, it'll be nice for when Artfight's sputtering.

+
+

let's appreciate what we have!

+Don't go through the motions. If you have anything super cool like a website, don't just use it how you're "supposed" to use it. Put your stuff to work and have fun!

+
+
+Last updated July 28, 2022
+
diff --git a/src/diary/entries/220811 b/src/diary/hold/220811 similarity index 100% rename from src/diary/entries/220811 rename to src/diary/hold/220811 diff --git a/src/diary/entries/220825 b/src/diary/hold/220825 similarity index 100% rename from src/diary/entries/220825 rename to src/diary/hold/220825 diff --git a/src/diary/entries/220908 b/src/diary/hold/220908 similarity index 100% rename from src/diary/entries/220908 rename to src/diary/hold/220908 diff --git a/src/diary/entries/220922 b/src/diary/hold/220922 similarity index 100% rename from src/diary/entries/220922 rename to src/diary/hold/220922 diff --git a/src/diary/entries/221006 b/src/diary/hold/221006 similarity index 100% rename from src/diary/entries/221006 rename to src/diary/hold/221006 diff --git a/src/diary/entries/221020 b/src/diary/hold/221020 similarity index 100% rename from src/diary/entries/221020 rename to src/diary/hold/221020 diff --git a/src/diary/entries/oldwebsite b/src/diary/hold/oldwebsite similarity index 100% rename from src/diary/entries/oldwebsite rename to src/diary/hold/oldwebsite diff --git a/src/diary/hold/200820 b/src/diary/hold/reject/200820 similarity index 100% rename from src/diary/hold/200820 rename to src/diary/hold/reject/200820 diff --git a/src/diary/hold/201112 b/src/diary/hold/reject/201112 similarity index 100% rename from src/diary/hold/201112 rename to src/diary/hold/reject/201112 diff --git a/src/diary/hold/201126 b/src/diary/hold/reject/201126 similarity index 100% rename from src/diary/hold/201126 rename to src/diary/hold/reject/201126 diff --git a/src/diary/hold/210121 b/src/diary/hold/reject/210121 similarity index 100% rename from src/diary/hold/210121 rename to src/diary/hold/reject/210121 diff --git a/src/diary/hold/210204 b/src/diary/hold/reject/210204 similarity index 100% rename from src/diary/hold/210204 rename to src/diary/hold/reject/210204 diff --git a/src/diary/hold/220114 b/src/diary/hold/reject/220114 similarity index 100% rename from src/diary/hold/220114 rename to src/diary/hold/reject/220114 diff --git a/src/diary/hold/220120 b/src/diary/hold/reject/220120 similarity index 100% rename from src/diary/hold/220120 rename to src/diary/hold/reject/220120 diff --git a/src/diary/hold/220324 b/src/diary/hold/reject/220324 similarity index 100% rename from src/diary/hold/220324 rename to src/diary/hold/reject/220324 diff --git a/src/index.py b/src/index.py index 6e24aed..51350ee 100644 --- a/src/index.py +++ b/src/index.py @@ -258,10 +258,8 @@ def fill_word_cloud(files): def curate_files(files): # remove folders - if 'raw' in files: - files.remove('raw') - if 'extra' in files: - files.remove('extra') + if 'hold' in files: + files.remove('hold') # remove clean = [] for f in files: