mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-04-22 20:02:30 +00:00
Updated page includes to be top-level for code blocks
This change means that code blocks are now included still wrapped in their pre tags, as we do for tables and lists. Previously the <code> inner content would be included which would lead to a generally bad/broken presentation. Hopefully should not be a breaking change as section include tags for code was tricky to get to, and it was in a semi-broken state. For #2406
This commit is contained in:
parent
85154fff69
commit
e29d03ae76
2 changed files with 22 additions and 3 deletions
|
@ -390,7 +390,7 @@ class PageContent
|
|||
*/
|
||||
protected function fetchSectionOfPage(Page $page, string $sectionId): string
|
||||
{
|
||||
$topLevelTags = ['table', 'ul', 'ol'];
|
||||
$topLevelTags = ['table', 'ul', 'ol', 'pre'];
|
||||
$doc = $this->loadDocumentFromHtml($page->html);
|
||||
|
||||
// Search included content for the id given and blank out if not exists.
|
||||
|
|
|
@ -62,7 +62,9 @@ class PageContentTest extends TestCase
|
|||
|
||||
public function test_page_includes_do_not_break_tables()
|
||||
{
|
||||
/** @var Page $page */
|
||||
$page = Page::query()->first();
|
||||
/** @var Page $secondPage */
|
||||
$secondPage = Page::query()->where('id', '!=', $page->id)->first();
|
||||
|
||||
$content = '<table id="table"><tbody><tr><td>test</td></tr></tbody></table>';
|
||||
|
@ -72,8 +74,25 @@ class PageContentTest extends TestCase
|
|||
$page->html = "{{@{$secondPage->id}#table}}";
|
||||
$page->save();
|
||||
|
||||
$this->asEditor();
|
||||
$pageResp = $this->get($page->getUrl());
|
||||
$pageResp = $this->asEditor()->get($page->getUrl());
|
||||
$pageResp->assertSee($content, false);
|
||||
}
|
||||
|
||||
public function test_page_includes_do_not_break_code()
|
||||
{
|
||||
/** @var Page $page */
|
||||
$page = Page::query()->first();
|
||||
/** @var Page $secondPage */
|
||||
$secondPage = Page::query()->where('id', '!=', $page->id)->first();
|
||||
|
||||
$content = '<pre id="bkmrk-code"><code>var cat = null;</code></pre>';
|
||||
$secondPage->html = $content;
|
||||
$secondPage->save();
|
||||
|
||||
$page->html = "{{@{$secondPage->id}#bkmrk-code}}";
|
||||
$page->save();
|
||||
|
||||
$pageResp = $this->asEditor()->get($page->getUrl());
|
||||
$pageResp->assertSee($content, false);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue