mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-01-19 08:42:48 +08:00
MD Exports: Added HTML description conversion
Also updated tests to cover checking description use/conversion. Made during review of #5313
This commit is contained in:
parent
f12946d581
commit
0f9957bc03
|
@ -316,8 +316,9 @@ class ExportFormatter
|
|||
{
|
||||
$text = '# ' . $chapter->name . "\n\n";
|
||||
|
||||
if (!empty($chapter->description)) {
|
||||
$text .= $chapter->description . "\n\n";
|
||||
$description = (new HtmlToMarkdown($chapter->descriptionHtml()))->convert();
|
||||
if ($description) {
|
||||
$text .= $description . "\n\n";
|
||||
}
|
||||
|
||||
foreach ($chapter->pages as $page) {
|
||||
|
@ -334,9 +335,10 @@ class ExportFormatter
|
|||
{
|
||||
$bookTree = (new BookContents($book))->getTree(false, true);
|
||||
$text = '# ' . $book->name . "\n\n";
|
||||
|
||||
if (!empty($book->description)) {
|
||||
$text .= $book->description . "\n\n";
|
||||
|
||||
$description = (new HtmlToMarkdown($book->descriptionHtml()))->convert();
|
||||
if ($description) {
|
||||
$text .= $description . "\n\n";
|
||||
}
|
||||
|
||||
foreach ($bookTree as $bookChild) {
|
||||
|
|
|
@ -417,23 +417,35 @@ class ExportTest extends TestCase
|
|||
public function test_chapter_markdown_export()
|
||||
{
|
||||
$chapter = $this->entities->chapter();
|
||||
$chapter->description_html = '<p>My <strong>chapter</strong> description</p>';
|
||||
$chapter->save();
|
||||
$page = $chapter->pages()->first();
|
||||
|
||||
$resp = $this->asEditor()->get($chapter->getUrl('/export/markdown'));
|
||||
|
||||
$resp->assertSee('# ' . $chapter->name);
|
||||
$resp->assertSee('# ' . $page->name);
|
||||
$resp->assertSee('My **chapter** description');
|
||||
}
|
||||
|
||||
public function test_book_markdown_export()
|
||||
{
|
||||
$book = Book::query()->whereHas('pages')->whereHas('chapters')->first();
|
||||
$book->description_html = '<p>My <strong>book</strong> description</p>';
|
||||
$book->save();
|
||||
|
||||
$chapter = $book->chapters()->first();
|
||||
$chapter->description_html = '<p>My <strong>chapter</strong> description</p>';
|
||||
$chapter->save();
|
||||
|
||||
$page = $chapter->pages()->first();
|
||||
$resp = $this->asEditor()->get($book->getUrl('/export/markdown'));
|
||||
|
||||
$resp->assertSee('# ' . $book->name);
|
||||
$resp->assertSee('# ' . $chapter->name);
|
||||
$resp->assertSee('# ' . $page->name);
|
||||
$resp->assertSee('My **book** description');
|
||||
$resp->assertSee('My **chapter** description');
|
||||
}
|
||||
|
||||
public function test_book_markdown_export_concats_immediate_pages_with_newlines()
|
||||
|
|
Loading…
Reference in New Issue
Block a user