The module system
One container format for everything the app reads and everything you write. This page covers the concepts and day-to-day management; the format itself is documented separately.
The idea
Most Bible apps draw a hard line between their content and your content. The translations are library data; your notes are rows in a private database. The two are handled by different code, exported by different means, and one of them is usually not exportable at all.
Lamp Bible does not draw that line. A translation is a module. Your notes are a module. A commentary series, a reading plan, a set of highlights, a devotional you wrote last Tuesday — all modules, all in the same container, all managed in the same place.
The nine types
| Type | Contains | Editable |
|---|---|---|
| Translation | Verse text with optional Strong’s numbers, morphology, section headings, footnotes and red-letter marking | No |
| Dictionary | Lexicon entries keyed by Strong’s number or lemma, with senses and usage | No |
| Commentary | Exposition keyed to verses or pericopae, grouped into a series with front matter and bibliography | No |
| Book | A long-form publication in parts, chapters and sections, with footnotes and media — see Books | No |
| Plan | Reading assignments across a cycle, with per-day readings | No |
| Quiz | Age-graded questions tied to a plan’s readings | No |
| Notes | Your verse-keyed study notes | Yes |
| Devotional | Your long-form documents, with media | Yes |
| Highlights | Your highlight spans and colour themes for one translation | Yes |
Both read-only and editable modules sync. Conflict resolution applies to editable types, since those are the modules the app can change. Read-only types are library content — installed, indexed, and otherwise left alone.
Bundled and installed modules
Content that ships with the app lives in a single bundled database, unpacked on first launch. Everything else — modules you import, modules you create — is a separate .lamp file in the app’s storage. The reader does not distinguish between them: a commentary you built yourself appears in the tool panel’s series list next to the ones that came with the app. A module you install with the same identifier as a bundled one takes its place.
Managing modules
The module manager is in Settings → Modules → Manager. It lists what is installed, grouped by type and filterable by type or by source — bundled or your own — with a summary of each: verse counts, entry counts, how many books a commentary series covers, how many highlights a set holds, how many days a plan runs.
Importing
+ → Import Module accepts four kinds of import:
- A
.lamppackage — any module type. Its integrity is checked first, and if a module with the same identifier is already installed you are asked whether to overwrite it. - A Bible you own, as USFM, OSIS, Zefania, plain XML or a SWORD module — see Importing a Bible.
- Notes as markdown — verse-linked study notes, from a single file or a folder.
- Devotionals as markdown — either a folder of files, one entry each, or a single file with several entries.
Books import from the Books library, which also accepts a book’s source JSON and compiles it on the device. Other module types install from .lamp files only; to turn JSON into one, see Building a .lamp file. Because .lamp is registered as a document type, you can also open a module from Files, Mail or a share sheet and it will be handed to the app.
Creating
+ → Create New Module makes an empty notes module, devotional collection or highlight set. Highlight sets ask which translation they belong to, since highlights are translation-specific. Modules can be renamed and their descriptions edited afterwards.
Exporting
Notes and devotional modules export as markdown from their menu in the manager, for editing elsewhere. A single devotional also shares through the system share sheet as a .lamp file that carries its media. See Import & export.
Deleting and resetting
Modules can be deleted individually. My Notes and My Devotionals cannot be deleted, but Reset clears their contents while keeping the module itself. With sync on, a deletion or reset reaches your other devices too.
Why this matters in practice
- Nothing is trapped. Everything you write can leave the app as markdown or as a package, at any time, without asking anyone.
- Content is shareable. A set of study notes for a book, a highlight scheme for a class, a devotional series — each is a file you can send to someone.
- The library is extensible. Anything you have the rights to use can be converted into a module and used exactly like built-in content.
- Search covers everything. Because all modules land in the same indexes, one query reaches library content and your own writing together.
Next
- Importing a Bible — turn a Bible you already own into a translation module, no JSON required.
- Downloads — an installable sample module of every type, with its source JSON, the schemas and the table definitions. The quickest way in is to take one apart.
- Building a .lamp file — the mechanics: tables, compression, verification and installation.
- Authoring modules — the data model: verse reference encoding, annotations, and the JSON shape of each type.