Skip to content

Valine

이전 문서: Valine 게시일: 2022-5-27 마지막 편집: 2024-1-31 원래 분류: 📩 댓글 플러그인 태그: NotionNext, 플러그인, Valine 요약: Valine 플러그인은 LeanCloud 백엔드의 데이터베이스 저장 기능이 필요합니다. 아래 단계에 따라 설정하세요.

소개

Valine과 Waline은 모두 클라우드 함수 배포를 지원하는 빠르고 간결한 댓글 시스템입니다. 이론적으로 정적 블로그를 포함한 여러 사이트에서 사용할 수 있습니다.

Waline은 Valine에서 파생된 백엔드 포함 댓글 시스템으로, Valine의 업그레이드 버전으로 볼 수 있습니다. Valine이 지원하지 않는 기능을 더 많이 제공하며, 두 시스템의 데이터 구조는 호환됩니다. Valine과 Waline을 동시에 설치해도 댓글 데이터를 함께 사용할 수 있습니다.

Untitled

이 문서는 주로 LeanCloud + Vercel 배포 방식을 설명합니다. Zeabur 방식도 사용할 수 있으며, 배포 경험이 편리합니다.

Zeabur는 개발자가 서비스를 한 번에 배포할 수 있도록 돕는 플랫폼입니다. Railway와 비슷하지만 기능이 더 많고, 신용카드 연결이 필요 없으며, 무료 사용량도 더 큽니다.

Zeabur 배포

Zeabur는 개발자가 서비스를 한 번에 배포할 수 있게 도와주는 플랫폼입니다. Railway와 비슷하지만 기능이 더 많고 무료 사용량도 더 큽니다.

1. LeanCloud 등록

두 플러그인 모두 LeanCloud가 제공하는 클라우드 함수와 클라우드 데이터 저장 기능을 사용합니다. 일반 개발자라면 무료 버전으로 충분합니다.

😀 Zeabur 배포 방식을 사용한다면 LeanCloud를 별도로 등록할 필요가 없습니다.

APP ID와 APP Key 가져오기

1. 먼저 로그인하거나 회원가입한 뒤 `LeanCloud` 콘솔에 들어가 왼쪽 아래의 앱 만들기를 클릭합니다.

image

2. 방금 만든 앱에 들어가 왼쪽 아래의 `설정` > `앱 Key`를 선택하고 `APP ID`와 `APP Key`를 확인합니다.

Untitled

2. NotionNext에서 Valine 설정

위에서 appId, appKey 등의 매개변수를 가져오면 NotionNext(버전 3.3.9 이상)에서 Valine을 바로 활성화할 수 있습니다. Valine을 사용하지 않으려면 다음 섹션인 Waline 배포로 넘어가도 됩니다.

NotionNext의 Vercel 환경 변수에 아래 내용을 설정합니다.

환경 변수 설정 예시

UntitledUntitled

`NEXT_PUBLIC_VALINE_SERVER_URLS` 설명

이 매개변수는 선택 사항입니다. 앱 내부에서 자동으로 가져오려고 시도하지만, 가져오기에 실패하면 수동으로 설정하세요.

LeanCloud에서 방금 만든 앱에 들어가 왼쪽 아래의 설정 > 앱 Key를 선택한 뒤 Request 도메인의 첫 번째 줄을 찾습니다. 도메인 앞에 반드시 https://를 수동으로 붙여야 합니다. 그렇지 않으면 Valine 댓글에 접근할 수 없습니다.

Untitled

💡 설정을 마친 뒤 Vercel 프로젝트를 다시 배포하면 적용됩니다.

기타 선택 Valine 설정

보안 도메인(선택 사항)

LeanCloud는 자체 보안 도메인 설정을 지원합니다. 설정 후에는 목록에 등록된 도메인만 서비스에 접근할 수 있습니다. 예를 들어 블로그에서만 Valine 서비스를 사용한다면 보안 도메인은 /user-guide/intro처럼 블로그 도메인에 맞게 설정하면 됩니다.

Untitled

Valine 관리자 페이지 배포(선택 사항)

Valine에는 기본 관리자 페이지가 없습니다. Valine-Admin을 사용하면 몇 분 안에 관리 백엔드를 배포할 수 있으며, 댓글 보기, 삭제, 이메일 알림, 스팸 댓글 필터링 등을 지원합니다. 배포 방식은 이 문서에서 자세히 다루지 않습니다. 공식 문서의 클라우드 엔진 원클릭 배포 부분을 참고하세요.

Q&A

  1. 블로그 하단에 댓글이 표시되지 않습니다.

    • NotionNext 버전이 최신이 아닐 수 있습니다. 프로젝트를 업데이트하세요.
    • Vercel 대시보드에 Valine/Waline 환경 변수가 설정되지 않았을 수 있습니다. 설정 후 redeploy가 필요합니다.
  2. 댓글에 Unexpected end of JSON input이 표시됩니다.

    • Waline 주소 설정이 잘못되었을 수 있습니다. 주소를 확인하고 이 issue의 답변을 참고하세요.
  3. 댓글에 fail to fetch 또는 Network Error가 표시됩니다.

    • Vercel에 배포된 Waline에서 CORS 네트워크 제한이 발생했을 수 있습니다. F12로 콘솔을 열고 "CORS header missing"과 관련된 오류가 출력되는지 확인하세요.
    • 해결 방법: Deta 배포를 시도해 보세요.

더 보기

최신 버전은 Twikoo 댓글 플러그인도 지원합니다. 사용해 보세요.

Twikoo

기록과 생각, 프로그래밍 기술을 공유합니다.

다른 댓글 배포 방식은 아래 문서를 참고하세요.

NotionNext에 댓글 플러그인을 추가하는 방법

NotionNext에 Cusdis, Giscus, Gitalk, Utterances를 추가하는 단계별 튜토리얼입니다.

https://source.unsplash.com/random/720x480/?encryption

원문 링크

https://docs.tangly1024.com/article/notionnext-valine