# UECF 15th Anniversary Souvenir — Web Book

A production-ready static web edition of the **United Evangelical Christian Fellowship
15th Anniversary Souvenir (1997–2012)**, built for [UECF.NET](https://www.uecf.net/).

**Live path:** `https://www.uecf.net/books/souvenir-15/`

---

## 1. What this is

The printed souvenir was produced in December 2012 for the fifteenth anniversary of the
United Evangelical Christian Fellowship in Westfield, New Jersey. It runs to 186 printed
pages and contains:

* the fellowship's vision statement;
* 30 congratulatory messages from pastors, ministry leaders, sister fellowships and civic
  officials (including the Governor of New Jersey, two U.S. Senators, three Members of
  Congress, a State Assemblyman, the Mayor and a Member of the Indian Parliament);
* a written history of UECF;
* a photographic record of 103 pages covering pastors, leadership, guest preachers,
  families and events;
* 9 devotional and biographical articles in English;
* 7 devotional articles in Telugu;
* 7 pages of sponsor greetings.

This repository is the **complete static website** generated from the original press PDF.
Copy the `souvenir-15/` folder into `uecf.net/books/` and it will serve as-is. There is no
build step, no server-side code, no database and no external dependency of any kind.

---

## 2. File structure

```
books/
  souvenir-15/
    index.html               Landing page: cover, description, full contents, updates
    chapter1.html … chapter31.html
    README.md                This file
    robots.txt
    sitemap.xml
    favicon.svg              Primary favicon (vector)
    favicon.ico              Legacy multi-resolution favicon (16→256 px)
    css/
      style.css              All styling — light + dark theme, print styles
    js/
      theme-init.js          Applies saved theme/font size before first paint
      script.js              Reader core: theme, font size, progress, bookmarks,
                             position memory, Bible links, lightbox, keyboard nav
      toc.js                 Sidebar contents, collapsible panels, in-page outline
      search.js              Whole-book client-side search (Ctrl + K)
    data/
      toc.json               Machine-readable table of contents
      search-index.json      Pre-built full-text search index (31 records)
    images/
      og-cover.jpg           1200 × 630 Open Graph / Twitter card image
      apple-touch-icon.png   180 × 180 home-screen icon
      pages/                 186 full-size page plates (JPEG, ~1000–1100 px wide)
      thumbs/                Matching 360 px thumbnails for gallery grids
      figures/               68 photographs cropped out of the history and article pages
```

---

## 3. Chapter map

| # | Part | Chapter | Souvenir pages |
|---|------|---------|----------------|
| 1 | Opening | Our Vision | 3 |
| 2 | Congratulatory Messages | Messages from Our Pastors and Leaders | 4–7 |
| 3 | Congratulatory Messages | Messages from Public Officials | 8–15 |
| 4 | Congratulatory Messages | Messages from Ministry Leaders and Friends | 16–26 |
| 5 | Congratulatory Messages | Messages from Fellowships and Institutions | 27–33 |
| 6 | The Story of UECF | A History of UECF | 34–44 |
| 7 | Photo Gallery | UECF Honorary Pastors | 45 |
| 8 | Photo Gallery | Leadership and Executive Committee | 46–47 |
| 9 | Photo Gallery | Guest Preachers | 48–53 |
| 10–14 | Photo Gallery | Families and Events I–V | 54–147 |
| 15 | Articles in English | The Church and the Training of Laity for Ministry | 148–151 |
| 16 | Articles in English | Tributes to Mr. Alfred Bhaskar | 152–153 |
| 17 | Articles in English | Professor Muthyala Theophilus | 154–155 |
| 18 | Articles in English | Wisdom Speaks | 156 |
| 19 | Articles in English | Noah's Genealogy | 157–158 |
| 20 | Articles in English | Disciple as a Tested One | 159–161 |
| 21 | Articles in English | Zacharias — The Lord Remembers | 162 |
| 22 | Articles in English | The Spark of Gospel in the Land of Darkness | 163–164 |
| 23 | Articles in English | Praying in 'WORD' for Our Children | 165–167 |
| 24–30 | Articles in Telugu | Seven Telugu articles | 168–177 |
| 31 | Best Wishes | Best Wishes from Our Sponsors | 178–186 |

The generator maps **printed page = PDF page − 2** throughout (the PDF carries two
unnumbered cover pages).

---

## 4. How the content was produced

**English text** was taken directly from the PDF's embedded text layer using
`pdftotext` in reading-order mode, which resolves the two- and three-column article
layouts correctly. Paragraphs were re-flowed, hyphenation at line breaks was repaired and
running folios were removed.

**Telugu text** required different handling. The printed souvenir was typeset in the
legacy *Anu Script* family (Rachana, Pallavi, Ajantha, Brahma, Kranthi and others). These
are 8-bit fonts whose bytes map to Latin code points, so the PDF's text layer for the
Telugu pages extracts as unreadable Latin gibberish and no browser can render it. Each of
the ten Telugu pages was therefore transcribed into **Unicode Telugu** from a
250 dpi rendering of the page, preserving titles, bylines, numbered lists, scripture
quotations and inline references verbatim. The original printed pages are reproduced
underneath every Telugu article so the source typography can always be consulted.

**Scanned letters** (the congratulatory messages) are presented as full-page plates,
because the letterheads, seals and signatures are the point. The OCR text layer for each
letter is available underneath in a collapsed disclosure, so the words are still
searchable and available to screen readers.

**Photographs** are reproduced two ways: the 103 gallery pages are presented as page
plates in a lightbox-enabled grid, and 68 individual photographs embedded in the history
and article pages were cropped out of the rendered pages (which guarantees correct
orientation — several of the embedded image streams are stored rotated) and placed inline
in the running text.

---

## 5. Features

**Reading experience**

* Font size increase / decrease / reset, persisted per device
* Reading progress bar pinned to the top of the viewport
* Per-chapter reading-time estimate (200 wpm, plus an allowance for photo plates)
* Sidebar table of contents, collapsible, with the current chapter highlighted
* "On this page" outline built from the chapter headings, with scroll-spy highlighting
* Smooth scrolling and a scroll-to-top button
* Bookmark any chapter (★); bookmarks are listed on the landing page
* Last reading position remembered — chapter *and* scroll offset
* Click any plate or photograph to open it in a keyboard-accessible lightbox

**Search**

* Whole-book client-side search over a pre-built index, no server required
* Opens with **Ctrl + K** / **⌘ K**, or `/`
* Instant results as you type, phrase-aware scoring, snippets with matches highlighted
* Recent searches and popular-topic suggestions
* ↑ ↓ to move through results, Enter to open, Esc to close
* The chosen term is highlighted on the destination page, with a one-click clear

**Navigation on every page**

Previous chapter · Next chapter · Home · Contents · Search · Back to top,
plus a breadcrumb trail and ← / → keyboard shortcuts.

**Theme**

Light and dark, following the operating-system preference until the reader chooses
otherwise. `js/theme-init.js` is loaded synchronously in `<head>` so there is no flash of
the wrong theme.

**Accessibility (WCAG 2.1 AA targets)**

* Skip-to-content link, single `<h1>` per page, ordered heading hierarchy
* `aria-label`, `aria-current`, `aria-expanded`, `aria-pressed` and `role` attributes
  throughout; live regions for search status and progress
* Every image carries descriptive alternative text
* Full keyboard operability, visible focus rings, no keyboard traps in modals
* Honours `prefers-reduced-motion` and `prefers-contrast: more`
* Text meets AA contrast in both themes

**SEO**

Every page carries a unique title, meta description, keywords, canonical URL, Open Graph
tags, Twitter Card tags and JSON-LD. The landing page emits `Book`, `ItemList` and
`WebSite`+`SearchAction` schemas; each chapter emits a `Chapter` schema with a
`BreadcrumbList`. `rel="prev"` / `rel="next"` link the chapters in order.
`sitemap.xml` lists all 32 URLs; `robots.txt` points to it.

**Performance**

No frameworks, no fonts fetched from third parties, no analytics, no cookies. Total CSS
is one file, total JavaScript is four small files loaded with `defer` (except the
sub-kilobyte theme bootstrap). All images below the fold use `loading="lazy"` and carry
explicit `width`/`height` to prevent layout shift. Galleries load 360 px thumbnails and
only fetch the full plate when a reader opens it.

---

## 6. Deploying

```bash
# from the root of the uecf.net web tree
cp -r souvenir-15 books/
```

That is the whole deployment. The site is entirely relative-linked inside its own folder,
so it also runs from a local filesystem — with one caveat: `data/toc.json` and
`data/search-index.json` are loaded with `fetch()`, which browsers block on `file://`
URLs. To preview locally, serve the folder over HTTP:

```bash
cd books/souvenir-15
python3 -m http.server 8000
# then open http://localhost:8000/
```

If the book is ever published at a different URL, update the `SITE`/`BASE` constants in
the generator, or search-and-replace `https://www.uecf.net/books/souvenir-15` across the
HTML and `sitemap.xml`.

### Recommended server headers

```
Cache-Control: public, max-age=31536000, immutable   # images/**
Cache-Control: public, max-age=3600                  # *.html, data/*.json
```

---

## 7. Browser support

Chrome, Edge, Firefox, Safari (desktop and iOS), Samsung Internet — current and previous
two major versions. Tested at 360 px (small Android), 390 px (iPhone), 768 px (tablet
portrait), 1024 px (tablet landscape) and 1440 px (desktop). With JavaScript disabled the
book is still fully readable and navigable: only search, bookmarks, position memory and
the lightbox degrade.

---

## 8. Credits and rights

Original souvenir © 2012 United Evangelical Christian Fellowship Church, Westfield, NJ.
Web edition © 2026 United Evangelical Christian Fellowship Church.
All photographs, letters and articles remain the property of their respective authors and
contributors.

Corrections — particularly to the Telugu transcriptions or to any name in a photo caption
— are very welcome at **info@uecf.net**.
