将博客功能添加到 ApostropeCMS 站点 有文章管理,基于日期的过滤,以及多个博客支持. 提供博客作品类型和页面模板以快速启动.
特征
- QQ 博客文章管理 - 完成有出版日期的博客文章的 CRUD 界面
- QQ 基于日期的过滤 - 建造用于档案和导航的年/月/日查询过滤器
- 完全自定义 —— 覆盖模板, 添加字段, 并样式以匹配您的品牌
- QQ 多个博客类型 - 扩展创建不同的博客类别(新闻、更新等)
- * 出版物管制 - 文章只出现在过去公布的日期
安装
要安装模块, 请使用命令行在 Aposrope 项目的根目录中运行此命令 :
npm install @apostrophecms/blog
使用量
配置您的博客模块 app.js 文件 :
import apostrophe from 'apostrophe';
export default apostrophe({
root: import.meta,
shortName: 'my-project',
bundles: [ '@apostrophecms/blog' ],
modules: {
'@apostrophecms/blog': {},
'@apostrophecms/blog-page': {}
}
});
启用页面类型
在您的页面配置中添加博客页面类型 :
// modules/@apostrophecms/page/index.js
export default {
options: {
types: [
{
name: '@apostrophecms/home-page',
label: 'Home'
},
{
name: '@apostrophecms/blog-page',
label: 'Blog'
}
]
}
};
自定义模板
包含的模板index.html, (中文(简体) ), show.html, (中文(简体) ), filters.html表明现有数据的起点。 在您执行您自己的样式和布局的项目中覆盖它们 :
modules/
├── @apostrophecms/
│ └── blog-page/
│ └── views/
│ ├── index.html # Blog listing page
│ ├── show.html # Individual blog post
│ └── filters.html # Date filtering controls
基于日期的过滤
博客包括内置查询过滤器
| 过滤器 | 格式 | 实例 URL |
|---|---|---|
year | YYYY | /blog?year=2024 |
month | YYYY-MM | /blog?month=2024-03 |
day | YYYY-MM-DD | /blog?day=2024-03-15 |
出版物管制
博客文章使用 publishedAt 字段来控制能见度。 公共网站上只刊登过去有出版日期的文章。 编辑器可以在管理界面中看到所有的文章.
说明: 这不会在出版日期自动公布修改草案. 关于预定出版内容草案,请考虑 @ apostrophycms/ 预定出版 模块.
多个博客类型
有时一个网站需要多种,独特的博客文章. 如果可以一起管理博客类型 添加新字段 财务报告和审定财务报表 查询构建器 以自定义博客视图。 但是如果博客的帖子类型应该完全分开管理,那么也许最好为每个版本创建单独的片子类型.
创建自定义博客类型
// modules/news-blog/index.js - for news articles
export default {
extend: '@apostrophecms/blog',
options: {
label: 'News Article',
pluralLabel: 'News Articles'
},
fields: {
add: {
priority: {
type: 'select',
choices: [
{ label: 'Standard', value: 'standard' },
{ label: 'Breaking', value: 'breaking' },
{ label: 'Featured', value: 'featured' }
]
},
source: {
type: 'string',
label: 'News Source',
help: 'Original source of this news item'
}
},
group: {
basics: { fields: ['priority', 'source'] }
}
}
};
每个博客类型都需要相应的页面类型来扩展 @apostrophecms/blog-page数字 :
// modules/news-blog-page/index.js - page type for news articles
export default {
extend: '@apostrophecms/blog-page'
};
自定义博客类型模板
每个博客类型都可以有自己的模板. 在相应的页面模块中创建它们 :
modules/
├── news-blog-page/
│ └── views/
│ ├── index.html # News listing page
│ ├── show.html # Individual news article
│ └── filters.html # Custom filters for news
└── @apostrophecms/
└── blog-page/
└── views/
├── index.html # Default blog listing
└── show.html # Default blog post
这样你就可以:
- 风格与正常博客文章不同
- 添加针对新闻内容的自定义过滤选项
- 为每个博客类型显示不同的字段或布局
- 创建独特的导航和用户体验
当博客类型不同时
- 内容结构 - 新闻报道与技术辅导与公司公告
- 编辑工作流程 - 管理不同内容类型的不同团队
- 显示要求 - 独特的造型、过滤或组织需要
- URL 模式 - 说吧
/blog/, (中文(简体) ),/news/, (中文(简体) ),/updates/具有独特的导航功能
实地参考
博客作品类型默认包括这些字段:
- 标题 (单位:千美元)
title- 文章标题 - 粘贴 (单位:千美元)
slug- 方便URL标识符 - 发布日期 (单位:千美元)
publishedAt- 控制公众可见度 - 内容 (单位:千美元)
body) - 丰富文本内容区域 - 元描述 (单位:千美元)
metaDescription- SEO描述 - 标记 (单位:千美元)
tags- 分类分类
由ApostropeCMS团队所建.
发现这个有用吗? 给我们一颗巨星 ⭐