聊一下自己的项目

2021-01-31 19:58:07 +08:00
 YadongZhang

人在星巴克,对下一份工作并没有打算,也没什么想法

不过下午在星巴克待了两个小时,对自己的个人项目和想做的事情有了更多的体会

贴个 github 地址:Eorg - A Paper Typesetting Editor

当初做这个项目只是为了找一份前端工作,并且想做一个有特色的。事实证明,我离职的这家创业公司正是因为这个项目在知乎找到我

项目灵感来自于 Emacs 的插件 org-mode,这是我在读书时接触到的一款比较符合我个人期望的文本格式,可以用简单的语法生成精美的 LaTeX 排版的 pdf 文件,甚至可以导出 LibreOffice 支持的文本文件,它的出现比 markdown 语言更早

项目前端实现是一个富文本编辑器,选了和知乎一样的 Draft.js 框架

项目衍变过程:

1.0 只做了前端,将 html 转换为 TeX 代码,用 highlight.js 库展示在浏览器上

后来考虑到用户群体包括了或许对 MS Word 都不能熟练使用的文科生,所以有生成 pdf 的需求,需要有服务器,并且安装 TeXLive,这就有了 2.0 版本

2.0 学了一把后端,技术栈选了 Node.js ,数据库选了 MongoDB,托管在阿里云学生 ECS 服务器,这一切的考虑都是为了降低成本(包括学习成本)

整个项目是一个 MERN 技术栈的全栈项目,这是我找到工作前所做的一切

当然,这个项目最大的考虑应当是用户体验,我有一大堆的需求,比如支持大纲折叠,支持 TODO 等等,项目 README 列出了我用 Draft.js 的痛点,所以,前端富文本编辑器框架我可能会换到 quill.js

3012 次点击
所在节点    职场话题
11 条回复
YadongZhang
2021-01-31 20:09:13 +08:00
这也是前 Lark 前端工程师对我的建议

用户体验另一个痛点是 TeXLive 编译太慢了,即使我服务器上用的是 linux 系统,查了资料发现瓶颈在于过多的 IO 操作,所以考虑把 TeXLive 搬上浏览器,让编译过程在浏览器中完成,所以不管是技术难点还是用户体验,这个 task 的优先级更高,**后端** 可以去掉 TeXLive,降低服务器压力,这样一来,我也可以将项目托管至 Heroku

查了一下,在这方面做的比较突出的有 **SwiftLaTeX**,它能够做到实时编译 LaTeX 不是因为服务器上安装了 TeXLive,而是做了 **Tectonic** 的 wasm 版本的编译引擎

这才是一个 WYSIWYG 的 *Paper Typesetting Editor* 的技术突破点所以,我就有了做 3.0 版本的想法

### 3.0 前端富文本编辑器用 Quill.js 重构,做一个 wasm 的 TeXLive

```markdown
富文本编辑器对用户行为的约束,形成难以出现 bug 的 TeX 代码,所以不用考虑 LaTeX 的错误排查
```

这是我在技术上**想做**的一件事,我对 C++ 和 Rust 的一无所知,正如当初对 Draft.js 的了解一样,同时,我对自己的学习能力和运气很有自信

但是我**要做**的事似乎这一年来并没有丝毫进展

我觉得这个想法会有很多的创业公司来实现,自己只是 post 自己对这类产品的体会

自己的沟通能力,决定了自己只适合做独立开发,而不适合团队协作

以上(排版可能有点乱
YouLMAO
2021-01-31 20:09:30 +08:00
但是,写论文用 latex,干嘛需要前端
YadongZhang
2021-01-31 20:12:02 +08:00
@YouLMAO #2 用户只需要有一个浏览器即可,不需要安装 TeXLive,也不需要排查 LaTeX 诡异的 bug
YadongZhang
2021-01-31 20:20:07 +08:00
klam
2021-01-31 23:43:25 +08:00
在公司带薪学习不比搞这个强(另祝楼主项目顺利完成)
Hieast
2021-02-01 00:07:25 +08:00
很迷惑楼主现在靠什么为生
saozhu
2021-02-01 09:56:37 +08:00
所以你辞职的原因真的是想要逃避,而不是认定了自己不适合写代码?
觉得你很酷又很傻,加油吧
cgpiao
2021-02-01 12:32:32 +08:00
借这个楼问一下,有没有比 md 表达性强,但比 latex 简单的标记语言
mikulch
2021-02-01 13:09:53 +08:00
?你不是说要转行了吗?
YadongZhang
2021-02-01 14:03:52 +08:00
@mikulch #9 是啊,只是 po 一下自己的想法,技术很菜,idea 有的是
znyq2019
2021-02-01 15:46:36 +08:00
亚东 , 搞钱要紧啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/750059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX