Есть ли обновления по лучшему способу создания HTML-архива статического сайта?

Обновление!

Это может быть ответ:

Я посмотрел:

Improving Discourse static HTML archive.

Это устарело.

Я собираюсь закрыть https://forum.talksurf.com/.

Да, я сделаю архивную копию.

Но что, если мне просто нужны просматриваемые HTML-файлы?

Мне стоит просто запустить ArchiveDiscourse/archive-discourse.py at master · kitsandkats/ArchiveDiscourse · GitHub?

Или есть что-то получше?

Заранее спасибо!

CC: @pfaffman

Алоха,

Джастин

1 лайк

Не что-то вроде «Машины времени» было бы похоже?

Это сработало. Мне пришлось внести незначительное обновление кода.

3 лайка

Но не намного старше вашей версии Discourse!

Мне удавалось успешно зеркалить сайты с помощью wget. Что-то вроде:

wget --mirror --page-requisites --convert-links --adjust-extension --compression=auto --reject-regex "/search" --no-if-modified-since --no-check-certificate --execute robots=off --random-wait --wait=1 --user-agent="Googlebot/2.1 (+http://www.google.com/bot.html)" --no-cookies --header "Cookie: _t=$COOKIE" https://forum.talksurf.com/

Но вам нужно получить cookie с именем _t.

Напишите мне на почту, и я посмотрю, что смогу сделать.

1 лайк

Я делал это недавно, и вот как я это сделал.

 def serve
    file_path = File.expand_path(
      params[:path]+"."+params[:format],
      File.join(File.dirname(__FILE__), "../../public")
    )
    if File.file?(file_path)
      send_file file_path, type: "text/html", disposition: "inline"
    else
      render plain: "404 Not Found", status: 404
    end
  end

Сообщаем, что изображения с новыми ссылками не подтягиваются. Фотографии по-прежнему будут указывать на ваш сервер (который вот-вот будет выведен из эксплуатации!).

Джей любезно прислал мне дамп, и я сравнил его со своим.

Его техника работает лучше в том смысле, что она сохраняет изображения.

Однако его внутренние ссылки ведут не на статьи, а на закрытый сайт. Тем не менее, статьи можно найти вместе с изображениями.

Было бы «приятным дополнением», если бы Discourse поддерживал статический экспорт. :smile:

2 лайка

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

Но вряд ли мы напишем такую утилиту :wink:

1 лайк

Исправить внутренние ссылки не должно быть слишком сложно, похоже, им нужно просто добавить .html.

Я думал, что --convert-links исправит эти ссылки…

Мне всё ещё хотелось бы увидеть хороший генератор архивов для Discourse.

Давайте просто дадим Claude возможность попробовать, делясь этим здесь для справки и держа эту функцию в курсе:

На данный момент это базовая настройка: темы, категории, теги и пользователи. Поиск тоже работает. Загрузил архив локального демонстрационного экземпляра на страницу GitHub:

3 лайка

Скорее всего, это лучше, чем это.

Вставьте это, чтобы присвоить cookie переменной COOKIE, а затем вставьте файлы cookie, скопированные в буфер обмена расширением Cooke для Chrome.


COOKIE=$(cat |jq -r '.[ ]|select(.name == "\_t")|.value')

Введите URL здесь:

затем вставьте:


wget --mirror --page-requisites --convert-links --adjust-extension --compression=auto --reject-regex "/search" --no-if-modified-since --no-check-certificate --execute robots=off --random-wait --wait=1 --user-agent="Googlebot/2.1 (+http://www.google.com/bot.html)" --no-cookies --header "Cookie: \_t=$COOKIE" =FORUMURL=

4 лайка