mirror of https://github.com/go-gitea/gitea
Fix math and mermaid rendering bugs (#24049)
1. Fix multiple error display for math and mermaid: ![err](https://user-images.githubusercontent.com/115237/231126411-8a21a777-cd53-4b7e-ac67-5332623106e8.gif) 2. Fix height calculation of certain mermaid diagrams by reading the iframe inner height from it's document instead of parsing it from SVG: Before: <img width="866" alt="Screenshot 2023-04-11 at 11 56 27" src="https://user-images.githubusercontent.com/115237/231126480-b194e02b-ea8c-4ddf-8c79-50c525815d92.png"> After: <img width="855" alt="Screenshot 2023-04-11 at 11 56 35" src="https://user-images.githubusercontent.com/115237/231126494-5fe86a48-8d21-455a-8b95-79b6ee27a16f.png"> 3. Refactor error handling to a common function 4. Rename to `renderAsciicast` for consistency 5. Improve mermaid loading sequence Note: I did try `securityLevel: 'sandbox'` to make mermaid output a iframe directly, but that showed a bug in mermaid where the iframe style height was set incorrectly. Opened https://github.com/mermaid-js/mermaid/issues/4289 for this. --------- Co-authored-by: Giteabot <teabot@gitea.io>pull/24105/head^2
parent
7681d582cd
commit
dcde4701a5
@ -0,0 +1,8 @@ |
||||
export function displayError(el, err) { |
||||
el.classList.remove('is-loading'); |
||||
const errorNode = document.createElement('pre'); |
||||
errorNode.setAttribute('class', 'ui message error markup-block-error'); |
||||
errorNode.textContent = err.str || err.message || String(err); |
||||
el.before(errorNode); |
||||
el.setAttribute('data-render-done', 'true'); |
||||
} |
Loading…
Reference in new issue