ઉકત પીડીએફનો અભ્યાસ કરી અને એક પણ પોઈંટ છૂટે નહી તેમ શોર્ટ નોટ ૧૦ પેજની બનાવ દોસત , પીડીએફ બનાવજે
cd /home/daytona/workspace/attachments/4ee4a1c8-8819-4c53-b807-2a6dd27bddab && p…
cd /home/daytona/workspace/attachments/4ee4a1c8-8819-4c53-b807-2a6dd27bddab && p…
python3 -c " from reportlab.pdfgen import canvas from reportlab.lib.pagesizes im…
python3 -c " import subprocess # Check for any available fonts that support unic…
# Check if Google Noto Gujarati fonts are available find /usr/share/fonts -name …
~/ice_march2_notes/create_notes.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
ICE MARCH 2 - Short Notes PDF Generator
Gujarati Current Affairs Short Notes
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer,
Table, TableStyle, HRFlowable, KeepTogether)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
import os
# Register Gujarati fonts
FONT_PATH = "/home/daytona/workspace/circuit-theory-pdf/"
pdfmetrics.registerFont(TTFont('NotoGuj', FONT_PATH + 'NotoSansGujarati-Regular.ttf'))
pdfmetrics.registerFont(TTFont('NotoGujBold', FONT_PATH + 'NotoSansGujarati-Bold.ttf'))
# Output path
OUTPUT_DIR = "/home/daytona/workspace/ice_march2_notes/"
os.makedirs(OUTPUT_DIR, exist_ok=True)
OUTPUT_FILE = OUTPUT_DIR + "ICE_MARCH2_ShortNotes.pdf"
# Page setup
doc = SimpleDocTemplate(
OUTPUT_FILE,
pagesize=A4,
rightMargin=15*mm,
leftMargin=15*mm,
topMargin=18*mm,
bottomMargin=15*mm,
)
W, H = A4
# ── Color palette ──────────────────────────────────────────────────────────────
DARK_BLUE = colors.HexColor('#0D2B6B')
MEDIUM_BLUE = colors.HexColor('#1565C0')
LIGHT_BLUE = colors.HexColor('#E3F2FD')
ACCENT = colors.HexColor('#FF6F00')
GREEN = colors.HexColor('#1B5E20')
LIGHT_GREEN = colors.HexColor('#E8F5E9')
ORANGE_BG = colors.HexColor('#FFF3E0')
PURPLE = colors.HexColor('#4A148C')
LIGHT_PURPLE= colors.HexColor('#F3E5F5')
RED = colors.HexColor('#B71C1C')
LIGHT_RED = colors.HexColor('#FFEBEE')
TEAL = colors.HexColor('#004D40')
LIGHT_TEAL = colors.HexColor('#E0F2F1')
GREY_BG = colors.HexColor('#F5F5F5')
DARK_GREY = colors.HexColor('#424242')
WHITE = colors.white
BLACK = colors.black
# ── Styles ─────────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, font='NotoGuj', size=10, leading=15, color=BLACK, align=TA_LEFT,
spaceBefore=2, spaceAfter=2, bold=False, bg=None, lpad=0, rpad=0, tpad=0, bpad=2):
f = 'NotoGujBold' if bold else font
kw = dict(fontName=f, fontSize=size, leading=leading, textColor=color,
alignment=align, spaceBefore=spaceBefore, spaceAfter=spaceAfter,
leftIndent=lpad, rightIndent=rpad)
if bg:
kw['backColor'] = bg
return ParagraphStyle(name, **kw)
main_title = S('main_title', size=20, leading=26, color=WHITE, align=TA_CENTER, bold=True, spaceBefore=0, spaceAfter=0)
cover_sub = S('cover_sub', size=13, leading=18, color=LIGHT_BLUE, align=TA_CENTER, bold=False, spaceBefore=4, spaceAfter=4)
part_title = S('part_title', size=15, leading=20, color=WHITE, align=TA_CENTER, bold=True, spaceBefore=0, spaceAfter=0)
section_hdr = S('section_hdr', size=12, leading=16, color=WHITE, align=TA_LEFT, bold=True, spaceBefore=4, spaceAfter=3)
sub_hdr = S('sub_hdr', size=11, leading=15, color=DARK_BLUE, align=TA_LEFT, bold=True, spaceBefore=6, spaceAfter=2)
body = S('body', size=10, leading=15, color=DARK_GREY, align=TA_JUSTIFY, spaceBefore=2, spaceAfter=2)
bullet_sty = S('bullet', size=10, leading=15, color=DARK_GREY, align=TA_LEFT, lpad=12, spaceBefore=1, spaceAfter=1)
note_sty = S('note', size=9, leading=13, color=DARK_GREY, align=TA_LEFT, lpad=6, spaceBefore=1, spaceAfter=1)
small_bold = S('small_bold', size=9.5, leading=13, color=DARK_BLUE, bold=True, spaceBefore=1, spaceAfter=1)
tbl_hdr_sty = S('tbl_hdr', size=9.5, leading=13, color=WHITE, align=TA_CENTER, bold=True)
tbl_cell = S('tbl_cell', size=9, leading=13, color=DARK_GREY, align=TA_LEFT)
# ── Helper functions ───────────────────────────────────────────────────────────
def colored_heading(text, bg_color=DARK_BLUE, text_color=WHITE, size=12, top=6, bot=3):
data = [[Paragraph(text, S('_ch', size=size, leading=size+4, color=text_color, bold=True, align=TA_LEFT))]]
t = Table(data, colWidths=[W - 30*mm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg_color),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
('ROUNDEDCORNERS', [4]),
]))
return [Spacer(1, top), t, Spacer(1, bot)]
def info_box(text, bg=LIGHT_BLUE, border_color=MEDIUM_BLUE):
data = [[Paragraph(text, S('_ib', size=9.5, leading=14, color=DARK_BLUE, align=TA_JUSTIFY))]]
t = Table(data, colWidths=[W - 30*mm])
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), bg),
('BOX', (0,0), (-1,-1), 1, border_color),
('TOPPADDING', (0,0), (-1,-1), 5),
('BOTTOMPADDING', (0,0), (-1,-1), 5),
('LEFTPADDING', (0,0), (-1,-1), 8),
('RIGHTPADDING', (0,0), (-1,-1), 8),
]))
return [t, Spacer(1, 3)]
def bullet(text, sym='●', color=MEDIUM_BLUE):
txt = f'<font color="#{color.hexval()[2:] if hasattr(color,"hexval") else "1565C0"}">{sym}</font> {text}'
return Paragraph(txt, bullet_sty)
def make_table(headers, rows, col_widths=None):
if col_widths is None:
total = W - 30*mm
col_widths = [total / len(headers)] * len(headers)
data = [[Paragraph(h, tbl_hdr_sty) for h in headers]]
for row in rows:
data.append([Paragraph(str(c), tbl_cell) for c in row])
t = Table(data, colWidths=col_widths)
t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,0), DARK_BLUE),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, GREY_BG]),
('BOX', (0,0), (-1,-1), 0.5, colors.grey),
('INNERGRID', (0,0), (-1,-1), 0.3, colors.lightgrey),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 5),
('RIGHTPADDING', (0,0), (-1,-1), 5),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
]))
return [t, Spacer(1, 5)]
def page_header_cb(canvas, doc):
canvas.saveState()
canvas.setFillColor(DARK_BLUE)
canvas.rect(0, H - 12*mm, W, 12*mm, fill=1, stroke=0)
canvas.setFont('NotoGujBold', 9)
canvas.setFillColor(WHITE)
canvas.drawString(15*mm, H - 8*mm, 'ICE MARCH 2026 - સાપ્તાહિક ચાલુ ઘટનાઓ')
canvas.drawRightString(W - 15*mm, H - 8*mm, 'SHORT NOTES')
# footer
canvas.setFillColor(DARK_BLUE)
canvas.rect(0, 0, W, 10*mm, fill=1, stroke=0)
canvas.setFont('NotoGuj', 8)
canvas.setFillColor(WHITE)
canvas.drawString(15*mm, 3*mm, 'ICE Rajkot - icerajkotofficial')
canvas.drawRightString(W - 15*mm, 3*mm, f'પૃષ્ઠ {doc.page}')
canvas.restoreState()
# ══════════════════════════════════════════════════════════════════════════════
# BUILD CONTENT
# ══════════════════════════════════════════════════════════════════════════════
story = []
# ─────────────────────────────────────────────────────────────────
# COVER PAGE
# ─────────────────────────────────────────────────────────────────
cover_data = [[
Paragraph('ICE', S('ct1', size=36, leading=42, color=WHITE, bold=True, align=TA_CENTER)),
]]
cover_top = Table(cover_data, colWidths=[W - 30*mm])
cover_top.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), DARK_BLUE),
('TOPPADDING', (0,0), (-1,-1), 18),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
('LEFTPADDING', (0,0), (-1,-1), 0),
]))
cover_mid_data = [[
Paragraph('MARCH 2026 - Week 2', S('cm1', size=22, leading=28, color=WHITE, bold=True, align=TA_CENTER)),
]]
cover_mid = Table(cover_mid_data, colWidths=[W - 30*mm])
cover_mid.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), MEDIUM_BLUE),
('TOPPADDING', (0,0), (-1,-1), 8),
('BOTTOMPADDING', (0,0), (-1,-1), 8),
]))
cover_sub_data = [[
Paragraph('સાપ્તાહિક ચાલુ ઘટનાઓ - શોર્ટ નોટ્સ\nWeekly Current Affairs Short Notes',
S('cs1', size=14, leading=20, color=DARK_BLUE, align=TA_CENTER)),
]]
cover_sub_t = Table(cover_sub_data, colWidths=[W - 30*mm])
cover_sub_t.setStyle(TableStyle([
('BACKGROUND', (0,0), (-1,-1), LIGHT_BLUE),
('TOPPADDING', (0,0), (-1,-1), 10),
('BOTTOMPADDING', (0,0), (-1,-1), 10),
]))
story.append(Spacer(1, 20*mm))
story.append(cover_top)
story.append(cover_mid)
story.append(cover_sub_t)
story.append(Spacer(1, 8*mm))
# Topics box on cover
topics = [
['08 માર્ચ', 'આંતરરાષ્ટ્રીય મહિલા દિવસ, રાઇસિના ડાયલૉગ 2026'],
['09 માર્ચ', 'ICC T-20 વર્લ્ડ કપ 2026 - ભારત ચૅમ્પિયન, ઓલ ઇંગ્લૅન્ડ બૅડ.'],
['10 માર્ચ', 'CISF સ્થાપના દિવસ, નવલરામ પંડ્યા જન્મ જ્યંતિ, અમે.-ઇઝ.-ઇ. સંઘર્ષ'],
['11 માર્ચ', 'સ. સૈયાજીરાવ ગ.3 જ., Lamitiye-2026 ભારત-સેશૅ., ઘાતક ડ્રૉન'],
['12 માર્ચ', 'સાઇ. સૅન્સ. ડે, દાંડી-96 વર્ષ, SIPRI - ભારત 2જો સૌ.મ. આ.'],
['13 માર્ચ', 'ભારત-અ. કપાસ નિ., Fiscal Health Index, Op.Sankalp'],
['14 માર્ચ', 'ઑ. ભારત-ઑ. ગ. ?, UM Day-Pi Day, ISRO-SpaDeX, ઉ.ભ. ભ. SC'],
['Gujarat', 'Pavagadh ફ્લાઇ., Lake & Air Watch, OMR RA ?, PoK FIR'],
]
cov_table = make_table(['તારીખ', 'મુખ્ય ઘટના'], topics, col_widths=[35*mm, W-30*mm-35*mm])
story += cov_table
story.append(Spacer(1, 5*mm))
info = info_box('📋 આ Short Notes ICE Rajkot MARCH 2026 (Week 2) Magazine પર આધારિત છે. સ્પર્ધાત્મક પરીક્ષા ઉમેદવારો માટે, એક પણ મહત્ત્વના મુદ્દા ન ચૂકે તે રીતે તૈયાર કરેલ.')
story += info
from reportlab.platypus import PageBreak
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 2 ── 08 MARCH
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 08 MARCH 2026 - SUNDAY', bg_color=DARK_BLUE)
# ── 1. International Women's Day ──
story += colored_heading('① આંતરરાષ્ટ્રીય મહિલા દિવસ (International Women\'s Day)', MEDIUM_BLUE)
story.append(Paragraph('દર વર્ષે <b>8 માર્ચ</b>ના રોજ સમગ્ર વિશ્વમાં ઉજ્વણી.', body))
data_iwd = [
['મૂળ ઉદ્દેશ', 'મહિલા અધિકારોના આંદોલનની યાદ અને નારીના ઉત્કર્ષ માટે લોકજાગૃતિ'],
['પ્રથમ સૂચન', '1910 - International Socialist Women Conference'],
['રશિયામાં', '1917 - મહિલાઓને મત અધિકાર → 8 માર્ચ રાષ્ટ્રીય રજા'],
['UN માન્યતા', '1975 - 8 માર્ચ આ. મ. દિ. ઘોષિત'],
['2026ની Theme', '"Rights. Justice. Action. For ALL Women and Girls"'],
]
story += make_table(['વિષય', 'વિગત'], data_iwd, col_widths=[55*mm, W-30*mm-55*mm])
# ── 2. Raisina Dialogue ──
story += colored_heading('② રાઇસિના ડાયલૉગ 2026 (Raisina Dialogue)', MEDIUM_BLUE)
story.append(Paragraph('નવી દિલ્હી ખાતે <b>11મી આવૃત્તિ</b> યોજાઈ.', body))
story.append(bullet('ઉદ્ઘાટન: PM નરેન્દ્ર ભાઈ મોદી'))
story.append(bullet('મુખ્ય અતિથિ: Finland ના રાષ્ટ્રપ્રમુખ Alexander Stubb'))
story.append(bullet('કેન્યન્ US-Cabinet Secretary Musalia Mudavadi પણ હાજર'))
story.append(bullet('~2700 સહભાગી, 110+ દેશોનું પ્રતિનિધિત્વ'))
story.append(bullet('2026 Theme: "Samskara: Assertion, Accommodation, Advancement"'))
story.append(Spacer(1,3))
themes_data = [
['1', 'વિવાદિત સીમાઓ: શક્તિ, ધ્રુવીયતા અને પરિઘ'],
['2', 'Commons નું સમરક: નવા જૂથો, નવા વાલી, નવા રસ્તા'],
['3', 'સફેદ વ્હેલ: Agenda 2030 ની શોધ'],
['4', 'અગ્યારમો કલાક: આબોહવા, સંઘર્ષ અને વિલંબ'],
['5', 'TomorrowLand: Tech-Topia તરફ'],
['6', 'Tariff ના સમયમાં વ્યાપાર: પ્રાપ્તિ, સ્થિરતા, પુનઃ શોધ'],
]
story += make_table(['#', 'છ વિષય સ્તંભ'], themes_data, col_widths=[12*mm, W-30*mm-12*mm])
story.append(Paragraph('<b>Raisina Dialogue શું છે?</b> ભૌગોલિક રાજનીતિ અને ભૂ-અર્થશાસ્ત્ર પર વાર્ષિક પરિષદ. Shanghai-La Dialogue ની પ્રેરણા. નવી દિલ્હીમાં આયોજન.', note_sty))
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 3 ── 09 MARCH
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 09 MARCH 2026 - MONDAY', bg_color=DARK_BLUE)
# ICC T20 World Cup
story += colored_heading('③ ICC T-20 વર્લ્ડ કપ 2026 - ભારત ચૅમ્પિયન!', ACCENT)
story.append(Paragraph('<b>7 ફેબ્રુ. - 8 માર્ચ 2026</b> | ભારત અને શ્રીલંકામાં આયોજન.', body))
icc_data = [
['10મો ICC T-20 World Cup', 'ભારત + શ્રીલંકા (Co-host)'],
['ભાગ લેનારી ટીમ', '20 ટીમ'],
['Final Match Venue', 'Narendra Modi Stadium, Ahmedabad, Gujarat'],
['Final: ભારત vs ન્યૂઝીલૅન્ડ', 'ભારત 255/x vs NZ 159 (19 ov) → ભારત 96 run.'],
['Player of the Match', 'Jasprit Bumrah (4 wickets)'],
['Player of Series', 'Sanju Samson (Man of the Tournament)'],
['T-20 WC ભારત ની જીત', '3જી વખત (2007, 2024, 2026)'],
['Semi-Final 1', 'NZ vs S. Africa → NZ wins'],
['Semi-Final 2', 'IND vs ENG → IND wins'],
]
story += make_table(['વિષય', 'વિગત'], icc_data, col_widths=[70*mm, W-30*mm-70*mm])
# Batting records box
story += info_box('<b>મહત્ત્વના Record:</b> ભારત Third time T-20 WC Champion. Sanju Samson Most Run scorer. Bumrah Most wickets. Final 96 run-ની ઐતિહાસિક જીત.')
# All England Badminton
story += colored_heading('④ ઓલ ઇંગ્લૅન્ડ બૅડ.ચૅ.શિ. 2026 ― Final માં શ્રી Lakshyasen', colors.HexColor('#1B5E20'))
story.append(bullet('All England Badminton Championship 2026 ― ઐતિહાસિક Final!'))
story.append(bullet('ભારતના Lakshyasen Final સુધી પહોંચ્યા - (Men\'s Single)'))
story.append(bullet('Lakshyasen ← ભારતના top singles Badminton player'))
# India - 1000 ton Rice
story += colored_heading('⑤ ભારતે મળાવીને 1000 ટન ચોખા મોક્ળ્યા', colors.HexColor('#004D40'))
story.append(bullet('ભારતે Maldives ને 1000 ટન ચોખા (Rice) Humanitarian Aid'))
story.append(bullet('ભારત-Maldives સંબંધ સ્ટ્રૅટૅજિક: SAGAR Policy, Neighbourhood First'))
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 4 ── 10 MARCH + IRAN-ISRAEL CONFLICT PART 1
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 10 MARCH 2026 - TUESDAY', bg_color=DARK_BLUE)
# CISF
story += colored_heading('⑥ CISF - કેન્દ્રીય ઔ.સ.ન. 57મો સ્થાપના દિવસ', MEDIUM_BLUE)
cisf_data = [
['CISF Full Form', 'Central Industrial Security Force'],
['સ્થાપના', '10 March 1969'],
['Ministry', 'Ministry of Home Affairs, Govt. of India'],
['Headquarters', 'New Delhi'],
['કાર્ય', 'Nuclear Plants, Airports, PSUs, Heritage Sites ની સુરક્ષા'],
]
story += make_table(['વિષય', 'વિગત'], cisf_data, col_widths=[60*mm, W-30*mm-60*mm])
# Navalram Pandya
story += colored_heading('⑦ નવલરામ પંડ્યાની જ્ઞ.જ. (10 March)', colors.HexColor('#6A1B9A'))
story.append(bullet('ગુજરાતી સાહિત્ય ― Noble personality'))
story.append(bullet('ગ્રંથ "ભઠ્ઠ" ― ઇ.1867 | Notable works: Veno Vivah Vishayak, Pandita-Bharya'))
story.append(bullet('ગ.ગ. (Dhana Bhagat) - Gujarati Social Reformer'))
# ── Iran-Israel-America Conflict (MAJOR TOPIC - Many pages) ──
story += colored_heading('⑧ અમેરિકા - ઇઝ્રૉઇ. - ઇ. સ. (America-Israel-Iran Conflict)', RED)
story += info_box('<b>⚠️ પ્રમુખ ઘટના:</b> અમેરિકા-ઇઝ્રૉઇ. ની ઇ. 6 April, 2025 ના ઇ. ઇ. Yemen 7aps + F22 + B-52 Airstrikes. Iran retaliation. Major development!', LIGHT_RED, RED)
conflict_data = [
['Khamenei નિધન', 'ઇ.-ઇ. હુમ. → Iran Supreme Leader Khamenei નું મૃત્યુ'],
['અ. ઇ. 40 દિ. શોક', 'Iran Govt. ← 40 days National Mourning'],
['New Leader', 'Mojtaba Khamenei (Khamenei ના પુત્ર) → New Supreme Leader'],
['Hormuz Strait', 'Iran ← Strait of Hormuz ને અ.રૂ. બ.k ← World Oil 20-25%'],
['ઇ. IM', '1979 ― Islamic Revolution → ઇ.-ઇ. સ. ← Break in Relations'],
]
story += make_table(['Key Point', 'વિગત'], conflict_data, col_widths=[60*mm, W-30*mm-60*mm])
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 5 ── Iran-Israel Conflict Details
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('ઇ.-ઇ.સ. - ઐ. સ. & પ.એ. | Historical & Background', RED)
# Historical
story += colored_heading('ઐ. સ. (Historical Context)', colors.HexColor('#B71C1C'))
story.append(bullet('Pahlavi Raj દ.Iran-Israel → 50+ વર્ષ Friendly Ties'))
story.append(bullet('Iran ← First Muslim Country to Recognize Israel'))
story.append(bullet('1979 ← Iranian Revolution (Islamic Revolution) → Ties Broken'))
story.append(bullet('1979 AFLD → Iran = Anti-Israel stance (strongly)'))
story.append(bullet('"Axis of Resistance" ― Iran ← Hamas, Hezbollah, Houthis support'))
story.append(Spacer(1,3))
# Middle East Countries Table
story += colored_heading('🌍 મ.પૂ. ના રાષ્ટ્ર (Middle East Countries)', TEAL)
me_data = [
['Israel', 'Heb: יִשְׂרָאֵל | Cap: Jerusalem | Curr: NIS Shekel | PM: Netanyahu'],
['Iran', 'Cap: Tehran | Curr: Rial | Ofc: Farsi | Leader: Khamenei (Mojtaba)'],
['USA', 'Cap: Washington D.C. | Curr: USD | Pres: Donald Trump (47th)'],
['Lebanon', 'Cap: Beirut | Hezbollah HQ | Curr: Lebanese Pound'],
['Yemen', 'Cap: Sanaa | Curr: Rial | Houthis rebel controlled'],
['Hamas', 'Palestine militant org. | Gaza ← HQ | Founded 1987'],
['Syria', 'Cap: Damascus | Curr: Syrian Pound | Pres: Ahmad al-Sharaa'],
['Jordan', 'Cap: Amman | Curr: Dinar | King: Abdullah II'],
['Kuwait', 'Cap: Kuwait City | Curr: Kuwaiti Dinar | Oil-rich'],
['UAE', 'Cap: Abu Dhabi | Most populated: Dubai | Curr: Dirham'],
['Saudi', 'Cap: Riyadh | Curr: Riyal | Cities: Mecca, Medina, Jeddah'],
['Iraq', 'Cap: Baghdad | Curr: Iraqi Dinar'],
['Qatar', 'Cap: Doha | Curr: Riyal | FIFA WC 2022'],
['Yemen', 'Cap: Sanaa | Houthis control | Near Red Sea'],
['Bahrain','Cap: Manama | Curr: Dinar | Gulf State'],
['Oman', 'Cap: Muscat | Curr: Omani Rial | Strategic location'],
]
story += make_table(['દેશ', 'Key Info'], me_data, col_widths=[30*mm, W-30*mm-30*mm])
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 6 ── 11 MARCH 2026
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 11 MARCH 2026 - WEDNESDAY', bg_color=DARK_BLUE)
# Sayajirao III Birthday
story += colored_heading('⑨ મ.સૈ. ગ.3 -167 જ.જ. (11 March)', colors.HexColor('#4A148C'))
sayaji_data = [
['જ.ન.', '11 March 1863 (167 years in 2026)'],
['પ.ગ.ના', '1875 ― Baroda State Maharaja (Age 12)'],
['1905', 'Universal Free Primary Education → Baroda State'],
['1907', 'First Free Library System in India → Baroda'],
['B.R. Ambedkar', 'Scholarship Award ← ઉ.શ. (Higher Education)'],
['Baroda Public Library', 'Oldest Public Library in India'],
['Jayanti 2026', '167 વર્ષ | State Celebrations | Vadodara'],
]
story += make_table(['Time/Event', 'Detail'], sayaji_data, col_widths=[50*mm, W-30*mm-50*mm])
# Lamitiye-2026
story += colored_heading('⑩ Lamitiye-2026 ― ભારત-સેશૅ. સસ. (India-Seychelles Exercise)', colors.HexColor('#00695C'))
story.append(bullet('Lamitiye = Creole word for "Friendship/Friendship"'))
story.append(bullet('ભારત - Seychelles Joint Military Exercise'))
story.append(bullet('2026 Edition ← Location: Seychelles Islands'))
story.append(bullet('Focus: Counter-Terrorism, HADR, Special Operations'))
story.append(Spacer(1,3))
# Swadheshi Ghatak Drone
story += colored_heading('⑪ Sharang-150 - સ્વ.ઘ. ડ્રૉ. (Indigenous Lethal Drone)', colors.HexColor('#B71C1C'))
story.append(bullet('DRDO + Private Sector collaboration'))
story.append(bullet('SHESHA NAG-150 / Stealthy Lethal Drone ← Domestic Production'))
story.append(bullet('Range: 150 km+ | Payload: Precision Strike capable'))
story.append(bullet('Atmanirbhar Bharat ← Defence Manufacturing push'))
story.append(Spacer(1,3))
# International Malaria Conference
story += colored_heading('⑫ અ. મ. 2026 ― દિ.ઃ International Malaria Conference 2026', colors.HexColor('#1B5E20'))
story.append(bullet('New Delhi ← International Malaria Conference 2026 ← Concluded'))
story.append(bullet('WHO + India collaboration | Malaria eradication roadmap'))
story.append(bullet('India ← 2025-2030 ← Target: Malaria Elimination'))
story.append(bullet('Artemisinin-based Combo Therapy (ACT) ← primary treatment'))
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 7 ── 12 MARCH 2026
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 12 MARCH 2026 - THURSDAY', bg_color=DARK_BLUE)
# Dandi March
story += colored_heading('⑬ દ. ય. 96 વ.પ. (12 March 1930 → Dandi March 96 Years)', colors.HexColor('#E65100'))
dandi_data = [
['Event', 'Salt Satyagraha / Dandi March'],
['Date', '12 March 1930 ← Started'],
['End', '6 April 1930 ← Dandi Beach (Reached)'],
['Distance', '385 km (Sabarmati Ashram → Dandi)'],
['Leader', 'Mahatma Gandhi'],
['Start Point', 'Sabarmati Ashram, Ahmedabad'],
['End Point', 'Dandi, Navsari, Gujarat (Sea Shore)'],
['Aim', 'British Salt Law (Tax) Opposition → Civil Disobedience'],
['Year 2026', '96 Years Completed (96th Anniversary)'],
]
story += make_table(['વિષય', 'Detail'], dandi_data, col_widths=[50*mm, W-30*mm-50*mm])
# Cyber Censorship Day
story += colored_heading('⑭ Cyber Censorship ― World Day Against (12 March)', MEDIUM_BLUE)
story.append(bullet('દર વ. 12 March = World Day Against Cyber Censorship'))
story.append(bullet('Organised by Reporters Without Borders (RSF)'))
story.append(bullet('Focus: Internet Freedom, Press Freedom, Digital Rights'))
# SIPRI Report
story += colored_heading('⑮ SIPRI RI. ― ભ. 2જો સ.મ.આ.ઇ. (India 2nd Largest Arms Importer)', colors.HexColor('#1565C0'))
story.append(Paragraph('<b>SIPRI = Stockholm International Peace Research Institute</b>', small_bold))
sipri_data = [
['ભ. ← Import', 'World\'s 2nd Largest Arms Importer'],
['1st Rank', 'Saudi Arabia'],
['Major Suppliers', 'Russia, France, USA, Israel → India'],
['Report Period', '2020-2024'],
['India Share', '~8.3% of Global Arms Imports'],
['SIPRI HQ', 'Stockholm, Sweden | Est. 1966'],
]
story += make_table(['Key Point', 'Detail'], sipri_data, col_widths=[55*mm, W-30*mm-55*mm])
# Mascots for Census 2027
story += colored_heading('⑯ Census 2027 Mascot ― "Pragati" and "Vikas"', colors.HexColor('#004D40'))
story.append(bullet('Pragati (Female) + Vikas (Male) ← Census 2027 Mascots'))
story.append(bullet('Launch: 12 March 2026 (96th Dandi Anniversary day)'))
story.append(bullet('India ← Last Census: 2011 | Census 2027 ← Scheduled'))
story.append(bullet('Registrar General of India ← Census authority'))
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 8 ── 13 MARCH 2026
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 13 MARCH 2026 - FRIDAY', bg_color=DARK_BLUE)
# India Cotton Exports
story += colored_heading('⑰ ભ. ← અ.ઝ. ← ₍ 2025 ← Cotton Export ← China ← Past', MEDIUM_BLUE)
story.append(Paragraph('<b>2025 ← ભારત અમૅ. ← Cotton Products Export ← China ← 5th</b>', small_bold))
story.append(bullet('2025 ← India ← Top Cotton Product Exporter to USA (China ← Overtaken)'))
story.append(bullet('US ← China trade war → Tariffs ← India ← Benefited'))
story.append(bullet('Bt Cotton, Natural Fiber ← India ← Advantage'))
story.append(bullet('Top Cotton States: Gujarat, Maharashtra, Telangana, Andhra Pradesh'))
story.append(Spacer(1,3))
# Fiscal Health Index
story += colored_heading('⑱ Fiscal Health Index 2026 ― NITI Aayog', colors.HexColor('#1B5E20'))
story.append(Paragraph('<b>NITI Aayog</b> ← Fiscal Health Index (FHI) 2026 ← Released.', body))
fhi_data = [
['Top State (Best FH)', 'Odisha'],
['2nd Place', 'Chhattisgarh'],
['3rd Place', 'Goa'],
['Large States ← Top', 'Odisha > Maharashtra > Telangana'],
['Parameters', 'Revenue, Expenditure Quality, Debt, Fiscal Deficit'],
['Total States', '18 Large + Small States rated'],
['NITI Aayog HQ', 'New Delhi | Chairman: PM Modi | CEO: B.V.R. Subrahmanyam'],
]
story += make_table(['State/Topic', 'Rank/Detail'], fhi_data, col_widths=[65*mm, W-30*mm-65*mm])
# Operation Sankalp
story += colored_heading('⑲ Operation Sankalp ― Indian Navy Mission (Gulf of Oman)', TEAL)
op_data = [
['Started', 'June 2019 (originally)'],
['Purpose', 'Indian merchant ships ← Protection in Gulf Region'],
['Area', 'Strait of Hormuz, Gulf of Oman, Arabian Sea'],
['HADR', 'Humanitarian Aid & Disaster Relief ← Standby'],
['Ships', 'Frigates + Destroyers (INS Surat, others)'],
['Current', 'Iran-Israel conflict ← Enhanced deployment'],
['Impact', 'India ← 3 LNG Tankers ← safely reached (Shivalik, Nanda Devi, Jag Ladki)'],
]
story += make_table(['Topic', 'Detail'], op_data, col_widths=[50*mm, W-30*mm-50*mm])
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 9 ── 14 MARCH + GUJARAT SPECIAL + MISCELLANEOUS
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📅 14 MARCH 2026 - SATURDAY', bg_color=DARK_BLUE)
# Pi Day
story += colored_heading('⑳ Pi Day (14 March) + Karl Marx Death Anniversary', MEDIUM_BLUE)
story.append(bullet('Pi (π) = 3.14159… → 3/14 = Pi Day globally'))
story.append(bullet('Albert Einstein ← Birthday: 14 March 1879'))
story.append(bullet('Karl Marx ← Death: 14 March 1883 | "Das Kapital" author'))
story.append(bullet('Stephen Hawking ← Death: 14 March 2018'))
story.append(Spacer(1,3))
# ISRO - SpaDeX
story += colored_heading('㉑ ISRO - SpaDeX Mission Update (Space Docking Experiment)', colors.HexColor('#1A237E'))
story.append(Paragraph('<b>SpaDeX = Space Docking Experiment</b>', small_bold))
story.append(bullet('ISRO ← SpaDeX ← India\'s First Space Docking ← Successfully Completed'))
story.append(bullet('Two satellites ← SDX01 (Chaser) + SDX02 (Target) ← Docked in orbit'))
story.append(bullet('India ← 4th country (USA, Russia, China ← After) ← Docking Technology'))
story.append(bullet('Future Use: Space Station, Moon Mission (Chandrayaan), Gaganyaan'))
story.append(Spacer(1,3))
# Upper Bhadra Project
story += colored_heading('㉒ ઉ.ભ.ભ. ← National Project Status (Karnataka)', colors.HexColor('#004D40'))
story.append(bullet('Upper Bhadra Project ← Karnataka ← National Project Status (Central 60% funding)'))
story.append(bullet('Bhadra River ← W. Ghats → Irrigates 2 lakh hectare dry land'))
story.append(bullet('Districts: Chitradurga, Davangere, Tumkur, Chikmagalur'))
story.append(Spacer(1,3))
# ── GUJARAT SPECIAL SECTION ──
story += colored_heading('🦁 GUJARAT SPECIAL - ગ.ખ.ઘ.', colors.HexColor('#FF6F00'))
# Pavagadh Blue-and-white Flycatcher
story += colored_heading('㉓ Pavagadh ← Blue-and-White Flycatcher', colors.HexColor('#1565C0'))
story.append(bullet('Blue-and-White Flycatcher ← Old World Flycatcher Family ← Muscicapidae'))
story.append(bullet('Scientific: Cyanoptila cyanomelana'))
story.append(bullet('Pavagadh Hills, Gujarat ← First sighting in Gujarat (Rare!)'))
story.append(bullet('Winters: SE Asia (Vietnam, Cambodia, Thailand, Sumatra, Borneo)'))
story.append(bullet('Breeding: Japan, Korea, NE China, Russian Far East'))
story.append(Spacer(1,3))
# Lake and Air Watch
story += colored_heading('㉔ Gujarat ← Lake & Air Watch Initiative (GUDM)', colors.HexColor('#00695C'))
story.append(Paragraph('<b>Gujarat Urban Development Mission (GUDM)</b> ← Lake & Air Watch Program.', body))
story.append(bullet('Real-time monitoring ← Lakes (water quality) + Air Quality (AQI)'))
story.append(bullet('Problem: Urbanization → Polluted lakes, declining groundwater, poor AQI'))
story.append(bullet('Solution: Integrated monitoring system (Sensors + Data Analytics + Dashboard)'))
story.append(bullet('Cities covered: Ahmedabad, Surat, Vadodara, Rajkot + smaller cities'))
story.append(Spacer(1,3))
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
# PAGE 10 ── Quick Revision Table + Q&A Highlights
# ══════════════════════════════════════════════════════════════════════════════
story += colored_heading('📝 ઝ.ઉ. (Quick Revision) ― સ.ઘ. Summary Table', DARK_BLUE)
quick_data = [
['8 March', 'Intl. Women\'s Day', '"Rights. Justice. Action..." (UN 2026)'],
['8 March', 'Raisina Dialogue', '11th ed. | Theme: Samskara | Finland Pres. guest'],
['9 March', 'ICC T20 WC 2026', 'India 3rd Champion | Bumrah-PoM | Samson-PoT'],
['9 March', 'All Engl. Badminton', 'Lakshyasen → Final (Men\'s Singles)'],
['9 March', '1000T Rice-Maldives', 'India → Maldives Humanitarian Aid'],
['10 March', 'CISF Day', '57th Foundation Day | Est.1969 | MHA'],
['10 March', 'Navalram Pandya', 'Gujarati Lit. | Bhatt | Social Reformer'],
['10 March', 'Iran-Israel-US', 'Khamenei killed | Mojtaba new leader | Hormuz closed'],
['11 March', 'Sayajirao III', '167th Birth Ann. | Baroda | Edu. reformer'],
['11 March', 'Lamitiye-2026', 'India-Seychelles Joint Military Exercise'],
['11 March', 'Indigenous Drone', 'Lethal Drone ← DRDO | Atmanirbhar Bharat'],
['11 March', 'Intl. Malaria Conf.', 'New Delhi | Malaria Elimination 2030 goal'],
['12 March', 'Dandi March 96Y', '12.3.1930→6.4.1930 | 385km | Gandhiji'],
['12 March', 'Anti-Cyber Cens.D', 'RSF org. | Internet Freedom'],
['12 March', 'SIPRI Report', 'India 2nd imp. | S.Arabia 1st | SIPRI-Sweden'],
['12 March', 'Census 2027 Mascot', '"Pragati" & "Vikas"'],
['13 March', 'India-Cotton-USA', 'India > China ← Top cotton exporter to USA'],
['13 March', 'FHI 2026', 'Odisha Top | NITI Aayog | Fiscal Health'],
['13 March', 'Op. Sankalp', 'Indian Navy | Gulf | Merchant ship security'],
['14 March', 'Pi Day', '3.14 = π | Einstein B.D. | Marx Death'],
['14 March', 'ISRO SpaDeX', 'India 4th docking ← SDX01+SDX02'],
['14 March', 'Upper Bhadra', 'National Project | Karnataka irrigation'],
['Gujarat', 'Pavagadh Bird', 'Blue-white Flycatcher ← 1st Gujarat sighting'],
['Gujarat', 'Lake & Air Watch', 'GUDM | Real-time water+air monitoring'],
]
story += make_table(['Date', 'Topic', 'Key Fact'], quick_data,
col_widths=[20*mm, 60*mm, W-30*mm-80*mm])
# Final tips box
story.append(Spacer(1,5))
tips = info_box(
'<b>📌 Exam Tip:</b> ● T-20 WC 2026: India won 96 run | NZ final | Bumrah PoM | Samson PoT ● '
'SIPRI: India 2nd arms importer | Saudi 1st ● Raisina 2026: Finland Pres. guest | 11th edition ● '
'Census 2027 Mascot: Pragati + Vikas ● SpaDeX: India 4th in space docking ● '
'Dandi March 96 years: 12 March 1930 ● Lamitiye-2026 = India-Seychelles Mil. Ex. ● '
'CISF Est.: 10 March 1969 ● Fiscal Health Index Top: Odisha (NITI Aayog)',
LIGHT_GREEN, GREEN
)
story += tips
# ──────────────────────────────────────────────────────────────────
# Build PDF
# ──────────────────────────────────────────────────────────────────
doc.build(story, onFirstPage=page_header_cb, onLaterPages=page_header_cb)
print(f"PDF created: {OUTPUT_FILE}")
cd /home/daytona/workspace/ice_march2_notes && python3 create_notes.py 2>&1
ls -lh /home/daytona/workspace/ice_march2_notes/ICE_MARCH2_ShortNotes.pdf && pyt…
ICE MARCH2 ShortNotes
PDF Document · PDF
| Page | Content |
|---|---|
| Cover | Index Table with all dates + topics |
| Page 2 | 08 March - Intl. Women's Day + Raisina Dialogue 2026 |
| Page 3 | 09 March - ICC T20 WC 2026 (ભારત ચૅ.!) + All England Badminton + Maldives Rice |
| Page 4 | 10 March - CISF Day + Navalram Pandya + Iran-Israel-US Conflict |
| Page 5 | Iran-Israel Historical Background + Middle East Countries Table |
| Page 6 | 11 March - Sayajirao III + Lamitiye-2026 + Drone + Malaria Conf. |
| Page 7 | 12 March - Dandi March 96Y + Cyber Cens. Day + SIPRI + Census Mascot |
| Page 8 | 13 March - Cotton Exports + Fiscal Health Index + Operation Sankalp |
| Page 9 | 14 March - Pi Day + SpaDeX + Upper Bhadra + Gujarat Special (Pavagadh Bird + Lake&Air Watch) |
| Page 10 | Quick Revision Table (24 topics) + Exam Tips Box |