re:dash의 Dashboard에서 script가 움직이지 않는 원인(ver 5.0.2)

1723 단어 redashMarkdownMarked
결론부터 말하면
htps : // 기주 b. 이 m/게 t레다 sh/레다 sh/bぉb/마s r/cぃ엔 t/아 p/후ぃl rs/마 rkw. js
내에서 이용되고 있는 markdown 라이브러리가 태그 이스케이프 해 버리기 (위해)때문입니다.
그래서 REDASH_ALLOW_SCRIPTS_IN_USER_INPUT: "true"Dashboard에서(미리보기 포함) 입력한 태그가 그대로 표시될 뿐입니다.

모듈을 marked 로 바꾸면 잘 움직입니다.
(라고 할까 markdown0.5.0 에서는 아무래도 대응할 수 없다.)

marked로 변경하는 방법



package.json



htps : // 기주 b. 이 m/게 t레다 sh/레다 sh/bぉb/마s r/파c카게. j 그런 # L69"markdown": "0.5.0" 를 삭제하고 "marked": "0.5.2" 로 변경.

client/app/filters/markdown.js



아래에 다시 쓰기.
// import { markdown } from 'markdown';
import marked from 'marked';

export default function init(ngModule) {
  ngModule.filter('markdown', ($sce, clientConfig) =>
    function parseMarkdown(text) {
      if (!text) {
        return '';
      }

      // let html = markdown.toHTML(String(text));
      let html = marked(String(text));
      if (clientConfig.allowScriptsInUserInput) {
        html = $sce.trustAsHtml(html);
      }

      return html;
    });
}

그리고는 npm run build라든가 하면, 제대로 움직입니다.

움직이는 이미지.


PR에서도 낼까・・・

좋은 웹페이지 즐겨찾기