Skip to content

feat(community): plain-language how-to-post section for readers without a GitHub account - #69

Merged
eaitbrahim merged 1 commit into
mainfrom
feat/community-howto-48
Aug 22, 2026
Merged

feat(community): plain-language how-to-post section for readers without a GitHub account#69
eaitbrahim merged 1 commit into
mainfrom
feat/community-howto-48

Conversation

@eaitbrahim

Copy link
Copy Markdown
Contributor

What

Closes #48.

The community page told readers where the conversation happens, never how to join it. Discussion #472 only happened because the whole signup path was walked through over email. This adds the sentences that unblock it, directly on the page.

Changes

  • "New here? How to post" card above the category list (src/components/pages/CommunityPage.astro + copy in src/i18n/pages/community.ts), following the issue's sketch at its length:
    • three bold-lead facts: free GitHub account required to post (reading open); real name not required, email never shown; it is just a web page with a comment box — nothing installs, everything is editable/deletable;
    • four-step signup walkthrough (signup link → email code + human check → "Start a discussion" button below → title, question, post);
    • one-sentence category guidance: Compliance & classification for "should X be treated this way", Q&A for running/configuring keel, General otherwise — wrong picks get moved.
  • Composer deep links: every open category card gets a second link (Start a discussion →) to discussions/new?category=<slug>, keeping the existing browse link. Announcements gets none — that category is maintainers-only (verified via the GraphQL API: only maintainers have ever opened one), and a link ending in a permission wall would not be honest.
  • EN / AR / FR all added; rev and translatedFromRev bumped to 2026-08-21.1 per convention — no stale banner in any locale.
  • Honesty guardrail kept: the copy says you need not use your real name — it never claims anonymity.

Scope guard

The site still only reads and links. This explains how to reach the place where interaction happens; it adds no interaction here. Changes are limited to CommunityPage.astro and community.ts (plus a small scoped style block reusing the .card pattern).

Verification

  • npx astro check0 errors (1 pre-existing hint in scripts/render-tui-shots.mjs).
  • npm run build — 44 pages, clean.
  • dist/{en,ar,fr}/community/index.html each contain: the how-to card (3 facts, 4 steps), the github.com/signup link, 6 composer deep links, and no stale-banner.
  • Links verified live: github.com/signup resolves; …/discussions/new?category=compliance-classification opens the composer preselected (issue author confirmed 2026-08-21; slugs re-confirmed against the repo's categories via the GraphQL API).
  • Puppeteer (Chrome, 390×844): zero horizontal overflow on /en/, /ar/, /fr/ community pages; AR numbered list renders RTL with markers on the right (screenshot-checked).

Closes #48

…ut a GitHub account

The community page said where the conversation happens but not how to join
it. Discussion #472 showed the gap: a first-time, non-technical participant
only got in because the whole process was walked through by email.

Adds a 'New here? How to post' card above the category list — account
required (reading open), real name not required and email never shown, it
is just a web page with a comment box — plus a four-step signup walkthrough
and one sentence of category guidance (compliance/classification questions
belong in Compliance & classification, not Q&A; wrong picks get moved).
Each open category card now also deep-links to the composer with its
category preselected (discussions/new?category=<slug>); Announcements gets
no composer link because that category is maintainers-only. Copy in EN, AR
and FR; rev and translatedFromRev bumped to 2026-08-21.1 per convention.
The site still only reads and links — this explains how to reach the place
where interaction happens.

Closes #48
@sonarqubecloud

Copy link
Copy Markdown

@eaitbrahim
eaitbrahim merged commit aaaa55a into main Aug 22, 2026
2 checks passed
@eaitbrahim
eaitbrahim deleted the feat/community-howto-48 branch August 22, 2026 00:53
eaitbrahim added a commit that referenced this pull request Aug 22, 2026
…s, delete button, composer deep link

Closes #74. Replaces the #69 how-to-post wording with the maintainer's
actual hand-holding reply from keel#472 — the one that converted a
self-described non-technical reader into a first post: 'curious-reader,
gardenshed99, anything'; 'nothing about it looks odd'; 'If you post and
hate it, there's a delete button'; the four-step signup walkthrough
with the compliance-classification composer deep link ('no navigating,
no hunting for the right place'). Email privacy is stated as fact —
GitHub never displays the address on discussions, so the copy says so
without inventing a settings step. EN/AR/FR, revs bumped.
eaitbrahim added a commit that referenced this pull request Aug 22, 2026
…iscussions window (#73) (#75)

* feat(news): newest-first, 5-per-page pagination, community-discussions window

Closes #73. The announcements feed rendered oldest-first (REST creation
order, never sorted) — every feed now sorts descending at the fetch
layer, and the announcements cap rises 10 -> 30 so the archive has
room. News paginates at five per static page: /{locale}/news/ plus
/news/2/… with per-page canonical + hreflang parity, prev/next arrows
and numbered links; the subscribe form, Show and tell, and the new
community section render on page 1 only — archive pages are pure list.

The community window answers 'why isn't #472 on the site': News read
only Announcements (+ Show and tell), and #472 lives in Compliance &
classification. Rather than flooding the archive with support threads,
a third section shows the five newest discussions from every other
category — original language only (D4/D5), deep links to GitHub — so
the community's voice (including #472) is visible without changing
what Announcements means.

* feat(community): how-to copy in the voice that worked — real usernames, delete button, composer deep link

Closes #74. Replaces the #69 how-to-post wording with the maintainer's
actual hand-holding reply from keel#472 — the one that converted a
self-described non-technical reader into a first post: 'curious-reader,
gardenshed99, anything'; 'nothing about it looks odd'; 'If you post and
hate it, there's a delete button'; the four-step signup walkthrough
with the compliance-classification composer deep link ('no navigating,
no hunting for the right place'). Email privacy is stated as fact —
GitHub never displays the address on discussions, so the copy says so
without inventing a settings step. EN/AR/FR, revs bumped.
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.

community: add plain-language instructions for non-technical readers to post a question

1 participant