Simple Comment是適用於任何網站的評論平台。免費、靈活、開源、私有且可擴展。
請參閱示範:https://simple-comment.netlify.app
注意:審核工具尚不充分。當用戶發表評論時,沒有任何通知,也沒有任何方式在批准之前對其進行審核。如果您喜歡這個項目並希望看到它在特定的時間表上進一步發展,請與我聯繫。否則,這個計畫還在路上,只是走在慢路上。
最低限度的功能已啟動並正在運行!
Access-Control-Allow-Origin
響應.env
變量Referer
header 和topicId
必須正確映射Origin
必須位於Access-Control-Allow-Origin
清單中簡單評論可以在與您的網站相同的伺服器上運行,也可以在單獨的跨網域伺服器上運行
簡單評論必須透過https 提供:
請遵循這些說明。如果有任何不清楚的地方,請建立一個新問題
example.env
複製到相同的專案根目錄並將其重新命名為.env
.env
中,輸入您自己的(組成或隨機產生的)這些條目的秘密值(即替換每行=
右側的所有內容)。.env
中加入適當的DB_CONNECION_STRING
Environmental Variables
下點選Edit Variables
按鈕.env
中的每個條目新增所有變數的鍵和對應的值IS_CROSS_SITE
,如果評論系統託管在其自己的網域中,則會新增值true
;如果是同一網域,則會新增值false
。<script src="[path-to]/simple-comment.js" defer></script>
( src
必須指向simple-comment.js
檔案)<div id="simple-comment-display"></div>
simple-comment.js
檔案上傳到網站的腳本資料夾Refused to connect to 'api/auth' because it violates the following Content Security Policy directive: connect-src 'self'
https://<your-comment-app>.netlify.app
加入connect-src
旁邊的內容安全策略標頭(qv https://developer.mozilla.org/en-US/docs/Web/HTTP/ Headers /內容安全策略/connect-src)Access to fetch at 'https://<your-comment-app>.netlify.app/.netlify/functions/' from origin '<your-website>' has been blocked by CORS policy...
<your-website>
新增至.env
中的ALLOW_ORIGIN
鍵並作為 Netlify 環境變量login.html
頁面並.env
檔案中的SIMPLE_COMMENT_MODERATOR_ID
和SIMPLE_COMMENT_MODERATOR_PASSWORD
值登入預設堆疊使用 Netlify + MongoDB作為後端,並使用基於最小fetch
的客戶端作為前端,但只要測試通過且 API 符合 Open API 3 架構文件,它就可以輕鬆適應使用任何技術堆疊
您可以按照以下說明獲取自己的免費雲端 MongoDB
假設有一個類別 UNIX 環境,例如 Ubuntu。
nvm install
npm install -g yarn
yarn install
yarn run build
yarn run test
yarn run test:e2e
sudo systemctl start mongod
(qv Linux)yarn run start
API 規格由 Open API 3 格式的 simple-comment-openapi3.json 檔案描述,旨在與任何後端、前端和識別系統互換
這是簡單評論 API端點的概述
/comment
comment
是用戶為回覆其他comment
或topic
而發布的文本,呈現這些回應是該項目存在的唯一原因!
評論端點用於建立、讀取、更新和刪除(CRUD)單一評論。所有評論都必須有一個父級,即它回應的內容,無論是topic
還是comment
/topic
主題是一種特殊的評論,預設只能由管理員使用者創建,並形成一個用於回覆評論的組織儲存桶。它是一種根註釋,因此沒有父級
/topic 端點處理這些根註解的 CRUD。 /topic
的 GET 操作將獲取主題列表,而/topic/{topicId}
上的 GET 操作將獲取回應該主題及其後代的所有評論
/user
預設情況下,評論可以由匿名用戶發布,但根據政策,簡單評論確實有一個最小的識別方案,以便選擇這樣做的評論者可以在發布後控制自己的評論
/auth
Auth 是身分驗證和識別方案的端點。使用者將其使用者名稱和密碼提交到身份驗證端點,並接收 JSON Web 令牌 (JWT),該令牌將他們驗證為該使用者以進行其他 CRUD 操作
/verify
返回登入用戶id或401
policy
是一個包含鍵值對的對象,它控制簡單評論的行為方式,例如確定最大評論長度或普通用戶是否可以刪除自己。
{
isGuestAccountAllowed : boolean , // if true, a visitor can post anonymously using a guest account. if false, only authenticated users can comment.
canFirstVisitCreateTopic : boolean , // if a discussion does not exist for a page, shall it be created when visited for the first time, or does admin create all topics?
canGuestCreateUser : boolean , // can a user with guest credentials create (their own) user profile? if 'canPublicCreateUser' is set to 'true' this setting is ignored
canGuestReadDiscussion : boolean , // can a user with guest credentials browse and read discussions? if 'canPublicReadDiscussion' is set to 'true' this setting is ignored
canGuestReadUser : boolean , // can a user with guest credentials view user profiles? if 'canPublicReadUser' is true, this setting is ignored
canPublicCreateUser : boolean , // can a user with no credentials create (their own) user profile?
canPublicReadDiscussion : boolean , // can a user with no credentials browse and read discussions?
canPublicReadUser : boolean , // can an anonymous visitor view any user's profile?
canUserDeleteSelf : boolean , // can a user delete their own profile?
maxCommentLengthChars : number , // Attempting to post a comment longer than this number of characters will be rejected by the API
}
此處未列出簡單註釋的解決方案有 34 個。幾乎所有這些都比 Simple Comment 更成熟,如果您不是專門尋找無伺服器、開源、自架的解決方案,我建議您考慮其中一個。下面列出了它與簡單評論的優缺點。如果列出需要信任,則表示使用該服務需要對公司的信任,因為他們將向您的用戶提供您無法控制且無法輕鬆檢查的閉源代碼;此外,用戶資料將保存在他們控制的伺服器上。此列表基於公共文檔,而不是經驗。如果有任何不正確或遺漏的內容,請告訴我。