Skip to content

Commit ef24a6d

Browse files
committed
文章自动上下架功能调试
1 parent d708ea3 commit ef24a6d

File tree

4 files changed

+42
-33
lines changed

4 files changed

+42
-33
lines changed

blog.config.js

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ const BLOG = {
2828
// 原配置文件过长,且并非所有人都会用到,故此将配置拆分到/conf/目录下, 按需找到对应文件并修改即可
2929
...require('./conf/comment.config'), // 评论插件
3030
...require('./conf/contact.config'), // 作者联系方式配置
31-
...require('./conf/image.config'), // 网站图片相关配置
31+
...require('./conf/post.config'), // 文章与列表配置
3232
...require('./conf/analytics.config'), // 站点访问统计
33+
...require('./conf/image.config'), // 网站图片相关配置
3334
...require('./conf/font.config'), // 网站字体
3435
...require('./conf/right-click-menu'), // 自定义右键菜单相关配置
3536
...require('./conf/code.config'), // 网站代码块样式
@@ -59,37 +60,6 @@ const BLOG = {
5960
// 文章列表相关设置
6061
CAN_COPY: process.env.NEXT_PUBLIC_CAN_COPY || true, // 是否允许复制页面内容 默认允许,如果设置为false、则全栈禁止复制内容。
6162

62-
// 文章URL前缀
63-
POST_URL_PREFIX: process.env.NEXT_PUBLIC_POST_URL_PREFIX ?? 'article',
64-
// POST类型文章的默认路径前缀,例如默认POST类型的路径是 /article/[slug]
65-
// 如果此项配置为 '' 空, 则文章将没有前缀路径
66-
// 支援類似 WP 可自訂文章連結格式的功能:https://wordpress.org/documentation/article/customize-permalinks/,目前只先實作 %year%/%month%/%day%
67-
// 例:如想連結改成前綴 article + 時間戳記,可變更為: 'article/%year%/%month%/%day%'
68-
69-
// 分享条
70-
POST_SHARE_BAR_ENABLE: process.env.NEXT_PUBLIC_POST_SHARE_BAR || 'true', //文章底部分享条开关
71-
POSTS_SHARE_SERVICES:
72-
process.env.NEXT_PUBLIC_POST_SHARE_SERVICES ||
73-
'link,wechat,qq,weibo,email,facebook,twitter,telegram,messenger,line,reddit,whatsapp,linkedin', // 分享的服務,按顺序显示,逗号隔开
74-
// 所有支持的分享服务:link(复制链接),wechat(微信),qq,weibo(微博),email(邮件),facebook,twitter,telegram,messenger,line,reddit,whatsapp,linkedin,vkshare,okshare,tumblr,livejournal,mailru,viber,workplace,pocket,instapaper,hatena
75-
76-
POST_TITLE_ICON: process.env.NEXT_PUBLIC_POST_TITLE_ICON || true, // 是否显示标题icon
77-
POST_DISABLE_GALLERY_CLICK:
78-
process.env.NEXT_PUBLIC_POST_DISABLE_GALLERY_CLICK || false, // 画册视图禁止点击,方便在友链页面的画册插入链接
79-
POST_LIST_STYLE: process.env.NEXT_PUBLIC_POST_LIST_STYLE || 'page', // ['page','scroll] 文章列表样式:页码分页、单页滚动加载
80-
POST_LIST_PREVIEW: process.env.NEXT_PUBLIC_POST_PREVIEW || 'false', // 是否在列表加载文章预览
81-
POST_PREVIEW_LINES: process.env.NEXT_PUBLIC_POST_POST_PREVIEW_LINES || 12, // 预览博客行数
82-
POST_RECOMMEND_COUNT: process.env.NEXT_PUBLIC_POST_RECOMMEND_COUNT || 6, // 推荐文章数量
83-
POSTS_PER_PAGE: process.env.NEXT_PUBLIC_POST_PER_PAGE || 12, // post counts per page
84-
POSTS_SORT_BY: process.env.NEXT_PUBLIC_POST_SORT_BY || 'notion', // 排序方式 'date'按时间,'notion'由notion控制
85-
POST_WAITING_TIME_FOR_404:
86-
process.env.NEXT_PUBLIC_POST_WAITING_TIME_FOR_404 || '8', // 文章加载超时时间,单位秒;超时后跳转到404页面
87-
88-
// 标签相关
89-
TAG_SORT_BY_COUNT: true, // 标签是否按照文章数量倒序排列,文章多的标签排在前。
90-
IS_TAG_COLOR_DISTINGUISHED:
91-
process.env.NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED === 'true' || true, // 对于名称相同的tag是否区分tag的颜色
92-
9363
// 侧栏布局 是否反转(左变右,右变左) 已支持主题: hexo next medium fukasawa example
9464
LAYOUT_SIDEBAR_REVERSE:
9565
process.env.NEXT_PUBLIC_LAYOUT_SIDEBAR_REVERSE || false,

conf/post.config.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* 文章相关功能
3+
*/
4+
module.exports = {
5+
// 文章URL前缀
6+
POST_URL_PREFIX: process.env.NEXT_PUBLIC_POST_URL_PREFIX ?? 'article',
7+
// POST类型文章的默认路径前缀,例如默认POST类型的路径是 /article/[slug]
8+
// 如果此项配置为 '' 空, 则文章将没有前缀路径
9+
// 支援類似 WP 可自訂文章連結格式的功能:https://wordpress.org/documentation/article/customize-permalinks/,目前只先實作 %year%/%month%/%day%
10+
// 例:如想連結改成前綴 article + 時間戳記,可變更為: 'article/%year%/%month%/%day%'
11+
12+
POST_SCHEDULE_PUBLISH:
13+
process.env.NEXT_PUBLIC_NOTION_SCHEDULE_PUBLISH || true, // 按照文章的发布时间字段,控制自动上下架
14+
15+
// 分享条
16+
POST_SHARE_BAR_ENABLE: process.env.NEXT_PUBLIC_POST_SHARE_BAR || 'true', //文章底部分享条开关
17+
POSTS_SHARE_SERVICES:
18+
process.env.NEXT_PUBLIC_POST_SHARE_SERVICES ||
19+
'link,wechat,qq,weibo,email,facebook,twitter,telegram,messenger,line,reddit,whatsapp,linkedin', // 分享的服務,按顺序显示,逗号隔开
20+
// 所有支持的分享服务:link(复制链接),wechat(微信),qq,weibo(微博),email(邮件),facebook,twitter,telegram,messenger,line,reddit,whatsapp,linkedin,vkshare,okshare,tumblr,livejournal,mailru,viber,workplace,pocket,instapaper,hatena
21+
22+
POST_TITLE_ICON: process.env.NEXT_PUBLIC_POST_TITLE_ICON || true, // 是否显示标题icon
23+
POST_DISABLE_GALLERY_CLICK:
24+
process.env.NEXT_PUBLIC_POST_DISABLE_GALLERY_CLICK || false, // 画册视图禁止点击,方便在友链页面的画册插入链接
25+
POST_LIST_STYLE: process.env.NEXT_PUBLIC_POST_LIST_STYLE || 'page', // ['page','scroll] 文章列表样式:页码分页、单页滚动加载
26+
POST_LIST_PREVIEW: process.env.NEXT_PUBLIC_POST_PREVIEW || 'false', // 是否在列表加载文章预览
27+
POST_PREVIEW_LINES: process.env.NEXT_PUBLIC_POST_POST_PREVIEW_LINES || 12, // 预览博客行数
28+
POST_RECOMMEND_COUNT: process.env.NEXT_PUBLIC_POST_RECOMMEND_COUNT || 6, // 推荐文章数量
29+
POSTS_PER_PAGE: process.env.NEXT_PUBLIC_POST_PER_PAGE || 12, // post counts per page
30+
POSTS_SORT_BY: process.env.NEXT_PUBLIC_POST_SORT_BY || 'notion', // 排序方式 'date'按时间,'notion'由notion控制
31+
POST_WAITING_TIME_FOR_404:
32+
process.env.NEXT_PUBLIC_POST_WAITING_TIME_FOR_404 || '8', // 文章加载超时时间,单位秒;超时后跳转到404页面
33+
34+
// 标签相关
35+
TAG_SORT_BY_COUNT: true, // 标签是否按照文章数量倒序排列,文章多的标签排在前。
36+
IS_TAG_COLOR_DISTINGUISHED:
37+
process.env.NEXT_PUBLIC_IS_TAG_COLOR_DISTINGUISHED === 'true' || true // 对于名称相同的tag是否区分tag的颜色
38+
}

lib/config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ export const siteConfig = (key, defaultVal = null, extendConfig = {}) => {
3434
case 'POST_LIST_STYLE':
3535
case 'POST_LIST_PREVIEW':
3636
case 'POST_URL_PREFIX_MAPPING_CATEGORY':
37+
case 'POST_SCHEDULE_PUBLISH':
3738
case 'IS_TAG_COLOR_DISTINGUISHED':
3839
case 'TAG_SORT_BY_COUNT':
3940
case 'THEME':

lib/db/getSiteData.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ async function converNotionToSiteDate(pageId, from, pageRecordMap) {
236236

237237
// 新特性,判断文章的发布和下架时间,如果不在有效期内则进行下架处理
238238
const publish = isInRange(post.date)
239-
if (!publish) {
239+
if (!publish && siteConfig('POST_SCHEDULE_PUBLISH', '', NOTION_CONFIG)) {
240240
console.log(post.title, '未处于发布时段 [', post.date, '] 内,将强制隐藏')
241241
// 隐藏
242242
post.status = 'Invisible'

0 commit comments

Comments
 (0)