Семь лет постов о Японии в телеграме — @M4Japan, октябрь 2019 и по сей день. Здесь собрано то, что удалось выяснить про канал до того, как писать сайт: сколько там на самом деле постов, как канал устроен внутри, что уже размечено самим автором и во что всё это обойдётся по месту на диске. Плюс прототип ленты — на настоящем контенте.
почему «9000 постов» — цифра втрое завышенная
Альбом занимает до десяти номеров сообщений, но человек видит один пост. По замерам на восьми срезах за все годы — 2.99 номера на карточку. В 2019 году это 1.4 (одиночные фото почти без подписей), в разгар поездки 2024-го — 7.3. Поэтому максимальный id 9408 превращается примерно в 3100 реальных постов, и вся арифметика хранения, тегирования и вёрстки считается от этого числа.
и одной лентой они не показываются
Десятки постов в день, короткая остроумная подпись, 3–7 медиа на пост, 70 % постов — альбомы. Хронологический дневник, который читается подряд.
медиана подписи 43 знака · до 7.5 медиа/постМежду поездками — один-два поста в неделю, текст на 500–2000 знаков, 1–3 фотографии. Поезда, игровая музыка, аниме, еда, космос, «поясняю эмодзи».
тематический · читается по рубрикамЭто главный вывод разведки: разделов должно быть два, с разной вёрсткой. Дневник поездки и журнальная статья — разные жанры, и общая лента убивает оба.
Отсюда и четыре уровня структуры:
настоящие тексты, фотографии и время постов из канала
Лента поездки сверстана как расписание поездов: время в моноширинном столбце слева, вертикальная линия маршрута, точки-остановки — пустая для одиночного поста, залитая для альбома. Плюс раздел рубрик с фильтром по тегам. Всё на живом контенте, окрестности id 4400–4620.
макет · 3 МБ, фотографии внутри страницы
Апрель 2024, марафон 4518→4620, разложенный по дням. Лайтбокс, тёмная тема, вёрстка до 400 px.
japan.m4chanic.ru/prototype/статья «Поездки в Японию» на telegra.ph
Самая ненадёжная часть работы — границы поездок и остановок — оказалась не нужна: у автора есть ручной индекс, где для каждой остановки указан id первого поста, город и перечень мест. Разбирается скриптом, без модели и без эвристик.
| Поездка | id | остановок | Маршрут |
|---|---|---|---|
| Осака 2019 сентябрь 2019 |
4–1001 | 10 | Токио, Хиросима, Сигисан, Осака, Киото, Судзука — классический маршрут плюс этап Формулы 1 |
| Нара 2022 ноябрь–декабрь 2022 |
1594–3325 | 18 | Сасэбо, Нагасаки, Фукуока, Китакюсю, Кобе, Нара, Киото, Нагоя, Йокогама — Кюсю и момидзи в Кансае |
| Фудзи 2023 июль 2023 |
3469–4270 | 12 | Фудзи, Нагоя, Тоба, Киото, Вакаяма, Канадзава, Сиракава-го, Тояма — серединка Хонсю и восхождение |
| Хиросаки 2024 апрель 2024 |
4518–5658 | 14 | Никко, Мацусима, Сендай, Хираидзуми, Хиросаки, Хакодатэ, Саппоро, Вакканай — север и сакура |
| Ояма 2025 май 2025 |
6144–… | — | Кюсю, Кансай и Токио — в статье только заголовок с картинкой, поездка известна из закреплённого поста |
| Поездка 6 май 2026 |
8537–… | — | Токио и Кансай — в статье её нет вовсе |
Чего индекс не покрывает.
пост 4516 — навигация по каналу от самого автора
Статья на telegra.ph доезжает до мая 2024. Закреплённый пост доезжает до сегодня — и отвечает на вопрос, из чего канал вообще состоит. Поездок шесть, у каждой назван id первого поста: 4, 1594, 3469, 4518, 6144, 8537. Пятая и шестая в статье не расписаны, так что без этого поста их пришлось бы искать эвристиками.
И главное для структуры: кроме поездок и журнала в канале есть третий тип — сквозные проекты. Набор связанных постов, растянутый на месяцы, который читается как одна вещь:
| Что | Посты | Тип |
|---|---|---|
| Список мест для Google Maps: посмотреть / поесть-попить / купить | 967 | справочник |
| Перевод и озвучка «Diggin' in the Carts» | 1178, 1194, 1371 | проект |
| Подборки YouTube-каналов: японцы, японки, прогулки | 1220, 1450, 5934 | серия |
Значит, у поста должна быть возможность входить в серию — произвольный набор постов, не непрерывный и не привязанный к поездке. А пост 967 с тремя списками мест — прямой источник для карты, вместе с перечнями мест из индекса поездок.
Пост датирован апрелем 2024, но упоминает поездку мая 2026 — автор его дописывает. Перечитывать его стоит при каждом обновлении архива: это самый дешёвый способ узнать о новой поездке.
хештеги стоят на 18 % постов — словарь готов
Автор сам расставляет теги, просто не везде. Значит, задача не «придумать рубрики», а продолжить существующий словарь на остальные 82 % — это один батч к модели на ~3100 постов, а не проектирование таксономии. Канонический список — те 16 тегов, что автор перечислил в закреплённом посте, и он закрытый. Теги при этом собираются только со своих постов: у пересланных из других каналов теги чужие и в рубрикатор не идут.
то, на чём иначе споткнёшься
видео — 14 % файлов и больше 80 % байтов
Telegram уже сжал фотографии до 1280–2560 px, поэтому оригиналы хранить незачем — достаточно своих webp в трёх ширинах.
| Что | Объём |
|---|---|
| ~8000 фото по 400 px — лента | ~0.3 ГБ |
| ~8000 фото по 1280 px — просмотр | ~2 ГБ |
| фото итого | ~2.5 ГБ |
| ~1300 видео | 7–25 ГБ |
Решение — гибрид: фотографии свои и локально, видео эмбедом или ссылкой на Telegram. Тогда архив влезает даже на VPS с диском 10–15 ГБ. Виджет telegram-widget.js как основа сайта не годится: текст внутри iframe с telegram.org не индексируется как свой, а тексты тут — главная ценность.
порядок работ