Skip to content

Add EVE HTML Documentation - #309

Merged
Nohus merged 3 commits into
esi:mainfrom
joaomlneto:claude/eve-html-documentation-xiexnm
Aug 23, 2026
Merged

Add EVE HTML Documentation#309
Nohus merged 3 commits into
esi:mainfrom
joaomlneto:claude/eve-html-documentation-xiexnm

Conversation

@joaomlneto

Copy link
Copy Markdown
Member

Improvements to the documentation for EVE HTML and in-game links

joaomlneto and others added 3 commits August 23, 2026 00:28
Wherever text in EVE can be formatted — a mail, a character bio, a
corporation description, an item's description — the client stores it as
a small HTML-like markup, and ESI returns it byte for byte. It has never
been specified anywhere and third-party developers have been
reconstructing it from each other's parsers.

Adds a guide covering where the markup turns up, its lexical quirks, the
tag and color reference, the in-game link schemes, a parsing recipe with
two Python snippets, and the rendering hazards on the web.

Grounded in CCP's own parser: Tr2LabelTextParser.cpp in the open-sourced
Carbon engine is the tokenizer the client's UI Label uses, which settles
the complete tag set, the four character entities that are decoded, the
whitespace rules, and what happens to a stray "<" (the client discards to
the next ">", or drops the rest of the string if there is none).

The showinfo: section documents resolving the type ID discriminator
through the SDE's group and category, so parsers no longer need the
hardcoded station and character type ID lists that circulate between
projects — one of which classifies type 14, a Moon, as a station.

Every example, statistic and mapping in the page was checked against the
SDE, the ESI spec, markup captured from the live client, or a browser.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4nfZQWFzW8N2ZYtbbzL5H
Wherever text in EVE can be formatted — a mail, a character bio, a
corporation description, an item's description — the client stores it as
a small HTML-like markup, and ESI returns it byte for byte. It has never
been specified anywhere and third-party developers have been
reconstructing it from each other's parsers.

Adds a guide covering where the markup turns up, its lexical quirks, the
tag and color reference, the in-game link schemes, a parsing recipe with
two Python snippets, and the rendering hazards on the web.

Grounded in CCP's own parser: Tr2LabelTextParser.cpp in the open-sourced
Carbon engine is the tokenizer the client's UI Label uses, which settles
the complete tag set, the four character entities that are decoded, the
whitespace rules, and what happens to a stray "<" (the client discards to
the next ">", or drops the rest of the string if there is none).

The showinfo: section documents resolving the type ID discriminator
through the SDE's group and category, so parsers no longer need the
hardcoded station and character type ID lists that circulate between
projects — one of which classifies type 14, a Moon, as a station.

Every example, statistic and mapping in the page was checked against the
SDE, the ESI spec, markup captured from the live client, or a browser.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T4nfZQWFzW8N2ZYtbbzL5H
@joaomlneto
joaomlneto requested review from a team as code owners August 23, 2026 00:15
@Nohus
Nohus merged commit efe2d97 into esi:main Aug 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants