'chapters' => ['description_html'],
'books' => ['description_html'],
'bookshelves' => ['description_html'],
+ 'page_revisions' => ['html', 'text', 'markdown'],
'images' => ['url'],
'settings' => ['value'],
'comments' => ['html', 'text'],
$this->info('URL update procedure complete.');
$this->info('============================================================================');
$this->info('Be sure to run "php artisan cache:clear" to clear any old URLs in the cache.');
+
+ if (!str_starts_with($newUrl, url('/'))) {
+ $this->warn('You still need to update your APP_URL env value. This is currently set to:');
+ $this->warn(url('/'));
+ }
+
$this->info('============================================================================');
return 0;
$this->assertEquals('a https://cats.example.com/donkey/cat url', $settingVal[0]['name']);
}
+ public function test_command_updates_page_revisions()
+ {
+ $page = $this->entities->page();
+
+ for ($i = 0; $i < 2; $i++) {
+ $this->entities->updatePage($page, [
+ 'name' => $page->name,
+ 'markdown' => "[A link {$i}](https://example.com/donkey/cat)"
+ ]);
+ }
+
+ $this->runUpdate('https://example.com', 'https://cats.example.com');
+ setting()->flushCache();
+
+ $this->assertDatabaseHas('page_revisions', [
+ 'markdown' => '[A link 1](https://cats.example.com/donkey/cat)',
+ 'html' => '<p id="bkmrk-a-link-1"><a href="https://cats.example.com/donkey/cat">A link 1</a></p>' . "\n"
+ ]);
+ }
+
protected function runUpdate(string $oldUrl, string $newUrl)
{
$this->artisan("bookstack:update-url {$oldUrl} {$newUrl}")