Функция, через которую можно пропустить текст, чтобы он стал красивым и офигенным.

const NON_BREAKING_SPACE = String.fromCharCode(160);
const NON_BREAKING_HYPHEN = String.fromCharCode(8209);

function trimEnd(str) {
	return str.replace(/\\s+$/g, '');
}

function typography(str) {
	return  str
    // Сделать нормальные кавычки
    .replace(
			/("|"|")(.+?)("|"|")/gi,
			(_1, _2, inner) => `«${inner}»`,
		)
    // Тире правильной длинны
    .replace(
			/(\\s*?)(—)(\\s*)/gi,
			` — `,
		)
    // Неразрывные пробелы в нужных местах
    .replace(
      /\\s+.{1,2}(\\s+)/gi,
      (match) => `${trimEnd(match)}${NON_BREAKING_SPACE}`,
    )
    // Неразрывный минус в нужных местах
    .replace(
			'-',
			NON_BREAKING_HYPHEN,
		);
}

Известные проблемы — не заменяет двойные пробелы одинарными, не учитывает кавычки в кавычках.