- 4
- 4
- 3
- 1
- 6
- 0
- 0
- 0
- 3
- 1
Типограф для uCoz

В системе uCoz появилось достаточно много блогов. Половина из них уже заявила о себе в «Ю.Блогах», все они пишут в неделю хотябы по одному посту. Но смотря на многие посты, видя, что они не абсолютно не отформатированы, мне хочется закрыть страницу блога, ибо читать неприятно.
«Типограф для uCoz» призван изменить ситуацию. Всего одним нажатием на кнопку, он отформатирует текст. Идея-креэтором была еще студия Артемия Лебедева. Я решил сделать похожее, но только на uCoz.
- Заменяет «дефисо-минус», использованный в качестве тире на традиционное длинное тире;
- Заменяет «клавиатурные» кавычки на «русские»;
- Если после точки, запятой, любых других знаков нет пробела, автоматически вставляет его;
- Ваши предложения принимаются.
Для блога. Переходим в «Дизайн→Управление дизайном→Блог→Страница архива материалов», после $BODY$ вставляем код:
Code
<script>
$('#doSmbBt').after('<input type="button" value="Оттипографить" onclick="typograf()">')
function typograf(){
var a=document.getElementById('message');
a.value=a.value.replace(/ - /g,' — ');
a.value=a.value.replace(/'/g,''');
a.value=a.value.replace(/([.,!?])/g,'$1 ');
a.value=a.value.replace(/"(.+)"/g,'«$1»');
}
</script>
$('#doSmbBt').after('<input type="button" value="Оттипографить" onclick="typograf()">')
function typograf(){
var a=document.getElementById('message');
a.value=a.value.replace(/ - /g,' — ');
a.value=a.value.replace(/'/g,''');
a.value=a.value.replace(/([.,!?])/g,'$1 ');
a.value=a.value.replace(/"(.+)"/g,'«$1»');
}
</script>
Для новостей. В «Дизайн→Управление дизайном→Новости сайта→Страница архива материалов». На форуме, «Форма добавления сообщения».
Code
<?if($PAGE_ID$='add' || $PAGE_ID$='edit')?>
<script>
$('#doSmbBt').after('<input type="button" value="Оттипографить" onclick="typograf()">')
function typograf(){
var a=document.getElementById('message');
a.value=a.value.replace(/ - /g,' — ');
a.value=a.value.replace(/'/g,''');
a.value=a.value.replace(/([.,!?])/g,'$1 ');
a.value=a.value.replace(/"(.+)"/g,'«$1»');
}
</script>
<?else?><?endif?>
<script>
$('#doSmbBt').after('<input type="button" value="Оттипографить" onclick="typograf()">')
function typograf(){
var a=document.getElementById('message');
a.value=a.value.replace(/ - /g,' — ');
a.value=a.value.replace(/'/g,''');
a.value=a.value.replace(/([.,!?])/g,'$1 ');
a.value=a.value.replace(/"(.+)"/g,'«$1»');
}
</script>
<?else?><?endif?>
Приветствуются идеи, дополнения.
Code
<script>
(function () {
var a = document.getElementById('brief'),
b = document.getElementById('message');
c = function (d) {
return d.replace(/ - /g, ' — ').replace(/'/g, "'").replace(/([.,!?])/g, '$1 ').replace(/"(.+)"/g, '«$1»')
},
document.getElementById('nwF7').onclick = function () {
a.value = c(a.value),
b.value = c(b.value),
document.getElementById('doSmbBt').click()
}
})();
</script>
(function () {
var a = document.getElementById('brief'),
b = document.getElementById('message');
c = function (d) {
return d.replace(/ - /g, ' — ').replace(/'/g, "'").replace(/([.,!?])/g, '$1 ').replace(/"(.+)"/g, '«$1»')
},
document.getElementById('nwF7').onclick = function () {
a.value = c(a.value),
b.value = c(b.value),
document.getElementById('doSmbBt').click()
}
})();
</script>
Дата: 06.09.2010 • Теги:
javascript, типограф, форматирование, текст, скрипт, решение
↑ +1 ↓
- Не найдено.
#2
Да, можно.
klimenko
#22
@klimenko и как?
UnderShot
#8
Fixed.
UnderShot
#4:
vladko95
11.04.2010, 23:41
#5:
USF
12.04.2010, 00:02
#7:
almlex
2. Не экранируются кавычки у аттрибутов html-тегов.
3. Конструкция "бла-бла "ля-ля"" превратится в «бла-бла "ля-ля"»
4. С каждым выполнением функции пробелов после точки становится всё больше.
5. 5^2 не заменяется на 5²
6. 2*2 не заменяется на 2×2
7. Если написать «Кто—то», типограф не заменит тире на дефис.
К тому же, ошибка в синтаксисе, и для модуля «новости» не правильно подобран id.
Вывод: этот типограф — говнецо
PS. Не существует «дефисо-минуса». Есть дефис - и минус –, просто в некоторых шрифтах они выглядят одинаково.
12.04.2010, 13:26
#9
1, 5-7. Добавлю.
2-4. Изменю.
PS. Дефисо-минус: http://habrahabr.ru/blogs/typography/20588/
PPS: спасибо за указание ошибок. UnderShot
2-4. Изменю.
PS. Дефисо-минус: http://habrahabr.ru/blogs/typography/20588/
PPS: спасибо за указание ошибок. UnderShot
#10:
almlex
12.04.2010, 14:58
#11:
WRC
????
12.04.2010, 15:21
#14
В переделке я так и сделаю. Спасибо.
UnderShot
#13
Ты предлогаешь все это вставить в скрипт?
UnderShot
#18
Не всё, а некоторые символы. Какие — сам решай.
Shutich
#19
Так и сделал
UnderShot
#15:
almlex
function typograf(a){
a=document.getElementById('message');
13.04.2010, 10:05
#16:
WRC
14.04.2010, 07:05
#17:
WRC
14.04.2010, 07:11
#21
Вроде исправлено.
UnderShot
#20:
almlex
15.04.2010, 23:57

