Skip to content

Commit 4ba0eb5

Browse files
author
Andres Contreras
committed
Publish branded jafly by example editions with complete cover and chapter layouts
1 parent d9d5b52 commit 4ba0eb5

63 files changed

Lines changed: 601 additions & 928 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/release.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
' CHANGELOG.md > release-notes.md
7070
# Fall back to a generic line if the changelog had no matching section.
7171
if [ ! -s release-notes.md ]; then
72-
echo "Firefly for Java by Example — release ${TAG_NAME}." > release-notes.md
72+
echo "jafly by example — release ${TAG_NAME}." > release-notes.md
7373
fi
7474
echo "----- release-notes.md -----"
7575
cat release-notes.md

‎CHANGELOG.md‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
# Changelog
22

3-
All notable changes to *Firefly for Java by Example* are documented here.
3+
All notable changes to *jafly by example* are documented here.
44
The project uses CalVer (`YY.MM.PATCH`). The `release.yml` workflow extracts the
55
section matching a `v*.*.*` tag as the GitHub Release notes.
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- Adopt the shared Framework by Firefly identity for English and Spanish front and back covers.
12+
- Introduce *jafly by example* as the collection title across both editions, with localized enterprise-architecture subtitles. Existing package identifiers and download filenames remain unchanged.
13+
- Place PDF covers on full trim pages without running headers or page numbers.
14+
- Include localized front and back cover documents in EPUB reading order, and retain chapter navigation.
15+
- Include publisher metadata in both formats and rights metadata in EPUB.
16+
- Replace the retired cover generator with canonical artwork validation and import.
17+
- Apply the shared logo and palette to title pages, part dividers and chapter openers.
18+
- Render localized chapter and prelude titles when the manuscript relies on manifest headings.
19+
20+
The technical manuscript and companion application are unchanged.
21+
922
## [26.09.01] — 2026-09-24
1023

1124
### Fixed

‎README.md‎

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
1-
# Firefly for Java by Example
1+
# jafly by example
22

3-
> *Reactive Microservices with Spring Boot, WebFlux & the Firefly Framework.*
3+
<picture>
4+
<source media="(prefers-color-scheme: dark)" srcset="art/brand/banner-dark.png"/>
5+
<img src="art/brand/banner-light.png" alt="jafly by Firefly"/>
6+
</picture>
47

5-
The canonical, build-it-yourself guide to the **Java Firefly Framework** — a metaframework on top of Spring Boot (WebFlux · Project Reactor · R2DBC). You build one real application, a personal-loan origination service (**Lumen Lending**), from an empty folder to a secured, observable, event-driven, three-tier system — making every concept concrete before the next.
8+
> *From Spring Boot to a connected enterprise architecture.*
9+
10+
The canonical, build-it-yourself guide to **jafly**, the Java member of **Framework by Firefly** — a metaframework on top of Spring Boot (WebFlux · Project Reactor · R2DBC). You build one real application, a personal-loan origination service (**Lumen Lending**), from an empty folder to a secured, observable, event-driven, three-tier system — making every concept concrete before the next.
611

712
Published by the **Firefly Software Foundation** under Apache-2.0, in **American English** and **Spain Spanish (es-ES)**.
813

@@ -38,13 +43,52 @@ mvn -f samples/lumen-lending/pom.xml verify
3843
./build/.venv/bin/python build/verify_code.py manuscript-es samples/lumen-lending
3944
```
4045

46+
## Cover and interior artwork
47+
48+
The English and Spanish manifests select separate front and back covers from
49+
`art/`. PDF covers occupy the complete 7.5 × 9.25 inch trim page, without running
50+
headers or page numbers. EPUB editions include localized cover and back-cover
51+
documents at the beginning and end of the reading order, while retaining the
52+
chapter navigation. The interior uses the approved jafly logo on title and part
53+
pages, compact numbered chapter banners, and the shared paper, charcoal, amber
54+
and gold palette. Chapter titles come from the localized manifests when the
55+
manuscript does not supply a heading. Technical prose, diagram geometry, and
56+
verbatim listings are preserved.
57+
58+
The shared **Framework by Firefly** brand kit owns the cover design. Validate the
59+
checked-in outlined SVGs and 1500 × 1850 PNGs before rebuilding:
60+
61+
```bash
62+
./build/.venv/bin/python build/gen_cover.py
63+
# To import an updated canonical set:
64+
./build/.venv/bin/python build/gen_cover.py --source /path/to/Framework-Brand-Kit/11-Books/java
65+
```
66+
67+
On macOS, prefix these commands with
68+
`DYLD_FALLBACK_LIBRARY_PATH="$(brew --prefix)/lib"` if Cairo is not already on the
69+
loader path. The tool validates all four covers before copying them, and can
70+
rasterize missing PNGs from their outlined SVGs. It does not generate a new cover
71+
design. See [artwork provenance](art/BRAND-PROVENANCE.md) for ownership and print
72+
boundaries.
73+
4174
## Releases
4275

43-
Built editions (EN + ES, EPUB + PDF) are attached to each [GitHub Release](../../releases) on a CalVer (`YY.MM.PATCH`) tag. The release workflow prepares a draft with all four files; publish the draft after reviewing the rendered editions.
76+
The redesigned English and Spanish editions are published together as
77+
[`books-2026.10.08`](https://github.com/fireflyframework/fireflyframework-java-book/releases/tag/books-2026.10.08):
78+
79+
| Edition | PDF | EPUB |
80+
| --- | --- | --- |
81+
| English | [Download PDF](https://github.com/fireflyframework/fireflyframework-java-book/releases/download/books-2026.10.08/firefly-java-by-example.pdf) | [Download EPUB](https://github.com/fireflyframework/fireflyframework-java-book/releases/download/books-2026.10.08/firefly-java-by-example.epub) |
82+
| Español | [Descargar PDF](https://github.com/fireflyframework/fireflyframework-java-book/releases/download/books-2026.10.08/firefly-java-by-example-es.pdf) | [Descargar EPUB](https://github.com/fireflyframework/fireflyframework-java-book/releases/download/books-2026.10.08/firefly-java-by-example-es.epub) |
83+
84+
Book-only editions use a `books-YYYY.MM.DD` tag. The existing CalVer
85+
(`vYY.MM.PATCH`) workflow remains available for subsequent technical editions.
4486

4587
## Scope
4688

47-
This book is about the **Java** Firefly Framework only. The Python (PyFly), Rust, Go, and .NET ports, the Python agentic metaframework, the `agentic-bridge`, and the frontend frameworks are parallel projects and are **not** covered here.
89+
This book covers **jafly**, the Java family. The pyfly, larafly, rsfly and netfly
90+
frameworks, Firefly Agentic, the `agentic-bridge` and frontend projects have their
91+
own documentation and are outside this book's scope.
4892

4993
---
5094

‎art/BRAND-PROVENANCE.md‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Book cover provenance
2+
3+
Both language editions use the collection title **jafly by example**. Runtime
4+
package identifiers and the existing download filenames remain unchanged.
5+
6+
The canonical source is the private Framework by Firefly digital brand kit,
7+
`Framework-Brand-Kit/11-Books/java/`. The assets use its product-first A2 identity
8+
with the official Firefly endorsement and outlined Manrope typography. The cover
9+
artwork requires no installed fonts. The interior uses the same paper, charcoal,
10+
amber and accessible gold palette, retaining the existing reading and code fonts.
11+
12+
| Edition | Front | Back |
13+
| --- | --- | --- |
14+
| English | `cover.svg`, `cover.png` | `back-cover.svg`, `back-cover.png` |
15+
| Spanish | `cover-es.svg`, `cover-es.png` | `back-cover-es.svg`, `back-cover-es.png` |
16+
17+
All canvases are 1500 × 1850 units/pixels, matching the book's 7.5 × 9.25 inch trim
18+
at 200 pixels per inch. These are individual digital cover faces, not a printer's
19+
wraparound jacket: no bleed, binding allowance, barcode, or production spine is
20+
implied. The brand kit's separate web spine is not part of the PDF or EPUB.
21+
22+
Use `build/gen_cover.py --source /path/to/Framework-Brand-Kit/11-Books/java` to
23+
import an approved revision, then rebuild and visually review both editions.
24+
Running the tool without `--source` validates the checked-in art and rasterizes
25+
missing PNGs. It refuses missing SVGs, wrong dimensions, or live text.
26+
27+
Firefly Software Foundation remains the book's author and publisher. The book's
28+
Apache-2.0 license and existing attribution remain in force; the brand identity
29+
does not change the technical content or imply additional trademark rights.
30+
31+
## Interior identity
32+
33+
`art/brand/` contains exact approved logo and banner exports from
34+
`Framework-Brand-Kit/12-Frameworks/java/`, including the gradient final y.
35+
The light logo appears on title and part-divider pages; the dark logo is embedded
36+
without redrawing it in the 24 compact numbered chapter openers. Regenerate those
37+
with `build/.venv/bin/python build/gen_openers.py` after importing approved logos.
38+
The same opener assets are used by both languages; chapter numbers are decorative
39+
and the localized chapter headings remain the accessible document titles.
40+
41+
The existing code-anatomy figure and concept-preview generator receive palette
42+
changes only. Their geometry and technical text are preserved. Syntax colors and
43+
warning colors retain semantic distinctions.

‎art/back-cover-es.png‎

204 KB
Loading

‎art/back-cover-es.svg‎

Lines changed: 1 addition & 0 deletions
Loading

‎art/back-cover.png‎

197 KB
Loading

‎art/back-cover.svg‎

Lines changed: 1 addition & 0 deletions
Loading

‎art/brand/banner-dark.png‎

43.9 KB
Loading

‎art/brand/banner-dark.svg‎

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)