2016-08-09 56 views
0

是否可以在markdown中嵌入<canvas>標籤?特別是,我希望嵌入畫布標籤以使用GrahamCampbell/Laravel-Markdown軟件包在博客條目中顯示來自Chart.js庫的圖表,但似乎不起作用。在Laravel Markdown中嵌入<canvas>標籤?

博客條目樣本:

Lorem ipsum blah blah blah blah blah.... 

<canvas id="myChart" width="400" height="200"></canvas> 

Lorem ipsum blah blah blah blah blah... 

我laravel視圖(post.blade.php)接收博客文章的正文如下:

<div class="article__body"> 
    {!! Markdown::convertToHtml(e($post->body)) !!} 
</div> 

目前<canvas>標籤被作爲文本發佈在<p></p>標籤

回答

1

總之,也許。這取決於您正在使用哪種Markdown實現。

rules狀態:

對於任何標記未覆蓋減價的語法,只需使用HTML本身。沒有必要在前言或分隔它以表明您正在從Markdown切換到HTML;你只需使用標籤。

當然,這似乎表明它應該起作用。但是接下來有一個令人討厭的問題是HTML被包裝在<p>標籤中。規則狀態中的下一段落:

唯一的限制是塊級HTML元素 - 例如, <div>,<table>,<pre>,<p>等 - 必須通過空行與周圍內容分開,並且塊的開始和結束標記不應該用製表符或空格縮進。 Markdown足夠智能,不會在HTML塊級標籤周圍添加額外的(不需要的)<p>標籤。

的問題是,降價創建長<canvas>標記之前(在HTML4和XHTML1天),大多數降價的實現不包括在他們的列表標籤「塊級HTML元素。」但是,有些實現可能在近幾年更新了代碼,以添加更新的HTML 5塊級別標記,如果您使用其中一種實現,那麼您應該可以使用<canvas>標記,而不會將其標記爲<p>標籤。

您可以比較Babelmark2上的某些實現,其中顯示大約一半列出的實現將在某種程度上支持canvas標記。但是,這是所有實現的小樣本。一個更長的,儘管不完整的名單可以找到here