Skip to content
View majornutcracker-dev's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report majornutcracker-dev

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

majornutcracker-dev

Developer site of Majornutcracker: documentation for our open-source packages. A static Next.js export deployed to GitHub Pages; unknown routes redirect to the home page.

  • / — product list
  • /docs/<product>/ — README and API reference of the latest release, in two tabs (the tab follows the URL hash, e.g. #reference)

Development

Requires Node (see .nvmrc) and Yarn Classic.

yarn install
yarn dev        # http://localhost:3000 (syncs docs first)
yarn lint
yarn typecheck
yarn build      # syncs docs, then static export to ./out

Docs content

Nothing is copied by hand. scripts/sync-docs.mjs runs before dev and build and, for every product in lib/products.json:

  1. reads the package's latest version from the npm registry (each product's release workflow publishes on its v*.*.* tag, so this is the newest release);
  2. downloads that version's tarball and extracts README.md and docs/REFERENCE.md;
  3. writes it with the registry metadata (version, description, license, repository…) to content/<slug>/ (gitignored).

Relative links in the markdown are rewritten: links between the README and the reference switch tabs in-page; links to any other repo file point to the product's repository at the released tag. README heading ids get a readme- prefix so both docs can share the page. To add a product, append it to lib/products.json:

{ "slug": "my-package", "npm": "@majornutcracker/my-package" }

The package must ship docs/REFERENCE.md in its npm files (npm always includes README.md).

Deployment

.github/workflows/deploy.yml builds and publishes to GitHub Pages on every push to main, on demand, and daily (cron), so a new product release shows up within a day without touching this repo. In the repository settings, set Pages → Source to GitHub Actions.

GitHub disables scheduled workflows after 60 days without repository activity; re-enable it from the Actions tab if that happens.

Popular repositories Loading

  1. design-system design-system Public

    Majornutcracker's agnostic design system for web and React Native

    TypeScript 2

  2. react-native-selectable-text react-native-selectable-text Public

    Text selection and persistent, animated highlights for HTML in React Native and Expo (iOS & Android). Serialize, restore and sync highlights. Built on react-native-webview and Rangy

    TypeScript 2

  3. majornutcracker majornutcracker Public

    Majornutcracker's website

    TypeScript

  4. majornutcracker-dev majornutcracker-dev Public

    Majornutcracker's developers website

    TypeScript