# CerebroMark **Repository Path**: fir01/cerebro-mark ## Basic Information - **Project Name**: CerebroMark - **Description**: Markdown document management and viewing tool designed for self-editing, storing/archiving MD documents, generating PDF/HTML files, and future API-driven internet distribution. - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-24 - **Last Updated**: 2025-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CerebroMarkdown #### Description marktext的中文版,是基于开源的MarkText进行二次开发,从文件管理角度进行很多优化,添加了一些个人喜好,以及解决了一些bug,并且将其中一些过时组件进行了替换。非常感谢MarkText的开发团队提供了这么一个优秀的软件。 ####开发环境:python 3.10,node 18.20, visual studio 2022 安装开发环境注意事项: 1)python的版本和node-gyp的版本要在官网确认是项匹配的 node-gypv11.1.0要求Python >= v3.12 requires node-gyp >= v10 但是官网是错误的:实际是Python = v3.10 和 node= v18.20 和node-gypv11.1.0 https://github.com/nodejs/node-gyp/tree/v11.1.0 2)要求vs 2022的MSBuild.exe。使用工具visual studio installer管理工具安装,并确认MSBuild.exe在path环境变量 3)进入对应python环境再进行安装npm install 4)终极环境版本:使用conda管理python版本和nvm管理nodejs版本.注意node-gyp是不受nvm管理的。 conda env list conda activate py310 nvm use 18.20 5)python安装 # 1. 设置环境变量(需管理员权限) setx CONDA_ENVS_PATH "D:\conda_space;%CONDA_ENVS_PATH%" # 2. 重启 PowerShell,创建环境时会自动存放到 D:\conda_space conda create --name py312 python=3.12 # 3. 激活验证 conda activate py312 6)如上需要弄一堆python都是ced导致,由于此库不更新了,替换方案如下: 将 ced 替换为 chardet #### Software Architecture 7)snabbdom的官方库是一个实验半成品。它有自己既定规则,例如比较时,比较的元素首先必须有唯一根节点,只有 根节点相同才继续比较子节点。新增了以下五种模式: a、为0时,保持目前的算法。 b、模式1:完全使用新节点替换旧节点 c、模式2:根节点相同时vnode更新oldVnode有的,保留oldVnode有vnode没有的,保留vnode有oldVnode没有的。如果此时根节点不同,控制台提示使用模式4. d、模式3:根节点相同时取vnode和oldVnode交集,保留vnode和oldVnode都有的,并且vnode更新oldVnode有的;删除oldVnode中有vnode中没有的,删除vnode中有oldVnode中没有的。如果此时根节点不同,控制台提示使用模式3. e、模式4:根节点不同时将新的vnode,添加到oldVnode的根节点下,并和oldVnode下的同级进行更新操作,即vnode更新oldVnode有的,保留oldVnode有vnode没有的,保留vnode有oldVnode没有的。根节点相同时不处理,而是控制台提示使用模式2。 f、模式5,不比较直接将vnode作为oldVnode根节点的子节点添加,使用系统的已有规则为每个html的element生成新的唯一标识。 Software architecture description npm install --global --production windows-build-tools 未解决错误: 15:01:45.379 > TypeError: Cannot read properties of null (reading 'nodeType') at getNodeAndOffset (webpack-internal:///./src/muya/lib/selection/index.js:393:16) at Selection.setCursorRange (webpack-internal:///./src/muya/lib/selection/index.js:460:9) at ContentState.setCursor (webpack-internal:///./src/muya/lib/contentState/index.js:224:56) at ContentState.render (webpack-internal:///./src/muya/lib/contentState/index.js:261:12) at ContentState.clickHandler (webpack-internal:///./src/muya/lib/contentState/clickCtrl.js:61:23) at HTMLDivElement.handler (webpack-internal:///./src/muya/lib/eventHandler/clickEvent.js:239:20) ┗ ----------------------------s # MarkText
