很纠结: @装饰器 和 @Username 同时都需要用到 @ 符号,怎么办?

现在开发的一个系统,在文章中用户 @ZhangSan 就可以点名 ZhangSan 来看这篇文章,同时还有授权给 Zhangsan 阅读这篇文章的权限。由于系统还提供用户发布 Markdown 格式文章的功能,特别当用户是发布代码时,代码中含有装饰器 @decorator ,就会有 @符号。这个时候,本来被 pre/code 包裹的代码片段,就被系统的 @Username 给破坏啦。

目前有考虑几个方案:

1 、给用户一个选项:这篇文章是否禁止@Username
2 、提示让用户用 @特殊符号,代替代码中 @ 符合。
3 、有什么方式去区分用户到底是在 @Username,还是在 @decorator 装饰器?

上面 3 个方式目前都有问题,方式 1 就是 90%以上的情况都不需要用到功能,要一直占着一个重要位置;方式 2 会给用户添麻烦;方式 3 只能通过 Markdown 语法代码前面会有 4 个空格来区分,但是一旦用户没有完全遵守这个方式,或者直接加 pre/code 包裹,同样会被 @Username 破坏样式。还有其他什么好的方式可以考虑吗?

阅读 2.8k
1 个回答
  1. decorator name 不是那麼容易就跟 user name 重複的吧

  2. 本来被 pre/code 包裹的代码片段,就被系统的 @Username 给破坏啦, 這句有點不太懂, pre/code 是什麼?

你可以參考 segmentfault 的方式阿:

  1. 如果 @ 使用在 code block 或是 inline code 之中, 則一律當成純文字處理

  2. 如果 @ 不是在 code block 或是 inline code 之中使用, 且後面跟隨的 name 是 UserName 那麼就當成 tag 用戶的功能

  3. 甚至還可以學 segmentfault 在使用 @ 的時候, 跳出可選用戶出來, 如果選擇就當作 tag user, 不選當作純文字


我回答過的問題: Python-QA

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题