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

很纠结: @装饰器 和 @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 破坏样式。还有其他什么好的方式可以考虑吗?


  1. decorator name 不是那麼容易就跟 user name 重複的吧

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

你可以參考 的方式阿:

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

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

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


我回答過的問題: Python-QA

【热门文章】
【热门文章】