Files
mattermost/webapp/utils/url.jsx

30 lines
1000 B
JavaScript

// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import {latinise} from 'utils/latinise.jsx';
export function cleanUpUrlable(input) {
var cleaned = latinise(input);
cleaned = cleaned.trim().replace(/-/g, ' ').replace(/[^\w\s]/gi, '').toLowerCase().replace(/\s/g, '-');
cleaned = cleaned.replace(/-{2,}/, '-');
cleaned = cleaned.replace(/^-+/, '');
cleaned = cleaned.replace(/-+$/, '');
return cleaned;
}
export function getShortenedURL(url = '', getLength = 27) {
if (url.length > 35) {
const subLength = getLength - 14;
return url.substring(0, 10) + '...' + url.substring(url.length - subLength, url.length) + '/';
}
return url + '/';
}
export function getSiteURL() {
if (window.location.origin) {
return window.location.origin;
}
return window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}