Repository Analysis

doocs/md

✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、自定义主题样式、内容管理、多图床、AI 助手等特性

2.1 Likely human-written View on GitHub
2.1
Adjusted Score
2.1
Raw Score
100%
Time Factor
2026-05-30
Last Push
12,683
Stars
Vue
Language
54,527
Lines of Code
386
Files
47
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 0MEDIUM 32LOW 15

Pattern Findings

47 matches across 3 categories. Click a row to expand file-level details.

Decorative Section Separators32 hits · 102 pts
SeverityFileLineSnippet
MEDIUMpackages/core/src/extensions/component.ts5// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts7// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts109// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts111// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts123// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts125// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts141// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts143// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts182// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts184// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts202// ────────────────────────────────────────────────────────────────────────────
MEDIUMpackages/core/src/extensions/component.ts204// ────────────────────────────────────────────────────────────────────────────
MEDIUMapps/web/src/composables/useSlashCommand.ts36 // ────── 基础 ──────
MEDIUMapps/web/src/composables/useSlashCommand.ts127 // ────── 常用 ──────
MEDIUMapps/web/src/stores/mpAccounts.ts30 // ── 迁移旧数据(MD__mp-profile → accounts 数组)──────────────────────────
MEDIUMapps/web/src/stores/mpAccounts.ts56 // ── 计算属性 ─────────────────────────────────────────────────────────────
MEDIUMapps/web/src/stores/mpAccounts.ts65 // ── 操作 ─────────────────────────────────────────────────────────────────
MEDIUMapps/web/src/utils/diagramDownload.ts10// ─── Download helpers ────────────────────────────────────────────────────────
MEDIUMapps/web/src/utils/diagramDownload.ts84// ─── Download bar DOM injection ───────────────────────────────────────────────
MEDIUMapps/web/src/utils/diagramDownload.ts138// ─── Overlay lifecycle ────────────────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue20// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue22// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue47// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue49// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue155// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue157// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue180// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue182// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue189// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue191// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue215// ──────────────────────────────────────────────
MEDIUM…ps/web/src/components/editor/CustomComponentDialog.vue217// ──────────────────────────────────────────────
Hyper-Verbose Identifiers13 hits · 13 pts
SeverityFileLineSnippet
LOWpackages/core/src/renderer/renderer-impl.ts166function parseFrontMatterAndContent(markdownText: string): ParseResult {
LOWapps/web/src/composables/useCursorSync.ts90 function syncEditorToPreviewElement(el: HTMLElement) {
LOWapps/web/src/composables/useCursorSync.ts125 function handlePreviewContentClick(event: MouseEvent) {
LOWapps/web/src/stores/ui.ts130 function openComponentDialogWithTarget(target: string) {
LOWapps/web/src/stores/theme.ts15function migrateLegacySettingsSync(currentTheme: ThemeName): PerThemeSettingsMap {
LOWapps/web/src/utils/diagramDownload.ts153export function setupDiagramDownloadOverlay(outputEl: HTMLElement): DiagramDownloadOverlay {
LOWapps/web/src/components/ui/search-tab/SearchTab.vue283function handleReplaceInputKeyDown(e: KeyboardEvent) {
LOWapps/web/src/components/ai/SidebarAIToolbar.vue51function checkSelectionAndUpdateHint() {
LOW…ps/web/src/components/ai/chat-box/AIAssistantPanel.vue140function generateConversationTitle(): string {
LOW…ps/web/src/components/ai/chat-box/AIAssistantPanel.vue153async function autoSaveCurrentConversation() {
LOWapps/web/src/components/editor/Footer.vue216function updateHeadingsAndBreadcrumb(doc: { lines: number, line: (n: number) => { text: string } }, currentLine: number)
LOWapps/web/src/components/editor/CssEditor.vue221function enterSelectModeFromContextMenu() {
LOWapps/web/src/components/editor/editor-header/index.vue80function fallbackCopyUsingExecCommand(htmlContent: string) {
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippet
LOWdocs/custom-upload.md21 errCb(err)
LOWpackages/shared/src/editor/basicSetup.ts21/// - [the default command bindings](#commands.defaultKeymap)