提问者:小点点

mentions如何在markdown文件(*.md)或任何其他文本中工作?


我想开始一个React/Next/Vue博客,这并不重要,唯一重要的是,它将基于JavaScript框架,关于猫

例如,我有一个带有cats的数据库:

ID    Name (<= unique)
 1   Kitty
 2   Catty
 N   .....

所以我想在markdown上写一些关于我的猫的很酷的事实,比如一篇博客文章:

  fact_one.md

My cats are @Kitty and @Catty and they are awesome!

然后寄出去。 稍后,想象每只猫都有一个个人页面,当它访问该页面时,它看到(无论如何准确)这只小猫已经在Fact#1中被提到过。

我不是在问,浏览器通知到底是如何工作的,事件监听器等等。 我问的是:

  • 我应该通过诸如@(任何正则表达式模式)之类的符号Google/search/look解析用户在文本中提到的内容?
  • 在这种情况下使用减价是否合适? 也许还有更好的办法?
  • 您会推荐什么NPM模块/可能是一篇博客文章?

例如,我已经查看了marked.js和gfm,但我仍然不确定。

我的意思是,如果我的博客变得流行起来,如果我的每一篇文章都被存储成一个原始的*.md文件,这将是一个问题,我想我应该把它存储在数据库中。 做这件事最好的方法是什么? 我的意思是将文本存储为Markdown/HTML语法中的字段,还是将raw*.md存储为二进制? 但是如果我将我的文本存储在DB中,如何控制提及呢? 或者还有别的办法?

因此,每一个有用和有帮助的信息都将得到赞赏和奖励。


共1个答案

匿名用户

您可以使用像\s@(\w+)这样的正则表达式来匹配和捕获名称。

在数据库中保存新帖子或更新帖子时,可以提取提及信息并将其更新为个人页面和带有提及信息的帖子之间的关系。