Заколдованный Лиру
Mar. 20th, 2010 01:05 pmТеперь о Лиру и вордпрессе. О сколько нам открытий чудных… Интересно, для Лиру вообще есть хоть один вордпрессовский плагин, написанный нормально? Или тут место заколдованное, как холм, на котором АвтоВАЗ стоит?
Плагин LJUsers превращает ник в ссылку вида http://www.liveinternet.ru/users/%%username%%/profile. Вставьте сюда кириллический ник и получите щастье, умноженное на ноль. Для таких ников у Лиру есть система перевода их в циферки. Блин, опять придётся патчить…
Дальше — больше. «Сервис дневников liveinternet поддерживает MovableType и MetaWeblog API в полном объёме». Ага, щаз. Спрашиваем не у администрации, а у самого сервера — он лучше знает. «Сервер, солнышко, скажи нам “mt.supportedMethods”!». Спрашиваем у liveinternet.ru и сервера с WordPress. Получаем:
И это пустяки, если бы не одно «но». Может быть я не разобрался с API, я всего день вожусь, но судя по гуглу, проблема не только у меня. Метод blogger.getPost не работает («server internal error»), а метод metaWeblog.getPost почему-то в «полностью поддерживаемой» реализации отсутствует. Результат — чтобы получить список ключевых слов и категорий для поста, пришлось тупо лезть через HTML и парсить его регулярными нецензурными выражениями. А поскольку посты бывают приватными, пришлось через тот же HTML ещё и логиниться. Ужас. Нет, не ужас. THIS IS RUSSIA!..
ps. Хочу механизм синонимов к ключевым словам в WordPress, как в Lightroom. Вводишь одно слово вроде «infrared», а он сам добавляет из списка «инфракрасная фотография, инфракрасная съёмка» и т. п. Попробую сделать. А может и иерархические теги сооружу. Да, движок на своём сервере даёт свои преимущества.
Mirrored from тайный блог aKry.
Сейчас начну пилить напильником плагин для кросспостинга в LiveInternet из WordPress — LIci.
По его поводу имею сказать две вещи. Первая: хорошо, что он есть, автору низкое спасибо. Вторая: плагин сырой и мрачный. Плохо, когда в семье один ребёнок — он может вырасти эгоистом. Как я.
Нужно:
- Добавить поддержу <!–more–> — на самом деле это тупой поиск и замена на [more], одна строчка кода. Непонятно, почему этого не сделали сразу. Сделано.
- Преобразовать все параграфы в <p style=”clear:none”>. Также добавить padding ко всем спискам, спасибо творческому подходу ЛивИнтернета к дизайну и CSS. Сделано.
- Добавить всем картинкам красивые рамочки. Впрочем, для последнего пункта разумнее сделать скрипт для GreaseMonkey. Сделано в GM.
- Убрать, убрать нафиг из отсылаемого текста все \n! Это ж уму нерястяжимо, зачем Лиру меняет \n на <br>, если в HTML и так стоят <P> и <BR>! Сделано.
- Хорошо бы заменить всех [user] — чтобы скажем в ЖЖ постился юзер с ЖЖ, а в Лиру — с Лиру. Наверное надо сделать какой-нибудь свой метатег, типа <!–multiuser=vasyaLiru,vasyaLJ–>, чтобы скрипт сам выбирал, кого из них подставить. Имена то бывают разные, не всем повезло нужные ники сразу занять.
- LIci не поддерживает обновления уже отосланного поста — только что рылся в его коде, гарантирую. А это не айс, тот же JournalPress для LJ это прекрасно делает, и не кашляет. И вообще, вся сладкая идея в том, чтобы не скакать по блогам, а спокойно, как медведь в паутине, править всё в одном месте. Сделано, но обожемой, с какой мукой! lici_offline.php похоже вообще не поддерживает обновлений статей, пришлось искать документацию по MetaWeblog API и с его помощью уже менять посты. Но нет худа без добра — через этот интерфейс можно получать список категорий. Жаль, документации нормальной с примерами не могу найти. Может вообще отказаться от того странного интерфейса «для своих» в пользу MT?
- В кросспостах внутренние ссылки должны быть на посты того сервиса, куда шлются эти посты. В ЖЖ на статьи в ЖЖ, в Лиру — на статьи в Лиру. Если они там конечно есть. Ещё несколько дней назад у меня была БД, которая легко находила ответы на эти вопросы бытия. Сейчас её надо писать и наполнять заново…
- Категории из WordPress должны отображаться в Лиру. У меня они совпадают по имени, но в принципе можно сделать более гибкое решение с таблицей преобразования. Сейчас в плагине, насколько я понял, этот вопрос игнорируется.
- Ключевые слова плагин тоже игнорирует, надо исправлять.
- Может быть добавить ссылки на кросспосты вниз основного поста.
- Не уверен, что об этом все знают, но плагин шлёт информацию каждом вашем посте на адрес lici.ru/lib/stat.php. Само тело статьи не шлёт, зато шлёт всё остальное, включая юзернейм, название, закрытость поста, всякие настроения и музыку. «Старший брат» следит за тобой. Очевидно, что если пост закрытый, автор может не хотеть, чтобы посторонние люди знали даже о факте его написания и о том, какое у поста название. Этот кусок кода надо убрать любому, кто пользуется плагином.
Есть, что пилить. Про замену ссылок не знаю, а с остальным не меньше дня, а то и двух дней работы. Зато потом будет удобно.
Кстати. Меня спрашивали, а что я с ЛиРу вожусь? Во-первых в ЛиРу много хороших интересных людей, например я. А во-вторых в некоторых аспектах юзабилити там получше, чем в ЖЖ. Например, через какую задницу сколько кликов нужно сделать, чтобы поискать в ЖЖ в своих постах, а не по всей ивановской? В ЛиРу для этого достаточно воспользоваться поисковой формой на любой странице днева. Да, я знаю, как делать поиск по блогам — суть не в этом, а в маленьких приятных ништяках. Механизм тегов в ЖЖ какой-то недееспособный, опять же. Категорий нет. Я большой фан тегов и то, что есть в ЖЖ вызывает у меня грусть. В общем, ЖЖ большой, толстый и солидный, добротно сделанный, но кой-чего не хватает. Как в дорогом и радостном Ниссане Кашкай почему-то был вставлен сиди-чейнджер, который не понимал ни DVD, ни mp3, и вообще явно был выходцем из прошлого тысячелетия. А вот в значимо более дешёвой Хёндай оказался навороченный музцентр.
Mirrored from тайный блог aKry.
Naked Markup
Mar. 12th, 2010 05:45 pmКоманда Лиру в очередной раз явила миру высокий профессионализм и заботу о клиентах. В RSS блогов появился новый вид порно: обнажённый HTML. Желающие могут помастурбировать, команда Лиру не против.
Все агрегаторы RSS бешено аплодируют, громче всех Google Reader.
Ахтунг! Девелопервы забрались в Лиру! :)
Oct. 15th, 2009 11:15 pmЯ попытался воспользоваться поиском ли.ру и что увидел? Белый лист и фразу:
Не будите во мне внутреннего девелопера! Он и так не высыпается… :)
Диалектика эмо
Jul. 1st, 2009 01:15 amВижу на лиру в топе девушку с ником «Ольга ЭмоГот». Я всегда думал, что эмо с готами между собой искрят. А тут видимо диалектика — единство и борьба противоположностей.
«html,body,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {padding:0;margin:0;}»
и
«ul li {list-style:none;} »
В результате при отображении постов пропали а) абзацы, б) ненумерованные списки. Вопрос — зафига? Мне это очень не нравится. Я вообще то пользуюсь и списками и абцазами, и отказываться от них не намерен.
Синдикация в LiveJournal
Jun. 17th, 2008 04:06 pmОбновил робота, который загружает мой днев в LiveJournal постами отсюда.
Причины:
- Библиотека MiniXML периодически оставляет только куски сообщений. Решение — написал свой модуль на базе XML Parser. Работает быстрее и куда как надёжнее.
- Гад ЛиРу в RSS после тегов <A>, <TABLE>, <TR>, да и остальных вставляет <BR />. Что смотрится очень тупо в итоговом посте. Решение — удалять нафиг.
- Старая БД уже отгруженных постов неудобна для редактирования. Решение — тупо переписал под текстовый файл, который можно править в любом редакторе.
- Автоматическое уменьшение картинки в посте, чтобы вписывалась в дизайн LiveJournal. Неясно, что делать с таблицами.
- Вставка «Читать дальше…» там, где такая есть в ЛиРу. В RSS этот тег пропадает. Но Яндекс.Блоги всё равно его как-то учитывает. Вопрос — как? Ходят смутные слухи про тег <WBR>, но вообще то он отвечает за переносы внутри длинных строк.
- Неясности с backdated. По умолчанию все посты идут с этой меткой, что означает, что у поста не текущая дата, а он добавлен «задним числом». И вроде бы при этом пост не появляется во френдленте. Если подтвердится, буду просто пинговать ЛиРу каждые 15 минут и добавлять посты без backdated.
Что осталось: