10:41 

redString [0.1]

D Ash
Embrace your dreams and prove your honor...

Написал скрипт для Google Chrome, упрощающий создание красных строк в посте. 

Как это работает. 

Вы пишете ваш пост (или комментарий), перед тем как отправить, нажимаете [Alt+R], скрипт модифицирует текст поста, после этого вы можете его опубликовать. Если вам необходимо отредактировать пост, перед тем, как править текст, нажмите [Alt+Q], и все лишние тэги исчезнут из текста. Сами красные строки реализованы через тэги <p> с параметром text-indent:30px. 

 

Несколько замеченных багов
 

Если в вашем посте вы открываете какой-либо тэг в одном абзаце, а закрываете в другом - лучше проставьте этот тэг после нажатия [Alt+R], иначе его работа будет нарушена. 

Не окаймляются div элементы. 

После редактирования пост превращается в кашу, его крайне сложно читать, не сняв красную строку. 

Если при создании поста вы использовали тэги <p>, то при попытке удалить красную строку удалятся также ваши закрывающие </p>. 

 

 


    
upd: Альтернативый вариант. Работает проще, заменяет начало строки на цепочку несжимаемых пробелов. Горячие клавиши те же. Минус метода - в блоках с text-align:justify отступы могут получатся разными (т.е. различно расстояние между пробелами). Зато не появляется ненужной каши и путаницы со вложениями, как и проблем с иерархией. Перед установкой рекомендуется удалить обычный (через меню -> Tools -> Extensions).

    
upd2: Исправил альтернативную, теперь размер отступа везде одинаковый. Ссылку на скачивание обновил.


PS Возможно, чуть позже попробую сделать вариацию для FireFox и других браузеров, а также исправить баги. Пока что так - лучше чем ничего, верно?


запись создана: 12.02.2011 в 07:22

@темы: Javasсript, Новая запись, Редактирование записи, Теги оформления записи

Комментарии
2011-02-12 в 10:13 

Диана Шипилова
Quod erat demonstrandum

Большое спасибо, замучилась делать это вручную.


2011-02-12 в 10:19 

D Ash
Embrace your dreams and prove your honor...
Диана Шипилова
Рад, если вам понадобилось. Самому иногда надоедает.

2011-02-12 в 10:21 

Диана Шипилова
Quod erat demonstrandum
    Проверка альтернативной версии

2011-02-12 в 10:24 

D Ash
Embrace your dreams and prove your honor...
    Судя по всему, работает. Хотя проверять такие вещи лучше большим количеством текста. Скажем...
    
    
Проверка альтернативной версии

2011-02-12 в 10:27 

Диана Шипилова
Quod erat demonstrandum

D Ash  

Да, я уже поняла про большой текст, проверила в своём черновике :) Первая версия лучше, хоть и каша с тегами. Разные отступы выглядят ужасно.


2011-02-12 в 10:28 

D Ash
Embrace your dreams and prove your honor...
    Диана Шипилова
    Это да, надо что-то придумать тут...

2011-02-12 в 10:30 

Диана Шипилова
Quod erat demonstrandum

D Ash  

Спасибо вам уже за то, что вы сделали. С нетерпением буду ожидать возможных улучшений или исправлений :)


2011-02-12 в 10:42 

D Ash
Embrace your dreams and prove your honor...
    
Диана Шипилова
    
Исправил альтернативную, теперь лучше.
    
Рад, что вам нравится. )

2011-02-12 в 10:45 

Диана Шипилова
Quod erat demonstrandum
тест
Отлично работает! А баги с тегами, описанные в первой версии, не будут наблюдаться?
И ещё: мне кажется, четырёх пробелов маловато. Может, хотя бы шесть сделать?

2011-02-12 в 10:48 

D Ash
Embrace your dreams and prove your honor...
Диана Шипилова
Нет, разве что... Центрированные блоки тоже будут получать эффект красной строки, т.е. сдвигаться вправо.
Шесть... Сейчас поправлю.

2011-02-12 в 10:50 

D Ash
Embrace your dreams and prove your honor...
Диана Шипилова
Сделал, ссылку обновил.

2011-02-12 в 10:51 

Диана Шипилова
Quod erat demonstrandum
    
Центрированные блоки тоже будут получать эффект красной строки, т.е. сдвигаться вправо.
    
А если выделить часть текста в комментарии и только потом нажать Alt + R?
    
проверка
Нет, не работает. Возможно ли сделать так, чтобы скрипт работал только с выделенным текстом?

2011-02-12 в 10:52 

D Ash
Embrace your dreams and prove your honor...
Возможно ли сделать так, чтобы скрипт работал только с выделенным текстом?
Да. Надо только способ это сделать найти. Сейчас посмотрю, как оно там...

2011-02-12 в 10:59 

D Ash
Embrace your dreams and prove your honor...
      
Хотя не факт...
      
Вообще, суть же в том, что скрипт меняет символ переноса строки на пробелы с символом переноса строки. Если применять только к выделенному - то что делать с началом? Вставлять блок красной строки в начало? А если выделен блок не с начала строки? Тогда будут появляться какие-то левые пробелы в середине текста. Конечно, в теории всё это можно попытаться отследить и сделать, но...
      
По-моему лучше сейчас не дёргать его, центрированные блоки можно зачистить и вручную, не так часто их используем, как бы. Хотя, когда буду дорабатывать, попробую что-нибудь сделать.

2011-02-12 в 11:01 

Диана Шипилова
Quod erat demonstrandum
D Ash
центрированные блоки можно зачистить и вручную
Тоже верно.
Ещё раз спасибо!

2011-02-12 в 11:01 

D Ash
Embrace your dreams and prove your honor...
2011-02-13 в 11:03 

молодой динамично развивающийся
какая гадость

2011-02-13 в 11:23 

D Ash
Embrace your dreams and prove your honor...
Кому как. Тем, кто выкладывает тексты, достаточно удобно. Фанфикерам, к примеру.

2011-02-13 в 12:28 

молодой динамично развивающийся
делали бы уж до конца тогда
margin не должен быть нулевым

2011-02-13 в 12:38 

D Ash
Embrace your dreams and prove your honor...
Чудеснов
На абзацах? Да нет, должен. Иначе это уже больше, чем просто добавление красной строки.
Кроме того, наиболее рабочая версия - альтернативная, она чище и почти без багов.

2011-02-13 в 16:36 

D Ash
Embrace your dreams and prove your honor...
Чудеснов
Добавил версию с другим сдвигом.

2011-04-19 в 21:35 

s13u
"Курю"-это тоже чувство. Это такое эксклюзивное чувство с эксклюзивным его выражением. И никак это чувство иначе не выразишь. Я по тебе курю. Много курю... (с) Паланик.
спасибо)

2011-04-26 в 16:11 

D Ash
Embrace your dreams and prove your honor...
sacurada13_aka_uranus
Glad you like it. ^_^

2011-05-01 в 18:05 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
D Ash, спасибо, но если есть возможность, очень хотелось бы для FireFox то же самое)

2011-05-02 в 10:04 

D Ash
Embrace your dreams and prove your honor...
Acutagava
Хорошо, позже подумаю, как это сделать.
Вернее, надо только адаптировать скрипт под оригинальный GreaseMonkey...

2011-05-02 в 10:56 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
D Ash, было бы славно, а то прыгающая красная строка с &nbsp; еще хуже, чем без нее) а прозрачный gif — альтернатива, но тоже не слишком удачная.

2011-05-02 в 11:14 

D Ash
Embrace your dreams and prove your honor...
Acutagava Нет, ну если вам хочется относительно простой способ без дополнительных модулей - это использование следующего кода в начале строки:

<div style="display:inline;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>

Пример везде в дневнике scarletspark.diary.ru.

2011-05-02 в 11:31 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
D Ash, я и пользовалась до настоящего времени) Но теперь все отступы выглядят разными, что ужасно раздражает. Заметила, когда обновила лису до версии 4.0.1. Может, в этом дело?

2011-05-02 в 11:38 

D Ash
Embrace your dreams and prove your honor...
Acutagava
Странно... Очень странно. Хм.
Тогда, в качестве альтернативы, можно запаковывать каждый абзац в отдельный div (только переносы строки между концом одного и началом следующего div'а не делать) и на каждого навешивать style="text-indent:1.2em;".

2011-05-02 в 11:45 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
D Ash, сама удивляюсь) Но с каждым абзацем слишком много мороки, поэтому сейчас пробую использовать прозрачный gif 1х30, который верно отображается в любом браузере. Пока)

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

@Дневники: секреты, тонкости и хитрости

главная