Поизучал API редактора Quill, который рассматриваю как один из возможных WYSIWYG-редакторов для MLFW/MLCE. Другой вариант — CKEditor, который появился гораздо раньше и устроен более традиционно, как те WYSIWYG, к которым я привык.
В целом Quill мне очень нравится! Похоже,он генерирует достаточно чистый HTML-код почти без всяких inline (чем страдает большинство других редакторов). И ещё он позволяет вставлять изображения из буфера обмена, кодируя их в data:base64.
Но есть одна особенность: он не использует textarea в качестве стартового элемента, если так можно выразиться, а вместо этого редактирует любые элементы внутри заданного DOM-узла. С одной стороны, это классно: позволяет легко и безболезненно использовать его для редактирования текста прямо на той странице, где отображается готовая статья. С другой — труднее сделать возможность написать хоть что-то пользователям, у которых JavaScript отключён в принципе. Хотя сейчас вроде нашёл обходное решение…
Ещё непонятно, как там с поддержкой S3-протокола. Вроде нашёл какое-то стороннее решение на GitHub, но непонятно, насколько оно рабочее. А вот в CKEditor оно есть сразу,
И поймал один мелкий баг: если в конец текста вставить блок кода, то поставить курсор после него, чтобы писать дальше обычный текст уже не получится. Только вырезать блок в буфер обмена, добавлять пустую строку, и потом вставлять обратно. Вот с картинками такого не наблюдается (хотя в других редакторах и с ними бывают такие проблемы).
Был в Сети 15 дек. 2024 г., 00:24
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Прогулка в духе Истинных Времён
Вчера, узнав о том, что на дачу не поеду, решил пойти на прогулку. Долго выбирал между Кусково и Измайловским парком. Даже расклад на Таро сделал: за Кусково выпала девятка Пентаклей (какая-то непредвиденная выгода), на Измайловский — перевёрнутая Пятёрка чаш (избавление от переживаний и новый взгляд на мир). В итоге в последний момент всё же выбрал второй вариант.
И, надо сказать, не зря. Получилась длительная прогулка в духе Истинных времён (браслет насчитал в итоге 12 тысяч шагов). Добрался до Серебрянки, потом ушёл в ближнюю к Измайлово часть леса, вышел к Ольнянному пруду. Но там сейчас делать нечего: сам пруд пересох полностью, на берегах слишком многолюдно — много шашлычников и любителей попрыгать с трамплина на великах. Затем добрался до Первого Декоративного aka Собачьего. Вспомнил, как в этом и прошлом году сидел на его берегу весной, перед заездом на дачу. Увы, весной там лучше. Летом пруд слишком уж сильно зарастает и зацветает.
И хотя во время прогулки не было каких-то сильных впечатлений, в итоге пришло какое-то внутреннее спокойствие и умиротворение. И ещё почувствовал себя так, будто бы я вернулся в 2003-2006 годы, когда много бродил по тем же местам.
А вот остаток дня прошёл очень даже эффективно. Неплохо продвинулся в игре Tale of Two Kingdoms, дойдя уже до третьей главы. И поуизучал API редактора Quill, о чём скоро будет отдельная запись.
И, надо сказать, не зря. Получилась длительная прогулка в духе Истинных времён (браслет насчитал в итоге 12 тысяч шагов). Добрался до Серебрянки, потом ушёл в ближнюю к Измайлово часть леса, вышел к Ольнянному пруду. Но там сейчас делать нечего: сам пруд пересох полностью, на берегах слишком многолюдно — много шашлычников и любителей попрыгать с трамплина на великах. Затем добрался до Первого Декоративного aka Собачьего. Вспомнил, как в этом и прошлом году сидел на его берегу весной, перед заездом на дачу. Увы, весной там лучше. Летом пруд слишком уж сильно зарастает и зацветает.
И хотя во время прогулки не было каких-то сильных впечатлений, в итоге пришло какое-то внутреннее спокойствие и умиротворение. И ещё почувствовал себя так, будто бы я вернулся в 2003-2006 годы, когда много бродил по тем же местам.
А вот остаток дня прошёл очень даже эффективно. Неплохо продвинулся в игре Tale of Two Kingdoms, дойдя уже до третьей главы. И поуизучал API редактора Quill, о чём скоро будет отдельная запись.
Пытался сэкономить 15 минут и потерял два дня
Почему-то высшие силы изо всех сил сопротивляются моему переезду. В конце прошлой недели вернулся в Москву, чтобы решить вопрос с доделками по ванной и кухне. Изначально надеялся сделать это во вторник, но не сложилось. Пришлось заниматься этим в среду. Вроде всё согласовали, осталось дождаться звонка от замерщика и отправить оплату. Пока ждали, менеджер, которая занималась моим вопросом, переключилась на другого клиента, я, чтобы не ждать, когда она освободится, договорился, что она пришлёт ссылку на оплату.
Но дальше всё пошло не так. Сначала мы с замерщиком не поняли друг друга по корректировкам проекта, потом замерщик был недоступен, а менеджер без подтверждения от него не собирался ничего запускать. В итоге ссылку на оплату прислали мне только сегодня. «Ну ладно, потеряли ещё день, но вроде до осени всё равно успеваем» — подумал я, оплатил и начал собираться, чтобы ехать на дачу. Но, как всегда, прособирался дольше, чем рассчитывал, и решил ехать на следующей электричке, а не на той, на которой намеревался изначально. И вот уже совсем собрался было выходить из дома, взял мобильник, и увидел, что там мигает уведомление об SMS.
Стал читать. SMS оказалась от менеджера. Оказалось, там что-то напутали с оформлением заказа (и списали на «системный сбой», хе-хе), и оформили его не на того подрядчика. Исправить это нормально они не могут, и нужно ехать в магазин, отменять оплату, и проводить её заново, причём сделать это получится только завтра. В общем, хотел сэкономить 15 минут, а в итоге потерял два дня.
И, главное, это уже не первый случай подобных проблем. Ещё в марте один из замерщиков пытался приехать на квартиру, но попал в аварию, другая контора обещала перезвонить, но в итоге слилась. В общем, насколько легко и хорошо шло дело с покупкой, настолько же тяжело и плохо идёт дело с доведением её до ума.
Я бы, наверное, уже сдался и решил, что раз высшие силы так сопротивляются, значит, по каким-то причинам и правда нужно подождать хотя бы до следующего года, используя квартиру для ретритов на несколько дней (там вполне можно жить какое-то время, если смириться с рядом бытовых неудобств). Но есть одна проблема: квартплата. Она там почти такая же, как в Москве за обе квартиры.
Но дальше всё пошло не так. Сначала мы с замерщиком не поняли друг друга по корректировкам проекта, потом замерщик был недоступен, а менеджер без подтверждения от него не собирался ничего запускать. В итоге ссылку на оплату прислали мне только сегодня. «Ну ладно, потеряли ещё день, но вроде до осени всё равно успеваем» — подумал я, оплатил и начал собираться, чтобы ехать на дачу. Но, как всегда, прособирался дольше, чем рассчитывал, и решил ехать на следующей электричке, а не на той, на которой намеревался изначально. И вот уже совсем собрался было выходить из дома, взял мобильник, и увидел, что там мигает уведомление об SMS.
Стал читать. SMS оказалась от менеджера. Оказалось, там что-то напутали с оформлением заказа (и списали на «системный сбой», хе-хе), и оформили его не на того подрядчика. Исправить это нормально они не могут, и нужно ехать в магазин, отменять оплату, и проводить её заново, причём сделать это получится только завтра. В общем, хотел сэкономить 15 минут, а в итоге потерял два дня.
И, главное, это уже не первый случай подобных проблем. Ещё в марте один из замерщиков пытался приехать на квартиру, но попал в аварию, другая контора обещала перезвонить, но в итоге слилась. В общем, насколько легко и хорошо шло дело с покупкой, настолько же тяжело и плохо идёт дело с доведением её до ума.
Я бы, наверное, уже сдался и решил, что раз высшие силы так сопротивляются, значит, по каким-то причинам и правда нужно подождать хотя бы до следующего года, используя квартиру для ретритов на несколько дней (там вполне можно жить какое-то время, если смириться с рядом бытовых неудобств). Но есть одна проблема: квартплата. Она там почти такая же, как в Москве за обе квартиры.
Intellect Board вылез в топ выдачи
Обнаружил тут, что сайт Intellect Board наконец-то появился на первой странице выдачи по запросам «движок форума» (только в Яндексе) и «скрипт форума». В Яндексе также удалось подняться по «создать форум». Но увы, посещаемости это всё равно не прибавило… Только ещё больше усилило чувство, что я оказался где-то на задворках Интернета.
Боты на XXXXPro.Ru
Любопытно: Яндекс пару дней назад исключил из поиска страницу про мои компьютеры как малоценную, а теперь включил обратно.
Ещё глянул статистику по тому сайту в Метрике. Результаты удивили: посещаемость выросла до 50 человек/сутки, но большая часть заходов похожа на накрутки — заходы с Andorid версий 11-13 длительностью по 14-15 секунд с просмотром всего одной страницы. Вопрос только, кому и зачем могло потребоваться тот сайт накручивать? Или это какие-то боты, которые обходят всё подряд?
Ещё глянул статистику по тому сайту в Метрике. Результаты удивили: посещаемость выросла до 50 человек/сутки, но большая часть заходов похожа на накрутки — заходы с Andorid версий 11-13 длительностью по 14-15 секунд с просмотром всего одной страницы. Вопрос только, кому и зачем могло потребоваться тот сайт накручивать? Или это какие-то боты, которые обходят всё подряд?
Надо же, уже 13-ый Android появился. А казалось, совсем недавно 11-ый выходил.
Сделал генератор RSS для MLFW
Вчера (вернее, уже позавчера) доделал генератор RSS для своего фреймворка MLFW. Правда, пока в самом базовом варианте, только обязательные поля. Остальное буду добавлять потом, по мере необходимости. Как всегда, в процессе пришлось кое-что переделать и в других модулях. А ещё пришлось сделать его наследником класса HTML, а не Basic, как предполагалось изначально. И наконец-то протестировал идею «единый action для подготовки данных — несколько layoutов для разных типов вывода» именно в том виде, в котором задумывал изначально, на этапе проектирования MLFW. Идея себя оправдывает!
Но по-прежнему ужасаюсь объёму работы, который предстоит ещё проделать, чтобы довести до ума хотя бы гостевую книгу на MLFW.
Но по-прежнему ужасаюсь объёму работы, который предстоит ещё проделать, чтобы довести до ума хотя бы гостевую книгу на MLFW.
Вышел из минуса
Ещё одна хорошая новость: впервые закончил неделю с общим положительным результатом по инвестициям в целом, даже с учётом минусов по облигациям и ETF. Так что жизнь налаживается понемногу.
Заметка в Instagram от August 10, 2023 at 09:08PM
Сегодня устроил день информационной разгрузки. Сначала пару часов делал на прежнем этаже, отключив все каналы связи, и просто перерабатывая накопившиеся за последнее время впечатления. Потом немного посидел в медитации.
Потом отправился на прогулку. Увы, начиналась она не очень хорошо: на пляжном полуострове возле самого большого водоёма расположились какие-то обыватели, включившие музыку в машине так, что её было слышно на некомфортном уровне более чем за километр (потом специально по Яндекс.Карте померил). Как у них от нахождения рядом с таким источником звука мозги через уши не вытекают — загадка. Видимо, нечему. Или просто связь с собой настолько нарушена...
Из-за этой звуковой атаки пришлось несколько скорректировать планы, и уйти дальше, чем собирался изначально. Только когда уровень громкости снился до приемлемого, я смог спуститься и посозерцать вечернюю реку.
#вечерняяпрогулка #вечер #вечерняярека #лето2023 #клязьма #закат
Смотреть все фото
Потом отправился на прогулку. Увы, начиналась она не очень хорошо: на пляжном полуострове возле самого большого водоёма расположились какие-то обыватели, включившие музыку в машине так, что её было слышно на некомфортном уровне более чем за километр (потом специально по Яндекс.Карте померил). Как у них от нахождения рядом с таким источником звука мозги через уши не вытекают — загадка. Видимо, нечему. Или просто связь с собой настолько нарушена...
Из-за этой звуковой атаки пришлось несколько скорректировать планы, и уйти дальше, чем собирался изначально. Только когда уровень громкости снился до приемлемого, я смог спуститься и посозерцать вечернюю реку.
#вечерняяпрогулка #вечер #вечерняярека #лето2023 #клязьма #закат
Смотреть все фото
Жизнь налаживается
Жизнь понемногу налаживается. В воскресенье выбрались с Tellой в Ногинск, в этот раз посмотрели городской парк. А ещё Tella подарила мне две компьютерных игры на Steam: Life and Suffering of sir Brante и Tale of Two Kingdoms. Изначально она планировала подарить только одну, но тут очень удачно случилась распродажа с падением цены более чем вдвое, поэтому на разницу удалось купить и вторую. Скачал сегодня обе игры, и даже немного поиграл в Tale of Two Kingdoms. Давно хотел это сделать, так как её делала та же фирма, что делала и Heroine's Quest. И в целом игра по духу и оформлению во многом похожа!
Также обновил сегодня Twig в Intellect Board. Теперь исчез этот глюк с пробелами. Да и под 8.2 всё работает более-менее нормально, только выдаёт много warnings про то, что динамические свойства класса теперь deprecated, и нужно от них избавляться. По-хорошему, надо бы собрать новый release, но это нужно доделать кураторов темы и создание баз под PostgreSQL и SQLite в инсталляторе, и фотогалерею. А работа над MLFW сейчас важнее.
К самому MLFW тоже удалось вернуться вчера. Всё-таки большие перерывы — это плохо. Где-то час ушёл просто на то, чтобы вспомнить, что к чему, на чём я остановился и т.п. По-хорошему, нужно заниматься каждый день (с редкими перерывами на один день типа настолок или поездок). Но для этого нужно сделать, чтобы ничего не происходило, чтобы не сносило потоком жизни. Но как это сделать — увы, непонятно. Эх, вечная моя мечта: возможность ставить Интернет на паузу. (Ну или более реалистичный вариант — уйти «с головой» в yggdrasil и i2p-сети, там как раз поток новой информации очень небольшой.)
Также обновил сегодня Twig в Intellect Board. Теперь исчез этот глюк с пробелами. Да и под 8.2 всё работает более-менее нормально, только выдаёт много warnings про то, что динамические свойства класса теперь deprecated, и нужно от них избавляться. По-хорошему, надо бы собрать новый release, но это нужно доделать кураторов темы и создание баз под PostgreSQL и SQLite в инсталляторе, и фотогалерею. А работа над MLFW сейчас важнее.
К самому MLFW тоже удалось вернуться вчера. Всё-таки большие перерывы — это плохо. Где-то час ушёл просто на то, чтобы вспомнить, что к чему, на чём я остановился и т.п. По-хорошему, нужно заниматься каждый день (с редкими перерывами на один день типа настолок или поездок). Но для этого нужно сделать, чтобы ничего не происходило, чтобы не сносило потоком жизни. Но как это сделать — увы, непонятно. Эх, вечная моя мечта: возможность ставить Интернет на паузу. (Ну или более реалистичный вариант — уйти «с головой» в yggdrasil и i2p-сети, там как раз поток новой информации очень небольшой.)
Лето проходит…
Уже почти треть августа позади! А казалось, что он только-только начался… В природе пока что не чувствуется каких-либо отличий от июля, кроме разве что того, что темнеет раньше, и на берёзах кое-где появились отдельные жёлтые листочки. Но изменилось главное — появилось ощущение того, что скоро всё это закончится…
В этом году это вдвойне неприятно, потому что так и висит нерешённым вопрос переезда в Область. И успею ли я решить его до октября — неизвестно. А оставаться на зимовку в Москве — как-то очень печально…
Одно только радует: ночное небо стало темнее, и теперь гораздо лучше видны звёзды! Созерцаю их по вечерам, это успокаивает и возвращает внутреннюю гармонию.
В этом году это вдвойне неприятно, потому что так и висит нерешённым вопрос переезда в Область. И успею ли я решить его до октября — неизвестно. А оставаться на зимовку в Москве — как-то очень печально…
Одно только радует: ночное небо стало темнее, и теперь гораздо лучше видны звёзды! Созерцаю их по вечерам, это успокаивает и возвращает внутреннюю гармонию.
Страницы:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141