Skip to content

Commit

Permalink
24/12/15
Browse files Browse the repository at this point in the history
  • Loading branch information
WindRunnerMax committed Dec 15, 2024
1 parent 6b9a4f5 commit c699c35
Show file tree
Hide file tree
Showing 7 changed files with 482 additions and 264 deletions.
1 change: 1 addition & 0 deletions .scripts/docs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export const docs: Record<string, string[]> = {
"Plugin/初探webpack之解析器resolver",
"Plugin/基于ServiceWorker的文件传输方案",
"Plugin/初探富文本之搜索替换算法",
"Plugin/从脚本管理器的角度审视Chrome扩展"
],
Patterns: [
"Patterns/简单工厂模式",
Expand Down
2 changes: 1 addition & 1 deletion .scripts/overview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ const root = path.resolve(__dirname, `..`);
record.forEach((item, index) => {
target.push(`### ${item.date}`);
const path = item.path.replace(/ /g, "%20");
target.push(`第 ${count - index} 题:[${item.name}](${path})`);
target.push(`第 ${count - index} 题:[${item.name.replace(/\.md$/, "")}](${path})`);
target.push("");
});
await fs.writeFile(path.join(root, "Timeline.md"), target.join("\n"));
Expand Down
28 changes: 25 additions & 3 deletions Backup/初探富文本之序列化与反序列化.md
Original file line number Diff line number Diff line change
Expand Up @@ -664,15 +664,37 @@ public deserialize(current: Node): Delta {
| -- line -- | | -- <div> ---|
| | -- text ··· <span> ---- | |
| |
root -- lines -- | -- line -- leaves ··· <tag> -- | -------------------| -- normalize -- html
root -- lines -- | -- line -- leaves ··· <elements> --------- <div> ---| -- normalize -- html
| |
| -- block -- ref(id) ··· <div> -- | -----------------|
| -- codeblock -- ref(id) ··· <code> ------- <div> ---|
| |
| -- table -- ref(id) ··· <table> -- | ---------------|
| -- table -- ref(id) ··· <table> ---------- <div> ---|
```

反序列化的方式相对更复杂一些,因为我们需要维护嵌套结构的引用关系。虽然本身经过`DOMParser`解析过后的`HTML`是嵌套的内容,但是我们的基准解析方法目标是扁平的`Delta`结构,然而`block``table`等结构的形式是需要嵌套引用的结构,这个`id`的关系就需要我们以约定的形式完成。

```
| -- <b> -- text ··· text|r -- bold|r -- |
| -- <align> -- <h1> -- | | -- head|r -- align|r -- |
| | -- <a> -- text ··· text|r -- link|r -- | |
<body> -- | | -- deltas
| | -- <u> -- text ··· text|r -- unl|r --- | |
| -- <code> -- <div> -- | | -- block|id -- ref|r -- |
| -- <i> -- text ··· text|r -- em|r ---- |
```

接下来我们将会以`delta`数据结构为例,处理扁平结构的剪贴板模块设计。同样分别以行内结构、段落结构、组合结构、嵌入结构、块级结构为基础,在上述基本模式的调度下,分类型进行序列化与反序列化的插件实现。


### 行内结构

### 段落结构

### 组合结构

### 嵌入结构

### 块级结构

## 每日一题

Expand Down
388 changes: 388 additions & 0 deletions I18N/Plugin/从脚本管理器的角度审视Chrome扩展.md

Large diffs are not rendered by default.

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
如果觉得还不错,点个`star`吧 😁

<!-- Summary Start -->
版本库中共有`488`篇文章,总计`91219`行,`1080512`字,`3002624`字符。
版本库中共有`489`篇文章,总计`91912`行,`1084938`字,`3020472`字符。
<!-- Summary End -->

这是一个前端小白的学习历程,如果只学习而不记录点什么那基本就等于白学了。这个版本库的名字`EveryDay`就是希望激励我能够每天学习,下面的文章就是从`2020.02.25`开始积累的文章,都是参考众多文章归纳整理学习而写的,文章包括了`HTML`基础、`CSS`基础、`JavaScript`基础与拓展、`Browser`浏览器相关、`Vue`使用与分析、`React`使用与分析、`Plugin`插件相关、`Patterns`设计模式、`Linux`命令、`LeetCode`题解等类别,内容都是比较基础的,毕竟我也还是个小。此外基本上每个示例都是本着能够即时运行为目标的,新建一个`HTML`文件复制之后即可在浏览器运行或者直接可以在`console`中运行。
Expand Down Expand Up @@ -299,6 +299,7 @@
* [初探webpack之解析器resolver](Plugin/初探webpack之解析器resolver.md)
* [基于ServiceWorker的文件传输方案](Plugin/基于ServiceWorker的文件传输方案.md)
* [初探富文本之搜索替换算法](Plugin/初探富文本之搜索替换算法.md)
* [从脚本管理器的角度审视Chrome扩展](Plugin/从脚本管理器的角度审视Chrome扩展.md)

## Patterns
* [简单工厂模式](Patterns/简单工厂模式.md)
Expand Down
7 changes: 5 additions & 2 deletions Timeline.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# Timeline

前端笔记系列共有 418 篇文章,总计 74105 行, 839648 字, 2338654 字符。
前端笔记系列共有 419 篇文章,总计 74512 行, 847468 字, 2357809 字符。

### 2024-12-15
第 419 题:[从脚本管理器的角度审视Chrome扩展](Plugin/从脚本管理器的角度审视Chrome扩展.md)

### 2024-11-19
第 418 题:[基于fetch的SSE方案.md](Browser/基于fetch的SSE方案.md)
第 418 题:[基于fetch的SSE方案](Browser/基于fetch的SSE方案.md)

### 2024-10-31
第 417 题:[初探富文本之搜索替换算法](Plugin/初探富文本之搜索替换算法.md)
Expand Down

0 comments on commit c699c35

Please sign in to comment.