Skip to main content
ejGames brings each game’s Steam community guides (by the game’s appid: the emulator’s, or the one found when the game was identified). They arrive as blocks, never as HTML. Your theme decides how each title, paragraph, list, table or image looks, and no theme receives third-party code. If your theme paints its own guides, declare it in theme.json:
and the host (the quick menu, or a guide link) will ask you to open them:
Without features.guides, the host has its own window. Open it with ejg.ui.open("guides", { id: gameId }).

The fast way: the kit view

/_sdk/kit/guides.js brings the complete view (a list with filters, saved guides, “keep reading”, a reader with a table of contents, image zoom and a controller). You provide the place and the look:
In the reader, up/down scroll the text, LB/RB jump between sections, Y saves the guide, X opens it on Steam and Back returns to the list (or leaves, if it was opened directly). The look is changed with variables on .g-view (--g-fg, --g-muted, --g-accent, --g-bg, --g-surface, --g-surface-2, --g-line, --g-radius, --g-focus, --g-body-font, --g-body-size) and, if you want to go further, with rules on its g-… classes (g-item, g-chip, g-rbar, g-section-title…). The built-in themes are good examples: each one dresses it like its platform.

The API

  • appid: null means the game is not identified on Steam: there are no guides to search.
  • sort: toprated (highest rated), trend (popular) or mostrecent (newest).
  • category: one of Steam’s categories. The kit has the list with its Spanish name (GUIDE_CATEGORIES).
  • Steam does not filter by language without a session, so ejGames guesses from the text. Without allLanguages, only Spanish and English guides come back (and the ones it cannot tell). Ask for the next page from the response to continue.

The blocks

Each span is { text, b, i, u, s, spoiler, href, guide }. href is a website (open it with ejg.guides.openLink(href)) and guide is another guide (open it in your reader). If you do not want to paint them by hand, the kit’s renderBlocks(blocks, { onLink, onGuide, onImage }) and renderGuide(guide) turn them into DOM nodes with g-… classes.