Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
From personal blogs to massive documentation sites, Markdoc is a content authoring system that grows with you.
Developer toolsGitHub @markdocOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
A powerful, flexible, Markdown-based authoring framework.
Translation pending
Loading the full README.
Read the full README ↗Markdoc is a Markdown-based syntax and toolchain for creating custom documentation sites and experiences.
We designed Markdoc to power Stripe's public docs, our largest and most complex content site.
To get started with Markdoc, first install the library:
pnpm add @markdoc/markdoc
and import it in your app:
const Markdoc = require('@markdoc/markdoc');
or if you are using ESM
import Markdoc from '@markdoc/markdoc';
then use Markdoc in your app or tool:
const doc = `
# Markdoc README
{% image src="/logo.svg" /%}
`;
const ast = Markdoc.parse(doc);
const content = Markdoc.transform(ast);
return Markdoc.renderers.react(content, React);
Check out our docs for more guidance on how to use Markdoc.
The public renderer types require @types/react, even when using only the
Markdown parser or HTML renderer. Package managers that install peer dependencies
automatically will install it; otherwise, install @types/react explicitly.
The React runtime is optional.
For TypeScript projects that use a bundler, use:
{
"compilerOptions": {
"module": "esnext",
"moduleResolution": "bundler",
"target": "esnext", // works with es2015 or greater
"esModuleInterop": true
}
}
For code run directly by Node.js, use "module": "nodenext" and
"moduleResolution": "nodenext" instead.
If you are using React, install Markdoc with:
pnpm add @markdoc/markdoc react @types/react
Contributions and feedback are welcome and encouraged. Check out our contributing guidelines on how to do so.
For development, use the Node version in .node-version and
pnpm, with the version pinned in package.json.
If using Corepack, run corepack enable first.
This repository uses pnpm workspaces and Turborepo:
packages/markdoc contains the published @markdoc/markdoc library, its tests, and build configuration.packages/next.js contains the published @markdoc/next.js integration and its tests.packages/* is the home for additional packages.apps/* is the home for applications.Run these commands from the repository root:
pnpm installpnpm run buildpnpm testpnpm run test:typesAdd release notes with pnpm changeset. See the Changesets guide
for versioning and the release process.
Run pnpm run check for all CI checks. Turborepo builds workspace dependencies
first and caches build outputs in each package's dist directory.
To work on Markdoc alone, use pnpm --filter @markdoc/markdoc test or
pnpm exec turbo run build --filter=@markdoc/markdoc.
New packages and apps should declare their own scripts and use workspace:*
for dependencies on other workspaces. Applications should set "private": true.
Packages with build outputs other than dist should configure those outputs
in a package-level turbo.json.
The Next.js integration publishes its src directory directly and needs no
build step. Run pnpm exec turbo run test --filter=@markdoc/next.js to build
Markdoc and test the integration against the local library.
This project has adopted the Stripe Code of conduct.
This project uses the MIT license.
Special shout out to: