diff --git a/blog.json b/blog.json index fabbdb0..dc86b49 100644 --- a/blog.json +++ b/blog.json @@ -128,6 +128,36 @@ "top-words": 64, "top-tags": 64, "posts": { + "healthy-vegan-chickpea-soup-sick-lazy-days": { + "title": "healthy vegan chickpea soup for sick or lazy days", + "description": "a healthy, filling, and warm vegan chickpea soup for sick or lazy days :)", + "content": "i'm sick and lazy, so i made vegan chickpea soup because you can't go wrong with a soup, especially on a sick day\n\nthis soup is satisfying, warm, filling, and savoury, it comes with multiple health benefits and anti-inflammatory properties\n\n## ingredients\n\n- 240 grams of canned chickpeas, rinsed\n- 750 ml of vegetable stock ( 1 vegetable stock cube in 750 ml of water for convenience sake )\n- 2/3 teaspoon of turmeric\n- 2/3 teaspoon of coriander\n- 1 tablespoon of olive oil\n- 1 onion, finely chopped\n- 2 cloves of garlic, minced\n- 50 ml of lemon juice\n- 100 grams of small non-egg pasta ( such as macaroni )\n- 2 bay leaves\n- 2/3 tablespoon of universal vegetable seasoning ( dried vegetables )\n - carrot\n - parsnip\n - potato\n - onion\n - parsley leaves\n - sweet peppers\n- 20 ml of dark soy sauce\n- black ground pepper\n\n## process\n\n- on high heat, pour olive oil into a pan\n- into the pan add the garlic and onion, cook til translucent and fragrant\n- add in chickpeas, turmeric, coriander, and pepper, cook for 1 minute\n- transfer all pan contents to a pot\n- pour in your vegetable stock\n- wash the pan with hot water, and pour in the water from the pan into the pot to not lose any flavour ( ~250 ml )\n- pour in your lemon juice\n- add in your pasta, bay leaves, universal vegetable seasoning, and dark soy sauce\n- cook until pasta is soft\n- serve however you want :)\n\nbon appetit\n\nthis recipe makes 3-4 servings\n\n## health benefits\n\n- boosted immune system : loaded with variety of nutrients from the chickpeas, vegetables, and spices, which provide vitamins and minerals to boost your immune system\n- anti-inflammatory properties :turmeric is known for its anti-inflammatory properties which can help in reducing symptoms of cold, flu, and other conditions\n- good source of protein of fibre : chickpeas have a lot of protein helping you feel more satisfied, also helping your gut health\n- vitamin c : lemon juice has vitamin c, which helps to combat colds and flu\n- hydration : this soup is quite watery, helping you stay hydrated\n- improved digestion : spices like turmeric and coriander help soothe the digestive system, and garlic is known for its antimicrobial properties\n- low-calorie : it's a low-calorie meal to not make you feel even worse off by filling you up with hard-to-digest high-calorie food\n- heart-healthy : olive oil and chickpeas both contribute to heart health because of their healthy fats and fibre\n- antioxidant properties : ingredients like turmeric, coriander, garlic, and onions are rich in antioxidants\n- energy boost : high iron content in chickpeas can boost energy levels\n\nprobably more /shrug\n\n## nutritional facts\n\nthis is just an estimate, do not take it as final and fact - yours may ( and most likely will ) vary depending on the ingredients used, and i am not a dietician . this estimate assumes that the recipe makes 4 servings\n\n% are in DV ( Daily Value ) . DV is the recommended amount of something an average person should have in 24 hours in a recommended 2000 kcal diet\n\n- Calories: 250 (12.5%)\n- Total Fat: 5g (6%)\n - Saturated Fat: 1g (5%)\n- Cholesterol: 0mg (0%)\n- Sodium: 570mg (25%)\n- Total Carbohydrate: 40g (14%)\n - Dietary Fibre: 11g (39%)\n - Total Sugars: 5g\n - Includes 0 Added Sugars (0%)\n- Protein: 10g\n- Vitamin D: 0mcg (0%)\n- Calcium: 50mg (4%)\n- Iron: 4mg (22%)\n- Potassium: 480mg (10%)", + "keywords": [ + "coriander benefits", + "antioxidants", + "immune system boost", + "high protein", + "anti-inflammatory", + "turmeric benefits", + "low-calorie meal", + "chickpea soup", + "garlic benefits", + "vegan recipe", + "energy boost", + "hydration", + "vitamin c", + "high fibre", + "easy cooking", + "sick day food", + "olive oil benefits", + "healthy fats", + "improved digestion", + "heart-healthy", + "nutritional facts", + "iron content in chickpeas" + ], + "created": 1715803101.95411 + }, "vegan-tom-yum-soup-tofu": { "title": "vegan tom yum soup with tofu", "description": "A vegan twist on the classic Tom Yum soup from Thailand, known for its distinct hot and sour flavours with fragrant spices and herbs! A full recipe with nutritional facts and serving recommendations, as well as a recipe for vegan Tom Yum paste. Bon Apetit!", diff --git a/scripts/blog.py b/scripts/blog.py index 066be74..734f07b 100755 --- a/scripts/blog.py +++ b/scripts/blog.py @@ -493,12 +493,14 @@ def slugify( def rf_format_time(ts: float) -> typing.Tuple[datetime.datetime, str]: - d: datetime.datetime = datetime.datetime.utcfromtimestamp(ts) + d: datetime.datetime = datetime.datetime.fromtimestamp(ts, datetime.UTC) return d, d.strftime("%Y-%m-%d %H:%M:%S") def rformat_time(ts: float) -> str: - return datetime.datetime.utcfromtimestamp(ts).strftime("%Y-%m-%d %H:%M:%S") + return datetime.datetime.fromtimestamp(ts, datetime.UTC).strftime( + "%Y-%m-%d %H:%M:%S" + ) def format_time(ts: float) -> str: @@ -828,7 +830,7 @@ def new(config: dict[str, typing.Any]) -> int: "description": description.strip(), "content": content, "keywords": keywords, - "created": datetime.datetime.utcnow().timestamp(), + "created": datetime.datetime.now(datetime.UTC).timestamp(), } return OK @@ -883,7 +885,7 @@ def ed(config: dict[str, typing.Any], major: bool = True) -> int: return code if major: - post["edited"] = datetime.datetime.utcnow().timestamp() + post["edited"] = datetime.datetime.now(datetime.UTC).timestamp() return OK @@ -1248,7 +1250,7 @@ def sitemap(config: dict[str, typing.Any]) -> int: llog("generating a sitemap") - now: float = datetime.datetime.utcnow().timestamp() + now: float = datetime.datetime.now(datetime.UTC).timestamp() root: etree.Element = etree.Element("urlset") root.set("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9") @@ -1266,8 +1268,9 @@ def sitemap(config: dict[str, typing.Any]) -> int: etree.SubElement(url, "loc").text = ( f"{config['blog']}/{config['posts-dir']}/{slug}" if slug else post ) - etree.SubElement(url, "lastmod").text = datetime.datetime.utcfromtimestamp( - post.get("edited", post["created"]) if slug else now # type: ignore + etree.SubElement(url, "lastmod").text = datetime.datetime.fromtimestamp( + post.get("edited", post["created"]) if slug else now, # type: ignore,= + datetime.UTC, ).strftime("%Y-%m-%dT%H:%M:%S+00:00") etree.SubElement(url, "priority").text = "1.0" @@ -1284,7 +1287,7 @@ def rss(config: dict[str, typing.Any]) -> int: llog("generating an rss feed") ftime: str = "%a, %d %b %Y %H:%M:%S GMT" - now: datetime.datetime = datetime.datetime.utcnow() + now: datetime.datetime = datetime.datetime.now(datetime.UTC) root: etree.Element = etree.Element("rss") root.set("version", "2.0") @@ -1312,12 +1315,13 @@ def rss(config: dict[str, typing.Any]) -> int: link := f"{config['blog']}/{config['posts-dir']}/{slug}" ) etree.SubElement(item, "description").text = post["description"] + ( - f" [edited at {datetime.datetime.utcfromtimestamp(created).strftime(ftime)}]" + f" [edited at {datetime.datetime.fromtimestamp(created, datetime.UTC).strftime(ftime)}]" if created else "" ) - etree.SubElement(item, "pubDate").text = datetime.datetime.utcfromtimestamp( - post["created"] + etree.SubElement(item, "pubDate").text = datetime.datetime.fromtimestamp( + post["created"], + datetime.UTC, ).strftime(ftime) etree.SubElement(item, "guid").text = link etree.SubElement(item, "author").text = (