From f4db20520b38793e2f4ef64bc064af308199dc83 Mon Sep 17 00:00:00 2001 From: WahPlus Date: Sat, 25 Jul 2026 19:54:58 +0300 Subject: [PATCH] cerises: Created cerises This is a tool to turn Markdown text to terminal-approporiate text --- cerises.py | 25 +++++++++++++ cerisesfonts/h1.json | 85 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 cerises.py create mode 100644 cerisesfonts/h1.json diff --git a/cerises.py b/cerises.py new file mode 100644 index 0000000..6a73269 --- /dev/null +++ b/cerises.py @@ -0,0 +1,25 @@ +# This file is named that because I am eating cherries :3 + +import json + +with open("cerisesfonts/h1.json", "r") as file: + font_h1 = json.load(file) + +def process(text: str) -> str: + lines = text.split("\n") + inside_code_block = False + for i, line in enumerate(lines): + if line == "```": + inside_code_block = not inside_code_block + if not inside_code_block: + if line[0:2] == "# ": + final_data = ["", ""] + for char in line[2:]: + if char in font_h1: + char_data = font_h1[char].split("\n") + for i2, data_line in enumerate(final_data): + final_data[i2] = data_line + char_data[i2] + lines[i] = "\n".join(final_data) + return "\n".join(lines) + +# print(process("# Hello Guys 123\nThis is a cool Markdown file. Isn't it so cool?\n```\nThis is a code block\n# This is a code comment, not a heading!\n```")) \ No newline at end of file diff --git a/cerisesfonts/h1.json b/cerisesfonts/h1.json new file mode 100644 index 0000000..715bf9f --- /dev/null +++ b/cerisesfonts/h1.json @@ -0,0 +1,85 @@ +{ + " ": " \n ", + "!": " ⡇\n ⠅", + "\"": " ⠃⠃\n ", + "'": " ⠃\n ", + "(": " ⡔⠁\n ⠣⡀\n", + ")": " ⠈⢢\n ⢀⠜\n", + "-": " \n ⠉⠉\n", + ".": " \n ⠶\n", + "/": " ⡜\n ⠎ \n", + "0": " ⣎⣵\n ⠫⠜\n\n", + "1": " ⢺ \n ⠼⠄\n", + "2": " ⠊⡱\n ⠮⠤\n", + "3": " ⢉⡹\n ⠤⠜\n", + "4": " ⢇⣸\n ⠸\n", + "5": " ⣏⡉\n ⠤⠜\n", + "6": " ⣎⡁\n ⠣⠜\n", + "7": " ⠉⡹\n ⠸ \n", + "8": " ⢎⡱\n ⠣⠜\n", + "9": " ⢎⣱\n ⠠⠜\n", + "=": " ⣀⣀\n ⠒⠒\n", + "@": " ⣎⣱\n ⠫⠥\n", + "A": " ⣎⣱\n ⠇⠸\n", + "B": " ⣏⡱\n ⠧⠜\n", + "C": " ⡎⠑\n ⠣⠔\n", + "D": " ⡏⢱\n ⠧⠜\n", + "E": " ⣏⡉\n ⠧⠤\n", + "F": " ⣏⡉\n ⠇ \n", + "G": " ⡎⠑\n ⠣⠝\n", + "H": " ⣇⣸\n ⠇⠸\n", + "I": " ⡇\n ⠇\n", + "J": " ⠈⢹\n ⠣⠜\n", + "K": " ⣇⠜\n ⠇⠱\n", + "L": " ⡇ \n ⠧⠤\n", + "M": " ⡷⢾\n ⠇⠸\n", + "N": " ⡷⣸\n ⠇⠹\n", + "O": " ⡎⢱\n ⠣⠜\n", + "P": " ⣏⡱\n ⠇ \n", + "Q": " ⡎⢱\n ⠣⠪\n", + "R": " ⣏⡱\n ⠇⠱\n", + "S": " ⢎⡑\n ⠢⠜\n", + "T": " ⢹⠁\n ⠸ \n", + "U": " ⡇⢸\n ⠣⠜\n", + "V": " ⡇⢸\n ⠸⠃\n", + "W": " ⡇⢸\n ⠟⠻\n", + "X": " ⢇⡸\n ⠇⠸\n", + "Y": " ⢇⢸\n ⠇\n", + "Z": " ⢉⠝\n ⠮⠤\n", + "[": " ⡏\n ⣇\n", + "\\": " ⢣ \n ⠱\n", + "]": " ⢹\n ⣸\n", + "^": " ⠊⠂\n \n", + "_": " \n ⠤⠤\n", + "`": " ⠑\n \n", + "a": " ⢀⣀\n ⠣⠼\n", + "b": " ⣇⡀\n ⠧⠜\n", + "c": " ⢀⣀\n ⠣⠤\n", + "d": " ⢀⣸\n ⠣⠼\n", + "e": " ⢀⡀\n ⠣⠭\n", + "f": " ⣰⡁\n ⢸ \n", + "g": " ⢀⡀\n ⣑⡺\n", + "h": " ⣇⡀\n ⠇⠸\n", + "i": " ⠄\n ⠇\n", + "j": " ⠠\n ⡸\n", + "k": " ⡇⡠\n ⠏⠢\n", + "l": " ⡇\n ⠣\n", + "m": " ⣀⣀ \n ⠇⠇⠇\n", + "n": " ⣀⡀\n ⠇⠸\n", + "o": " ⢀⡀\n ⠣⠜\n", + "p": " ⣀⡀\n ⡧⠜\n", + "q": " ⢀⣀\n ⠣⢼\n", + "r": " ⡀⣀\n ⠏ \n", + "s": " ⢀⣀\n ⠭⠕\n", + "t": " ⣰⡀\n ⠘⠤\n", + "u": " ⡀⢀\n ⠣⠼\n", + "v": " ⡀⢀\n ⠱⠃\n", + "w": " ⡀ ⢀\n ⠱⠱⠃\n", + "x": " ⡀⢀\n ⠜⠣\n", + "y": " ⡀⢀\n ⣑⡺\n", + "z": " ⣀⣀\n ⠴⠥\n", + "{": " ⡰⠁\n ⠘⠄\n", + "|": " ⡇\n ⠇\n", + "}": " ⠈⢆\n ⠠⠃\n", + "~": " ⡠⡠\n \n" +} \ No newline at end of file