Где блекджек, где мои шлюхи? Ничерта не работает! Войти !bnw Сегодня Клубы
Допустим у нас есть генератор статического сайта, который превращает груду markdown'а в груду правильно связанного html и прочего rss. Мне хочется делать обновления к записям, которые будут например отображаться в rss и иметь дату модификации. Как это должно быть реализовано на стороне исходных документов? Можно кэшировать генератором историю изменения документов и сравнивать с компилируемой, но тогда если потеряется кэш, часть данных сайта потеряется. Можно создавать новые документы, которые каким-то образом обозначены как версии старого документа, но это выглядит как грабли для пользователя.
#I01PVK / @ndtimofeev / 3354 дня назад

#I01PVK/JDJ / @voker57 / 3354 дня назад
@voker57 Предлагаешь держать документы в git'е и билдить последний коммит + историю изменений?
#I01PVK/42P / @ndtimofeev --> #I01PVK/JDJ / 3354 дня назад
в rss ставятся даты, и читалки уже сами определяют, что новое, что старое, а что обновлено есть сотни статических блогов для github pages Вон у этого автора http://www.gwern.net/About#colophon много страниц, которые часто меняются; можешь спиздить у него
#I01PVK/OUN / @anonymous / 3354 дня назад
#I01PVK/KDX / @voker57 --> #I01PVK/42P / 3354 дня назад

Для RSS и каталога это выглядит как удаление статьи и появление новой. Следовательно, если они строятся самым простым способом, по датам изменения исходников, и для постов используются канонические ссылки (без дат, генерируемые автоматически или вручную), всё заработает.

При использовании датированных ссылок можно при генерации поста добавлять по определённому шаблону в начало/конец исходника дату его изменения. Если её там нет — добавляем. Если есть — сравниваем, при совпадении не делаем ничего, при расхождении добавляем ещё одну. Потом, при сборке, либо копируем содержимое поста для каждой из старых дат, либо ставим редиректы на последнюю версию. Так старые ссылки </ГГГГ/ММ/ДД/имя> будут сохраняться. Можно совместить это с выводом дат создания и изменения в документ шаблонизатором.

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

#I01PVK/JGO / @ceyt / 3354 дня назад

@voker57 Тебе нужно хранить состояние, логично делать это в самом документе. Никаких костылей в добавлении одной строчки с датой я не вижу.

#I01PVK/ZO4 / @ceyt --> #I01PVK/CU5 / 3354 дня назад
@ceyt в копании в написанном юзером и/или сгенерированном HTML я очень ясно вижу костылирование. алсо при таком подходе ты будешь мудаком с одной записью в RSS и юзеры не смогут увидеть что в тексте actually изменилось
#I01PVK/TIP / @voker57 --> #I01PVK/ZO4 / 3354 дня назад

@voker57 В «сгенерированном HTML» не поковыряешься, его ещё не существует. Во многих системах уже есть формат указания метаданных (категорий/тегов/…) для поста, его и надо расширить.

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

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

#I01PVK/319 / @ceyt --> #I01PVK/TIP / 3354 дня назад
@ceyt а те, кто пропустил несколько версий, увидят только одну новую.
#I01PVK/PTI / @voker57 --> #I01PVK/319 / 3354 дня назад

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

#I01PVK/Y74 / @ceyt --> #I01PVK/PTI / 3354 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.