Ознакомьтесь с нашей политикой обработки персональных данных
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, который верно отображается в любом браузере. Пока)

2011-05-02 в 12:24 

alhames
alhames.ru
<div style="display:inline;text-align:left;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
<span style="padding-left:30px;">&nbsp;</span>
 не?

2011-05-02 в 12:43 

D Ash
Embrace your dreams and prove your honor...
alhames
Может быть... Но, учитывая использование &nbsp; - не уверен, он может тянуться. Или justify контролирует строку расстоянием между символами?

2011-05-02 в 12:55 

alhames
alhames.ru
<span style="padding-left:30px;">&nbsp;</span> нормально работает с justify. Вот только выравнивание по ширине страницы, кхм, не этично. Впрочем использование красных строк тоже..

читать дальше

2011-05-02 в 14:24 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
alhames, <span style="padding-left:30px;">&nbsp;</span>
Сработало! B четырех браузерах: Firefox, Opera, IE и Chrome.
Причем разность отступов наблюдалась только в Firefox и Chrome, потому и заметила.
Низкий поклон))

2011-05-02 в 16:53 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
А, поторопилась. Все же разность отступов есть, реже, но есть. Заметно на большом объеме текста (за 20000 знаков). Придется с gif пока пожить)

2011-05-02 в 16:59 

alhames
alhames.ru
Acutagava можно ссылку где эта разница? А то я слабо представляю в чем проблема..

2011-05-02 в 17:08 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
alhames, например, вот
(в качестве абзаца стоит еще &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; но пробовались уже и другие варианты, смотрите в Firefox или Chrome)

2011-05-02 в 17:33 

alhames
alhames.ru
justify
Выравнивание по ширине, что означает одновременное выравнивание по левому и правому краю. Чтобы произвести это действие браузер в этом случае добавляет пробелы между словами.


Пробуйте:
<span style="padding-left:30px; visibility: hidden;">0</span>

P.S. Не допускайте пробела между спаном и первой буквой текста, иначе он будет множиться.
P.P.S.А вообще, мой вам совет, уберите justify, ибо читабельность текста, особенного большого объема, падает в разы..

2011-05-02 в 17:53 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
alhames, отлично работает во всех браузерах, спасибище!
Пробелов не допускаю)) Выравнивание по ширине не ставлю никогда — такое впечатление, что это самодеятельность diary (если такое может быть)

2011-05-02 в 18:21 

alhames
alhames.ru
Выравнивание по ширине не ставлю никогда — такое впечатление, что это самодеятельность diary
Всегда можно весь пост выровнять по левому краю (<div style="text-align: left;"></div>). =)

2011-05-02 в 18:30 

Acutagava
Я больше не знаю, где заканчивается ирония и начинается небо ©
alhames Всегда можно весь пост выровнять по левому краю
Буду иметь в виду, спасибо еще раз.

P.S. Вуаля! Выравнивание по левому краю удалило все огрехи! Так что можно использовать и такой комплекс))

2011-05-22 в 13:54 

Гвенанне
D Ash спасибо, установила альтернативную версию)

2011-06-16 в 11:51 

D Ash
Embrace your dreams and prove your honor...
_Гвенанне
_Вообще, последние версии браузеров это дело по-другому обрабатывают...
_Так что поправил (в соответствии с вариантом, предложенным alhames). Рабочий вариант тут.

2011-06-16 в 20:42 

Гвенанне
D Ash спасибо

2015-08-26 в 20:09 

Эльдатиэр
Пойду поставлю воду на макароны, потом закрою брешь - стандартные будни Инквизитора (с)Кто-то опять накидал фанатиков под кресло
а можно для чайников - как этот скрипт ставить?

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

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

главная