X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/ebeca256f068761a7ca4c83bdd36ddb4337ab0bc..265f5db03f3f08665bb113191f83c49e5dae53a7:/app/Http/Controllers/Api/BookExportApiController.php diff --git a/app/Http/Controllers/Api/BookExportApiController.php b/app/Http/Controllers/Api/BookExportApiController.php index a290d89e7..24cba9df3 100644 --- a/app/Http/Controllers/Api/BookExportApiController.php +++ b/app/Http/Controllers/Api/BookExportApiController.php @@ -2,20 +2,14 @@ use BookStack\Entities\Models\Book; use BookStack\Entities\Tools\ExportFormatter; -use BookStack\Entities\Repos\BookRepo; use Throwable; class BookExportApiController extends ApiController { - protected $bookRepo; protected $exportFormatter; - /** - * BookExportController constructor. - */ - public function __construct(BookRepo $bookRepo, ExportFormatter $exportFormatter) + public function __construct(ExportFormatter $exportFormatter) { - $this->bookRepo = $bookRepo; $this->exportFormatter = $exportFormatter; } @@ -50,4 +44,14 @@ class BookExportApiController extends ApiController $textContent = $this->exportFormatter->bookToPlainText($book); return $this->downloadResponse($textContent, $book->slug . '.txt'); } + + /** + * Export a book as a markdown file. + */ + public function exportMarkdown(int $id) + { + $book = Book::visible()->findOrFail($id); + $markdown = $this->exportFormatter->bookToMarkdown($book); + return $this->downloadResponse($markdown, $book->slug . '.md'); + } }