mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-07-20 05:39:41 +02:00
Beautiful urls (#18)
* Added uri property to Page model * Added aliases collection * Added routing form aliases * Fixed redirect after page creation * Added abiltity to support few pages with same title * Added ability to change uri manually * Changed hash function * Changed uri parsing * Removed pages controller promise * Modified page's tests * Added tests for alias model * Added tests for aliases * Escaping special characters * Added missed files * Fixed bugs related to translation * Fixed parent page link * Added server validation for uri * Changed css properties order * Made uri property of page be optional * Prevented alias creation from empty uri * Moved alias types to model
This commit is contained in:
parent
ed69336481
commit
d872e78339
28 changed files with 807 additions and 45 deletions
78
src/utils/translation.js
Normal file
78
src/utils/translation.js
Normal file
|
@ -0,0 +1,78 @@
|
|||
const translationTable = {
|
||||
'а': 'a',
|
||||
'б': 'b',
|
||||
'в': 'v',
|
||||
'г': 'g',
|
||||
'д': 'd',
|
||||
'е': 'e',
|
||||
'ж': 'g',
|
||||
'з': 'z',
|
||||
'и': 'i',
|
||||
'й': 'y',
|
||||
'к': 'k',
|
||||
'л': 'l',
|
||||
'м': 'm',
|
||||
'н': 'n',
|
||||
'о': 'o',
|
||||
'п': 'p',
|
||||
'р': 'r',
|
||||
'с': 's',
|
||||
'т': 't',
|
||||
'у': 'u',
|
||||
'ф': 'f',
|
||||
'ы': 'i',
|
||||
'э': 'e',
|
||||
'А': 'A',
|
||||
'Б': 'B',
|
||||
'В': 'V',
|
||||
'Г': 'G',
|
||||
'Д': 'D',
|
||||
'Е': 'E',
|
||||
'Ж': 'G',
|
||||
'З': 'Z',
|
||||
'И': 'I',
|
||||
'Й': 'Y',
|
||||
'К': 'K',
|
||||
'Л': 'L',
|
||||
'М': 'M',
|
||||
'Н': 'N',
|
||||
'О': 'O',
|
||||
'П': 'P',
|
||||
'Р': 'R',
|
||||
'С': 'S',
|
||||
'Т': 'T',
|
||||
'У': 'U',
|
||||
'Ф': 'F',
|
||||
'Ы': 'I',
|
||||
'Э': 'E',
|
||||
'ё': 'yo',
|
||||
'х': 'h',
|
||||
'ц': 'ts',
|
||||
'ч': 'ch',
|
||||
'ш': 'sh',
|
||||
'щ': 'shch',
|
||||
'ъ': "''",
|
||||
'ь': "'",
|
||||
'ю': 'yu',
|
||||
'я': 'ya',
|
||||
'Ё': 'YO',
|
||||
'Х': 'H',
|
||||
'Ц': 'TS',
|
||||
'Ч': 'CH',
|
||||
'Ш': 'SH',
|
||||
'Щ': 'SHCH',
|
||||
'Ъ': "''",
|
||||
'Ь': "'",
|
||||
'Ю': 'YU',
|
||||
'Я': 'YA'
|
||||
};
|
||||
/**
|
||||
* Function to translate string
|
||||
*
|
||||
* @param string - string to translate
|
||||
* @returns {string} - translated string
|
||||
*/
|
||||
|
||||
module.exports = function translateString(string) {
|
||||
return string.replace(/[А-яёЁ]/g, (char) => translationTable[char] || char);
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue