2024-12-28 v1.2

🅼 来说说Markdown

💡今天发布全新版本:v1.2

1.2版本更新的内容:

  • 新增文件列表排序功能,方便用户快速查找所需内容。
  • 支持文件夹管理功能,让文件归类更加高效便捷。
  • 增强 Markdown 支持:添加标题(#)、列表(-)、代码块等常用语法。
  • 实现自定义的文字“标注”渲染功能:针对中文输入习惯,将【【内容】】(两个中文方括号内的内容)自动渲染为标注样式(见本文图片示例)。
  • 修复部分已知问题,提🄼升使用体验。
  • 其实以上内容你也不需要记,因为后面我将添加AI助手,有不会markdonw语法的同学,可以直接问AI,AI会帮你解决。😀

介绍了更新的版本信息后,我想再说说 Markdown。

Markdown 是一种轻量级的标记语言,使用简单的标记符号对文本内容进行格式化。它最初由 John Gruber 和 Aaron Swartz 于 2004 年设计,旨在通过简洁易读的语法,便于书写、编辑和转换成 HTML 或其他格式。Markdown 被广泛用于编写技术文档、博客文章、说明文件等。

Markdown 的优点(相比传统 Word文档的优势)

  1. 轻量简单: Markdown 的语法极其简单直观,使用符号如 #、*、 等即可标记标题、列表、链接等内容,不需要复杂的菜单操作。 对比 Word: Word 依赖繁琐的格式设置菜单,而 Markdown 更像写代码,直接在文本中完成格式控制,无需频繁切换操作界面。
  2. 跨平台支持: Markdown 是纯文本文件(通常是 .md 后缀),可以在任何文本编辑器中打开和编辑,无需特定的软件支持(如 Word)。 对比 Word: Word 文件需要专用的软件(如 Microsoft Word)或兼容工具,而 Markdown 文件更灵活,几乎可以在任何设备上编辑。
  3. 高度可移植性: Markdown 文件可以轻松转换为 HTML、PDF、Word 等格式,适应不同的应用场景。 对比 Word: Word 虽然也支持格式转换,但生成的文件复杂性较高(如 HTML 文件含有多余的样式代码),而 Markdown 转换输出干净、轻量。
  4. 易于版本控制: Markdown 文件是纯文本,非常适合与版本控制系统(如 Git)结合,方便追踪和管理文档的历史更改。 对比 Word: Word 文件是二进制文件,虽然也支持修订和版本功能,但在团队协作和版本管理中不如纯文本文件高效。
  5. 专注于内容: Markdown 以内容为核心,排版格式被简化到最小程度,鼓励用户专注于内容创作,而不是纠结于样式调整。 对比 Word: Word 提供大量的格式化选项,用户容易被花哨的排版功能分散注意力。
  6. 文件小巧: Markdown 文件由于是纯文本格式,体积非常小,便于存储和分享。 对比 Word: Word 文件通常包含复杂的格式信息和嵌入资源,文件体积较大,不便于轻量级共享。
  7. 支持扩展: Markdown 可以通过插件支持数学公式(LaTeX)、流程图、表格、高亮代码等,灵活满足技术写作和复杂文档的需求。 对比 Word: Word 功能强大但不够灵活,复杂功能需要额外的插件支持,学习曲线较高。
  8. 易于被AI大模型理解与生成: Markdown 的结构化语法(如清晰的标题层级、列表标记、代码块等)使其成为人工智能大模型的理想交互格式。AI 能够准确识别 Markdown 的语义结构(如将 # 解析为标题,** 解析为加粗),从而更精准地生成、修改或分析内容。 对比 Word: Word 的二进制或 XML 格式包含大量排版元数据,AI 需要额外处理冗余信息;而 Markdown 的纯文本特性大幅降低了 AI 的解析复杂度。当前主流 AI(如 GPT、Claude 等)默认以 Markdown 格式输出内容(如代码块、表格、列表),进一步验证了其与 AI 的天然适配性。

Markdown 的适用场景

  • 知识管理: 用于个人笔记。
  • 技术文档: 撰写 README 文件、API 文档等。
  • 博客与文章: 撰写 Markdown 格式的博客并发布到支持的平台。
  • 团队协作: 结合 Git 管理文档和代码。

一个简单的 Markdown 示例


上图效果通过输入以下内容便可以直接在星辰app中渲染

# 上下文隔离(Context Isolation)
【【 🌈 上下文隔离(Context Isolation)是 Electron 中的一项重要安全功能,它确保预加载脚本(Preload Script)和 Electron 的内部逻辑运行在与网页内容(Web Content)隔离的独立上下文中。这项功能的主要目的是防止网页访问 Electron 的内部组件或预加载脚本中的高权限 API,从而增强应用程序的安全性。】】

### 上下文隔离的作用
1. **隔离运行环境**:
   - 预加载脚本和网页内容运行在不同的 JavaScript 上下文中。
   - 网页无法直接访问预加载脚本中的变量或函数。

2. **防止高权限 API 暴露**:
   - 预加载脚本可以访问 Node.js API 和 Electron 的内部模块,但这些 API 不会直接暴露给网页。
   - 通过 `contextBridge` 模块,可以安全地将特定的 API 暴露给网页。

---

### **迁移到上下文隔离**
如果您的应用程序之前未启用上下文隔离,需要将预加载脚本中的 API 暴露方式从直接修改 `window` 对象改为使用 `contextBridge`。

- **之前(未启用上下文隔离)**:
  ```javascript
  // preload.js
  window.myAPI = {
    doAThing: () => {}
  };
  ```
  
- **之后(启用上下文隔离)**:
  ```javascript
  // preload.js
  const { contextBridge } = require('electron');
  contextBridge.exposeInMainWorld('myAPI', {
    doAThing: () => {}
  });
  ```