정적 사이트의 HTML 아카이브를 만드는 가장 좋은 방법에 대한 업데이트가 있나요?

업데이트!

이것이 답일 수도 있습니다:

다음 내용을 확인했습니다:

Improving Discourse static HTML archive.

오래된 글입니다.

https://forum.talksurf.com/ 사이트를 폐쇄할 예정입니다.

네, 백업을 아카이빙할 계획입니다.

하지만 단순히 탐색 가능한 HTML 파일만 원한다면 어떻게 해야 할까요?

ArchiveDiscourse/archive-discourse.py at master · kitsandkats/ArchiveDiscourse · GitHub 를 실행하면 될까요?

아니면 더 나은 방법이 있을까요?

미리 감사합니다!

참조: @pfaffman

아로하,

Justin

1개의 좋아요

Wayback Machine 같은 서비스가 비슷한가요?

이것이 작동했습니다. 코드를 약간 업데이트해야 했습니다.

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/

다만 _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

알려 드는 바인데, 이 작업은 새 URL로 이미지가 가져와지지 않습니다. 사진은 여전히 (곧 폐기될) 사용자의 서버를 가리키게 됩니다.

Jay가 친절하게 덤프를 보내주었고, 내 것과 비교해 보았습니다.

그의 방식은 이미지를 저장한다는 점에서 더 잘 작동합니다.

그러나 그의 내부 링크는 기사가 아닌 폐쇄된 사이트로 가리킵니다. 하지만 이미지가 포함된 기사는 찾을 수 있습니다.

Discourse가 정적 내보내기를 지원하면 "좋았을 것"입니다. :smile:.

2개의 좋아요

좋은 점은 모든 데이터를 가지고 있다는 것입니다. 따라서 누군가가 그 마음이 있다면 백업에서 데이터를 직접 내보내는 플러그인을 작성할 수 있습니다.

하지만 우리가 직접 작성할 가능성은 낮습니다 :wink:

1개의 좋아요

내부 링크를 수정하는 것은 그리 어렵지 않을 것 같습니다. .html을 추가하기만 하면 되는 것 같으니까요.

--convert-links가 해당 링크를 수정해 줄 줄 알았는데…

여전히 Discourse용 좋은 아카이브 생성기를 보고 싶습니다.

Claude에게 한번 시도하게 하고, 참고용으로 여기 공유하며 이 기능이 진행 중인 흐름에 포함되도록 하겠습니다:

아직 기본적인 설정 수준입니다: 주제, 카테고리, 태그, 사용자. 검색도 작동합니다. 로컬 데모 인스턴스의 아카이브를 GitHub 페이지에 업로드했습니다:

3개의 좋아요

아마 이것이 더 나을 것입니다.

쿠키를 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개의 좋아요