diff --git a/app/app.py b/app/app.py index a7e1217..4036eb5 100644 --- a/app/app.py +++ b/app/app.py @@ -25,6 +25,7 @@ DEV = int(config['NETWORK']['DEV']) MUSIC_API_TOKEN = config['AUTH']['MUSIC_API_TOKEN'] MUSIC_API_URL = config['NETWORK']['MUSIC_API_URL'] +statuses = {} def get_posts(category_filter : str | None = None) -> list[Post]: post_files = glob.glob(f'{POSTS_FOLDER}/*') @@ -58,13 +59,36 @@ def get_posts(category_filter : str | None = None) -> list[Post]: return reversed(ordered_posts) -def get_status() -> str: +def read_status_file() -> dict: with open(STATUS_FILE, 'r', encoding='utf-8') as file: - statuses = file.readlines() + data = file.readlines() - status = random.randint(0, len(statuses) - 1) + result = {} + current_key = None + for line in data: + if line[0] == '#': - return markdown.markdown(statuses[status]) + # Empty Key-Value pairs will cause errors + if current_key: + if not result[current_key]: + result.pop(current_key) + + current_key = line.replace('#', '').strip() + result[current_key] = [] + elif not (line == '\n'): + result[current_key].append(line) + + return result + +def get_status() -> str: + keys = list(statuses.keys()) + + selected_key = keys[random.randint(0, len(keys) - 1)] + section: list = statuses[selected_key] + + selected_status = section[random.randint(0, len(section) - 1)] + + return f'
{markdown.markdown(selected_status)}
' # Main Page @app.route('/') @@ -82,6 +106,16 @@ def index(): return flask.render_template('index.html', posts=post_bodies, status=status) +# Posts +@app.route('/post/') +def post(post_name: str): + + for post in get_posts(): + if post.title.replace(' ', '-') == post_name: + return flask.render_template('index.html', posts=[post.body], status=get_status()) + + flask.abort(404) + # Games Page @app.route('/games/') def games(): @@ -231,6 +265,9 @@ def album_square(user_id, rows : int): if __name__ == "__main__": + + statuses = read_status_file() + if DEV: app.run(port=PORT) else: diff --git a/app/post.py b/app/post.py index 1de822a..954fbf2 100644 --- a/app/post.py +++ b/app/post.py @@ -8,6 +8,8 @@ class Post: date : datetime.datetime body : str file : str + title : str + url : str def __init__(self, file_path): self.file = file_path @@ -17,9 +19,11 @@ class Post: self.category = lines[1].split(":")[1].strip() self.author = lines[2].split(":")[1].strip() + self.title = lines[6][2:-1] + self.url = '/post/' + self.title.replace(' ', '-') date = lines[3].split(":")[1].strip() self.date = datetime.datetime.strptime(date, "%d-%m-%Y") - self.body = markdown.markdown(''.join(lines[6:])) + self.body = markdown.markdown(f'# [{self.title}]({self.url})\n' + ''.join(lines[7:])) diff --git a/app/resources/status.text b/app/resources/status.text index 2ad2505..0fece64 100644 --- a/app/resources/status.text +++ b/app/resources/status.text @@ -1,40 +1,112 @@ -Catchy Right? -Everybody's lazy when they're tired +# Project Moon +Needles +Sally forth Rocinante! +The multitude tightens its hold. + +# Misc +Check out [NEUPINK](https://neupink.bandcamp.com/album/swordflower-hills-killer-2)! +Solar Sect of Mystic Wisdom +~ Nuclear Fusion +His name really is Tim. +Just wait until you see the 1 in 1000 message. +I'm open to suggestions on how to improve the look of the website As long as there is delusion, there is hope It's 510. +Catchy Right? + +## TV / Movie Quotes + +# Monogatari +I don't know everything, I only know what I know. + +## Song Lyrics + +# I’m in Your Mind by King Gizzard & The Lizard Wizard +Everybody's lazy when they're tired + +# Straws In The Wind by King Gizzard & The Lizard Wizard Mindful of the weary inkling that is lurking Mortal traffic lights signaling when to stay or go + +# Automation by King Gizzard & The Lizard Wizard Cyber surgeon, Javascript person + +# Gilgamesh by King Gizzard & The Lizard Wizard Bone-dried swamplands swallow me House of dust, land of bone I ate dirt, I drank stone Come on, snake, punish me + +# The Dripping Tap by King Gizzard & The Lizard Wizard Drip, drip from the tap, don't slip on the drip -His name really is Tim. -Just wait until you see the 1 in 1000 message. -I'm open to suggestions on how to improve the look of the website -Open the curtains -Don't miss a moment of this experiment -Needles -Sally forth Rocinante! -The multitude tightens its hold. + +# Face to Face by Daft Punk It's amazing what you'll find face to face It's not hard to go the distance / When you finally get involved face to face + +# Touch by Daft Punk A tourist in a dream / A visitor, it seems / A half-forgotten song / Where do I belong? + +# Magenta Mountian by King Gizzard & The Lizard Wizard What do you mean ... You can't see it? I don't believe you / your eyes deceive you / better check yourself in You will say I'm crazy / I will go on my way 'cause it's what I need I'd cross a thousand seas just to prove I'm not mad I thought I saw a statue blink, and a bird with no head, Land on a golden thread, I rub my eyes, What am I saying? There's nothing there -Solar Sect of Mystic Wisdom -~ Nuclear Fusion -Check out [NEUPINK](https://neupink.bandcamp.com/album/swordflower-hills-killer-2)! -<<<<<<< HEAD + +# Armor-clad Faith by NAOKI, Arc System Works I'm a fool, I know nothing / I take the role of a silly clown All I do is embrace the wounded soul + +# Love the Subhuman Self by AISHA, Jamison Boaz, Arc System Works (Guilty Gear Strive) So carry on, love the subhuman self -Break yourself inside out +Break yourself inside out, she told me + +# Symphony by NAOKI, Arc System Works (Guilty Gear Strive) We're just a quirky note in the symphony -======= + +# White Whale by Shadow Academy So, silent tide / Tell me which face do I show the world / And which one do I hide? ->>>>>>> main + +# Intrasport by King Gizzard & The Lizard Wizard +Dreams that sew me up like sleeping with a needle +Those feelings that I had are building up to something +I feel a schism in the rhythm, now I'm running +My hair is liquifying +My taste buds are igniting + +# Set by King Gizzard & The Lizard Wizard +Cut the cord, kill the king and reset +Squeezing day into night with supernatural pressure +Right eye is the sun and left the moon's light + +# Swan Song by King Gizzard & The Lizard Wizard +Score the music // Of your essence +Stars fall from their lofty places +Earth has been put through her paces +Cosmic surgeons cut the cable +Make a new world if you're able + +# String Theocracy by Mili +Open the curtains +Don't miss a moment of this experiment +If you're going to replace me // At least have the audacity to kill me thoroughly +What's the color of the electric sheep you see? +Maybe we're all cold machines + +# Change by King Gizzard & The Lizard Wizard +We're changing pace // Higher stakes +So called heroes wearing fake capes +Buildings that you know // People come and go // Are a certain way +And then you get the news that obliterates your view // Amputate your truths // The signifiance has changed +Hospital inane // Meaningless and grey // But lie within the walls and the signifiance will change +What would it take for us to change the game? // Maybe our existence is signifiance in vain + +# Candles by King Gizzard & The Lizard Wizard +This little man is too hot to handle // Set the funeral on fire with the candles +Praying to the gods at the top of a mountian // Better throwing all your pennies in a fountian +My little heart, as cold as a morgue // Let the weight of it drop like an iceberg + +# Presumptuous by King Gizzard & The Lizard Wizard +Eggshell, landmine, stepping stones // Kindred spirits at a crossroads +The world we built is on a tilt // Bottled up inside and filled with guilt diff --git a/app/templates/writing.html b/app/templates/writing.html index 09df245..fdbc293 100644 --- a/app/templates/writing.html +++ b/app/templates/writing.html @@ -2,6 +2,9 @@ home +

+ This is just a little page where I post stuff I write. I was kind of unsure if I wanted this stuff out here but I think to those who know me it could serve as an interesting view into some thoughts that I don't often express elsewhere. +



{% for work in works %}