{"adoption": {"forks": 188, "observed_at": "2026-08-28T04:05:09.215116+00:00", "stars": 1596}, "canonical_url": "https://ross.abutalabs.com/products/mdx-notes", "card": {"archived": false, "artifact_type": "application", "description": "⛷ Cross-platform note-taking software, public layout editor, using MDX ⛷ 跨平台笔记软件，公众号排版编辑器，使用MDX来排版", "domain": ["text-editors", "developer-tools", "web-development", "documentation"], "enriched": true, "function": ["editor", "markdown", "templating", "pdf", "ui-components"], "health_score": 73, "homepage": "https://mdxnotes.com/", "language": "TypeScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["maqi1520/mdx-notes"], "name": "maqi1520/mdx-notes", "platform": ["cross-platform"], "pushed_at": "2026-02-16T05:29:39+00:00", "repo": "maqi1520/mdx-notes", "stars": 1596, "tags": ["mdx", "wechat-official-account", "markdown-editor", "note-taking", "nextjs", "typesetting", "openai-integration", "desktop", "web-server", "tauri"], "topics": ["mdx", "markdown-editor", "markdown", "nextjs", "note-taking", "notes"], "urls": [], "use_cases": ["format markdown articles for WeChat Official Accounts", "take cross-platform markdown notes with local file management", "copy styled articles to WeChat with one click", "export markdown notes to PDF or HTML", "create custom styled components with MDX and JSX", "generate WeChat footnotes and article tables of contents", "use ChatGPT/OpenAI to assist with writing"], "what_it_is": "MDX Notes is a cross-platform Markdown note-taking application and WeChat Official Account typesetting editor built with MDX, Next.js, and Tauri. It lets writers combine Markdown with custom React components to produce styled articles that can be copied directly into WeChat, exported to PDF/HTML, or saved as local files.", "when_to_avoid": ["you need a general-purpose WYSIWYG editor unrelated to Markdown or WeChat", "you require cloud sync or collaborative multi-user editing", "you need a plain Markdown editor without JSX/MDX complexity", "your target platform is not WeChat, web, or the supported desktop OSes"], "when_to_choose": ["you publish regularly to WeChat Official Accounts and need consistent typesetting from Markdown", "you want a lightweight cross-platform markdown editor with local file support", "you know React and want to embed custom components in your documents", "you need PDF/HTML export and code diff highlighting in a note tool"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mdx-notes", "repo": "maqi1520/mdx-notes", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:09.215116+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:04.105677+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "322c5a3cf8703b82cdba0b09440c82c907a01ae07eb9b73ae46b8090e6090261", "fetched_at": "2026-08-28T04:05:09.215116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/maqi1520/mdx-notes"}, {"content_hash": "fc17d58b6bf9cb41289ced26ff01a2148047cd4b353a7d1ad5a3e06065ad5cf2", "fetched_at": "2026-08-29T11:25:06.047858+00:00", "kind": "homepage", "missing": false, "url": "https://mdxnotes.com/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 67, "longevity": 100, "rhythm": 40}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1619, "days_push": 198, "days_rel": 675, "gap_med": 23, "n_releases_24m": 4}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}