diff --git a/.github/pages/index.html b/.github/pages/index.html index 5016f20..4e80fd9 100644 --- a/.github/pages/index.html +++ b/.github/pages/index.html @@ -3,60 +3,149 @@ - RichTextEditor — Live Demos + RichTextEditor — Live demos & documentation hub + + + + + + + + + + + + + +
-

RichTextEditor

-

- Free and open-source Rich Text Editor for React — lightweight, extensible, and ready to use. -

+
+
+

RichTextEditor

+

+ Free and open-source rich text editor for React — lightweight, extensible, and published on npm. This hub links to live demos; full reference docs live in the repository. +

+
+ +
+

Live demos

+ +
-
- -

Playground

-

Interactive sandbox — try all toolbar presets, toggle themes, and see live HTML output.

- Vite + React -
+
+

Quick start

+

+ Install the package (React 18+ required). See the usage section in the README for a minimal example. +

+
+
npm install rich-text-editor-ndevu
+ + npm package version for rich-text-editor-ndevu + +
+
- -

React Demo

-

Blog-style example showing how to integrate the editor in a typical React application.

- Vite + React -
+
+

Features

+
    +
  • Formatting: bold, italic, underline, strikethrough; headings H1–H6; lists; links; images; blockquotes
  • +
  • Code: inline code and fenced blocks with syntax highlighting
  • +
  • Editing: undo/redo; paste with formatting preserved where possible
  • +
  • Product: light and dark themes; ARIA and keyboard support; full TypeScript types
  • +
+
- -

Next.js Demo

-

Server-side rendering example with Next.js — demonstrates framework compatibility.

- Next.js 14 -
+
+

Framework compatibility

+
    +
  • React 18 or newer (peer dependency)
  • +
  • Vite — Playground and React demo builds
  • +
  • Next.js — demo uses static export; suitable as a pattern for App or Pages Router apps
  • +
  • Storybook 8 — component stories and a11y checks
  • +
+
- -

Storybook

-

Component gallery with interactive controls — explore props, themes, and accessibility.

- Storybook 8 -
-
+
+

Trusted by

+

+ Organizations and products that build on or ship this editor. Listing here is informational, not an endorsement. +

+ +
+
-
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 00be799..e4ccbdb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -76,6 +76,8 @@ jobs: - name: Assemble deployment directory run: | mkdir -p _site + mkdir -p _site/assets + cp src/assets/GEOFINDA-bgless-logo.png _site/assets/geofinda-logo.png cp -r playground/dist/ _site/playground cp -r examples/react-demo/dist/ _site/react-demo cp -r examples/nextjs-demo/out/ _site/nextjs-demo diff --git a/README.md b/README.md index 8a23005..dd23d63 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ A free, open-source rich text editor for React. It is lightweight, extensible, and published as an npm package for production use. +For interactive demos and quick navigation to examples and repository documentation, see the **[GitHub Pages documentation hub](https://ndevu12.github.io/RichTextEditor/)**. + [![License: BSD-3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](./LICENSE) [![npm version](https://img.shields.io/npm/v/rich-text-editor-ndevu.svg)](https://www.npmjs.com/package/rich-text-editor-ndevu) [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/) diff --git a/docs/contributing.md b/docs/contributing.md index bce7e88..dfdfec2 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -206,3 +206,38 @@ If you're adding a new Tiptap extension to the editor: 6. **Update docs** in `docs/plugins.md` and `docs/api.md` if public toolbar types change See [plugins.md](./plugins.md) for a complete walkthrough with examples. + +--- + +## GitHub Pages adopters + +The [documentation hub](https://ndevu12.github.io/RichTextEditor/) (`index.html` under [.github/pages/](../.github/pages/)) includes a **Trusted by** block for organizations or products that use this library in a shipped production surface or a substantial public demo. Extended prose lives here in `docs/`; the hub page is assembled into `_site` by [.github/workflows/deploy.yml](../.github/workflows/deploy.yml). + +### Eligibility + +- **In scope:** A company, product, or open-source project that **actually uses** `rich-text-editor-ndevu` (this package) in user-facing software you control, not merely an intent to adopt. +- **Representation:** By opening a pull request you confirm you have the right to use the logo and URL you submit. The listing is **informational** and does not imply the maintainers endorse your product. +- **Out of scope:** Generic “built with React” sites with no editor dependency, affiliate listings, or entries whose primary goal is SEO rather than accurate attribution. Maintainers may decline or remove listings that are misleading or stale. + +### Assets + +- **Source file:** Add the logo to [`src/assets/`](../src/assets/) (PNG or SVG with transparency is ideal). Use a descriptive filename; avoid spaces. +- **Published path:** The workflow copies assets into `_site/assets/` with a **lowercase, URL-stable** name (for example, `src/assets/GEOFINDA-bgless-logo.png` is copied to `_site/assets/geofinda-logo.png`). Add a `cp` line in the “Assemble deployment directory” step in `deploy.yml` alongside the existing copies. +- **Markup:** In `.github/pages/index.html`, append a new `
  • ` inside the `#adopters` list: an `` with `rel="noopener noreferrer"`, a visible name (for example ``), and an `` pointing at `./assets/your-file.png` with explicit `width` and `height`, `loading="lazy"`, and `decoding="async"`. + +### Pull request checklist + +When adding or updating an adopter entry, verify the following before requesting review: + +1. Logo file is committed under `src/assets/` and the **license or trademark** situation is clear (your own mark or explicit permission). +2. `.github/workflows/deploy.yml` copies the new asset into `_site/assets/` with a stable filename that matches `index.html`. +3. `.github/pages/index.html` includes the new list item: HTTPS homepage, accessible link text (see below), and dimensions on the image to limit layout shift. +4. **Social previews:** If maintainers use a single `og:image` / `twitter:image` for the hub, coordinate any change to that image and its **alt** metadata in `` so link previews stay accurate and accessible; do not swap global preview metadata casually when only adding a secondary logo in the body. + +### Alternative text and link purpose + +- **Inline logo beside visible name:** Treat the image as **decorative**: use `alt=""` on the `` so assistive technology does not hear the link twice. The **same** `` must include visible text (for example the organization name) so the link has a clear purpose in and out of context. +- **Standalone or iconic image:** If the logo is the only label inside the link, set **non-empty** `alt` text that names the organization and indicates it uses or ships the editor (for example, “Acme — Trusted by / adopter logo”). +- **Open Graph and Twitter:** For `og:image` and `twitter:image`, always set **paired** `og:image:alt` and `twitter:image:alt` (and Twitter `image:alt`) so preview cards are described when the image is shown or when platforms surface alt text. + +These rules align with WCAG 2.2 expectations for meaningful link names, redundant-image avoidance, and non-text contrast where the logo is part of the visible UI. diff --git a/src/assets/GEOFINDA-bgless-logo.png b/src/assets/GEOFINDA-bgless-logo.png new file mode 100644 index 0000000..031cdf1 Binary files /dev/null and b/src/assets/GEOFINDA-bgless-logo.png differ