From b4d953df6b4505d448132c430598abeb9aac497b Mon Sep 17 00:00:00 2001
From: Claude Agent
Date: Sun, 13 Sep 2026 10:53:03 +0000
Subject: [PATCH] Index si navigare: fara prefixul de modul repetat in fiecare
intrare
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In index, fiecare lectie isi repeta modulul ("Modul 2 / #6 — ...") sub un
titlu de sectiune care spune deja "Modulul 2", iar sesiunile Q&A isi
repetau "Q&A" sub titlul "Q&A". Acum raman "#6 — ..." si "15.07.2025 —
...", cu subiectul pastrat in index si doar data in barele inguste.
Titlurile din Analiza Fundamentala erau inconsecvente si scurtarea le
rata: trei incepeau cu "Modul Analiza Fundamentala /", iar una cu
"Modul 16 /", care e numarul folderului, nu al modulului. Normalizate
toate la "Analiza Fundamentala / #N".
Co-Authored-By: Claude Opus 5 (1M context)
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
---
render_html.py | 19 ++++++++++---------
summaries/09_QA/01_2026-08-25.html | 4 ++--
summaries/09_QA/03_2026-08-11.html | 4 ++--
summaries/09_QA/04_2026-08-04.html | 4 ++--
summaries/09_QA/05_2026-07-28.html | 4 ++--
summaries/09_QA/06_2026-04-28.html | 4 ++--
summaries/09_QA/07_2026-02-19.html | 4 ++--
summaries/09_QA/08_2026-01-20.html | 4 ++--
summaries/09_QA/09_2025-12-09.html | 4 ++--
summaries/09_QA/10_2025-12-02.html | 4 ++--
summaries/09_QA/11_2025-11-25.html | 4 ++--
summaries/09_QA/12_2025-11-18.html | 4 ++--
summaries/09_QA/13_2025-10-28.html | 4 ++--
summaries/09_QA/14_2025-10-21.html | 4 ++--
summaries/09_QA/15_2025-10-14.html | 4 ++--
summaries/09_QA/16_2025-10-07.html | 4 ++--
summaries/09_QA/17_2025-09-30.html | 4 ++--
summaries/09_QA/18_2025-09-23.html | 4 ++--
summaries/09_QA/19_2025-09-08.html | 4 ++--
summaries/09_QA/20_2025-08-25.html | 4 ++--
summaries/09_QA/21_2025-08-18.html | 4 ++--
summaries/09_QA/22_2025-08-04.html | 4 ++--
summaries/09_QA/23_2025-07-29.html | 4 ++--
summaries/09_QA/24_2025-07-15.html | 4 ++--
summaries/09_QA/25_2025-07-08.html | 4 ++--
summaries/09_QA/27_2025-05-28.html | 4 ++--
.../01_af_tehnic_vs_fundamental.html | 4 ++--
...cele_trei_straturi_pl_bilant_cashflow.html | 4 ++--
.../03_af_income_statement.html | 4 ++--
.../04_bilant_balance_sheet.html | 6 +++---
.../04_bilant_balance_sheet.md | 2 +-
...sh_flow_statement_al_treilea_document.html | 2 +-
...ofitabilitate_cash_sanatate_eficienta.html | 6 +++---
...profitabilitate_cash_sanatate_eficienta.md | 2 +-
...ectia_businessului_trendul_metricilor.html | 4 ++--
...irectia_businessului_trendul_metricilor.md | 2 +-
.../08_piotrowski_f_score.html | 6 +++---
.../08_piotrowski_f_score.md | 2 +-
.../09_implementare_f_score_tradestation.html | 2 +-
summaries/index.html | 2 +-
40 files changed, 84 insertions(+), 83 deletions(-)
diff --git a/render_html.py b/render_html.py
index 9462be9..50931f7 100644
--- a/render_html.py
+++ b/render_html.py
@@ -77,12 +77,13 @@ def md_title(md_path: Path) -> str:
return text.splitlines()[0].lstrip("# ").strip() if text else md_path.stem
-def short_title(title: str, folder: str) -> str:
- """Pentru bara de navigare. Titlul lecțiilor începe cu "Modul 2 / #6 — ...",
- iar modulul e deja în breadcrumb. La Q&A titlul întreg ocupă trei rânduri pe
- telefon, așa că rămâne doar "Q&A " — restul se vede în H1, dedesubt."""
- short = re.sub(r"^Modul[^/]*/\s*", "", title)
- return short.split(" — ")[0] if folder == "09_QA" else short
+def short_title(title: str, date_only: bool = False) -> str:
+ """Taie prefixul de modul din titlu ("Modul 2 / #6 — ..." -> "#6 — ..."),
+ pentru locurile unde modulul e deja scris alături: breadcrumb, bara de
+ navigare, titlurile din index. `date_only` ține doar "Q&A ", pentru
+ barele înguste de pe telefon — subiectul se vede oricum în H1, dedesubt."""
+ short = re.sub(r"^(?:[^/]*/\s*(?=#)|Q&A (?=\d))", "", title)
+ return short.split(" — ")[0] if date_only else short
def nav_html(md_path: Path, title: str) -> tuple[str, str]:
@@ -95,14 +96,14 @@ def nav_html(md_path: Path, title: str) -> tuple[str, str]:
f'{escape(module_name(folder))} ']
if folder == "09_QA" and md_path.stem != "INDEX_TEMATIC":
crumbs.append('index tematic ')
- crumbs.append(escape(short_title(title, folder)))
+ crumbs.append(escape(short_title(title, date_only=folder == "09_QA")))
top = f'{sep.join(crumbs)} '
lessons = sorted(f for f in md_path.parent.glob("*.md") if f.name[0].isdigit())
prev_a = next_a = ""
if md_path in lessons:
i = lessons.index(md_path)
- label = lambda f: f"{f.name.split('_')[0]}. {escape(short_title(md_title(f), folder))}"
+ label = lambda f: f"{f.name.split('_')[0]}. {escape(short_title(md_title(f), date_only=folder == '09_QA'))}"
if i > 0:
prev_a = f'← {label(lessons[i-1])} '
if i < len(lessons) - 1:
@@ -134,7 +135,7 @@ def write_index(pages: list[tuple[Path, str]]):
sections.append("")
current = path.parent.name
sections.append(f'{escape(module_name(current))} ")
(ROOT / "index.html").write_text(
diff --git a/summaries/09_QA/01_2026-08-25.html b/summaries/09_QA/01_2026-08-25.html
index bea5096..5532572 100644
--- a/summaries/09_QA/01_2026-08-25.html
+++ b/summaries/09_QA/01_2026-08-25.html
@@ -26,7 +26,7 @@
-Sumarizări / Q&A / index tematic / Q&A 25.08.2026Q&A 25.08.2026 — MP² pe short, money management pe 2 poziții, Commitment of Traders
+Sumarizări / Q&A / index tematic / 25.08.2026Q&A 25.08.2026 — MP² pe short, money management pe 2 poziții, Commitment of Traders
Sesiune de ~58 min. Mai jos, doar întrebările cu valoare de învățare, fiecare
cu titlu descriptiv (nu în ordinea din înregistrare — grupate pe subiect).
Ce am lăsat afară e listat la final.
@@ -1354,6 +1354,6 @@ lizibile — el nu a citit cifre pentru ele.
Investopedia — Commitment of Traders (COT) Report
AAII Investor Sentiment Survey
Investopedia — Short Squeeze
-
+