D

88250 Java golang Linux 开源
关注
1 号成员,2012-11-24 16:19:56 加入
68.2k
个人主页 浏览
34.6k
帖子 + 回帖 + 评论
但行好事莫问前程
  • 88250 昆明
    链接

    Lute 代码高亮支持基本完成了,明天用社区数据跑跑看。

  • 88250 昆明
    链接

    记 小 d 丸子和 @DASHU 小公举共游西山

    image.png

  • 88250 昆明
    链接

    @DASHU 来云南旅游,晚上要面基了。

  • 88250 昆明
    链接

    Solo 也成为 GitHub 上的一个万星项目了!

    image.png

  • 88250 昆明
    链接

    Lute 的解析器和渲染器已经完成了(实现了 CommonMark 和 GFM),接下来要开始实现代码块语法高亮了。

  • 88250 昆明
    链接

    七牛云 CDN 的刷新问题真的很老火:对象存储中的文件更新或者删除后,在 CDN 管理里手动触发刷新大概率不起作用,只能发工单给他们处理。这个问题已经存在好多年了,七牛云的同学如果看到就请修复一下吧 🙏

  • 88250 昆明
    链接

    晚上去楼下的 118 酒吧听歌喝酒。

  • 88250 昆明
    链接

    期待由华为主导的中国开源基金会,如果提供代码托管的话我会把 B3log 开源社区系列项目迁移过去。

  • 88250 曲靖
    链接

    提交了几发优化给 CommonMark 官方 https://github.com/commonmark/commonmark.js/pull/171

    望采纳 😂 😂 😂

  • 88250 曲靖
    链接

    Lute parser 部分的性能优化基本完成,明天开始优化 renderer。

  • 88250 昆明
    链接

    Lute 要做到极致的性能,必须去掉词法分析。词法分析的作用是把输入文本的字符分类形成 token,这就需要完整遍历一遍输入文本。这个遍历过程虽然比较快,但是构造 token 对象却是很耗时的(规范文本有 12W+ 个 tokens )。所以如果要做到极致的性能,必须把词法分析过程省掉,在语法分析阶段根据字符值操作。这样减少了遍历次数,也减少了内存分配和 GC。

  • 88250 昆明
    链接

    Lute 通过了全部的 CommonMark 测试用例 🎉

    image.png

  • 88250 昆明
    链接

    Lute 测试用例进度 625/649。不出意外的话明天就可以完成了,然后花一周左右时间进行重构和性能调优。

  • 88250 昆明
    链接

    Lute 测试用例进度 549/649。还差 100 个就通关 CommonMark 了,下一个目标是实现一些 GFM 的扩展语法支持。

  • 88250 昆明
    链接

    开始为 Symphony 社区系统投放 Google Ads 广告。

  • 88250 昆明
    链接

    看到著名 Markdown 程序员 phodal 被骂(两年前的事情)

    如何看待phodal新书 《全栈应用开发-精益实践》? - 知乎

    没有干货代码最好不要营销,不然会被骂惨的。

  • 88250 昆明
    链接

    所有 HTML 实体的 JSON 结构化数据:https://html.spec.whatwg.org/entities.json

  • 88250 昆明
    链接

    虽然已经理解了 CommonMark 规范文末提到的解析算法,但自己独立进行实现还真搞不定。在抄了官方参考实现项目 commonmark.js 部分代码后,Lute 块级元素解析基本重写完毕。

    参考实现就是用来参考的。况且,读书人的事情怎么能叫偷?

    当然这是开玩笑的。Lute 鸣谢部分见,感谢开源 ❤️

  • 88250 昆明
    链接

    妖精,快还我爷爷!

    if grandparent := node.Parent().Parent(); nil != grandparent && NodeList == grandparent.Type() {
    	if grandparent.(*List).tight {
    		return WalkContinue, nil
    	}
    }