归档 artalk-cf 评论后端 + rss-robot 到 blog-admin(含技术选型/模块分布 README)
Deploy to Production / pre-check (push) Successful in 58s
Deploy to Production / build (push) Successful in 4m3s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 26s
Deploy to Production / notify-failure (push) Skipped
Deploy to Production / pre-check (push) Successful in 58s
Deploy to Production / build (push) Successful in 4m3s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 26s
Deploy to Production / notify-failure (push) Skipped
This commit is contained in:
1 parent
855a001046
commit
a74b3c7127
98 files changed
+15657
No files matched your search
@@ -0,0 +1,57 @@
|
||||
// 渲染两封示例邮件 HTML 到 .mail-preview/,供浏览器预览(不发送)
|
||||
// 用法(在仓库根目录):
|
||||
// npx tsc tools/preview-mail.ts src/lib/mail.ts --outDir .mail-build --module commonjs --target es2022 --moduleResolution node --skipLibCheck --esModuleInterop --noEmit false
|
||||
// node .mail-build/tools/preview-mail.js
|
||||
import * as path from 'path';
|
||||
const { replyMailHtml, adminMailHtml, replyMailSubject, adminMailSubject } = require('../src/lib/mail');
|
||||
|
||||
const now = Date.now();
|
||||
const parent = {
|
||||
id: 15630,
|
||||
content: '终于恢复更新了啊 确实有点无聊了,做些损人不利己的事 :prophet:',
|
||||
created_at: now - 3600_000,
|
||||
page_key: '/comment.html',
|
||||
};
|
||||
const reply = {
|
||||
id: 15631,
|
||||
content: '恢复了,今天有空,把服务全部迁移到 cloudflare 上了,GitHub 仓库只做文件备份了 😄[doge]',
|
||||
created_at: now,
|
||||
page_key: '/comment.html',
|
||||
};
|
||||
const newMsg = {
|
||||
id: 15632,
|
||||
content: '测试留言:这个聊天气泡样式的邮件通知看起来真不错!',
|
||||
created_at: now,
|
||||
page_key: '/comment.html',
|
||||
};
|
||||
|
||||
const site = { siteName: '优世界', siteUrl: 'https://usj.cc', pageTitle: '留言', pageUrl: 'https://usj.cc/comment.html' };
|
||||
|
||||
const replyHtml = replyMailHtml({
|
||||
...site,
|
||||
parentComment: parent,
|
||||
parentNick: '扳布',
|
||||
parentEmail: 'banbu@example.com',
|
||||
comment: reply,
|
||||
commenterNick: '小赵',
|
||||
commenterEmail: 'imql@qq.com',
|
||||
toNick: '扳布',
|
||||
});
|
||||
const adminHtml = adminMailHtml({
|
||||
...site,
|
||||
comment: newMsg,
|
||||
commenterNick: '测试访客',
|
||||
commenterEmail: 'guest@example.com',
|
||||
adminNick: '小赵',
|
||||
});
|
||||
|
||||
const fs = require('fs');
|
||||
fs.mkdirSync(__dirname + '/.mail-preview', { recursive: true });
|
||||
fs.writeFileSync(__dirname + '/.mail-preview/reply.html', replyHtml);
|
||||
fs.writeFileSync(__dirname + '/.mail-preview/notice.html', adminHtml);
|
||||
console.log('SUBJECT reply :', replyMailSubject({
|
||||
...site, parentComment: parent, parentNick: 'a', parentEmail: 'a@a.com',
|
||||
comment: reply, commenterNick: '小赵', commenterEmail: 'b@b.com', toNick: '扳布',
|
||||
}));
|
||||
console.log('SUBJECT notice:', adminMailSubject({ ...site, comment: newMsg, commenterNick: 'c', commenterEmail: 'c@c.com', adminNick: 'x' }));
|
||||
console.log('OK');
|
||||
Reference in new issue
Block a user