You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wiki/client/js/helpers/pages.js

27 lines
662 B

'use strict'
import deburr from 'lodash/deburr'
import filter from 'lodash/filter'
import isEmpty from 'lodash/isEmpty'
import join from 'lodash/join'
import kebabCase from 'lodash/kebabCase'
import map from 'lodash/map'
import split from 'lodash/split'
import trim from 'lodash/trim'
module.exports = {
/**
* Convert raw path to safe path
* @param {string} rawPath Raw path
* @returns {string} Safe path
*/
makeSafePath: (rawPath) => {
let rawParts = split(trim(rawPath), '/')
rawParts = map(rawParts, (r) => {
return kebabCase(deburr(trim(r)))
})
return join(filter(rawParts, (r) => { return !isEmpty(r) }), '/')
}
}