diary entries are template files; entries are in diary/entries and links are fixed

small-nav
chimchooree 4 years ago
parent 258c81178d
commit 155f866cf8

@ -0,0 +1,43 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>9 weekly roundup</h1>
august 4-8, 2020
css, html, php, server, website<br>
<br>
<h2>tuesday, august 4</h2>
<ul>
<li>CentOS VPS obtained through OVH. Yay! We've always wanted a server.</li>
</ul>
<h2>wednesday, august 5</h2>
<ul>
<br>
<li>design the website</li>
<li>prototype of website running on the server</li>
<li>J set up automation with Jenkins + Ansible</li>
</ul>
<br>
<h2>thursday, august 6</h2>
<ul>
<li>create some placeholder graphics, articles + css</li>
<li>add a <a href="https://publish.twitter.com/#">Twitter timeline embed</a></li>
</ul>
<br>
<h2>friday, august 7</h2>
<ul>
<li>decide to use PHP for manage blessfrey's blog</li>
<li>set up a local Apache server for practice. <a href="200807.html">It was a little confusing!</a></li>
<li>wrote a vaguely functioning Hello, World! script in PHP
</ul>
<br>
<h2>saturday, august 8</h2>
<ul>
<li>forgot to bid on the Skull of Death in the <a href="http://www.verpets.com/auctions/">Auction House</a>...aw man...</li>
<li>added images to live site <a href="200808.html">despite conflicts with Linux's security</a></li>
</ul>
<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,24 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>8 what is blessfrey? </h1>
august 10, 2020<br>
<br>
<b>Blessfrey</b> is a 2D action RPG developed for PC by me, chimchooree. <br>
<br>
The game is designed to pit your skill + creativity against a series of combat + puzzle challenges while exploring the depths of the downtown dungeon. <br>
<br>
Class progression is freeform, and virtually no decision is permanent. At character creation, you will choose a permanent First Class, but you can unlock several new classes for multiclassing through gameplay. Through swapping out Second Classes, you can find a combination to express your playstyle. <br>
<br>
Each class has its own style of skills associated with it. Skills are individual powers gained through gameplay which give specific effects according to their rules. Your skillbar only has 8 skill slots and can only be edited in safe areas. The challenge comes from building winning strategies + synergies against the next area. <br>
<br>
Skills are gained through exploration of the game world. As you encounter enemies, meet people, and reach new areas, you will translate those experiences into new skills. <br>
<br>
Blessfrey has been lots of fun to work on. I hope you enjoy it once a demo and eventually a game drops. <br>
<br>
chimchooree<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,53 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>7 all weekly updates</h1>
august 13, 2020<br>
<br>
I've kept a more or less consistent private development diary for blessfrey since 2018. Here are the bulleted highlights, broken into weekly portions. I mostly keep it for myself to track progress. <br>
<br>
Meaningful discussions on design + process are expanded in separate feature articles. <br>
<br>
As a note, Blessfrey's working name is Dungeon Girls, but there's other projects floating around in there. Also, names of people are usually changed for privacy. <br>
<br>
Weekly diary pages are below.
<br>
<?php
//Convert Weekly Summary to Snippet
function snip_post($file) {
$post = fopen($file, "r") or die("Unable to load articles.");
fgets($post);
echo "<h1>".fgets($post)."</h1>";
echo fgets($post)."<br>";
echo " ... <a href={$file}>Keep Reading</a>";
echo "<br><br>";
}
// Iterate over Diary Pages + Snip
function convert_files($files) {
rsort($files);
foreach ($files as $file) {
snip_post($file);
}
}
// Collect files
function gather_files() {
$files = array();
foreach (glob("../weekly/*.*") as $file) {
$files[] = $file;
}
return $files;
}
// Flow - collect files + convert to snippets
// it should be reverse order..newest first
convert_files(gather_files());
?>
<br><br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,44 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>6 weekly roundup</h1>
august 9-15, 2020
apache, automation, css, html, jenkins, nginx, php, server, website<br>
<br>
<h2>monday, august 9</h2>
<ul>
<li>second week of <a href="https://flightrising.com/main.php?p=dominance">dom</a>! yeah!</li>
<li>studied PHP with <a href="https://www.w3schools.com/php/php_intro.asp">W3Schools</a>
</ul>
<h2>wednesday, august 5</h2>
<ul>
<li>design the website</li>
<li>prototype of website running on the server</li>
<li>J set up automation with Jenkins + Ansible</li>
</ul>
<br>
<h2>thursday, august 6</h2>
<ul>
<li>create some placeholder graphics, articles + css</li>
<li>add a <a href="https://publish.twitter.com/#">Twitter timeline embed</a></li>
</ul>
<br>
<h2>friday, august 7</h2>
<ul>
<li>decide to use PHP for manage blessfrey's blog</li>
<li>set up a local Apache server with PHP for practice. <a href="200807.html">It was a little confusing!</a></li>
<li>wrote a vaguely functioning Hello, World! script in PHP
</ul>
<br>
<h2>saturday, august 8</h2>
<ul>
<li>forgot to bid on the Skull of Death in the auction house...aw man...</li>
<li>added images to live site <a href="200808.html">despite conflicts with Linux's security</a></li>
</ul>
<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,14 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>5 my favorite GDC talks </h1>
september 18, 2020<br>
<br>
I really should be keeping a list of these with descriptions, so why not keep them in an article?<br>
<br>
Work on it later.<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,21 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>4 weekly roundup</h1>
september 13-19, 2020
bottle<br>
<br>
<h2>friday, september 18</h2>
<ul>
<li>switched from PHP to Bottle</li>
<li>hello world in Bottle</li>
<li>created templates for main pages</li>
<li>Used Bottle to fill values in a template using variables</li>
<li>Used Bottle to avoid repeating html code in navigation pane, header, and footer</li>
</ul>
<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,22 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>3 weekly roundup</h1>
september 20-26, 2020
bottle<br>
<br>
<h2>friday, september 25</h2>
<ul>
<li>Diary snippets are formated from data taken from their articles. The article preview is cut to the character limit.</li>
</ul>
<br>
<h2>saturday, september 26</h2>
<ul>
<li>Updated the blessfrey.me script to serve static content like CSS stylesheets + images. Now the pages are actually styled.</li>
</ul>
<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,19 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>2 why bottle over php? </h1>
october 1, 2020<br>
<br>
<b>Bottle</b> is a Python framework for server-side web development.<br>
<br>
It's useful because it lets you reuse code for HTML, supports simple HTML templating, and is Python, which is a fun scripting language to use with tons of libraries.<br>
<br>
<b>PHP</b> is an old server language. It's very verbose, doesn't natively support templating, has extreme differences between versions which makes it confusing to research the fastest approaches, and its documentation is confusing. At least, amusingly, each documentation page has an open comment section underneath it, filled with conflicting and frustrated opinions, some dating back to when I was a toddler. <br>
<br>
It's still good to practice with, since it's a widely used web development language, and I feel like understanding it brings me closer to the PHP petsites of the mid-2000s which I dearly love.<br>
<br>
</div>
% include diary-boxes.tpl

@ -0,0 +1,27 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">
<h1>1 this week</h1>
september 27-october 3, 2020
bottle, css, git, html, regex, regular expressions, website<br>
<br>
<h2>wednesday, august 9</h2>
<ul>
<li>Working on the website in the first time in a while;; </li>
<li>blessfrey.me's static pages look as intended - no footer in the middle of the body, no unclosed &lt;ul&gt; tags from diary entry previews breaking the CSS.</li>
<li>w3's Nu Html Checker (lol @ the nu name) is really handy for automatically checking whether all my html tags are closed and CSS is valid, especially the parts generated through Bottle + SimpleTemplate. </li>
</ul>
<h2>thursday, october 1</h2>
<ul>
<li>blessfrey.me's diary properly displays snippets for all articles: a header taken from the title, a truncated view of the article, the date + a place for social media share links, and a link to the article.</li>
<li>Cleaning the snippets enough to look okay and not break the page was a challenge. I used regular expressions to remove html link + header tags, <a href="https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags">which is apparently a lost cause Stack Overflow users stand against daily, hourly even</a>. It's not so bad if it's not user content, and the content is pretty predictable, right?
<li>Pythex @ https://pythex.org/ is useful for checking whether your regular expression will catch your target strings</li>
<li>First command line git merge. I usually do it on the website. It's really simple - switch to the branch you're merging the second branch into, type 'git merge second-branch' (second-branch = name of the second branch obviously), and fix any conflicts.</li>
</ul>
<br>
<br>
</div>
% include diary-boxes.tpl

@ -22,13 +22,13 @@ def collect_raw(d):
return glob.glob(d) return glob.glob(d)
def clear_articles(): def clear_articles():
files = glob.glob('../*.html') files = glob.glob('../*.tpl')
for f in files: for f in files:
os.remove(f) os.remove(f)
def main(): def main():
clear_articles() clear_articles()
create_files(collect_raw('entries/*.html'), '..') create_files(collect_raw('entries/*.tpl'), '..')
## Start Program ## ## Start Program ##

@ -0,0 +1,5 @@
% rebase('frame.tpl')
<div class="body-row"> </div>
<div class="diary-entry">

@ -0,0 +1,3 @@
</div>
% include diary-boxes.tpl

@ -1,122 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>9 weekly roundup</h1>
august 4-8, 2020
css, html, php, server, website<br>
<br>
<h2>tuesday, august 4</h2>
<ul>
<li>CentOS VPS obtained through OVH. Yay! We've always wanted a server.</li>
</ul>
<h2>wednesday, august 5</h2>
<ul>
<br>
<li>design the website</li>
<li>prototype of website running on the server</li>
<li>J set up automation with Jenkins + Ansible</li>
</ul>
<br>
<h2>thursday, august 6</h2>
<ul>
<li>create some placeholder graphics, articles + css</li>
<li>add a <a href="https://publish.twitter.com/#">Twitter timeline embed</a></li>
</ul>
<br>
<h2>friday, august 7</h2>
<ul>
<li>decide to use PHP for manage blessfrey's blog</li>
<li>set up a local Apache server for practice. <a href="200807.html">It was a little confusing!</a></li>
<li>wrote a vaguely functioning Hello, World! script in PHP
</ul>
<br>
<h2>saturday, august 8</h2>
<ul>
<li>forgot to bid on the Skull of Death in the <a href="http://www.verpets.com/auctions/">Auction House</a>...aw man...</li>
<li>added images to live site <a href="200808.html">despite conflicts with Linux's security</a></li>
</ul>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,103 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>8 what is blessfrey? </h1>
august 10, 2020<br>
<br>
<b>Blessfrey</b> is a 2D action RPG developed for PC by me, chimchooree. <br>
<br>
The game is designed to pit your skill + creativity against a series of combat + puzzle challenges while exploring the depths of the downtown dungeon. <br>
<br>
Class progression is freeform, and virtually no decision is permanent. At character creation, you will choose a permanent First Class, but you can unlock several new classes for multiclassing through gameplay. Through swapping out Second Classes, you can find a combination to express your playstyle. <br>
<br>
Each class has its own style of skills associated with it. Skills are individual powers gained through gameplay which give specific effects according to their rules. Your skillbar only has 8 skill slots and can only be edited in safe areas. The challenge comes from building winning strategies + synergies against the next area. <br>
<br>
Skills are gained through exploration of the game world. As you encounter enemies, meet people, and reach new areas, you will translate those experiences into new skills. <br>
<br>
Blessfrey has been lots of fun to work on. I hope you enjoy it once a demo and eventually a game drops. <br>
<br>
chimchooree<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,132 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>7 all weekly updates</h1>
august 13, 2020<br>
<br>
I've kept a more or less consistent private development diary for blessfrey since 2018. Here are the bulleted highlights, broken into weekly portions. I mostly keep it for myself to track progress. <br>
<br>
Meaningful discussions on design + process are expanded in separate feature articles. <br>
<br>
As a note, Blessfrey's working name is Dungeon Girls, but there's other projects floating around in there. Also, names of people are usually changed for privacy. <br>
<br>
Weekly diary pages are below.
<br>
<?php
//Convert Weekly Summary to Snippet
function snip_post($file) {
$post = fopen($file, "r") or die("Unable to load articles.");
fgets($post);
echo "<h1>".fgets($post)."</h1>";
echo fgets($post)."<br>";
echo " ... <a href={$file}>Keep Reading</a>";
echo "<br><br>";
}
// Iterate over Diary Pages + Snip
function convert_files($files) {
rsort($files);
foreach ($files as $file) {
snip_post($file);
}
}
// Collect files
function gather_files() {
$files = array();
foreach (glob("../weekly/*.*") as $file) {
$files[] = $file;
}
return $files;
}
// Flow - collect files + convert to snippets
// it should be reverse order..newest first
convert_files(gather_files());
?>
<br><br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,123 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>6 weekly roundup</h1>
august 9-15, 2020
apache, automation, css, html, jenkins, nginx, php, server, website<br>
<br>
<h2>monday, august 9</h2>
<ul>
<li>second week of <a href="https://flightrising.com/main.php?p=dominance">dom</a>! yeah!</li>
<li>studied PHP with <a href="https://www.w3schools.com/php/php_intro.asp">W3Schools</a>
</ul>
<h2>wednesday, august 5</h2>
<ul>
<li>design the website</li>
<li>prototype of website running on the server</li>
<li>J set up automation with Jenkins + Ansible</li>
</ul>
<br>
<h2>thursday, august 6</h2>
<ul>
<li>create some placeholder graphics, articles + css</li>
<li>add a <a href="https://publish.twitter.com/#">Twitter timeline embed</a></li>
</ul>
<br>
<h2>friday, august 7</h2>
<ul>
<li>decide to use PHP for manage blessfrey's blog</li>
<li>set up a local Apache server with PHP for practice. <a href="200807.html">It was a little confusing!</a></li>
<li>wrote a vaguely functioning Hello, World! script in PHP
</ul>
<br>
<h2>saturday, august 8</h2>
<ul>
<li>forgot to bid on the Skull of Death in the auction house...aw man...</li>
<li>added images to live site <a href="200808.html">despite conflicts with Linux's security</a></li>
</ul>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,93 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>5 my favorite GDC talks </h1>
september 18, 2020<br>
<br>
I really should be keeping a list of these with descriptions, so why not keep them in an article?<br>
<br>
Work on it later.<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,100 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>4 weekly roundup</h1>
september 13-19, 2020
bottle<br>
<br>
<h2>friday, september 18</h2>
<ul>
<li>switched from PHP to Bottle</li>
<li>hello world in Bottle</li>
<li>created templates for main pages</li>
<li>Used Bottle to fill values in a template using variables</li>
<li>Used Bottle to avoid repeating html code in navigation pane, header, and footer</li>
</ul>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,101 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>3 weekly roundup</h1>
september 20-26, 2020
bottle<br>
<br>
<h2>friday, september 25</h2>
<ul>
<li>Diary snippets are formated from data taken from their articles. The article preview is cut to the character limit.</li>
</ul>
<br>
<h2>saturday, september 26</h2>
<ul>
<li>Updated the blessfrey.me script to serve static content like CSS stylesheets + images. Now the pages are actually styled.</li>
</ul>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,98 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>2 why bottle over php? </h1>
october 1, 2020<br>
<br>
<b>Bottle</b> is a Python framework for server-side web development.<br>
<br>
It's useful because it lets you reuse code for HTML, supports simple HTML templating, and is Python, which is a fun scripting language to use with tons of libraries.<br>
<br>
<b>PHP</b> is an old server language. It's very verbose, doesn't natively support templating, has extreme differences between versions which makes it confusing to research the fastest approaches, and its documentation is confusing. At least, amusingly, each documentation page has an open comment section underneath it, filled with conflicting and frustrated opinions, some dating back to when I was a toddler. <br>
<br>
It's still good to practice with, since it's a widely used web development language, and I feel like understanding it brings me closer to the PHP petsites of the mid-2000s which I dearly love.<br>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,106 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">
<h1>1 this week</h1>
september 27-october 3, 2020
bottle, css, git, html, regex, regular expressions, website<br>
<br>
<h2>wednesday, august 9</h2>
<ul>
<li>Working on the website in the first time in a while;; </li>
<li>blessfrey.me's static pages look as intended - no footer in the middle of the body, no unclosed &lt;ul&gt; tags from diary entry previews breaking the CSS.</li>
<li>w3's Nu Html Checker (lol @ the nu name) is really handy for automatically checking whether all my html tags are closed and CSS is valid, especially the parts generated through Bottle + SimpleTemplate. </li>
</ul>
<h2>thursday, october 1</h2>
<ul>
<li>blessfrey.me's diary properly displays snippets for all articles: a header taken from the title, a truncated view of the article, the date + a place for social media share links, and a link to the article.</li>
<li>Cleaning the snippets enough to look okay and not break the page was a challenge. I used regular expressions to remove html link + header tags, <a href="https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags">which is apparently a lost cause Stack Overflow users stand against daily, hourly even</a>. It's not so bad if it's not user content, and the content is pretty predictable, right?
<li>Pythex @ https://pythex.org/ is useful for checking whether your regular expression will catch your target strings</li>
<li>First command line git merge. I usually do it on the website. It's really simple - switch to the branch you're merging the second branch into, type 'git merge second-branch' (second-branch = name of the second branch obviously), and fix any conflicts.</li>
</ul>
<br>
<br>
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html>
<!-- Header -->
<head>
<title>chimchooree's dev space - blessfrey</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../../res/styles/feature.css"/>
</head>
<!-- Body -->
<body>
<div class="grid">
<div class="whitespace">
blessfrey.me<br>
</div>
<div class="blessfrey-logo"></div>
<div class="nav-row"></div>
<!--Navigation Bar-->
<div class="nav-grid">
<div class="nav-bar"></div>
<div class="nav-index">
<a href="index.html">
<div class="button">home</div>
</a>
</div>
<div class="nav-game">
<a href="game.html">
<div class="button">game</div>
</a>
</div>
<div class="nav-diary">
<a href="diary.php">
<div class="button">diary</div>
</a>
</div>
<div class="nav-presskit">
<a href="presskit.html">
<div class="button">presskit</div>
</a>
</div>
</div>
<div class="body-row"> </div>
<div class="diary-entry">

@ -1,38 +0,0 @@
</div>
<!--right column-->
<div class="about-box">
<h1>about blessfrey</h1>
It's a game.<br>
</div>
<div class="twitter-box">
<h1>follow on twitter</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
</div>
<div class="latest">
<h1>latest</h1>
Some articles.<br>
</div>
<div class="disclosure">
<h1>disclosure</h1>
No sponsored posts or affiliate links appear in this blog. If they do, they will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies.<br>
</div>
<!--Footer-->
<div class="footer-row">
<footer>
<div class="footer">
&#169 chimchooree<br>
</div>
</footer>
</div>
</div>
</body>
</html>

@ -1,13 +1,15 @@
import datetime, os, re import datetime, os, re
from bottle import error, route, run, static_file, template from bottle import error, route, run, static_file, template
loc = 'diary/entries/'
def list_headlines(articles): def list_headlines(articles):
head = count_lines('entries/raw/res/head.txt') head = count_lines(loc + 'raw/res/head.txt')
result = [] result = []
text = [] text = []
for article in articles: for article in articles:
path = 'entries/' + article path = loc + article
with open(path) as f: with open(path) as f:
text = f.readlines() text = f.readlines()
@ -21,16 +23,16 @@ def list_headlines(articles):
def list_snippets(articles): def list_snippets(articles):
limit = 4 limit = 4
total = len(articles) total = len(articles)
head = count_lines('entries/raw/res/head.txt') head = count_lines(loc + 'raw/res/head.txt')
tail = count_lines('entries/raw/res/tail.txt') tail = count_lines(loc + 'raw/res/tail.txt')
result = [] result = []
for article in articles: for article in articles:
path = 'entries/' + article path = loc + article
text = [] text = []
a = [] a = []
length = 0 length = 0
with open('entries/' + article) as f: with open(loc + article) as f:
text = f.readlines() text = f.readlines()
length = len(text) length = len(text)
a.append(clean(text[head])) # title a.append(clean(text[head])) # title
@ -40,7 +42,7 @@ def list_snippets(articles):
content += '</ul>' content += '</ul>'
a.append(content) # snippet a.append(content) # snippet
a.append(text[head + 1].replace('<br>','')) # timestamp a.append(text[head + 1].replace('<br>','')) # timestamp
a.append(path) # URL a.append('/' + path.replace('.tpl','')) # URL
a.append(clean(text[head]).replace(' ','+')) # social media title a.append(clean(text[head]).replace(' ','+')) # social media title
result.append(a) result.append(a)
return result return result
@ -53,7 +55,7 @@ def count_lines(fname):
def find_content(article, length, head, tail): def find_content(article, length, head, tail):
content = "" content = ""
with open('entries/' + article) as f: with open(loc + article) as f:
for pos, line in enumerate(f): for pos, line in enumerate(f):
if pos > head + 1 and pos < length - tail: if pos > head + 1 and pos < length - tail:
content += line content += line
@ -80,7 +82,7 @@ def sort_files(files):
return files#list(reversed(files)) return files#list(reversed(files))
def gather_files(): def gather_files():
files = os.listdir('entries/') files = os.listdir(loc)
files.remove('raw') files.remove('raw')
return files return files
@ -129,6 +131,12 @@ def diary(page):
info = {'css': 'diary', 'title': 'blessfrey - developer diary', 'year': datetime.datetime.now(), 'snippets': list_snippets(sort_files(gather_files())), 'latest': list_headlines(sort_files(gather_files())[0:5]), 'total': len(gather_files()), 'limit': 4, 'cluster': 3, 'page': page} info = {'css': 'diary', 'title': 'blessfrey - developer diary', 'year': datetime.datetime.now(), 'snippets': list_snippets(sort_files(gather_files())), 'latest': list_headlines(sort_files(gather_files())[0:5]), 'total': len(gather_files()), 'limit': 4, 'cluster': 3, 'page': page}
return template('diary.tpl', info) return template('diary.tpl', info)
@route('/entries/<page:int>')
def entry(page):
"""diary entry"""
info = {'css': 'diary', 'title': 'blessfrey - developer diary', 'year': datetime.datetime.now(), 'latest': list_headlines(sort_files(gather_files())[0:5]), 'page': page}
return template('feature.tpl', info)
@route('/box') @route('/box')
def box(): def box():
"""personal page""" """personal page"""

@ -7,5 +7,7 @@
<br> <br>
You can always reach me on Twitter as <a href="https://twitter.com/lilchimchooree" rel="nofollow">@lilchimchooree</a> through DMs or mentions.<br> You can always reach me on Twitter as <a href="https://twitter.com/lilchimchooree" rel="nofollow">@lilchimchooree</a> through DMs or mentions.<br>
<br> <br>
Press can snag a copy of my presskit at the <a href="/presskit" rel="nofollow">presskit</a> page.
<br><br>
</div> </div>
<div class="footer-row"> </div> <div class="footer-row"> </div>

@ -0,0 +1,31 @@
<!--right column-->
<div class="about-box">
<h1>about</h1>
blessfrey is a game.<br>
</div>
<div class="twitter-box">
<h1>follow</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
<br>
<a href="/contact" rel="nofollow">contact me</a><br>
</div>
<div class="latest">
<h1>latest</h1>
<div class="latest-text">
<ul>
% for l in latest:
<li>&#9;<a href={{l[0]}} rel="nofollow">{{!l[1]}}</a></li>
% end
</ul>
<br>
</div>
</div>
<div class="disclosure">
<h1>disclosure</h1>
blessfrey.me is not using sponsored posts or affiliate links right now. Any that appear will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking" rel="nofollow">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf" rel="nofollow">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies. Just a simple dev site.<br>
</div>

@ -75,45 +75,18 @@
{{!s[1]}} {{!s[1]}}
</div> </div>
<div class="snippet-info"> <div class="snippet-info">
{{!s[2]}} • <a class="social-link social-twitter" href="http://twitter.com/share?text={{s[4]}}&url={{s[3]}}&via=lilchimchooree" target="_blank">tweet</a> • <a class="social-link social-fb" href='http://www.facebook.com/share.php?u={{s[3]}}'>facebook</a> • <a class="social-link social-email" href="mailto:?body=Hey, check out this post: {{s[1]}}., {{s[3]}}">email</a> <b>{{!s[2]}}
• <a class="social-link social-twitter" href="http://twitter.com/share?text={{s[4]}}&url=https://blessfrey.me{{s[3]}}&via=lilchimchooree" target="_blank">tweet</a>
• <a class="social-link social-fb" href='http://www.facebook.com/share.php?u={{s[3]}}'>facebook</a>
• <a class="social-link social-email" href="mailto:?body=Hey, check out this post: {{s[1]}}., {{s[3]}}">email</a></b>
</div> </div>
<div class="snippet-link"> <div class="snippet-link">
<a href={{s[3]}} rel="nofollow">Read More</a> <a href={{s[3]}} rel="nofollow"><b>read more</b></a>
</div> </div>
</div> </div>
% end % end
</div> </div>
<!--right column--> % include diary-boxes.tpl
<div class="about-box">
<h1>about</h1>
blessfrey is a game.<br>
</div>
<div class="twitter-box">
<h1>follow</h1>
<a href="https://twitter.com/lilchimchooree">@lilchimchooree</a><br>
<br>
<a href="/contact" rel="nofollow">contact me</a><br>
</div>
<div class="latest">
<h1>latest</h1>
<div class="latest-text">
<ul>
% for l in latest:
<li>&#9;<a href={{l[0]}} rel="nofollow">{{!l[1]}}</a></li>
% end
</ul>
<br>
</div>
</div>
<div class="disclosure">
<h1>disclosure</h1>
blessfrey.me is not using sponsored posts or affiliate links right now. Any that appear will be <a href="https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking" rel="nofollow">properly</a> <a href="https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf" rel="nofollow">disclosed</a>.<br>
<br>
blessfrey.me does not collect personal information + has no cookies. Just a simple dev site.<br>
</div>

Loading…
Cancel
Save