Diet plan for for stomach, lungs, liver , kidney,muscle growth
diet plan fatty liver GERD IBS kidney disease COPD asthma muscle growth 2025
diet nutrition fatty liver kidney disease COPD IBS
Mediterranean diet fatty liver kidney disease muscle
diet nutrition COPD asthma lung function
dietary protein muscle mass chronic disease
diet IBS GERD gastroesophageal reflux food
Important medical note: You have confirmed diagnoses of fatty liver (MASLD), IBS, GERD, kidney disease/stones, and a lung condition (COPD/asthma). This plan addresses all five simultaneously, but managing these together involves real trade-offs (e.g., high-protein for muscle vs. protein restriction for kidney disease). Please review this with your doctor and a registered dietitian before starting, especially regarding your kidney stage and COPD severity.
| CKD Stage | eGFR | Protein Target |
|---|---|---|
| Stage 1-2 | >60 | 0.8 g/kg/day |
| Stage 3 | 30-59 | 0.6-0.8 g/kg/day |
| Stage 4-5 (pre-dialysis) | <30 | 0.3-0.6 g/kg/day |
| Dialysis | - | 1.2 g/kg/day (higher) |
| Meal | What to Eat |
|---|---|
| Breakfast | Oats with blueberries + walnuts + chia seeds + 1 tbsp olive oil drizzled over + black coffee |
| Mid-morning | 2 boiled eggs + orange (or kiwi) + small handful of almonds |
| Lunch | Grilled salmon or chicken breast + brown rice or quinoa + steamed zucchini/spinach + olive oil |
| Afternoon snack | Lactose-free yogurt (low-FODMAP) or firm cheese + cucumber slices |
| Dinner (small, 3h before bed) | Baked fish or tofu + roasted carrots/bell peppers + small portion oats or rice |
| Hydration | 8-10 glasses of plain water/day. Herbal teas (ginger, peppermint for IBS). Limit coffee to 2-3 cups. No soda. |
| Food | Liver | Lungs | Gut | Kidney | Muscle |
|---|---|---|---|---|---|
| Salmon/sardines | β | β | β | β (limit portions) | β |
| Olive oil | β | β | β | β | - |
| Blueberries | β | β | β | β | - |
| Eggs | β | β | β | β (limit yolk) | β |
| Oats | β | β | β | β | β |
| Tofu/soy | β | - | β | β (low phosphorus vs meat) | β |
| Walnuts | β | β | β | β οΈ (limit if high potassium) | β |
| Coffee (2-3 cups) | β | β | β οΈ (avoid on empty stomach) | β | - |
| Supplement | Reason | Caution |
|---|---|---|
| Omega-3 (fish oil) | Liver, lungs, inflammation | Dose-dependent |
| Vitamin D | Muscle, immunity, lungs | Check levels first |
| Magnesium glycinate | Lungs/airways, IBS (constipation type) | Caution in CKD |
| Ketoanalog amino acids | Muscle support within protein restriction in CKD | Prescription-level supervision |
| Probiotics | IBS gut flora | Choose species-specific |
Disclaimer: This plan is educational and based on medical literature and clinical guidelines. Because you have multiple coexisting conditions (especially CKD + COPD + fatty liver), please consult your physician and a registered dietitian for personalized portion targets, protein limits based on your actual kidney function, and supplement safety. Never make major dietary changes for kidney disease without medical supervision.
Summerize it in two page 5:4 ratio created image
A clean, professional medical diet plan infographic poster in 5:4 ratio (landscape). Title at top: "ORGAN HEALTH DIET PLAN β PAGE 1 of 2" with a subtitle "For Fatty Liver, COPD/Asthma & IBS/GERD". Dark navy blue background with white and light green text. Three columns side by side: COLUMN 1 β LIVER (MASLD/Fatty Liver): Green icon of liver. EAT: Extra virgin olive oil (4 tbsp/day), Fatty fish (salmon, sardines 3x/week), Coffee 2-3 cups/day unsweetened, Blueberries & walnuts, Whole grains (oats, quinoa, brown rice), Cruciferous veggies (broccoli, cauliflower). AVOID: All added sugars & fructose, Fried & processed foods, Red/processed meats, Refined carbs (white bread, white rice), Alcohol completely. COLUMN 2 β LUNGS (COPD/Asthma): Blue lung icon. EAT: Small frequent meals (5-6/day), Antioxidant foods: bell peppers, spinach, citrus, Omega-3 fish & walnuts, Magnesium-rich: leafy greens, nuts, seeds, Easy-to-eat energy-dense foods. AVOID: Large single meals (worsens breathlessness), Carbonated drinks (causes bloating), Sulfite foods: wine, dried fruit, High-carb heavy meals (raises CO2), Eat largest meal early in the day. COLUMN 3 β STOMACH (IBS + GERD): Orange stomach icon. EAT (Low-FODMAP): Rice, oats, quinoa, sourdough, Carrots, spinach, zucchini, eggplant, Strawberries, blueberries, oranges, Eggs, fish, tofu, firm cheese, Lactose-free dairy. AVOID: High-FODMAP: wheat, garlic, onions, apples, beans, Acidic triggers: chocolate, mint, spicy food, Eat 3 hours before bedtime, Stay upright after meals (GERD). Bottom bar: "Foundation: Modified Mediterranean Diet β best evidence for all organ conditions". Clean infographic style, icons, bullet points, color-coded columns, professional medical design.
A clean, professional medical diet plan infographic poster in 5:4 ratio (landscape). Title at top: "ORGAN HEALTH DIET PLAN β PAGE 2 of 2" with subtitle "For Kidney Disease, Muscle Growth & Weekly Meal Plan". Dark navy blue background with white and amber/gold accent text. Three sections: LEFT SECTION β KIDNEYS (CKD + Stones): Red kidney icon. Protein targets table: Stage 1-2 (eGFR>60): 0.8g/kg/day | Stage 3 (eGFR 30-59): 0.6-0.8g/kg/day | Stage 4-5 pre-dialysis: 0.3-0.6g/kg/day | Dialysis: 1.2g/kg/day. RULES: Sodium under 2g/day, No salt substitutes with potassium, Avoid cola & processed foods (phosphorus), Drink 8-10 glasses water/day (stone prevention), Prefer plant protein over animal protein. AVOID: Processed meats, packaged foods, excess spinach/nuts (oxalate stones). MIDDLE SECTION β MUSCLE GROWTH (CKD-safe): Purple muscle/arm icon. Spread protein across 4-5 meals (20-30g per meal). Best sources: Eggs, salmon, tofu, edamame, quinoa, chicken breast. Leucine-rich foods trigger muscle synthesis. Resistance training 3x/week is KEY. Ketoanalog supplements (ask doctor). Even 0.8g/kg/day builds muscle with consistent exercise. RIGHT SECTION β 7-DAY MEAL FRAMEWORK: Yellow fork/plate icon. Breakfast: Oats + blueberries + walnuts + black coffee. Mid-morning: 2 boiled eggs + kiwi + almonds. Lunch: Grilled salmon/chicken + quinoa + steamed zucchini. Snack: Lactose-free yogurt + cucumber. Dinner (small, 3h before bed): Baked fish or tofu + roasted carrots + rice. Hydration: 8-10 glasses water + herbal teas. Bottom bar: "AVOID ACROSS ALL: Alcohol | Processed foods | Sugary drinks | Late large meals | Carbonated drinks | Red/processed meats daily". Bottom footnote small text: "Consult your physician and dietitian before starting β especially for kidney stage and protein limits." Clean icons, color-coded sections, professional medical infographic design.
Diet plan for - fatty liver gut health , muscle gain create image of it with diagram
A detailed, professional medical nutrition infographic poster. Title: "DIET PLAN: Fatty Liver + Gut Health + Muscle Gain" in bold white text on a deep teal/dark green background. Layout: Three main vertical sections with anatomical organ icons above each section (a liver illustration, a stomach/intestine illustration, and a muscle/bicep illustration drawn in clean medical diagram style). SECTION 1 β FATTY LIVER (liver diagram icon, golden yellow accent): Heading: "LIVER HEALTH" EAT: Extra virgin olive oil (4 tbsp/day), Salmon & sardines (3x/week), Unsweetened coffee (2-3 cups), Blueberries & walnuts, Oats, quinoa, brown rice, Broccoli & cauliflower, Avocado AVOID: Added sugars & fructose, Fried & processed foods, Alcohol, White bread & refined carbs, Red meat (excess) Key tip box: "5-10% weight loss can reverse fatty liver" SECTION 2 β GUT HEALTH / IBS (intestine diagram icon, orange accent): Heading: "GUT HEALTH" EAT (Low-FODMAP): Rice, oats, quinoa, sourdough, Carrots, zucchini, spinach, eggplant, Strawberries, blueberries, kiwi, oranges, Eggs, firm tofu, fish, lactose-free yogurt, Ginger & peppermint herbal teas, Probiotic-rich: kefir (lactose-free), miso AVOID: Garlic, onion, wheat, apples, beans, Fried/spicy food, Carbonated drinks, Eat 3 hours before bedtime, 5-6 small meals daily SECTION 3 β MUSCLE GAIN (bicep/muscle diagram icon, blue accent): Heading: "MUSCLE GROWTH" Protein per meal: 25-35g, Spread over 4-5 meals/day BEST SOURCES: Eggs (leucine-rich), Chicken breast, Salmon, Tofu & edamame, Quinoa (complete protein), Greek yogurt (lactose-free) TIMING: Post-workout protein within 2 hours, Resistance training 3x/week Key tip box: "Leucine triggers muscle protein synthesis" BOTTOM SECTION β "BEST FOODS FOR ALL 3 GOALS" β a horizontal row of illustrated food icons with labels: Salmon, Eggs, Oats, Blueberries, Olive Oil, Tofu, Quinoa, Walnuts β each with a small checkmark for which goal they support (liver/gut/muscle). BOTTOM BAR: "AVOID ACROSS ALL: Alcohol | Fried foods | Added sugar | Processed meats | Carbonated drinks" Style: Clean medical infographic, anatomical organ line drawings in each section header, food icons, color-coded sections, white text, professional nutrition poster design, no clutter.

Generate a downloadable PDF with shopping list for this diet
ls -la /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace/diet-plan && echo "ready"
mkdir -p /home/daytona/workspace/diet-plan && python3 -c "from reportlab.lib import colors; print('reportlab ok')"
~/diet-plan/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus import PageBreak
OUTPUT = "/home/daytona/workspace/diet-plan/Diet_Plan_Fatty_Liver_Gut_Muscle.pdf"
# ββ Colours ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
TEAL = colors.HexColor("#0D5C63")
GOLD = colors.HexColor("#F0A500")
ORANGE = colors.HexColor("#E07B39")
BLUE = colors.HexColor("#2B6CB0")
GREEN = colors.HexColor("#276749")
LIGHT_TEAL = colors.HexColor("#E6F4F5")
LIGHT_GOLD = colors.HexColor("#FFF8E7")
LIGHT_BLUE = colors.HexColor("#EBF4FF")
LIGHT_ORG = colors.HexColor("#FFF3EC")
LIGHT_GRN = colors.HexColor("#F0FFF4")
DARK_TEXT = colors.HexColor("#1A202C")
GREY_TEXT = colors.HexColor("#4A5568")
WHITE = colors.white
LIGHT_GREY = colors.HexColor("#F7FAFC")
MID_GREY = colors.HexColor("#CBD5E0")
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=1.8*cm,
leftMargin=1.8*cm,
topMargin=1.5*cm,
bottomMargin=1.5*cm,
title="Diet Plan: Fatty Liver, Gut Health & Muscle Gain",
author="Orris Health Assistant"
)
W = A4[0] - 3.6*cm # usable width
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
# Custom styles
TITLE_S = S("TitleS", fontSize=22, leading=28, textColor=WHITE,
alignment=TA_CENTER, fontName="Helvetica-Bold")
SUB_S = S("SubS", fontSize=11, leading=15, textColor=LIGHT_TEAL,
alignment=TA_CENTER, fontName="Helvetica")
H1 = S("H1", fontSize=14, leading=18, textColor=WHITE,
fontName="Helvetica-Bold", alignment=TA_CENTER)
H2 = S("H2", fontSize=11, leading=15, textColor=DARK_TEXT,
fontName="Helvetica-Bold")
H2W = S("H2W", fontSize=11, leading=15, textColor=WHITE,
fontName="Helvetica-Bold")
BODY = S("Body", fontSize=9, leading=13, textColor=DARK_TEXT,
fontName="Helvetica")
BODYW = S("BodyW", fontSize=9, leading=13, textColor=WHITE,
fontName="Helvetica")
SMALL = S("Small", fontSize=8, leading=11, textColor=GREY_TEXT,
fontName="Helvetica")
SMALLW = S("SmallW", fontSize=8, leading=11, textColor=WHITE,
fontName="Helvetica")
TICK = S("Tick", fontSize=9, leading=13, textColor=GREEN,
fontName="Helvetica-Bold")
CROSS = S("Cross", fontSize=9, leading=13, textColor=colors.HexColor("#C53030"),
fontName="Helvetica-Bold")
CENTER = S("Center", fontSize=9, leading=12, textColor=DARK_TEXT,
fontName="Helvetica", alignment=TA_CENTER)
CENTERB = S("CenterB",fontSize=10, leading=14, textColor=DARK_TEXT,
fontName="Helvetica-Bold", alignment=TA_CENTER)
NOTE = S("Note", fontSize=7.5,leading=11, textColor=GREY_TEXT,
fontName="Helvetica-Oblique", alignment=TA_CENTER)
def colored_table(data, col_widths, bg, text_color=DARK_TEXT, header_bg=None):
"""Helper to make a simple shaded table."""
t = Table(data, colWidths=col_widths)
cmds = [
("BACKGROUND", (0,0), (-1,-1), bg),
("TEXTCOLOR", (0,0), (-1,-1), text_color),
("FONTNAME", (0,0), (-1,-1), "Helvetica"),
("FONTSIZE", (0,0), (-1,-1), 9),
("LEADING", (0,0), (-1,-1), 13),
("LEFTPADDING",(0,0), (-1,-1), 8),
("RIGHTPADDING",(0,0),(-1,-1), 6),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING",(0,0),(-1,-1),5),
("ROWBACKGROUNDS",(0,0),(-1,-1),[bg, colors.HexColor("#FAFAFA") if bg==WHITE else bg]),
("BOX", (0,0), (-1,-1), 0.5, MID_GREY),
("INNERGRID", (0,0), (-1,-1), 0.3, MID_GREY),
("VALIGN", (0,0), (-1,-1), "TOP"),
]
if header_bg:
cmds += [
("BACKGROUND",(0,0),(-1,0), header_bg),
("TEXTCOLOR", (0,0),(-1,0), WHITE),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
]
t.setStyle(TableStyle(cmds))
return t
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story = []
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# HEADER BANNER
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
header = Table(
[[Paragraph("DIET PLAN", TITLE_S)],
[Paragraph("Fatty Liver Β· Gut Health Β· Muscle Gain", SUB_S)]],
colWidths=[W]
)
header.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), TEAL),
("TOPPADDING", (0,0),(-1,-1), 14),
("BOTTOMPADDING", (0,0),(-1,-1), 14),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
("ROUNDEDCORNERS",(0,0),(-1,-1), [8,8,8,8]),
]))
story.append(header)
story.append(Spacer(1, 0.4*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# SECTION HEADERS helper
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
def section_header(label, emoji, bg):
t = Table([[Paragraph(f"{emoji} {label}", H1)]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("TOPPADDING", (0,0),(-1,-1), 8),
("BOTTOMPADDING", (0,0),(-1,-1), 8),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
]))
return t
def eat_avoid_block(eat_items, avoid_items, bg_eat, bg_avoid, width):
"""Two-column eat/avoid table."""
eat_rows = [[Paragraph("β
EAT / INCLUDE", S("eh", fontSize=9, leading=13,
fontName="Helvetica-Bold", textColor=GREEN))]]
avoid_rows = [[Paragraph("β AVOID / LIMIT", S("ah", fontSize=9, leading=13,
fontName="Helvetica-Bold", textColor=colors.HexColor("#C53030")))]]
for item in eat_items:
eat_rows.append([Paragraph(f"β’ {item}", BODY)])
for item in avoid_items:
avoid_rows.append([Paragraph(f"β’ {item}", BODY)])
# Pad to equal length
while len(eat_rows) < len(avoid_rows):
eat_rows.append([Paragraph("", BODY)])
while len(avoid_rows) < len(eat_rows):
avoid_rows.append([Paragraph("", BODY)])
merged = [[eat_rows[i][0], avoid_rows[i][0]] for i in range(len(eat_rows))]
half = (width - 0.3*cm) / 2
t = Table(merged, colWidths=[half, half])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (0,-1), bg_eat),
("BACKGROUND", (1,0), (1,-1), bg_avoid),
("VALIGN", (0,0), (-1,-1), "TOP"),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 8),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("BOX", (0,0), (-1,-1), 0.5, MID_GREY),
("LINEAFTER", (0,0), (0,-1), 0.5, MID_GREY),
]))
return t
def tip_box(text, bg, accent):
t = Table([[Paragraph(f"π‘ {text}", S("tip", fontSize=8.5, leading=13,
fontName="Helvetica-Oblique", textColor=accent))]], colWidths=[W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), bg),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
("TOPPADDING", (0,0),(-1,-1), 6),
("BOTTOMPADDING", (0,0),(-1,-1), 6),
("BOX", (0,0),(-1,-1), 1, accent),
]))
return t
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# 1. FATTY LIVER
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("FATTY LIVER (MASLD / Non-Alcoholic)", "π«", GOLD))
story.append(Spacer(1, 0.2*cm))
story.append(eat_avoid_block(
eat_items=[
"Extra virgin olive oil β 4 tbsp/day",
"Fatty fish: salmon, sardines (3x/week)",
"Unsweetened coffee β 2-3 cups/day",
"Blueberries, raspberries, walnuts",
"Oats, quinoa, brown rice",
"Broccoli, cauliflower, Brussels sprouts",
"Avocado (healthy fats)",
"Green tea (antioxidants)",
],
avoid_items=[
"Added sugars & high-fructose corn syrup",
"Sugary drinks, soda, fruit juice",
"Alcohol (avoid completely)",
"Fried & fast foods",
"White bread, white rice, pastries",
"Red meat & processed meats (daily)",
"Trans fats (packaged/processed foods)",
],
bg_eat=LIGHT_GRN, bg_avoid=colors.HexColor("#FFF5F5"), width=W
))
story.append(Spacer(1, 0.2*cm))
story.append(tip_box(
"A 5β10% reduction in body weight can significantly reverse fatty liver. "
"The Mediterranean diet is the #1 evidence-based approach for MASLD.",
LIGHT_GOLD, GOLD
))
story.append(Spacer(1, 0.35*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# 2. GUT HEALTH
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("GUT HEALTH (IBS Β· GERD Β· Digestive Wellness)", "π«", ORANGE))
story.append(Spacer(1, 0.2*cm))
story.append(eat_avoid_block(
eat_items=[
"Rice, oats, quinoa, sourdough bread",
"Carrots, zucchini, spinach, eggplant",
"Strawberries, blueberries, kiwi, oranges",
"Eggs, firm tofu, fish",
"Lactose-free yogurt / kefir (probiotics)",
"Ginger & peppermint herbal teas",
"Miso, tempeh (fermented = gut flora)",
"Chia seeds (soluble fibre)",
],
avoid_items=[
"Garlic, onion, leeks (high FODMAP)",
"Wheat, rye, barley (excess fructans)",
"Apples, pears, watermelon, mango",
"Legumes/beans (in large quantities)",
"Milk, soft cheese, ice cream (lactose)",
"Fried, spicy, fatty foods",
"Carbonated & fizzy drinks",
"Eating within 3 hours of bedtime",
],
bg_eat=LIGHT_BLUE, bg_avoid=colors.HexColor("#FFF5F5"), width=W
))
story.append(Spacer(1, 0.2*cm))
story.append(tip_box(
"Eat 5-6 small meals daily. Stay upright 2-3 hrs after meals (GERD). "
"The Low-FODMAP diet is the strongest evidence-based approach for IBS (Nutrients 2025).",
LIGHT_ORG, ORANGE
))
story.append(Spacer(1, 0.35*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# 3. MUSCLE GAIN
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("MUSCLE GAIN (Protein Strategy & Training)", "πͺ", BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(eat_avoid_block(
eat_items=[
"Eggs (richest leucine source β triggers MPS)",
"Chicken breast / turkey",
"Salmon & tuna (protein + omega-3)",
"Tofu & edamame (plant-based complete)",
"Quinoa (only plant with all 9 amino acids)",
"Lactose-free Greek yogurt",
"Oats + protein shake post-workout",
"Sweet potato (carbs for muscle recovery)",
],
avoid_items=[
"Skipping meals β MPS needs regular feeding",
"Very high alcohol β blunts protein synthesis",
"Ultra-processed protein bars (added sugar)",
"Crash diets / severe calorie restriction",
"Sedentary lifestyle β diet alone is not enough",
],
bg_eat=LIGHT_BLUE, bg_avoid=colors.HexColor("#FFF5F5"), width=W
))
story.append(Spacer(1, 0.2*cm))
# Protein targets mini-table
proto_data = [
[Paragraph("Target", S("ph", fontSize=9, fontName="Helvetica-Bold", textColor=WHITE)),
Paragraph("Amount", S("ph", fontSize=9, fontName="Helvetica-Bold", textColor=WHITE)),
Paragraph("Timing", S("ph", fontSize=9, fontName="Helvetica-Bold", textColor=WHITE))],
[Paragraph("Daily protein", BODY), Paragraph("1.6β2.0 g / kg body weight", BODY),
Paragraph("Spread across 4-5 meals", BODY)],
[Paragraph("Per meal", BODY), Paragraph("25β35 g protein", BODY),
Paragraph("Every 3-4 hours", BODY)],
[Paragraph("Post-workout", BODY), Paragraph("30β40 g within 2 hours", BODY),
Paragraph("Pair with fast carbs", BODY)],
]
proto_t = Table(proto_data, colWidths=[W*0.28, W*0.36, W*0.36])
proto_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), BLUE),
("BACKGROUND", (0,1),(-1,-1), LIGHT_BLUE),
("ROWBACKGROUNDS",(0,1),(-1,-1),[LIGHT_BLUE, WHITE]),
("TEXTCOLOR", (0,0),(-1,0), WHITE),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0),(-1,-1), 9),
("LEADING", (0,0),(-1,-1), 13),
("LEFTPADDING", (0,0),(-1,-1), 8),
("RIGHTPADDING", (0,0),(-1,-1), 8),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING", (0,0),(-1,-1), 5),
("BOX", (0,0),(-1,-1), 0.5, MID_GREY),
("INNERGRID", (0,0),(-1,-1), 0.3, MID_GREY),
]))
story.append(proto_t)
story.append(Spacer(1, 0.2*cm))
story.append(tip_box(
"Leucine is the key amino acid that triggers muscle protein synthesis. "
"Resistance training 3x/week combined with adequate protein is the most effective strategy.",
LIGHT_BLUE, BLUE
))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# PAGE 2
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(PageBreak())
# Header p2
header2 = Table(
[[Paragraph("7-DAY MEAL PLAN & SHOPPING LIST", TITLE_S)],
[Paragraph("Fatty Liver Β· Gut Health Β· Muscle Gain", SUB_S)]],
colWidths=[W]
)
header2.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), TEAL),
("TOPPADDING", (0,0),(-1,-1), 12),
("BOTTOMPADDING", (0,0),(-1,-1), 12),
("LEFTPADDING", (0,0),(-1,-1), 10),
("RIGHTPADDING", (0,0),(-1,-1), 10),
]))
story.append(header2)
story.append(Spacer(1, 0.4*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# 7-DAY MEAL PLAN
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("7-DAY SAMPLE MEAL PLAN", "π
", TEAL))
story.append(Spacer(1, 0.2*cm))
days = [
("Mon", "Oats + blueberries + walnuts + black coffee",
"Grilled salmon + quinoa + steamed zucchini + olive oil",
"2 boiled eggs + kiwi + almonds",
"Baked salmon + brown rice + roasted carrots"),
("Tue", "Scrambled eggs (2) + sourdough toast + herbal tea",
"Chicken breast + oat salad + spinach + olive oil dressing",
"Lactose-free yogurt + strawberries",
"Tofu stir-fry + rice noodles + bell peppers + ginger"),
("Wed", "Quinoa porridge + raspberries + chia seeds + coffee",
"Tuna salad + brown rice + cucumber + olive oil",
"Handful of walnuts + orange",
"Grilled chicken + sweet potato + steamed broccoli"),
("Thu", "Oats + banana (small) + peanut butter + black coffee",
"Salmon bowl + quinoa + edamame + avocado",
"2 boiled eggs + blueberries",
"Baked cod + rice + roasted zucchini + olive oil"),
("Fri", "Smoothie: spinach + blueberries + oat milk + protein",
"Chicken + brown rice + roasted carrots + herbs",
"Lactose-free yogurt + kiwi",
"Tofu + quinoa + stir-fried spinach + sesame oil"),
("Sat", "2 eggs + sourdough + avocado + herbal tea",
"Sardines on toast (sourdough) + side salad",
"Almonds + orange",
"Grilled salmon + sweet potato + green beans"),
("Sun", "Oats + walnuts + blueberries + coffee (prep day)",
"Big grain bowl: quinoa + chicken + roasted veg + olive oil",
"Hard-boiled eggs + carrot sticks",
"Baked fish + brown rice + steamed broccoli"),
]
meal_header = [
Paragraph("Day", S("mh", fontSize=8, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Breakfast", S("mh", fontSize=8, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Lunch", S("mh", fontSize=8, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Snack", S("mh", fontSize=8, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Dinner", S("mh", fontSize=8, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
]
meal_data = [meal_header]
for i, (day, b, l, s, d) in enumerate(days):
bg = LIGHT_TEAL if i % 2 == 0 else WHITE
meal_data.append([
Paragraph(day, S("dc", fontSize=8.5, fontName="Helvetica-Bold",
textColor=TEAL, alignment=TA_CENTER)),
Paragraph(b, SMALL), Paragraph(l, SMALL),
Paragraph(s, SMALL), Paragraph(d, SMALL),
])
meal_t = Table(meal_data, colWidths=[W*0.07, W*0.235, W*0.255, W*0.185, W*0.255])
row_bgs = [TEAL] + [LIGHT_TEAL if i%2==0 else WHITE for i in range(7)]
meal_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), TEAL),
("TEXTCOLOR", (0,0),(-1,0), WHITE),
("ROWBACKGROUNDS",(0,1),(-1,-1),[LIGHT_TEAL, WHITE]),
("FONTSIZE", (0,0),(-1,-1), 8),
("LEADING", (0,0),(-1,-1), 11),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING", (0,0),(-1,-1), 5),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BOX", (0,0),(-1,-1), 0.5, MID_GREY),
("INNERGRID", (0,0),(-1,-1), 0.3, MID_GREY),
]))
story.append(meal_t)
story.append(Spacer(1, 0.35*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# SHOPPING LIST β 3 columns
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("WEEKLY SHOPPING LIST", "π", GREEN))
story.append(Spacer(1, 0.2*cm))
def shop_col(title, items, bg, accent):
rows = [[Paragraph(title, S("sh", fontSize=9.5, fontName="Helvetica-Bold",
textColor=WHITE, alignment=TA_CENTER))]]
for item in items:
rows.append([Paragraph(f"β {item}", SMALL)])
t = Table(rows, colWidths=[(W-0.4*cm)/3])
t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), accent),
("BACKGROUND", (0,1),(-1,-1), bg),
("ROWBACKGROUNDS",(0,1),(-1,-1),[bg, WHITE]),
("FONTSIZE", (0,0),(-1,-1), 8.5),
("LEADING", (0,0),(-1,-1), 13),
("LEFTPADDING", (0,0),(-1,-1), 7),
("RIGHTPADDING", (0,0),(-1,-1), 5),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "TOP"),
("BOX", (0,0),(-1,-1), 0.6, accent),
("INNERGRID", (0,0),(-1,-1), 0.3, MID_GREY),
]))
return t
proteins_col = shop_col(
"π₯© PROTEINS",
[
"Salmon fillet (500g)",
"Sardines (canned, 4 tins)",
"Tuna (canned in water, 3 tins)",
"Chicken breast (1 kg)",
"Cod / white fish (400g)",
"Eggs (12β18)",
"Firm tofu (400g block Γ2)",
"Edamame (frozen, 300g)",
"Lactose-free Greek yogurt Γ4",
"Lactose-free kefir (500ml)",
],
LIGHT_GRN, GREEN
)
carbs_col = shop_col(
"πΎ CARBS & GRAINS",
[
"Rolled oats (1 kg)",
"Quinoa (500g)",
"Brown rice (1 kg)",
"Sourdough bread (1 loaf)",
"Rice noodles (200g)",
"Sweet potatoes Γ4",
"Oat milk / almond milk (1 L)",
"Chia seeds (200g)",
"Flaxseeds (200g)",
"Walnuts (200g)",
"Almonds (200g)",
],
LIGHT_TEAL, TEAL
)
veg_col = shop_col(
"π₯¦ VEG, FRUIT & OILS",
[
"Broccoli (1 head)",
"Cauliflower (1 head)",
"Spinach (fresh, 200g)",
"Zucchini Γ3",
"Carrots Γ6",
"Bell peppers Γ4 (mixed)",
"Eggplant Γ2",
"Avocado Γ4",
"Blueberries (300g fresh/frozen)",
"Strawberries (300g)",
"Kiwi Γ6",
"Oranges Γ6",
"Bananas Γ4 (small)",
"Extra virgin olive oil (1 L)",
"Sesame oil (small bottle)",
"Ginger root (fresh)",
"Herbal teas (ginger, peppermint)",
"Ground coffee (250g)",
"Lemons Γ4",
"Green tea bags",
],
LIGHT_ORG, ORANGE
)
shop_row = Table([[proteins_col, carbs_col, veg_col]],
colWidths=[(W-0.4*cm)/3]*3,
hAlign="LEFT")
shop_row.setStyle(TableStyle([
("VALIGN", (0,0),(-1,-1), "TOP"),
("LEFTPADDING", (0,0),(-1,-1), 3),
("RIGHTPADDING", (0,0),(-1,-1), 3),
("TOPPADDING", (0,0),(-1,-1), 0),
("BOTTOMPADDING", (0,0),(-1,-1), 0),
]))
story.append(shop_row)
story.append(Spacer(1, 0.35*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# POWER FOODS TABLE
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
story.append(section_header("POWER FOODS β BENEFIT MATRIX", "β", TEAL))
story.append(Spacer(1, 0.2*cm))
def tick(yes): return Paragraph("β
" if yes else "β", CENTER)
pf_header = [
Paragraph("Food", S("pfh", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE)),
Paragraph("Liver", S("pfh", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Gut", S("pfh", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Muscle", S("pfh", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)),
Paragraph("Why it helps", S("pfh", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE)),
]
pf_rows = [
["Salmon / Sardines", True, True, True, "Omega-3s cut liver inflammation; anti-inflammatory for gut; high leucine for MPS"],
["Eggs", True, True, True, "Choline for liver health; easy to digest; richest leucine source for muscle"],
["Extra Virgin Olive Oil", True, True, False, "Polyphenols reduce liver fat; anti-inflammatory; lubricates gut"],
["Blueberries", True, True, False, "Anthocyanins reduce liver oxidative stress; prebiotic fibre for gut flora"],
["Oats", True, True, True, "Beta-glucan lowers liver fat; soluble fibre soothes IBS; slow-release carbs"],
["Quinoa", True, True, True, "Complete protein (all 9 AAs); low FODMAP; supports liver and muscle equally"],
["Tofu / Edamame", True, True, True, "Plant protein = less phosphorus load; low FODMAP; complete amino acids"],
["Walnuts", True, True, True, "ALA omega-3 for liver; prebiotic fibre for gut; arginine for muscle blood flow"],
["Broccoli", True, True, False, "Sulforaphane activates liver detox enzymes; anti-inflammatory"],
["Avocado", True, True, False, "Monounsaturated fats reduce liver fat; gut-friendly soluble fibre"],
["Lactose-free yogurt", False, True, True, "Live cultures restore gut microbiome; high protein for muscle"],
["Coffee (unsweetened)", True, False, False, "3 cups/day shown to reduce liver fibrosis risk significantly"],
]
pf_data = [pf_header]
for i, (food, liv, gut, mus, why) in enumerate(pf_rows):
bg = LIGHT_TEAL if i % 2 == 0 else WHITE
pf_data.append([
Paragraph(food, SMALL),
tick(liv), tick(gut), tick(mus),
Paragraph(why, SMALL),
])
pf_t = Table(pf_data, colWidths=[W*0.18, W*0.08, W*0.07, W*0.08, W*0.59])
pf_t.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,0), TEAL),
("TEXTCOLOR", (0,0),(-1,0), WHITE),
("FONTNAME", (0,0),(-1,0), "Helvetica-Bold"),
("ROWBACKGROUNDS",(0,1),(-1,-1),[LIGHT_TEAL, WHITE]),
("FONTSIZE", (0,0),(-1,-1), 8),
("LEADING", (0,0),(-1,-1), 11),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING", (0,0),(-1,-1), 5),
("TOPPADDING", (0,0),(-1,-1), 4),
("BOTTOMPADDING", (0,0),(-1,-1), 4),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
("BOX", (0,0),(-1,-1), 0.5, MID_GREY),
("INNERGRID", (0,0),(-1,-1), 0.3, MID_GREY),
("ALIGN", (1,0),(3,-1), "CENTER"),
]))
story.append(pf_t)
story.append(Spacer(1, 0.35*cm))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# FOOTER
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
avoid_bar = Table(
[[Paragraph(
"β AVOID ACROSS ALL CONDITIONS: Alcohol | Fried foods | Added sugar | "
"Processed meats | Carbonated drinks | Refined carbs | Late-night heavy meals",
S("avd", fontSize=8.5, fontName="Helvetica-Bold", textColor=WHITE, alignment=TA_CENTER)
)]],
colWidths=[W]
)
avoid_bar.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), colors.HexColor("#C53030")),
("TOPPADDING", (0,0),(-1,-1), 8),
("BOTTOMPADDING", (0,0),(-1,-1), 8),
("LEFTPADDING", (0,0),(-1,-1), 8),
("RIGHTPADDING", (0,0),(-1,-1), 8),
]))
story.append(avoid_bar)
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"βοΈ Medical Disclaimer: This diet plan is for general informational purposes. "
"Please consult your physician or a registered dietitian before making significant dietary changes, "
"especially if you have diagnosed conditions or take medications.",
NOTE
))
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# BUILD
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
doc.build(story)
print("PDF generated:", OUTPUT)
cd /home/daytona/workspace/diet-plan && python3 generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/diet-plan/Diet_Plan_Fatty_Liver_Gut_Muscle.pdf
Diet Plan Fatty Liver Gut Muscle
PDF Document Β· PDF