Skip to content
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

fix: HTML block causes wrong sectioning (vfm 2.2.0) #184

Merged
merged 3 commits into from
Nov 5, 2023
Merged

Conversation

MurakamiShinyu
Copy link
Member

この不具合は、 #174 で追加したHTMLブロックでの終了タグがあったら対応する開始タグが同じセクションのレベルになかったらセクションを閉じるようにするという処理に問題があり発生していました。

複数の終了タグからなるHTMLブロック(例 </td></tr></table>)があったとき、今回の修正前は、その最初の終了タグのタグ名(この例では td)の開始タグではじまるHTMLブロックを見つけるようにしていました。これでは対応する開始タグが見つからない(<table><tr><td> というHTMLブロックではマッチしない)ということがあるため、この不具合が起きていました。

この修正後では、HTMLブロック内に複数のタグがあっても問題ないように、HTMLブロック内の最後の終了タグと対応する開始タグを見つけるようにしました。

また、対応する開始タグが同じセクションのレベルになかった場合、それより前に見つかるかどうかをチェックして、もし見つからなかった場合は、セクションを閉じることはしないようにしました。

Copy link
Member

@akabekobeko akabekobeko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

対応ありがとうございます!

Approve していますが、修正版の処理で if のネストが深くなっているので浅くする提案をしたので検討いただきたいです。

src/plugins/section.ts Outdated Show resolved Hide resolved
@MurakamiShinyu
Copy link
Member Author

@akabekobeko

Approve していますが、修正版の処理で if のネストが深くなっているので浅くする提案をしたので検討いただきたいです。

ありがとうございます。採用しました!

@akabekobeko akabekobeko merged commit 6848823 into main Nov 5, 2023
3 checks passed
@akabekobeko akabekobeko deleted the fix/issue183 branch November 5, 2023 05:58
@akabekobeko akabekobeko added this to the v2.x milestone Nov 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HTML table causes wrong sectioning (vfm 2.2.0)
2 participants