Skip to content

Commit 1f1aeb1

Browse files
TMHSDigitalclaude
andcommitted
Add a "For publishers" guide
docs/for-publishers.md says what an entry records about a source, how its publisher corrects a fact, follows re-reads, removes or replaces a preview image, lists their own work and links to their entry. It is built as a guide page, listed on the homepage and in the README, and linked from every preview caption ("About previews"). The Correction form gains an "I publish this source" choice. Closes #150 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 84c8dae commit 1f1aeb1

6 files changed

Lines changed: 55 additions & 3 deletions

File tree

‎.github/ISSUE_TEMPLATE/correction.yml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ body:
2424
- Commercial or attribution flag is wrong
2525
- Should be deprecated
2626
- Other metadata
27+
- I publish this source (correct a fact or remove its preview image)
2728
validations:
2829
required: true
2930
- type: input

‎README.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ Read these before you mix packs into a commercial build.
255255
| [`docs/high-risk.md`](docs/high-risk.md) | Sources to avoid entirely |
256256
| [`docs/ai-assets.md`](docs/ai-assets.md) | AI-generated assets |
257257
| [`docs/fivem.md`](docs/fivem.md) | GTA-format and FiveM assets |
258+
| [`docs/for-publishers.md`](docs/for-publishers.md) | What the catalog records about a source, and how its publisher corrects it or opts out of a preview |
258259
| [`docs/data.md`](docs/data.md) | The JSON, CSV and feed exports, their fields, and how to cite the catalog |
259260
| [`docs/trust-score.md`](docs/trust-score.md) | Review rubric used when vetting a source (not shown on entries) |
260261

@@ -344,7 +345,9 @@ New sources, licence corrections, dead links and clearer notes are all welcome.
344345
3. Add a row for it to the category's `README.md`, then run `npm run counts` to update every count.
345346
4. Run `npm test && npm run validate` (quick), then open a pull request. CI also runs the full build.
346347

347-
[`CONTRIBUTING.md`](CONTRIBUTING.md) has the full checklist and how to verify a licence.
348+
[`CONTRIBUTING.md`](CONTRIBUTING.md) has the full checklist and how to verify a licence. If you
349+
publish a source listed here, [`docs/for-publishers.md`](docs/for-publishers.md) says what is
350+
recorded about it and how to correct it or remove its preview.
348351
Please follow the [Code of Conduct](CODE_OF_CONDUCT.md).
349352

350353
<details>

‎docs/for-publishers.md‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# For publishers
2+
3+
If you make one of the libraries, packs or tools in this catalog, this page says what the catalog records about it and how to change that. You do not need to read the contributor guide.
4+
5+
## What an entry records
6+
7+
Each source has one page with:
8+
9+
- a link to your own page, never a mirror; nothing you publish is rehosted or downloaded through the catalog;
10+
- the licence as the catalog reads it, with the commercial stance and whether credit is required;
11+
- an Evidence section that quotes your licence page word for word, with the date it was read;
12+
- a `verified` date, the last time someone read your licence at the source;
13+
- your publisher name, where you have more than one entry.
14+
15+
The catalog's reading is not legal advice, and it is only as current as the verified date. The quotes stay your words.
16+
17+
## Fix a fact
18+
19+
Open a [Correction](https://github.com/TMHSDigital/Free-Game-Dev-Assets/issues/new?template=correction.yml) issue and choose "I publish this source". Quote the live page that shows the right fact. A wrong licence claim is treated as worse than a missing entry, so these are handled first. You can also edit the entry file and open a pull request.
20+
21+
## Hear about re-reads
22+
23+
Licences are re-read in monthly batches, oldest first. To see when yours is re-read, follow the [re-verified feed](https://tmhsdigital.github.io/Free-Game-Dev-Assets/reverified.xml) or watch the repository.
24+
25+
## Preview images
26+
27+
An entry may show your page's own preview image (`og:image`), resized to 640 pixels wide, with a caption naming you and the licence it is shown under. The rules are narrow:
28+
29+
- only `active` entries under an open licence get one; custom licences never do;
30+
- tools and fonts get one only from an image a maintainer has checked, because a program's licence does not cover its logo or social card;
31+
- a CC-BY image is captioned with your credit line.
32+
33+
To remove yours, or to suggest a better image, open a [Correction](https://github.com/TMHSDigital/Free-Game-Dev-Assets/issues/new?template=correction.yml) issue and choose "I publish this source". The maintainer sets `preview: none` and the image is deleted on the next run.
34+
35+
## List your own work
36+
37+
You are welcome to add your own sources. Say that you publish it, write the entry as a third party would (facts your page states, no comparisons or ranking language), and start it at `needs-review` so a maintainer re-reads the licence before it goes `active`. A free tier of a paid product is listed as the free tier only. The [New source](https://github.com/TMHSDigital/Free-Game-Dev-Assets/issues/new?template=new-source.yml) form has a box to say you are the publisher.
38+
39+
## Link to your entry
40+
41+
Each entry has a stable address:
42+
43+
```text
44+
https://tmhsdigital.github.io/Free-Game-Dev-Assets/entry/<id>/
45+
```
46+
47+
The `<id>` is the entry's file name, for example `kenney` for `catalog/3d/kenney.md`.

‎site/config.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"guides": [
4444
{ "id": "licenses", "title": "Licenses", "path": "docs/licenses.md" },
4545
{ "id": "data", "title": "Use the data (JSON, CSV, feeds)", "path": "docs/data.md" },
46+
{ "id": "for-publishers", "title": "For publishers", "path": "docs/for-publishers.md" },
4647
{ "id": "provenance", "title": "Provenance", "path": "docs/provenance.md" },
4748
{ "id": "high-risk", "title": "High risk", "path": "docs/high-risk.md" },
4849
{ "id": "ai-assets", "title": "AI assets", "path": "docs/ai-assets.md" },

‎site/lib/entry-page.mjs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export function entryPageHtml({ entry, leadHtml, restHtml, deprecatedReasonHtml,
117117
: "";
118118
// The publisher's preview, when the licence gate allowed one, with its credit.
119119
const strip = entry.thumb
120-
? `<figure class="entry-strip" style="--thumb-max:${2 * (Number(entry.thumb.width) || 640)}px">${thumbHtml(entry, "../../", undefined, { eager: true })}<figcaption class="entry-credit">${esc(previewCredit(entry))}</figcaption></figure>`
120+
? `<figure class="entry-strip" style="--thumb-max:${2 * (Number(entry.thumb.width) || 640)}px">${thumbHtml(entry, "../../", undefined, { eager: true })}<figcaption class="entry-credit">${esc(previewCredit(entry))}. <a href="../../guide/for-publishers/#preview-images">About previews</a></figcaption></figure>`
121121
: "";
122122
const usedIn = stacks.length
123123
? `<p class="used-in">Used in: ${stacks.map((s) => `<a href="../../stack/${esc(s.id)}/">${esc(s.title)}</a>`).join(", ")}</p>`

‎site/lib/lib.test.mjs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ eq("filmstrip: empty when nothing to show", filmstripHtml([], { root: "" }), "")
10531053
has("entry page: strip image", html, '<img class="entry-thumb-img" src="../../thumbs/x.webp"');
10541054
has("entry page: strip capped at twice its width", html, '<figure class="entry-strip" style="--thumb-max:');
10551055
has("entry page: strip image loads first", html, 'loading="eager" fetchpriority="high"');
1056-
has("entry page: credit line", html, '<figcaption class="entry-credit">Preview image from Kenney, shown under CC0</figcaption>');
1056+
has("entry page: credit line", html, '<figcaption class="entry-credit">Preview image from Kenney, shown under CC0. <a href="../../guide/for-publishers/#preview-images">About previews</a></figcaption>');
10571057
has("entry page: one primary action", html, '<p class="page-actions"><a class="btn" href="https://x.itch.io/p"');
10581058
has("entry page: secondary links row", html, '<p class="page-links">');
10591059
eq("entry page: ghost buttons gone from actions", (html.match(/class="btn-ghost"/g) || []).length, 0);

0 commit comments

Comments
 (0)