No slug? Then no '-' separator! (#1351)

* Stop using slug separator when there is no slug

* Changing as per upstream requirements
This commit is contained in:
Johann Rodríguez 2018-02-08 20:52:50 +00:00 committed by Toby Zerner
parent 6922c3081e
commit 0fedee8f80
4 changed files with 5 additions and 4 deletions

View File

@ -34,8 +34,9 @@ export default function(app) {
* @return {String}
*/
app.route.discussion = (discussion, near) => {
const slug = discussion.slug();
return app.route(near && near !== 1 ? 'discussion.near' : 'discussion', {
id: discussion.id() + '-' + discussion.slug(),
id: discussion.id() + (slug.trim() ? '-' + slug : ''),
near: near && near !== 1 ? near : undefined
});
};

View File

@ -23,7 +23,7 @@ export function slug(string) {
return string.toLowerCase()
.replace(/[^a-z0-9]/gi, '-')
.replace(/-+/g, '-')
.replace(/-$|^-/g, '') || '-';
.replace(/-$|^-/g, '');
}
/**

View File

@ -28,6 +28,6 @@ class Str
$str = preg_replace('/-+/', '-', $str);
$str = preg_replace('/-$|^-/', '', $str);
return $str ?: '-';
return $str;
}
}

View File

@ -7,7 +7,7 @@
@foreach ($document->data as $discussion)
<li>
<a href="{{ $url->to('forum')->route('discussion', [
'id' => $discussion->id . '-' . $discussion->attributes->slug
'id' => $discussion->id . (trim($discussion->attributes->slug) ? '-' . $discussion->attributes->slug : '')
]) }}">
{{ $discussion->attributes->title }}
</a>