Invoke Parsedown directly

This commit is contained in:
Pig Fang 2019-12-25 15:48:34 +08:00
parent 4efd787460
commit 9eae104402
5 changed files with 15 additions and 6 deletions

View File

@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Services\Plugin; use App\Services\Plugin;
use App\Services\PluginManager; use App\Services\PluginManager;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Parsedown;
class PluginController extends Controller class PluginController extends Controller
{ {
@ -38,7 +39,8 @@ class PluginController extends Controller
$title = $plugin->title; $title = $plugin->title;
$path = $plugin->getPath().'/'.$readmePath; $path = $plugin->getPath().'/'.$readmePath;
$content = resolve('parsedown')->text(file_get_contents($path)); $parsedown = new Parsedown();
$content = $parsedown->text(file_get_contents($path));
return view('admin.plugin.readme', compact('content', 'title')); return view('admin.plugin.readme', compact('content', 'title'));
} }

View File

@ -10,6 +10,7 @@ use Auth;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Option; use Option;
use Parsedown;
use Session; use Session;
use Storage; use Storage;
use View; use View;
@ -210,6 +211,8 @@ class SkinlibController extends Controller
]; ];
$grid = $filter->apply('grid:skinlib.upload', $grid); $grid = $filter->apply('grid:skinlib.upload', $grid);
$parsedown = new Parsedown();
return view('skinlib.upload') return view('skinlib.upload')
->with('grid', $grid) ->with('grid', $grid)
->with('extra', [ ->with('extra', [
@ -223,7 +226,7 @@ class SkinlibController extends Controller
'scorePublic' => intval(option('score_per_storage')), 'scorePublic' => intval(option('score_per_storage')),
'scorePrivate' => intval(option('private_score_per_storage')), 'scorePrivate' => intval(option('private_score_per_storage')),
'award' => intval(option('score_award_per_texture')), 'award' => intval(option('score_award_per_texture')),
'contentPolicy' => app('parsedown')->text(option_localized('content_policy')), 'contentPolicy' => $parsedown->text(option_localized('content_policy')),
]); ]);
} }

View File

@ -14,6 +14,7 @@ use Carbon\Carbon;
use Illuminate\Contracts\Events\Dispatcher; use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Mail; use Mail;
use Parsedown;
use Session; use Session;
use URL; use URL;
use View; use View;
@ -63,6 +64,8 @@ class UserController extends Controller
]; ];
$grid = $filter->apply('grid:user.index', $grid); $grid = $filter->apply('grid:user.index', $grid);
$parsedown = new Parsedown();
return view('user.index')->with([ return view('user.index')->with([
'statistics' => [ 'statistics' => [
'players' => $this->calculatePercentageUsed($user->players->count(), option('score_per_player')), 'players' => $this->calculatePercentageUsed($user->players->count(), option('score_per_player')),
@ -74,7 +77,7 @@ class UserController extends Controller
'player' => option('score_per_player'), 'player' => option('score_per_player'),
'closet' => option('score_per_closet_item'), 'closet' => option('score_per_closet_item'),
], ],
'announcement' => app('parsedown')->text(option_localized('announcement')), 'announcement' => $parsedown->text(option_localized('announcement')),
'grid' => $grid, 'grid' => $grid,
'extra' => ['unverified' => option('require_verification') && !$user->verified], 'extra' => ['unverified' => option('require_verification') && !$user->verified],
]); ]);
@ -391,9 +394,11 @@ class UserController extends Controller
}); });
$notification->markAsRead(); $notification->markAsRead();
$parsedown = new Parsedown();
return [ return [
'title' => $notification->data['title'], 'title' => $notification->data['title'],
'content' => app('parsedown')->text($notification->data['content']), 'content' => $parsedown->text($notification->data['content']),
'time' => $notification->created_at->toDateTimeString(), 'time' => $notification->created_at->toDateTimeString(),
]; ];
} }

View File

@ -21,7 +21,6 @@ class AppServiceProvider extends ServiceProvider
$this->app->singleton('cipher', 'App\Services\Cipher\\'.config('secure.cipher')); $this->app->singleton('cipher', 'App\Services\Cipher\\'.config('secure.cipher'));
$this->app->singleton(\App\Services\Option::class); $this->app->singleton(\App\Services\Option::class);
$this->app->alias(\App\Services\Option::class, 'options'); $this->app->alias(\App\Services\Option::class, 'options');
$this->app->singleton('parsedown', \Parsedown::class);
$this->app->singleton(\App\Services\Webpack::class); $this->app->singleton(\App\Services\Webpack::class);
$this->app->singleton(\App\Services\Filter::class); $this->app->singleton(\App\Services\Filter::class);
$this->app->singleton('oauth.providers', function () { $this->app->singleton('oauth.providers', function () {

View File

@ -611,7 +611,7 @@ class UserControllerTest extends TestCase
->get('/user/notifications/'.$notification->id) ->get('/user/notifications/'.$notification->id)
->assertJson([ ->assertJson([
'title' => $notification->data['title'], 'title' => $notification->data['title'],
'content' => app('parsedown')->text($notification->data['content']), 'content' => (new Parsedown())->text($notification->data['content']),
'time' => $notification->created_at->toDateTimeString(), 'time' => $notification->created_at->toDateTimeString(),
]); ]);
$notification->refresh(); $notification->refresh();