Позднее Ctrl + ↑

Эгея 2.10 альфа для авантюристов

При работе над Эгеей 2.9 я публиковал ранние альфа-сборки движка; с 2.10 попробуем так же.

Главная тема 2.10 — это «дискавери». Одна из фундаментальных проблем формата блога — это его хронологичность. Последние заметки видно, а что было месяц или, тем более, пять лет назад — нет. А ведь у нормальных ребят ценные заметки встречаются на протяжении всей истории. Я хочу, чтобы читателям было проще погружаться в интересные блоги и находить в них интересное, и теперь Эгея будет с этим помогать.

Возможно, что-то из описанного поменяется к релизу.

Рекомендации

Под заметками теперь автоматически собирается этажик «Дальше»:

Эгея использует теги, чтобы понять, какие заметки близки по смыслу и форме. Если читатель дочитал заметку, логично предложить ему ещё. Так что ставьте теги — это поможет движку рекомендаций не заблудиться. Списка ссылок на популярное в подвале заметок теперь не будет, потому что рекомендации намного круче.

В рекомендации попадают только избранные заметки. В Эгее давно можно отметить заметку как избранную — тогда она выделятся звездой. Но теперь избранность обрела очень конкретный смысл: это заметка, которая по задумке автора обладает вечной ценностью. Ставя заметке звёздочку, вы говорите Эгее: «даже через много лет можешь рекомендовать эту заметку читателям». При этом заголовки избранных заметок больше не будут выделяться размером (можете вернуть это обратно через стили).

При формировании рекомендаций Эгея не учитывает дату написания заметок — в рекомендации может попасть очень давняя заметка. Вот вообще 2006-й год подтянулся, и ничего:

Заметьте, что заодно немного поменялся дизайн листалки влево-вправо между соседними заметками.

Если в рекомендации попала заметка, которую вы не считаете важной, перейдите по ссылке на неё и уберите ей звезду — Эгея сразу же пересоберёт этаж рекомендаций. Не нужно ничего ждать, потому что кеширование в Эгее написано прямыми руками: я в состоянии своевременно удалять устаревшие кеши, в отличие от большинства программистов на планете. Простите, не сдержался.

Ну и всегда можно подкрутить теги, чтобы Эгея лучше разобралась в связях заметок. Естественно, изменения тоже применяются сразу же. Прямого способа сказать Эгее, что именно рекомендовать, нет.

Когда Эгея сформировала набор заметок для рекомендаций, она верстает их автоматически, используя могучую магию. Повлиять на это тоже никак нельзя — как Эгее понравится, так и сверстает.

Движок вёрстки учитывает не только смысл, но и такие вещи как длину заголовка или пропорции картинок, чтобы выбрать наиболее клёвую раскладку. Он даже может взять не первую картинку из заметки, а, скажем, седьмую, если она ему покажется более подходящей. Также для разнообразия вёрстки рекомендаций, в ней небольшую роль играет случайность. Так что этаж рекомендаций даже для автора в некотором смысле сюрприз:

Тут слева попалась вертикальная картинка и длинный заголовок. А справа заголовок короткий и картинки нет — пришлось вытащить описание заметки, чтобы не возникало дыры (это описание теперь можно редактировать, см. «Соцпакет» ниже).

А вот обложечки музыкальные красиво встали:

Вёрстка похожа на предыдущую, но попались картинки одинаковых пропорций и заголовки не слишком различаются по длине, поэтому половинки собрались одинаково.

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

Скромненький вариант с одной маленькой картинкой:

Рекомендации будут доступны только в платной версии.

Перебивки

Если просто крутить ленту заметок, между ними теперь показываются перебивки — такие же этажи ссылок на другие хорошие заметки:

В результате читатель, зашедший в блог первый раз, видит не только последние заметки, но и разные другие важные заметки, которые вы когда-либо писали. Хоп:

Перебивки тоже будут доступны только в платной версии.

Новые страницы тегов

Страницы тегов раньше были просто хронологическими лентами заметок по тегу. Теперь они стали умнее.

Во-первых, в платной версии используется тот же движок вёрстки рекомендаций, чтобы сформировать этаж популярных заметок по тегу. Во-вторых, и это уже касается и бесплатной версии, наверху автоматически показываются связанные теги — читателям проще переключаться между темами. Во-третьих, сами заметки теперь показываются компактно как в результатах поиска — быстрее находишь нужную.

Вот как выглядит у меня тег «философия», например:

Видите, в начале подтянулись популярные заметки и ссылки на «общество», «жизнь», «политику»? Это оно само. А благодаря компактным заметкам получается быстрее найти то, что надо.

Кстати, если при поиске нашёлся тег, то рядом теперь так же показываются связанные с ним теги.

Черновики, будущие и скрытые заметки

Компактному представлению заметки нашлось ещё одно полезное применение. В предпросмотре черновика теперь показывается, как заметку после публикации увидят соцсети:

Речь о серой плашке над кнопкой публикации. Там видно, какие картинки Эгея отдаст соцсетям для использования в качестве обложек и какой фрагмент текста — в качестве описания. Если вам не понравится автоматически выкушенный из начала заметки текст, вы как раз сможете пойти и отредактировать описание в заметке.

Кстати тут, когда выбираешь дату публикации заметки (платная фича), кнопка теперь называется не «Запланировать», а «Опубликовать в это время»:

Дело в том, что тут можно и прошлое время указать, чтобы опубликовать заметку задним числом. Мало ли.

Ещё одно изменение касается секретных ссылок и неопубликованных заметок. Ещё в Эгее 2.6 появилась платная фича — секретная ссылка для просмотра черновиков. Это удобно, чтобы согласовать пост с коллегами или рекламодателями перед публикацией, не давая им пароль от админки. А в Эгее 2.8 появилась другая платная фича — запланированные заметки. Можно настроить автопубликацию на определённое время в будущем. Из-за особенностей реализации такая вот запланированная на будущее заметка уже не имела секретной ссылки, потому что уже не была черновиком. Но это довольно тупо: иногда хотелось запланировать заметку, но доверенным лицам дать на неё секретную ссылку сразу.

В Эгее 2.10 можно дать секретную ссылку и на черновик, и на запланированную заметку, и даже на скрытую заметку. Заодно секретной ссылке нашлось более удачное место, см. скриншот выше.

О том, что в Эгее есть скрытые заметки, мало кто знает, потому что для них нет интерфейса. Заметку можно скрыть, дописав /hide/ к концу адреса, но до 2.10 я особо никогда не тестировал надёжность их сокрытия. Не удивляйтесь, если вы скроете заметку, а она всё равно просочится в какой-нибудь там РСС. В отличие от удалённой, скрытая заметка остаётся на своём месте в истории вместе со всеми комментариями, просто она видна только автору.

В отличие от читателей, автор видит свои запланированные и скрытые заметки. Но раньше они отображались в лентах целиком, просто были бледно-серыми. Теперь они тоже показываются в компактном виде:

Вот видно, что заметка ждёт своего часа опубликоваться. И тут же секретную ссылку можно взять, если не терпится с кем-то поделиться.

Лейбачок запланированной публикации претерпел лёгкий редизайн; так же теперь выглядит и лейбачок черновика.

Загрузка и разметка видео

Кроме аудио и картинок в заметки теперь можно загружать видео с расширением mp4 и mov. Оно будет воспроизводиться стандартным хтмльным видеоплеером.

В Эгее 2.9 появилась разметка фрагментов аудио (см. описание релиза), а теперь подобный синтаксис добавился и для видео, причём и для загруженного файлом, и для внешнего (Ютюб, Вимео). За это спасибо Игорю Адаменко.

Пример — в заметке с треком на Ютюбе:

В ссылочки можно тыкать, и видео перемотается.

В редакторе это выглядит так:

Снова, почитайте кусок «Разметка фрагментов аудио» из описания Эгеи 2.9. Тут так же можно давать ссылку из текста на конкретное время в видосе, но без подсветки фрагментов.

Важно: вместо .e2-audio-seek теперь используется класс .e2-media-seek. Простите, старый вариант работать перестанет даже с аудио, так что надо будет исправить в старых заметках. Их можно найти поиском. Если для кого-то из вас это проблема, скажите мне; я пока исхожу из того, что этой фичей пользуются редко и исправить придётся максимум заметок пять.

Соцпакет

В продолжение темы видео — Эгея умеет обновлять обложки внешних видосов. Щас объясню.

Когда вы используете внешнее видео в заметках, Эгея пытается достать обложку видео с Ютюба или Вимео, чтобы использовать её в качестве картинки заметки в соцсетях. Начиная с 2.10 эта же картинка может стать иллюстрацией в рекомендациях. Но бывает так, что Ютюб или Вимео не отдают обложку. Чтобы не зацикливаться в попытках перескачать эту обложку, Эгея запоминает, что обложки нет, и больше за ней не ходит.

С этой логикой была вот какая проблема. Бывало, я писал заметку с видео, параллельно загружая это видео на Ютюб. Эгея пыталась пойти на Ютюб за обложкой, которая ещё не была готова, и в итоге заметка оставалась без обложки. Теперь Эгея перепроверяет обложку при изменении заметки — мало ли. Так что если обложка не подгрузилась, можно пересохранить заметку, и Эгея попробует ещё раз.

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

С обложками понятно, но соцсетям нужны ещё и описания заметок. Эгея всю жизнь формирует их самостоятельно: берёт немного текста из начала заметки; старается обрезать его не на полуслове, а осмысленно, ориентируясь на знаки препинания. Но иногда хочется написать своё описание-затравку, чтобы заметка выигрышнее смотрелась в соцсети. Интерфейса для этого в Эгее раньше не было.

Описания страниц используют ещё и поисковики — показывают их под ссылками в поисковой выдаче, так что хотелось, конечно, иметь возможность на них влиять. Начиная с 2.10 описания заметок стали ещё важнее, ведь теперь они нужны не только в соцсетях и поисковиках, но и внутри самой Эгеи: в этаже рекомендаций и в компактном виде заметок.

В общем, пришло время дать управлять этим описанием. У заметки появилось дополнительное поле:

Изначально оно спрятано так же, как поля даты и урла — Эгея по-прежнему формирует описание сама. Просто теперь вы сможете его поменять, если захотите. Ещё раз напомню, что в предпросмотре черновика заметки теперь отображается, как её увидят соцсети, и там видны обложки и описание. Посмотрев туда, можно решить, хотите ли вы что-то поменять. Я у себя редактирую описание раз в несколько заметок.

Аналогичные поля описания появились и для страницы тега (в её редакторе), и для блога в целом (в Настройке). И у тега, и у блога в целом и раньше было поле «Описание»: оно отображалось под заголовками соответствующих страниц, и из его начала автоматически формировалось описание для соцсетей так же, как из текста заметки. Но и я, и многие другие авторы использовали это поле «Описание» для навигации по блогу. Поэтому у тега теперь отдельные поля: «Вступительный текст» и «Описание для поисковых систем, соцсетей и агрегаторов». А у блога — «Подзаголовок» и «Описание для поисковых систем...». Вступительный текст и  подзаголовок размещаются под заголовком, а описание отдаётся наружу. Разумеется, его можно не заполнять, и тогда Эгея сформирует его автоматически по-старинке.

Другие социальные новшества:

  • появился вход в комментарии через Телеграм (спасибо, Константин Якушев);
  • в окне «Подписаться на блог» (платная фича) добавились Ютюб и Тикток и обновились иконки остальных соцсетей.

Эффективный постоянный бекап

Появился автоматический бекап перед любым обновлением и постоянный инкрементальный бекап.

Раньше при бекапе делался полный дамп базы движка, что на больших блогах могло занимать несколько секунд. Бекап делался автоматически в фоновом режиме при создании и редактировании заметок. Это гарантировало актуальность бекапа заметок, но было весьма неоптимально, особенно когда редактируешь-редактируешь заметку до блеска, а Эгея всё бекапит и бекапит весь блог. И даже при этом комментарии и просмотры попадали в бекап только при редактировании заметок, а значит могли подолгу оставаться вне бекапа.

Теперь Эгея делает полный бекап перед обновлением движка (на всякий случай) и раз в неделю (тоже на всякий случай), а в остальное время она делает инкрементальный бекап: запросы к базе дублируются в текстовый файл backup-tail.sql, поэтому если база сломается в любой момент, можно будет восстановиться из последнего полного бекапа, а потом ещё и выполнить этот backup-tail.sql, чтобы база была приведена к самому последнему виду. Бекапная нагрузка стала меньше, а сам бекап теперь всегда актуален — классно!

Остальное

Пользовательское:

  • картинки в редактор вставляются прямо из буфера обмена (спасибо, Игорь Адаменко);
  • кнопка Энтер в однострочных полях редактора тега ведёт в следующее поле, прямо как в заметке;
  • тема «Акут» стала дефолтной (но «Простая» по-прежнему есть);
  • мелкие улучшения в тёмных темах;
  • тёмный режим ОС теперь учитывается по умолчанию, в том числе в инсталяторе, но галку по прежнему можно снять в Настройке;
  • пользователи платой версии теперь видят срок действия своей лицензии в Настройке, там же есть ссылка на оплату;
  • ссылки на админские странички переехали из подвала Настройки в выпадающее меню справа от заголовка;
  • страницы «Заметки без тегов» (/untagged/) и «Самые комментируемые» (/hot/) обзавелись листалкой (раньше показывали всё одной простынёй);
  • страница «Заметки без тегов» (/untagged/) теперь доступна всем (раньше была видна только автору блога);
  • страница заметок по нескольким тегам выглядит получше;
  • добавился французский язык интерфейса (спасибо, Валерий Орлов);
  • чуток успокоились цвета кнопок;
  • пользователи админки «Блогов» (это только я, но не могу же я не задокументировать изменение) теперь модерируют блоги через выпадающее меню.

Исправленные баги:

  • не получалось установить Эгею в базу данных, название которой содержало точку;
  • при удалении тега его урл мог остаться занятым навсегда, теперь гарантированно освобождаётся (при обновлении до 2.10 все зря занятые урлы освободятся автоматически);
  • при хитром стечении обстоятельств при удалении заметки мог сломаться урл тега, если он был настроен вручную;
  • в редких случаях обложка могла не загрузиться с Ютюба или Вимео, даже если они её отдавали;
  • если в названии тега использовался амперсанд, то в заголовке страницы тега он отображался как &, и подобная же фигня могла просочиться в РСС и Джейсон-фид (упс);
  • календарь не понимал, а теперь начал понимать введённые вручную даты без ведущего нуля (спасибо, Тимур Арефьев);
  • в Розе исправился баг с индексированием заметок, содержащих невероятно длинные слова (спасибо, Роман Парпалак).

Подкапотное:

  • минимальная версия ПХП поднята до 5.6;
  • управление кешами, бекапами, поисковыми индексами, логами и миграцией переехало с волшебных @урлов на спецстраницу .../settings/underhood/;
  • полноценно поддерживаются несколько Эгей в разных папках на одном домене (раньше у них куки конфликтовали, было трудно);
  • подготовка к будущему хранению нескольких блогов в одной группе таблиц в базе (это нужно для сервиса и не должно коснуться индивидуальных пользователей, но это значительное потенциально глюкогенное изменение, так что важно);
  • сильно много разных оптимизаций: меньше запросов к базе, больше индексов и кешей;
  • ядро стало где-то на 11% легче за счёт более умной сборки;
  • все таблицы в базе теперь — InnoDB;
  • при любом обновлении Эгеи теперь проверяются и при необходимости пересоздаются все нужные индексы в базе данных;
  • шаблоны в темах оформления теперь поддерживают вложенность, поэтому вместо notes.tmpl.php теперь есть note.tmpl.php, то же с комментариями; тот же механизм использует этаж рекомендаций;
  • форматтер Каллиопе больше не входит в стандартный дистрибутив (но можно установить, если вам нужен; поддержка будет полностью удалена в 2.11);
  • при сохранении айпишников комментаторов поддерживается IPv6;
  • транслитерация при генерации урлов поддерживает дореволюционные буквы/

Что тестировать

В принципе надо тестировать не только всё, о чём речь выше, но и вообще всё — убедиться, что я ничего не сломал. Но особенно внимательно хочется быть с этим:

  • черновики, публикация прошлой датой, публикация будущей датой и скрытые заметки;
  • изменение урлов черновиков и опубликованных заметок, особенно всякие конфликты при изменении урлов на уже использованные ранее;
  • изменение урлов тегов;
  • что неопубликованные, запланированные, невидимые заметки действительно не видны, не проникают в РСС, не находятся в поиске и т. д.;
  • что не сломалось локальное автосохранение заметок;
  • что вёрстка рекомендаций не ломается ни в каких заметках;
  • что рекомендации всегда пересчитываются при изменении данных, кеши никогда не забывают сброситься;
  • секретные ссылки;
  • работу бекапа.

Ссылка на дистрибутив

Основные фичи этого релиза, связанные с рекомендациями — платные. В альфа-сборке, которую я выкладываю сегодня, они все включены, потому что надо их как-то потестировать. Но постепенно я их отсюда уберу. Понимаю, что это странновато, но я пока не придумал, как по-другому.

Если вам интересно поэкспериментировать, то скачайте, пожалуйста, свежую сборку v3733a (релиз), поставьте себе, и попробуйте с ней пожить. Не забывайте, что нет вообще никакой поддержки и даже на несложные вопросы вроде «а в каком файле ты хранишь то-то» я могу отвечать долго. Если в вашем блоге есть хоть что-то ценное, сделайте максимальный бекап. В моём блоге сейчас, конечно же, крутится именно v3733a. Чтобы обновиться, замените /system/ и все подпапки в /themes/.

См. также: Альфа 2.

Лондон: Тейт-модерн и немного стрит-арта

Остатки выставочного Лондона летом 2018-го.

Во-первых, Тейт-модерн. Там был Пикассо, но платный, поэтому я ограничился фотосъёмкой вывески:

Обратите внимание на то, как вывеска Пикассо повторяет кирпичную текстуру, в отличие от вывески самого Тейт-модерна ниже. Я сначала не въехал, как это так, неужели это нарисовано краской какой-то? Ответ ниже.

Навигация:

Ну и какие-то картины. Такие:

Такая:

Похоже на Герхарда Рихтера; может, он и был:

Что-то странное:

А вот какой-то дом клёво раскрашивают:

С другого ракурса:

Традиционно заграфитченный и вдоль и поперёк проход к м. Шордич-хай-стрит:

Где-то тут мне попалась некая афиша, тоже с проступающими кирпичами:

Оказывается, это какая-то сверхтонкая плёнка, которая повторяет текстуру поверхности, к которой она приклеена:

Если она ещё и снимается без остатка, то это вообще чудо. Вроде мелочь, то выглядит намного круче, чем просто бумажная афиша.

Стрит-арт по дереву:

Фотографии из поездки в июле 2018 года. Во всех заметках про путешествия снизу есть поиск дешёвых авиабилетов. Слетайте в Лондон!

Ещё Лондон — в разделе «Мир».

Ещё выставки и музеи, например:

Аудио по четвергам: Awake

После прошлого четверга логично ещё такое вам дать:

1:51 Штука
2:29 Подготовка
2:43 Главное
3:39 Другая штука
6:05 Ещё раз главное
8:13 Ну и ещё

Саундклауд

Если вам нравится музыка, которую я публикую, подписывайтесь на меня на Саундклауде, теперь у меня там живой профиль. Если вы не в теме Саундклауда, это такая первая в истории музыкальная соцсеть, которая реально работает. Рекомендую зарегистрироваться и фоловить тех исполнителей и те лейблы, которые вам нравятся. Поскольку там выкладывают не только своё, но и репостят чужое, в результате вы постепенно узнаёте много новой хорошей музыки. Плюс Саундклауд изучает, что вам нравится, и подбирает ещё и ещё. И у него есть приложение для Айфона, конечно.

Что послушать — 38

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

Вот что я слушал в последнее время, что мне понравилось:

  1. Death Sex and Money: Let’s Talk about Porn. Как трудно жить, если придумать себе нелепые, необъяснимые запреты.
  2. Нормы русского языка — что за ними стоит на самом деле? Микитко сын Алексеев. У него всегда всё интересно про язык, можно слушать всё подряд.
  3. Почему менталитета не существует? Клёвый Кац.

Муз-ТВ: «Элементы» и инопланетяне

Продолжаю разгребать эфирную графику «Муз-ТВ». Напомню, я выкладывал их заставки несколько лет назад, а потом что-то забросил это дело, а ведь у меня их целая куча. Сегодня посмотрим ещё несколько, про инопланетян.

Заставка ночной программы «Элементы». Там играло техно и всё такое. Кайф:

Этот же инопланетянин использовался в таких айдишных заставках:

А вот его подруга:

Тогда инопланетяне были бинарными.

Предыдущие — по тегу «Муз-ТВ». Самое золото:

На интерфейсном курсе: верстаем, сокращаем, верстаем, сокращаем, верстаем, сокращаем форму

Фрагмент № 15 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 5 августа 2020 года. Покажите дизайнерам.

00:00 Подача результата дизайна. Теория близости
05:55 Лейблы отвалились от полей. Как быть с исключениями в дизайне?
10:44 Избавляемся от левой колонки сетки вообще
13:05 Жирные заголовки — сразу кайф
13:32 Про важность горячих клавиш
15:48 Ссылки незаметны внизу, надо поставить их функции на место

Сегодня — последний день записи на курс, который пройдёт с 28 сентября по 25 октября.

Почитать о курсе

Программа, отзывы, запись

Что послушать — 37

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

Вот что я слушал в последнее время, что мне понравилось:

  1. Беседа с Сергеем Шановичем. Когда-то я был фанатом дизайна телеэфирной графики, и помню фамилию фамилию Шановича ещё с тех пор. Интересный мужик.
  2. Сергей Гуриев — о современной науке, мифах экономики и этике. Ведущий невыносим, еле успевал перематывает его вопросы длиной по пять минут. А Сергея слушать всегда интересно. Здесь особенно клёво, что он рассказывает о том, как сама наука устроена, а не о прикладных выводах, которыми он часто делится в других местах.
  3. Why I left YouTube: explaining everything. Люси, канал которой об английском я как-то уже советовал, рассказывает о непростой судьбе ютюбера во времена, когда за ошибки приходится так сильно извиняться, что ни на что другое уже не остаётся жизненных сил.

Неделя 13—20 сентября: договор без ссылок, выставки, фотки, размножение афиш • Задача об автозапуске

Обзор моего блога и соцсетей за неделю 13—20 сентября 2020 года и разбор задачи о настройке автозапускаемых программ в Макосе:

00:00 Интро
00:21 Блог: пустая Филадельфия
00:35 Договорённости — без ссылок
04:59 Видеоотзывы участников курса
05:45 Выставки в Лондоне
10:45 Совет
12:12 Твиттер: селфик из шахматного клуба, полоски на часах и мой домашний экран айфона с Ай-ОСом 14
14:22 Инстаграм: бургер, селфик, ноготь, ягоды, вывеска, дача, озеро, табличка
15:32 Телеграм: размножение афиш
17:45 Разбор дизайн-задачи прошедшей недели
25:29 Пока-пока!

Выставки в Лондоне: Фрида Кало и Национальная галерея

Вернёмся в Лондон летом 2018 года. Я уже рассказывал вообще и о транспортном музее. Как-то та поездка оказалась ударной по части музеев.

Например, побывал в музее Виктории и Альберта на выставке, посвящённой Фриде Кало. В непростую судьбу самой Фриды я особо не вникал, просто разглядывал экспонаты и то, как устроена выставка.

Среди экспонатов было много разных бутыльков и упаковок. Красивые:

1
2
3
4
5

Самый кайф — это как эти бутыльки и упаковки подписаны. Они схематично перерисованы на стекле и подписаны рядом:

6

Та же фигня с одеждой. Ещё и какие-то мексиканские регионы красиво отмечены:

7

Вёрстка:

8

Также, например, побывал в Национальной галерее. Навигационная стела на входе:

9

Навигационная штука внутри. Прикольно, что показано и на карте, и «списками» самих картин:

10

Я пытался, но так и не разобрался во всяких Пикассо и Сезаннах. Я смотрю картины сначала издалека, а потом если какая-то меня зацепила — подхожу и рассматриваю детальнее. Вот что мне понравилось:

11
12
13
14
15
16
17

Фотографии из поездки в июле 2018 года. Во всех заметках про путешествия снизу есть поиск дешёвых авиабилетов. Слетайте в Лондон!

Ещё Лондон — в разделе «Мир».

Ещё выставки и музеи, например:

Ранее Ctrl + ↓