-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add parseHtml #156
base: develop
Are you sure you want to change the base?
feat: Add parseHtml #156
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
prありがとうございます。気になった点がありましたのでコメントいたします。
html: r => { | ||
return P.alt([ | ||
// Regexp | ||
r.unicodeEmoji, | ||
// "<center>" block | ||
r.centerTag, | ||
// "<small>" | ||
r.smallTag, | ||
// "<plain>" | ||
r.plainTag, | ||
// "<b>" | ||
r.boldTag, | ||
// "<i>" | ||
r.italicTag, | ||
// "<s>" | ||
r.strikeTag, | ||
// "@" | ||
r.mention, | ||
// "#" | ||
r.hashtag, | ||
// ":" | ||
r.emojiCode, | ||
// http | ||
r.url, | ||
r.text, | ||
]); | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
以下の要素で囲われた文字列の中に、**
や__
のようなMFMとして意味のある記号が存在した時の挙動が気になっております。
- centerTag
- smallTag
- boldTag
- italicTag
- strikeTag
html用のパーサに含まれている上記はinlineを使用して再帰的に解析を行うものであり、<center>
タグの中に**
などがあった場合、MFMとして認識されてしまわないかという点を懸念しております。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
あー、そうすると、インライン用の解析器をわけて別途制限しないとダメかな
What
parseHtml APIを追加し、MFM未対応実装のNoteに含まれるHTMLを期待通りにパースできるようにします。
Why
MFM未対応実装のNoteに含まれるHTMLは、従来のparse APIでは投稿者が意図していない解釈となります。
MFM構文のうち、対応HTMLタグ、メンション、ハッシュタグ、URL、絵文字コード、Unicode絵文字のみパースするAPIを追加することにより、過剰な解釈を行わず、適切に解釈できる機能を提供します。
Additional info (optional)
Fix #155
See misskey-dev/misskey#15217