草庐IT

用语雀写文章了,功能真心强大!

Java技术栈 2023-03-28 原文

大家好,我是栈长。

大家都知道,程序员这个职业需要不断总结,对我印象最深的一件事是,我曾经花了几天时间解决了一个惊天 bug,而几个月过后,这个 bug 再次发生了,我知道我之前解决过这个 bug,但再次发生时却束手无策,怎么想也想不出当时是怎么解决的。。

相信大家都有遇到过这样的场景吧?

所以,自从那件事过后,每次解决了什么难解决的问题我都会把解决方案记下来,后面做了系统架构师,也会督促团队成员记录日常 bug 及解决方案的习惯,这样能帮到自己,也能让其他人少走弯路。

工作、生活的琐事太多,我不相信这世上有超人,就算记性再好,过一段时间也会忘记的。虽然后面我养成了记笔记、写文章、写博客的习惯,但现在回过头去看那些文章,我也很难相信那居然是自己写的,所以,好记性不如烂笔头,这句话是非常有道理的。

说到写文章,栈长这些年用过好几个笔记工具,大家也都耳熟能详的,但都被我抛弃了,最后选择了一个国外的 Markdown 文章工具,还是付费的,选择它是因为它所见即所得,重点是对代码块支持比较好,但是有一个致使的缺点——不能云同步,需要借助其他工具完成同步,真是鸡肋。

所以,说实话,我一直没找到一款称心如意的笔记工具。。。

但最近我发现有款文档软件非常火,语雀,蚂蚁集团出品的,因为和同事经常有一些资料上的分享、协助,所以,总会有人发一些语雀的链接给我,让我看看、协助改下,出于好奇,我问了问同事,他说语雀界面很干净清爽,支持 Markdown、画板、思维导图、流程图…

话说同事那次推荐之后,我也顺便下载体验了下,体验之后我就离不开它了,果断从其他工具迁移到了语雀因为我平时信息太多了,平时总要记一些随想、事项、代码思路、知识笔记、文章等,栈长要用好几个工具来完成这些,太乱又没有章程,而语雀一个就够了,着实提高了我的生产力。

今天,我也毫不吝啬,也分享下我是怎么用语雀的。

1

某个工作日,早上 10 点多,栈长正噼里啪啦敲着代码,突然遇到一个技术问题一筹莫展,一番研究后,最终解决了。

但,迫于事情的紧迫性,当时没有时间做再过多的研究,于是随手按了下 "ctrl + shift + y" 把问题和临时解决方案小记了一下:

工作空闲之余,栈长打开了语雀客户端,找到小记,并把它移动了对应的知识库:

然后花时间把它形成了一篇解决方案文章,这样,一件事情就能有始有终,也能解决我平时要用多个软件管理事项、文章的困扰。

现在回想起以前那些发送聊天助手、收藏骚操作,真是太 Low 了,虽然用起来很方便,但是太零散了,也不能形成知识闭环,而且还会经常忘记,说话,你们是不是也有这样做的?

2

周末,窗外下着暴雨,刮着台风,世界末日一般,市政府也提醒我不要去海边,出门也要注意安全,没办法,只能呆在家。

于是我打开了语雀客户端,看看还有啥要做的,发现要写的文章真不少,有些都堆积好些时日了,栈长写文章一顿操作猛如虎,还意外发现了语雀的许多妙用。

Markdown 语法随心应手:

大纲标题直接输入 # 号空格即可,比如一级标题(#)、二级标题(##)、三级标题(###)等等…

想引用某个链接,输入 > 空格即可。

参考链接:http://xx

想要插入代码,输入 ````` 回车即可。

等等以上这些用法,还是 Markdown 原来的配方,熟悉的味道,迁移过来没有任何门槛磕绊,这是值得称赞的。

语雀还支持各种快捷指令,指令就是功能点的拼音首字母缩写,比如:代码块 = /dmk,我输入 /dmk 就能插入代码块:

没错,如果不是 Markdown 用户,快捷指令也能愉快地写作,这效率太高了,太有意思了。

程序员写作不能没有代码块,既能选择指定的编程语言,不同的语言还要有不同的样式,还要能选择代码主题:

写的兴致来了,需要来张思维导图,以往写作时需要跳出笔记工具在第三方画图,再粘贴进来,而现在只需要一个 /swdt指令,思维导图模块就呈现给我了:

以上是模板,下面是我真实画的:

当然这只是小菜,只要有需要,平时工作中要用的各种流程图(/lct)、UML 图(/uml),甚至是画板(/hb),在强大的素材库加持下都可以顺手拈来:

这个画板真是太灵活了,是我见过最强大的,画板上面可以是多个任何图形,比如上面所说的思维导图,其实就是画板承载的,画板的能量真的巨大,有非常大的可利用的空间,给同事分享时画了几张图,完了立即就成为文章素材。

为什么语雀编辑器对程序员这么友好?

栈长了解了下,原来语雀最早诞生于支付宝体验技术部,这是一个设计师和工程师居多的团队,所以,它一开始就是写给咱们程序员自己用的工具,这可能也是我为什么这么快适应它的原因吧。

3

栈长毕业多年,写的技术文章也有几百上千篇了,散落各地,存于各个笔记工具,至今它们也没有好好团聚,也是时候好好整理一下了。

语雀也提供了知识库功能,可以分类整理成自己的私密文章,你看,这是我创建的 Java 个人私密知识库,导入上传的一些 Java 类的文章:

看起来真的很舒服,还是云同步,以后我就可以多端编辑写作了,虽然创建的是个人私有的知识库,但我也能很灵活自在的分享给其他人阅读、编辑,比如我想分享给某个同事看:

同事某方面技术能力不错,想邀请他共同创作和评论:

知识库、单篇文章的权限都可以灵活设置,这一切都取决于你。

4

好了,知识库也构建完成了,以往都是要手动复制文章再部署到博客,这个过程确实很难受,直到我看到语雀的开发者服务 Webhooks:

语雀丰富的 API 和 Webhooks 助我打通了第三方生态,和 Github 的 Webhooks 一样,这是一种触发某种事件主动通知机制,你看,下面我定制了知识库发布文档、更新文档动态:

一旦文章更新就能推送给我的服务器,然后服务器通过语雀 API 从知识库获取文章更新博客,这样写完文章就能自动部署博客了,保证博客能和语雀实时同步,也完成了知识从小记 > 文章 > 知识库 > 博客的整个流程,从内到外打通知识的边界,让文档不仅局限在语雀之内。

再补充下,所有 API 都需要 Token 授权访问,我们需要在个人中心创建 Token:

刚写完文章,就自动部署博客了,我们常说,不要盲目加班,不要把大量时间花在重复的事情上面,工作要提高效率,瞧,部署了这个免费机器人博客就不用我管了。


以上就是我的一点分享,并不是全部,谈谈总结吧:

1、小记、文章、知识库,它们都是独立的,但也是可以相互依存的,好好利用,可以把杂乱的信息汇聚起来,让信息更聚焦,而不是各自为营,很大程度上可以提升效率。

2、这是我见过的最强大的编辑器,支持 Markdown / 快捷指令,可以插入代码块、公式、视频、各种流程图、画板等,甚至是第三方的服务,这块的能量巨大,几乎可以胜任任何高级别的文章编写。

3、程序员专属能力,除了强大的编辑器,还有开放的生态和开发者服务,可以满足一些对于文档有个性化要求的程序员,比如:Webhooks,让文档不只是文档,还能瞬间成为博客。

……

以上,其实还有更多,语雀太好玩了。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

有关用语雀写文章了,功能真心强大!的更多相关文章

  1. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  2. ruby-on-rails - rails 功能测试 - 2

    在Rails自动生成的功能测试(test/functional/products_controller_test.rb)中,我看到以下代码:classProductsControllerTest我的问题是:方法调用products()在哪里/如何定义?products(:one)到底是什么意思?看代码,大概意思是“创建一个产品”,但是它是如何工作的呢?注意我是Ruby/Rails的新手,如果这些是微不足道的问题,我深表歉意。 最佳答案 如果您查看test/fixtures文件夹,您会看到一个products.yml文件。这是在您创建

  3. ruby-on-rails - 功能测试 Authlogic? - 2

    在我的一些Controller中,我有一个before_filter检查用户是否登录?用于CRUD操作。application.rbdeflogged_in?unlesscurrent_userredirect_toroot_pathendendprivatedefcurrent_user_sessionreturn@current_user_sessionifdefined?(@current_user_session)@current_user_session=UserSession.findenddefcurrent_userreturn@current_userifdefine

  4. ruby - Ruby 中允许 "p *1..10"打印出数字 1-10 的功能是什么? - 2

    require'pp'p*1..10这会打印出1-10。为什么这么简洁?您还可以用它做什么? 最佳答案 它是“splat”运算符。它可用于分解数组和范围并在赋值期间收集值。这里收集赋值中的值:a,*b=1,2,3,4=>a=1b=[2,3,4]在此示例中,内部数组([3,4])中的值被分解并收集到包含数组中:a=[1,2,*[3,4]]=>a=[1,2,3,4]您可以定义将参数收集到数组中的函数:deffoo(*args)pargsendfoo(1,2,"three",4)=>[1,2,"three",4]

  5. ruby - 现代计算机的功能是否不足以处理字符串而无需使用符号(在 Ruby 中) - 2

    我读过的关于Ruby符号的每一篇文章都在谈论符号相对于字符串的效率。但是,这不是1970年代。我的电脑可以处理一些额外的垃圾收集。我错了吗?我拥有最新最好的奔腾双核处理器和4GBRAM。我认为这应该足以处理一些字符串。 最佳答案 您的计算机可能能够处理“一点点额外的垃圾收集”,但是当“一点点”发生在运行数百万次的内部循环中时呢?如果它在内存有限的嵌入式系统上运行呢?有很多地方你可以随意使用字符串,但在某些地方你不能。这完全取决于上下文。 关于ruby-现代计算机的功能是否不足以处理字符串

  6. ruby - 如何在 Cucumber 的功能名称中使用空格 - 2

    我正在使用Windows并尝试运行一个现有的功能包,该功能包最初是在MacOS上构建的,这允许他们通过使用带空格的"\"来解决问题。我正在使用Ruby2.2.3和Cucumber。功能名称包含空格,我无法更改它。我尝试使用""和''来绕过空白,但每次都有同样的问题。这是问题的一个例子。如果我运行:cucumberfeatures/'Namecontainingwhitespaces.feature'它工作正常。但是当我运行时:cucumber-pmy_profile和cucumber.yml包含:my_profile:features/'Namecontainingwhitespace

  7. ruby - 如何测试在运行之间提供功能的 Ruby 脚本? - 2

    单元测试的好方法是测试脚本在执行之间保持正确数据的能力——在使用Ctrl-C终止脚本然后重新运行之后?是否有针对执行类似操作的现有模块或脚本的任何测试可以针对最佳实践进行审查? 最佳答案 像http://avdi.org/devblog/2010/07/19/greenletters-painless-automation-and-testing-for-command-line-applications/一样使用库或者期望、运行、终止并重新运行您的程序,并检查它是否运行正确。好的做法是将程序设计为独立的模块,每个模块都经过良好测试

  8. ruby-on-rails - rails delete_if 使用哈希忽略当前文章(中间人) - 2

    我为你们准备了一个简单的。我想要一个特色内容部分,其中排除了当前文章所以这可以通过delete_if使用MiddlemanBlog:但是我使用的是中间人代理,所以我无法访问current_article方法...我有一个YAML结构,其中包含以下模拟数据(以及其他数据),文件夹设置如下:data>site>caseStudy>RANDOM-ID423536.yaml(由CMS生成)在每个yaml文件中,您会发现如下内容::id:2k1YccJrQsKE2siSO6o6ac:title:Heyplace我的config.rb看起来像这样data.site.caseStudy.eachdo

  9. vue 实现内容超出两行显示展开更多功能,可依据需求自定义任意行数! - 2

    平时开发中我们经常会遇到这样的需求,在一个不限高度的盒子中会有很多内容,如果全部显示用户体验会非常不好,所以可以先折叠起来,当内容达到一定高度时,显示展开更多按钮,点击即可显示全部内容,先来看看效果图: 这样做用户体验瞬间得到提升,接下来看看具体细节。0">主要操作在内容这里{{item.username}},……展开更多样式大家可依据自己项目需求进行设计,这里就不贴了,主要说几个关键的。1、在data中定义三个属性isShowMore:false, //控制展开更多的显示与隐藏textHeight:null, //框中内容的高度status:false, //内容状态是否打开2.计算内容是否

  10. ruby - 在 Middleman 中移动博客文章位置 - 2

    我正在为我的网站使用MiddlemanBloggem,但默认情况下,博客文章似乎需要位于/source中,这在查看vim中的树时并不是特别好并尝试在其中找到其他文件之一(例如模板)。通过查看文档,我看不出是否有任何方法可以移动博客文章,以便将它们存储在其他地方,例如blog_articles文件夹或类似文件夹。这可能吗? 最佳答案 将以下内容放入您的config.rb文件中。activate:blogdo|blog|blog.permalink=":year-:month-:day-:title.html"blog.sources=

随机推荐