Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
02d31c8
Initial plan
Copilot Mar 13, 2026
1408cc3
Fix Book 0 hadith inclusion - use hadithnumber for un-indexed entries
Copilot Mar 13, 2026
2045675
QA: fix book-0 section names for Muslim, Ibn Majah; improve Bukhari f…
Copilot Mar 13, 2026
5b8bb6c
Add gen_hadith_html.py: generate complete hadith website at docs/hadith/
Copilot Mar 13, 2026
933e30c
Makefile: add generate-hadith-html target for docs/hadith/ website
Copilot Mar 13, 2026
06c0361
add hindi ts of the Quran
druvx13 Mar 14, 2026
4c3f84e
feat: add Khattab+transliteration PDF generator and output/khattab.pdf
Copilot Mar 14, 2026
65d5170
feat: add professional A5 book-grade PDF of Khattab English translation
Copilot Mar 14, 2026
35040ef
chore: untrack generated LaTeX intermediates, add output PDF exceptio…
Copilot Mar 14, 2026
5466af8
feat: add docs/how ethical and duty guide website generation
Copilot Mar 19, 2026
9d9d098
refactor: switch docs/how to dropdown filter and move How link to ind…
Copilot Mar 19, 2026
9ff1f96
Create .keep
druvx13 Mar 20, 2026
ffab0d8
Add files via upload
druvx13 Mar 20, 2026
6486ed2
feat: add print-ready Hindi Mokhtasar HTML generator
Copilot Mar 20, 2026
c73abf7
feat: add A5 print-ready Hindi Farooq HTML generator
Copilot Mar 20, 2026
223e57a
feat: add A5 print-ready Hindi Suhail HTML generator
Copilot Mar 20, 2026
32f52d7
feat: add print-ready English Umm Muhammad A5 HTML generator and font
Copilot Mar 21, 2026
1e80f2d
feat: add print-ready transliteration unicode A5 HTML generator and font
Copilot Mar 21, 2026
f37f24f
feat: add print-ready Roman Urdu Maududi A5 HTML generator and font
Copilot Mar 21, 2026
144f6bc
feat: add print-ready English Khattab A5 HTML generator and font
Copilot Mar 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,17 @@ latex/qup.tex
latex/qus.tex
latex/qut.tex
latex/qupk.tex
latex/quk.tex
# Generated intermediate Khattab book content (regenerated by src/gen_khattab_book.py)
latex/khattab_book_content.tex
# Compiled PDFs inside latex/ (build artefacts)
latex/*.pdf

# Compiled PDFs (large binary build artefacts; regenerated via `make all`)
output/*.pdf
# Tracked PDF outputs (committed for convenience — regenerate via make targets)
!output/khattab.pdf
!output/quran_khattab_english_a5.pdf

# Python cache
__pycache__/
Expand Down
77 changes: 71 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,28 @@ LATEX = xelatex
LATEX_DIR = latex
OUTPUT_DIR = output

.PHONY: all generate-tex generate-txt generate-docs clean help
.PHONY: all generate-tex generate-txt generate-hadith generate-hadith-html generate-how-html generate-docs generate-khattab-pdf generate-khattab-book-pdf generate-hindi-mokhtasar-print-html generate-hindi-farooq-print-html generate-hindi-suhail-print-html generate-english-ummmuhammad-print-html generate-translit-unicode-print-html generate-roman-urdu-maududi-print-html generate-english-khattab-print-html clean help

## Show available targets.
help:
@echo "Available targets:"
@echo " make generate-tex Generate intermediate LaTeX content files (run first for PDFs)"
@echo " make all Compile all PDFs (requires generate-tex first)"
@echo " make generate-txt Generate formatted plain-text output files"
@echo " make generate-docs Regenerate the docs/ HTML pages (requires generate-txt first)"
@echo " make clean Remove LaTeX build artefacts"
@echo " make generate-tex Generate intermediate LaTeX content files (run first for PDFs)"
@echo " make all Compile all PDFs (requires generate-tex first)"
@echo " make generate-khattab-pdf Generate Khattab English+Transliteration PDF (output/khattab.pdf)"
@echo " make generate-khattab-book-pdf Generate professional A5 book PDF, English only (output/quran_khattab_english_a5.pdf)"
@echo " make generate-txt Generate formatted plain-text output files"
@echo " make generate-hadith Generate plain-text Hadith output files (output/hadith/)"
@echo " make generate-hadith-html Generate Hadith HTML website (docs/hadith/)"
@echo " make generate-how-html Generate Ethical & Duty Guide website (docs/how/)"
@echo " make generate-hindi-mokhtasar-print-html Generate print-ready Hindi Mokhtasar HTML (output/hindi_mokhtasar_print.html)"
@echo " make generate-hindi-farooq-print-html Generate print-ready Hindi Farooq A5 HTML (output/hindi_farooq_print.html)"
@echo " make generate-hindi-suhail-print-html Generate print-ready Hindi Suhail A5 HTML (output/hindi_suhail_print.html)"
@echo " make generate-english-ummmuhammad-print-html Generate print-ready English Umm Muhammad A5 HTML (output/english_ummmuhammad_print.html)"
@echo " make generate-translit-unicode-print-html Generate print-ready Unicode transliteration A5 HTML (output/translit_unicode_print.html)"
@echo " make generate-roman-urdu-maududi-print-html Generate print-ready Roman Urdu Maududi A5 HTML (output/roman_urdu_maududi_print.html)"
@echo " make generate-english-khattab-print-html Generate print-ready English Khattab A5 HTML (output/english_khattab_print.html)"
@echo " make generate-docs Regenerate the docs/ HTML pages (requires generate-txt first)"
@echo " make clean Remove LaTeX build artefacts"

## Build all PDFs (requires generate-tex to have been run first).
all: $(OUTPUT_DIR)/farooq.pdf $(OUTPUT_DIR)/suhail.pdf \
Expand All @@ -37,11 +49,64 @@ $(OUTPUT_DIR)/suhail.pdf: $(LATEX_DIR)/qup.tex
$(OUTPUT_DIR)/sahih.pdf: $(LATEX_DIR)/qus.tex
$(OUTPUT_DIR)/translit.pdf: $(LATEX_DIR)/qut.tex
$(OUTPUT_DIR)/pickthall.pdf: $(LATEX_DIR)/qupk.tex
$(OUTPUT_DIR)/khattab.pdf: $(LATEX_DIR)/quk.tex

## Generate Khattab English translation + Unicode transliteration PDF (no Arabic).
## Requires generate-tex to have been run first.
generate-khattab-pdf: $(OUTPUT_DIR)/khattab.pdf

## Generate professional A5 book PDF — English translation only, no transliteration.
## Self-contained: runs gen_khattab_book.py then compiles with XeLaTeX (two passes for TOC).
generate-khattab-book-pdf: | $(OUTPUT_DIR)
$(PYTHON) src/gen_khattab_book.py
cd $(LATEX_DIR) && $(LATEX) -interaction=nonstopmode khattab_book.tex && \
$(LATEX) -interaction=nonstopmode khattab_book.tex && \
mv khattab_book.pdf ../$(OUTPUT_DIR)/quran_khattab_english_a5.pdf

## Generate formatted plain-text output files.
generate-txt:
$(PYTHON) src/gentxtforquran.py

## Generate plain-text Hadith output files.
generate-hadith:
$(PYTHON) src/gen_hadith_txt.py

## Generate Hadith HTML website (docs/hadith/).
generate-hadith-html:
$(PYTHON) src/gen_hadith_html.py

## Generate Ethical & Duty Guide website (docs/how/).
generate-how-html:
$(PYTHON) src/gen_how_html.py

## Generate print-ready Hindi Mokhtasar HTML (output/hindi_mokhtasar_print.html).
generate-hindi-mokhtasar-print-html:
$(PYTHON) src/gen_hindi_mokhtasar_print_html.py

## Generate print-ready Hindi Farooq A5 HTML (output/hindi_farooq_print.html).
generate-hindi-farooq-print-html:
$(PYTHON) src/gen_hindi_farooq_print_html.py

## Generate print-ready Hindi Suhail A5 HTML (output/hindi_suhail_print.html).
generate-hindi-suhail-print-html:
$(PYTHON) src/gen_hindi_suhail_print_html.py

## Generate print-ready English Umm Muhammad A5 HTML (output/english_ummmuhammad_print.html).
generate-english-ummmuhammad-print-html:
$(PYTHON) src/gen_english_ummmuhammad_print_html.py

## Generate print-ready Unicode transliteration A5 HTML (output/translit_unicode_print.html).
generate-translit-unicode-print-html:
$(PYTHON) src/gen_translit_unicode_print_html.py

## Generate print-ready Roman Urdu Maududi A5 HTML (output/roman_urdu_maududi_print.html).
generate-roman-urdu-maududi-print-html:
$(PYTHON) src/gen_roman_urdu_maududi_print_html.py

## Generate print-ready English Khattab A5 HTML (output/english_khattab_print.html).
generate-english-khattab-print-html:
$(PYTHON) src/gen_english_khattab_print_html.py

## Regenerate the docs/ HTML pages (GitHub Pages).
## Requires generate-txt to have been run first.
generate-docs:
Expand Down
Binary file added data/hadith/ara-abudawud.json.zip
Binary file not shown.
Binary file added data/hadith/ara-bukhari.json.zip
Binary file not shown.
Binary file added data/hadith/ara-dehlawi.json.zip
Binary file not shown.
Binary file added data/hadith/ara-ibnmajah.json.zip
Binary file not shown.
Binary file added data/hadith/ara-malik.json.zip
Binary file not shown.
Binary file added data/hadith/ara-muslim.json.zip
Binary file not shown.
Binary file added data/hadith/ara-nasai.json.zip
Binary file not shown.
Binary file added data/hadith/ara-nawawi.json.zip
Binary file not shown.
Binary file added data/hadith/ara-qudsi.json.zip
Binary file not shown.
Binary file added data/hadith/ara-tirmidhi.json.zip
Binary file not shown.
Binary file added data/hadith/eng-abudawud.json.zip
Binary file not shown.
Binary file added data/hadith/eng-bukhari.json.zip
Binary file not shown.
Binary file added data/hadith/eng-dehlawi.json.zip
Binary file not shown.
Binary file added data/hadith/eng-ibnmajah.json.zip
Binary file not shown.
Binary file added data/hadith/eng-malik.json.zip
Binary file not shown.
Binary file added data/hadith/eng-muslim.json.zip
Binary file not shown.
Binary file added data/hadith/eng-nasai.json.zip
Binary file not shown.
Binary file added data/hadith/eng-nawawi.json.zip
Binary file not shown.
Binary file added data/hadith/eng-qudsi.json.zip
Binary file not shown.
Binary file added data/hadith/eng-tirmidhi.json.zip
Binary file not shown.
Loading
Loading