mirror of https://github.com/halo-dev/halo
🎨 细节优化
parent
1e648ddc45
commit
a3934657ad
|
@ -45,11 +45,13 @@ public class FrontOthersController {
|
||||||
* 获取文章rss
|
* 获取文章rss
|
||||||
*
|
*
|
||||||
* @param model model
|
* @param model model
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
|
*
|
||||||
* @throws IOException IOException
|
* @throws IOException IOException
|
||||||
* @throws TemplateException TemplateException
|
* @throws TemplateException TemplateException
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = {"feed", "feed.xml", "atom", "atom.xml"}, produces = "application/xml;charset=UTF-8")
|
@GetMapping(value = {"feed", "feed.xml", "rss", "rss.xml"}, produces = "application/xml;charset=UTF-8")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String feed(Model model) throws IOException, TemplateException {
|
public String feed(Model model) throws IOException, TemplateException {
|
||||||
String rssPosts = OPTIONS.get(BlogPropertiesEnum.RSS_POSTS.getProp());
|
String rssPosts = OPTIONS.get(BlogPropertiesEnum.RSS_POSTS.getProp());
|
||||||
|
@ -71,11 +73,45 @@ public class FrontOthersController {
|
||||||
return FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
|
return FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取 atom.xml
|
||||||
|
*
|
||||||
|
* @param model model
|
||||||
|
*
|
||||||
|
* @return String
|
||||||
|
*
|
||||||
|
* @throws IOException IOException
|
||||||
|
* @throws TemplateException TemplateException
|
||||||
|
*/
|
||||||
|
@GetMapping(value = {"atom", "atom.xml"}, produces = "application/xml;charset=UTF-8")
|
||||||
|
@ResponseBody
|
||||||
|
public String atom(Model model) throws IOException, TemplateException {
|
||||||
|
String rssPosts = OPTIONS.get(BlogPropertiesEnum.RSS_POSTS.getProp());
|
||||||
|
if (StrUtil.isBlank(rssPosts)) {
|
||||||
|
rssPosts = "20";
|
||||||
|
}
|
||||||
|
final Sort sort = new Sort(Sort.Direction.DESC, "postDate");
|
||||||
|
final Pageable pageable = PageRequest.of(0, Integer.parseInt(rssPosts), sort);
|
||||||
|
final Page<Post> postsPage = postService.findPostByStatus(0, PostTypeEnum.POST_TYPE_POST.getDesc(), pageable).map(post -> {
|
||||||
|
if (StrUtil.isNotEmpty(post.getPostPassword())) {
|
||||||
|
post.setPostContent("该文章为加密文章");
|
||||||
|
post.setPostSummary("该文章为加密文章");
|
||||||
|
}
|
||||||
|
return post;
|
||||||
|
});
|
||||||
|
final List<Post> posts = postsPage.getContent();
|
||||||
|
model.addAttribute("posts", posts);
|
||||||
|
final Template template = freeMarker.getConfiguration().getTemplate("common/web/atom.ftl");
|
||||||
|
return FreeMarkerTemplateUtils.processTemplateIntoString(template, model);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取 XML 格式的站点地图
|
* 获取 XML 格式的站点地图
|
||||||
*
|
*
|
||||||
* @param model model
|
* @param model model
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
|
*
|
||||||
* @throws IOException IOException
|
* @throws IOException IOException
|
||||||
* @throws TemplateException TemplateException
|
* @throws TemplateException TemplateException
|
||||||
*/
|
*/
|
||||||
|
@ -99,6 +135,7 @@ public class FrontOthersController {
|
||||||
* 获取 HTML 格式的站点地图
|
* 获取 HTML 格式的站点地图
|
||||||
*
|
*
|
||||||
* @param model model
|
* @param model model
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "sitemap.html", produces = {"text/html"})
|
@GetMapping(value = "sitemap.html", produces = {"text/html"})
|
||||||
|
@ -119,7 +156,9 @@ public class FrontOthersController {
|
||||||
* robots
|
* robots
|
||||||
*
|
*
|
||||||
* @param model model
|
* @param model model
|
||||||
|
*
|
||||||
* @return String
|
* @return String
|
||||||
|
*
|
||||||
* @throws IOException IOException
|
* @throws IOException IOException
|
||||||
* @throws TemplateException TemplateException
|
* @throws TemplateException TemplateException
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -46,6 +46,7 @@ admin.menu.profile = 个人资料
|
||||||
admin.menu.settings = 设置
|
admin.menu.settings = 设置
|
||||||
admin.menu.blog-settings = 博客设置
|
admin.menu.blog-settings = 博客设置
|
||||||
admin.menu.blog-backup = 博客备份
|
admin.menu.blog-backup = 博客备份
|
||||||
|
admin.menu.tools = 小工具
|
||||||
|
|
||||||
# header模块
|
# header模块
|
||||||
admin.module.header.a.title.turn-to-front = 跳转到前台
|
admin.module.header.a.title.turn-to-front = 跳转到前台
|
||||||
|
@ -95,6 +96,16 @@ admin.logs.th.log-action = 触发事件
|
||||||
admin.logs.th.log-result = 产生结果
|
admin.logs.th.log-result = 产生结果
|
||||||
admin.logs.th.log-datetime = 产生时间
|
admin.logs.th.log-datetime = 产生时间
|
||||||
|
|
||||||
|
# tools
|
||||||
|
admin.tools.title = 小工具
|
||||||
|
admin.tools.btn.import = 导入
|
||||||
|
admin.tools.markdown.name = Markdown 导入
|
||||||
|
admin.tools.markdown.full.name = Markdown 文档导入
|
||||||
|
admin.tools.markdown.desc = 支持 Hexo/Jekyll 导入并解析元数据
|
||||||
|
admin.tools.wordpress.name = WordPress 导入
|
||||||
|
admin.tools.wordpress.full.name = WordPress 数据导入
|
||||||
|
admin.tools.wordpress.desc = 尽情期待
|
||||||
|
|
||||||
# 附件管理页面
|
# 附件管理页面
|
||||||
admin.attachments.title = 附件管理
|
admin.attachments.title = 附件管理
|
||||||
admin.attachments.btn.upload = 上传
|
admin.attachments.btn.upload = 上传
|
||||||
|
@ -131,11 +142,11 @@ admin.categories.bread.posts = 文章管理
|
||||||
admin.categories.text.all-categories = 所有分类目录
|
admin.categories.text.all-categories = 所有分类目录
|
||||||
admin.categories.text.edit-category = 修改分类目录
|
admin.categories.text.edit-category = 修改分类目录
|
||||||
admin.categories.text.add-category = 添加分类目录
|
admin.categories.text.add-category = 添加分类目录
|
||||||
admin.categories.form.cate-name = 名称
|
admin.categories.form.cate-name = 名称:
|
||||||
admin.categories.form.cate-name-tips = *页面上所显示的名称
|
admin.categories.form.cate-name-tips = *页面上所显示的名称
|
||||||
admin.categories.form.cate-url = 路径名称
|
admin.categories.form.cate-url = 路径名称:
|
||||||
admin.categories.form.cate-url-tips = *这是文章路径上显示的名称,最好为英文
|
admin.categories.form.cate-url-tips = *这是文章路径上显示的名称,最好为英文
|
||||||
admin.categories.form.cate-desc = 描述
|
admin.categories.form.cate-desc = 描述:
|
||||||
admin.categories.form.cate-desc-tips = *添加描述,部分主题可显示
|
admin.categories.form.cate-desc-tips = *添加描述,部分主题可显示
|
||||||
|
|
||||||
# 评论管理页面
|
# 评论管理页面
|
||||||
|
@ -146,14 +157,14 @@ admin.menus.title = 菜单管理
|
||||||
admin.menus.text.update-menu = 修改菜单
|
admin.menus.text.update-menu = 修改菜单
|
||||||
admin.menus.text.all-menus = 所有菜单
|
admin.menus.text.all-menus = 所有菜单
|
||||||
admin.menus.text.add-menu = 添加菜单
|
admin.menus.text.add-menu = 添加菜单
|
||||||
admin.menus.form.menu-name = 名称
|
admin.menus.form.menu-name = 名称:
|
||||||
admin.menus.form.menu-name-tips = *页面上所显示的名称
|
admin.menus.form.menu-name-tips = *页面上所显示的名称
|
||||||
admin.menus.form.menu-url = 路径
|
admin.menus.form.menu-url = 路径:
|
||||||
admin.menus.form.menu-url-tips = *菜单的路径
|
admin.menus.form.menu-url-tips = *菜单的路径
|
||||||
admin.menus.form.menu-sort = 排序编号
|
admin.menus.form.menu-sort = 排序编号:
|
||||||
admin.menus.form.menu-icon = 图标
|
admin.menus.form.menu-icon = 图标:
|
||||||
admin.menus.form.menu-icon-tips = *请根据主题的支持选填
|
admin.menus.form.menu-icon-tips = *请根据主题的支持选填
|
||||||
admin.menus.form.menu-target = 打开方式
|
admin.menus.form.menu-target = 打开方式:
|
||||||
admin.menus.form.menu-target-self = 当前窗口
|
admin.menus.form.menu-target-self = 当前窗口
|
||||||
admin.menus.form.menu-target-blank = 新窗口
|
admin.menus.form.menu-target-blank = 新窗口
|
||||||
|
|
||||||
|
@ -321,9 +332,9 @@ admin.tags.title = 标签
|
||||||
admin.tags.text.edit-tag = 修改标签
|
admin.tags.text.edit-tag = 修改标签
|
||||||
admin.tags.text.add-tag = 添加标签
|
admin.tags.text.add-tag = 添加标签
|
||||||
admin.tags.text.all-tags = 所有标签
|
admin.tags.text.all-tags = 所有标签
|
||||||
admin.tags.form.tag-name = 名称
|
admin.tags.form.tag-name = 名称:
|
||||||
admin.tags.form.tag-name-tips = *页面上所显示的名称
|
admin.tags.form.tag-name-tips = *页面上所显示的名称
|
||||||
admin.tags.form.tag-url = 路径名称
|
admin.tags.form.tag-url = 路径名称:
|
||||||
admin.tags.form.tag-url-tips = *这是文章路径上显示的名称,最好为英文
|
admin.tags.form.tag-url-tips = *这是文章路径上显示的名称,最好为英文
|
||||||
|
|
||||||
# 主题管理页面
|
# 主题管理页面
|
||||||
|
@ -374,6 +385,7 @@ common.btn.define-add = 确定添加
|
||||||
common.btn.editing = 正在修改
|
common.btn.editing = 正在修改
|
||||||
common.btn.modify = 修改
|
common.btn.modify = 修改
|
||||||
common.btn.choose = 选择
|
common.btn.choose = 选择
|
||||||
|
common.btn.remove = 移除
|
||||||
common.radio.display = 显示
|
common.radio.display = 显示
|
||||||
common.radio.hide = 隐藏
|
common.radio.hide = 隐藏
|
||||||
common.radio.enable = 启用
|
common.radio.enable = 启用
|
||||||
|
@ -446,6 +458,11 @@ admin.editor.js.no-title = 标题不能为空!
|
||||||
admin.editor.text.category = 分类目录
|
admin.editor.text.category = 分类目录
|
||||||
admin.editor.text.tag = 标签
|
admin.editor.text.tag = 标签
|
||||||
admin.editor.select.tag.default = 选择添加
|
admin.editor.select.tag.default = 选择添加
|
||||||
|
admin.editor.post.password = 文章密码:
|
||||||
|
admin.editor.post.date = 发布时间:
|
||||||
|
admin.editor.page.custom.tpl = 自定义模板:
|
||||||
|
admin.editor.page.choose.tpl = 选择模板
|
||||||
|
admin.editor.page.no.tpl = 无自定义模板
|
||||||
|
|
||||||
# Java代码
|
# Java代码
|
||||||
code.admin.login.success = 登录成功!
|
code.admin.login.success = 登录成功!
|
||||||
|
|
|
@ -46,6 +46,7 @@ admin.menu.profile = Your Profile
|
||||||
admin.menu.settings = Settings
|
admin.menu.settings = Settings
|
||||||
admin.menu.blog-settings = Blog Settings
|
admin.menu.blog-settings = Blog Settings
|
||||||
admin.menu.blog-backup = Blog Backup
|
admin.menu.blog-backup = Blog Backup
|
||||||
|
admin.menu.tools = Tools
|
||||||
|
|
||||||
# header module
|
# header module
|
||||||
admin.module.header.a.title.turn-to-front = Turn to front
|
admin.module.header.a.title.turn-to-front = Turn to front
|
||||||
|
@ -95,6 +96,16 @@ admin.logs.th.log-action = trigger event
|
||||||
admin.logs.th.log-result = produces result
|
admin.logs.th.log-result = produces result
|
||||||
admin.logs.th.log-datetime = Time of production
|
admin.logs.th.log-datetime = Time of production
|
||||||
|
|
||||||
|
# tools
|
||||||
|
admin.tools.title = Tools
|
||||||
|
admin.tools.btn.import = Import
|
||||||
|
admin.tools.markdown.name = Markdown import
|
||||||
|
admin.tools.markdown.full.name = Markdown document import
|
||||||
|
admin.tools.markdown.desc = Support Hexo/Jekyll import and analysis meta data
|
||||||
|
admin.tools.wordpress.name = WordPress import
|
||||||
|
admin.tools.wordpress.full.name = WordPress data import
|
||||||
|
admin.tools.wordpress.desc = Look forward to
|
||||||
|
|
||||||
# attachments page
|
# attachments page
|
||||||
admin.attachments.title = Attachments manage
|
admin.attachments.title = Attachments manage
|
||||||
admin.attachments.btn.upload = Upload
|
admin.attachments.btn.upload = Upload
|
||||||
|
@ -131,11 +142,11 @@ admin.categories.bread.posts = Posts management
|
||||||
admin.categories.text.all-categories = All categories
|
admin.categories.text.all-categories = All categories
|
||||||
admin.categories.text.edit-category = Edit category
|
admin.categories.text.edit-category = Edit category
|
||||||
admin.categories.text.add-category = Add category
|
admin.categories.text.add-category = Add category
|
||||||
admin.categories.form.cate-name = Category name
|
admin.categories.form.cate-name = Category name:
|
||||||
admin.categories.form.cate-name-tips = *The name displayed on the page.
|
admin.categories.form.cate-name-tips = *The name displayed on the page.
|
||||||
admin.categories.form.cate-url = Category url
|
admin.categories.form.cate-url = Category url:
|
||||||
admin.categories.form.cate-url-tips = *This is the name displayed on the article path,preferably in English.
|
admin.categories.form.cate-url-tips = *This is the name displayed on the article path,preferably in English.
|
||||||
admin.categories.form.cate-desc = Category description
|
admin.categories.form.cate-desc = Category description:
|
||||||
admin.categories.form.cate-desc-tips = *Description of the classification,some topics can be displayed.
|
admin.categories.form.cate-desc-tips = *Description of the classification,some topics can be displayed.
|
||||||
|
|
||||||
# comments page
|
# comments page
|
||||||
|
@ -146,14 +157,14 @@ admin.menus.title = Menus manage
|
||||||
admin.menus.text.update-menu = Edit menu
|
admin.menus.text.update-menu = Edit menu
|
||||||
admin.menus.text.all-menus = All menus
|
admin.menus.text.all-menus = All menus
|
||||||
admin.menus.text.add-menu = Add menu
|
admin.menus.text.add-menu = Add menu
|
||||||
admin.menus.form.menu-name = Menu name
|
admin.menus.form.menu-name = Menu name:
|
||||||
admin.menus.form.menu-name-tips = *The name displayed on the page
|
admin.menus.form.menu-name-tips = *The name displayed on the page
|
||||||
admin.menus.form.menu-url = Menu url
|
admin.menus.form.menu-url = Menu url:
|
||||||
admin.menus.form.menu-url-tips = *Path to the menu
|
admin.menus.form.menu-url-tips = *Path to the menu
|
||||||
admin.menus.form.menu-sort = Sort number
|
admin.menus.form.menu-sort = Sort number:
|
||||||
admin.menus.form.menu-icon = Menu icon
|
admin.menus.form.menu-icon = Menu icon:
|
||||||
admin.menus.form.menu-icon-tips = *Please fill in the support according to the theme
|
admin.menus.form.menu-icon-tips = *Please fill in the support according to the theme
|
||||||
admin.menus.form.menu-target = Open mode
|
admin.menus.form.menu-target = Open mode:
|
||||||
admin.menus.form.menu-target-self = Self
|
admin.menus.form.menu-target-self = Self
|
||||||
admin.menus.form.menu-target-blank = Blank
|
admin.menus.form.menu-target-blank = Blank
|
||||||
|
|
||||||
|
@ -321,9 +332,9 @@ admin.tags.title = Tags
|
||||||
admin.tags.text.edit-tag = Edit tag
|
admin.tags.text.edit-tag = Edit tag
|
||||||
admin.tags.text.add-tag = Add tag
|
admin.tags.text.add-tag = Add tag
|
||||||
admin.tags.text.all-tags = All tags
|
admin.tags.text.all-tags = All tags
|
||||||
admin.tags.form.tag-name = Tag name
|
admin.tags.form.tag-name = Tag name:
|
||||||
admin.tags.form.tag-name-tips = *The name displayed on the page
|
admin.tags.form.tag-name-tips = *The name displayed on the page
|
||||||
admin.tags.form.tag-url = Tag url
|
admin.tags.form.tag-url = Tag url:
|
||||||
admin.tags.form.tag-url-tips = *This is the name displayed on the article path, preferably in English
|
admin.tags.form.tag-url-tips = *This is the name displayed on the article path, preferably in English
|
||||||
|
|
||||||
# themes page
|
# themes page
|
||||||
|
@ -374,6 +385,7 @@ common.btn.define-add = OK
|
||||||
common.btn.editing = Editing
|
common.btn.editing = Editing
|
||||||
common.btn.modify = Modify
|
common.btn.modify = Modify
|
||||||
common.btn.choose = Choose
|
common.btn.choose = Choose
|
||||||
|
common.btn.remove = Remove
|
||||||
common.radio.display = Display
|
common.radio.display = Display
|
||||||
common.radio.hide = Hide
|
common.radio.hide = Hide
|
||||||
common.radio.enable = Enable
|
common.radio.enable = Enable
|
||||||
|
@ -446,6 +458,11 @@ admin.editor.js.no-title = The title can not be blank!
|
||||||
admin.editor.text.category = Categories
|
admin.editor.text.category = Categories
|
||||||
admin.editor.text.tag = Tags
|
admin.editor.text.tag = Tags
|
||||||
admin.editor.select.tag.default = Choose to add
|
admin.editor.select.tag.default = Choose to add
|
||||||
|
admin.editor.post.password = Password:
|
||||||
|
admin.editor.post.date = Publish Date:
|
||||||
|
admin.editor.page.custom.tpl = Custom Template:
|
||||||
|
admin.editor.page.choose.tpl = Choose Template
|
||||||
|
admin.editor.page.no.tpl = No Template
|
||||||
|
|
||||||
# java code
|
# java code
|
||||||
code.admin.login.success = Login successfully!
|
code.admin.login.success = Login successfully!
|
||||||
|
|
|
@ -46,6 +46,7 @@ admin.menu.profile = 个人资料
|
||||||
admin.menu.settings = 设置
|
admin.menu.settings = 设置
|
||||||
admin.menu.blog-settings = 博客设置
|
admin.menu.blog-settings = 博客设置
|
||||||
admin.menu.blog-backup = 博客备份
|
admin.menu.blog-backup = 博客备份
|
||||||
|
admin.menu.tools = 小工具
|
||||||
|
|
||||||
# header模块
|
# header模块
|
||||||
admin.module.header.a.title.turn-to-front = 跳转到前台
|
admin.module.header.a.title.turn-to-front = 跳转到前台
|
||||||
|
@ -95,6 +96,16 @@ admin.logs.th.log-action = 触发事件
|
||||||
admin.logs.th.log-result = 产生结果
|
admin.logs.th.log-result = 产生结果
|
||||||
admin.logs.th.log-datetime = 产生时间
|
admin.logs.th.log-datetime = 产生时间
|
||||||
|
|
||||||
|
# tools
|
||||||
|
admin.tools.title = 小工具
|
||||||
|
admin.tools.btn.import = 导入
|
||||||
|
admin.tools.markdown.name = Markdown 导入
|
||||||
|
admin.tools.markdown.full.name = Markdown 文档导入
|
||||||
|
admin.tools.markdown.desc = 支持 Hexo/Jekyll 导入并解析元数据
|
||||||
|
admin.tools.wordpress.name = WordPress 导入
|
||||||
|
admin.tools.wordpress.full.name = WordPress 数据导入
|
||||||
|
admin.tools.wordpress.desc = 尽情期待
|
||||||
|
|
||||||
# 附件管理页面
|
# 附件管理页面
|
||||||
admin.attachments.title = 附件管理
|
admin.attachments.title = 附件管理
|
||||||
admin.attachments.btn.upload = 上传
|
admin.attachments.btn.upload = 上传
|
||||||
|
@ -131,11 +142,11 @@ admin.categories.bread.posts = 文章管理
|
||||||
admin.categories.text.all-categories = 所有分类目录
|
admin.categories.text.all-categories = 所有分类目录
|
||||||
admin.categories.text.edit-category = 修改分类目录
|
admin.categories.text.edit-category = 修改分类目录
|
||||||
admin.categories.text.add-category = 添加分类目录
|
admin.categories.text.add-category = 添加分类目录
|
||||||
admin.categories.form.cate-name = 名称
|
admin.categories.form.cate-name = 名称:
|
||||||
admin.categories.form.cate-name-tips = *页面上所显示的名称
|
admin.categories.form.cate-name-tips = *页面上所显示的名称
|
||||||
admin.categories.form.cate-url = 路径名称
|
admin.categories.form.cate-url = 路径名称:
|
||||||
admin.categories.form.cate-url-tips = *这是文章路径上显示的名称,最好为英文
|
admin.categories.form.cate-url-tips = *这是文章路径上显示的名称,最好为英文
|
||||||
admin.categories.form.cate-desc = 描述
|
admin.categories.form.cate-desc = 描述:
|
||||||
admin.categories.form.cate-desc-tips = *添加描述,部分主题可显示
|
admin.categories.form.cate-desc-tips = *添加描述,部分主题可显示
|
||||||
|
|
||||||
# 评论管理页面
|
# 评论管理页面
|
||||||
|
@ -146,14 +157,14 @@ admin.menus.title = 菜单管理
|
||||||
admin.menus.text.update-menu = 修改菜单
|
admin.menus.text.update-menu = 修改菜单
|
||||||
admin.menus.text.all-menus = 所有菜单
|
admin.menus.text.all-menus = 所有菜单
|
||||||
admin.menus.text.add-menu = 添加菜单
|
admin.menus.text.add-menu = 添加菜单
|
||||||
admin.menus.form.menu-name = 名称
|
admin.menus.form.menu-name = 名称:
|
||||||
admin.menus.form.menu-name-tips = *页面上所显示的名称
|
admin.menus.form.menu-name-tips = *页面上所显示的名称
|
||||||
admin.menus.form.menu-url = 路径
|
admin.menus.form.menu-url = 路径:
|
||||||
admin.menus.form.menu-url-tips = *菜单的路径
|
admin.menus.form.menu-url-tips = *菜单的路径
|
||||||
admin.menus.form.menu-sort = 排序编号
|
admin.menus.form.menu-sort = 排序编号:
|
||||||
admin.menus.form.menu-icon = 图标
|
admin.menus.form.menu-icon = 图标:
|
||||||
admin.menus.form.menu-icon-tips = *请根据主题的支持选填
|
admin.menus.form.menu-icon-tips = *请根据主题的支持选填
|
||||||
admin.menus.form.menu-target = 打开方式
|
admin.menus.form.menu-target = 打开方式:
|
||||||
admin.menus.form.menu-target-self = 当前窗口
|
admin.menus.form.menu-target-self = 当前窗口
|
||||||
admin.menus.form.menu-target-blank = 新窗口
|
admin.menus.form.menu-target-blank = 新窗口
|
||||||
|
|
||||||
|
@ -321,9 +332,9 @@ admin.tags.title = 标签
|
||||||
admin.tags.text.edit-tag = 修改标签
|
admin.tags.text.edit-tag = 修改标签
|
||||||
admin.tags.text.add-tag = 添加标签
|
admin.tags.text.add-tag = 添加标签
|
||||||
admin.tags.text.all-tags = 所有标签
|
admin.tags.text.all-tags = 所有标签
|
||||||
admin.tags.form.tag-name = 名称
|
admin.tags.form.tag-name = 名称:
|
||||||
admin.tags.form.tag-name-tips = *页面上所显示的名称
|
admin.tags.form.tag-name-tips = *页面上所显示的名称
|
||||||
admin.tags.form.tag-url = 路径名称
|
admin.tags.form.tag-url = 路径名称:
|
||||||
admin.tags.form.tag-url-tips = *这是文章路径上显示的名称,最好为英文
|
admin.tags.form.tag-url-tips = *这是文章路径上显示的名称,最好为英文
|
||||||
|
|
||||||
# 主题管理页面
|
# 主题管理页面
|
||||||
|
@ -374,6 +385,7 @@ common.btn.define-add = 确定添加
|
||||||
common.btn.editing = 正在修改
|
common.btn.editing = 正在修改
|
||||||
common.btn.modify = 修改
|
common.btn.modify = 修改
|
||||||
common.btn.choose = 选择
|
common.btn.choose = 选择
|
||||||
|
common.btn.remove = 移除
|
||||||
common.radio.display = 显示
|
common.radio.display = 显示
|
||||||
common.radio.hide = 隐藏
|
common.radio.hide = 隐藏
|
||||||
common.radio.enable = 启用
|
common.radio.enable = 启用
|
||||||
|
@ -446,6 +458,11 @@ admin.editor.js.no-title = 标题不能为空!
|
||||||
admin.editor.text.category = 分类目录
|
admin.editor.text.category = 分类目录
|
||||||
admin.editor.text.tag = 标签
|
admin.editor.text.tag = 标签
|
||||||
admin.editor.select.tag.default = 选择添加
|
admin.editor.select.tag.default = 选择添加
|
||||||
|
admin.editor.post.password = 文章密码:
|
||||||
|
admin.editor.post.date = 发布时间:
|
||||||
|
admin.editor.page.custom.tpl = 自定义模板:
|
||||||
|
admin.editor.page.choose.tpl = 选择模板
|
||||||
|
admin.editor.page.no.tpl = 无自定义模板
|
||||||
|
|
||||||
# Java代码
|
# Java代码
|
||||||
code.admin.login.success = 登录成功!
|
code.admin.login.success = 登录成功!
|
||||||
|
|
|
@ -78,22 +78,22 @@
|
||||||
</div>
|
</div>
|
||||||
<#if post??>
|
<#if post??>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="postDate" class="control-label">发布时间:</label>
|
<label for="postDate" class="control-label"><@spring.message code='admin.editor.post.date' /></label>
|
||||||
<input type="text" class="form-control" id="postDate" name="postDate" value="${post.postDate!?string('yyyy-MM-dd HH:mm')}">
|
<input type="text" class="form-control" id="postDate" name="postDate" value="${post.postDate!?string('yyyy-MM-dd HH:mm')}">
|
||||||
</div>
|
</div>
|
||||||
<#else>
|
<#else>
|
||||||
<input type="hidden" class="form-control" id="postDate" name="postDate">
|
<input type="hidden" class="form-control" id="postDate" name="postDate">
|
||||||
</#if>
|
</#if>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="customTpl" class="control-label">自定义模板:</label>
|
<label for="customTpl" class="control-label"><@spring.message code='admin.editor.page.custom.tpl' /></label>
|
||||||
<select class="form-control" id="customTpl" name="customTpl">
|
<select class="form-control" id="customTpl" name="customTpl">
|
||||||
<#if customTpls?? && customTpls?size gt 0>
|
<#if customTpls?? && customTpls?size gt 0>
|
||||||
<option value="">选择模板</option>
|
<option value=""><@spring.message code='admin.editor.page.choose.tpl' /></option>
|
||||||
<#list customTpls as tpl>
|
<#list customTpls as tpl>
|
||||||
<option value="${tpl}" <#if post?? && (post.customTpl!) == '${tpl}'>selected</#if>>${tpl}</option>
|
<option value="${tpl}" <#if post?? && (post.customTpl!) == '${tpl}'>selected</#if>>${tpl}</option>
|
||||||
</#list>
|
</#list>
|
||||||
<#else>
|
<#else>
|
||||||
<option value="">无自定义模板</option>
|
<option value=""><@spring.message code='admin.editor.page.no.tpl' /></option>
|
||||||
</#if>
|
</#if>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -120,13 +120,12 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
<div>
|
<div>
|
||||||
<#if post??>
|
<img src="<#if post??>${post.postThumbnail!'/static/halo-frontend/images/thumbnail/thumbnail.png'}<#else>/static/halo-frontend/images/thumbnail/thumbnail.png</#if>" class="img-responsive img-thumbnail" id="selectImg" onclick="halo.layerModal('/admin/attachments/select?id=selectImg','<@spring.message code="common.js.all-attachment" />')" style="cursor: pointer;">
|
||||||
<img src="${post.postThumbnail!'/static/halo-frontend/images/thumbnail/thumbnail.png'}" class="img-responsive img-thumbnail" id="selectImg" onclick="halo.layerModal('/admin/attachments/select?id=selectImg','<@spring.message code="common.js.all-attachment" />')" style="cursor: pointer;">
|
|
||||||
<#else >
|
|
||||||
<img src="/static/halo-frontend/images/thumbnail/thumbnail.png" class="img-responsive img-thumbnail" id="selectImg" onclick="halo.layerModal('/admin/attachments/select?id=selectImg','<@spring.message code="common.js.all-attachment" />')" style="cursor: pointer;">
|
|
||||||
</#if>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="box-footer">
|
||||||
|
<button onclick="removeThumbnail()" class="btn btn-default btn-sm "><@spring.message code='common.btn.remove' /></button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -257,6 +256,10 @@
|
||||||
}
|
}
|
||||||
},'JSON');
|
},'JSON');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeThumbnail(){
|
||||||
|
$("#selectImg").attr("src","/static/halo-frontend/images/thumbnail/thumbnail.png");
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</@footer>
|
</@footer>
|
||||||
</#compress>
|
</#compress>
|
||||||
|
|
|
@ -68,11 +68,11 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="postPassword" class="control-label">文章密码:</label>
|
<label for="postPassword" class="control-label"><@spring.message code='admin.editor.post.password' /></label>
|
||||||
<input type="password" class="form-control" id="postPassword" name="postPassword" value="${post.postPassword!}" autocomplete="off">
|
<input type="password" class="form-control" id="postPassword" name="postPassword" value="${post.postPassword!}" autocomplete="off">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="postDate" class="control-label">发布时间:</label>
|
<label for="postDate" class="control-label"><@spring.message code='admin.editor.post.date' /></label>
|
||||||
<input type="text" class="form-control" id="postDate" name="postDate" value="${post.postDate!?string('yyyy-MM-dd HH:mm')}">
|
<input type="text" class="form-control" id="postDate" name="postDate" value="${post.postDate!?string('yyyy-MM-dd HH:mm')}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -151,7 +151,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-footer">
|
<div class="box-footer">
|
||||||
<button onclick="removeThumbnail()" class="btn btn-default btn-sm ">移除</button>
|
<button onclick="removeThumbnail()" class="btn btn-default btn-sm "><@spring.message code='common.btn.remove' /></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="postPassword" class="control-label">文章密码:</label>
|
<label for="postPassword" class="control-label"><@spring.message code='admin.editor.post.password' /></label>
|
||||||
<input type="password" class="form-control" id="postPassword" name="postPassword" autocomplete="off">
|
<input type="password" class="form-control" id="postPassword" name="postPassword" autocomplete="off">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -145,7 +145,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-footer">
|
<div class="box-footer">
|
||||||
<button onclick="removeThumbnail()" class="btn btn-default btn-sm ">移除</button>
|
<button onclick="removeThumbnail()" class="btn btn-default btn-sm "><@spring.message code='common.btn.remove' /></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,9 +27,6 @@
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
#uploadForm{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.btn-delete:hover{
|
.btn-delete:hover{
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
<#compress >
|
<#compress >
|
||||||
<#include "module/_macro.ftl">
|
<#include "module/_macro.ftl">
|
||||||
<@head>${options.blog_title!} | 小工具</@head>
|
<@head>${options.blog_title!} | <@spring.message code='admin.tools.title' /></@head>
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<section class="content-header" id="animated-header">
|
<section class="content-header" id="animated-header">
|
||||||
<h1 style="display: inline-block;">小工具</h1>
|
<h1 style="display: inline-block;"><@spring.message code='admin.tools.title' /></h1>
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
<li>
|
<li>
|
||||||
<a data-pjax="true" href="/admin">
|
<a data-pjax="true" href="/admin">
|
||||||
<i class="fa fa-dashboard"></i> <@spring.message code='admin.index.bread.index' /></a>
|
<i class="fa fa-dashboard"></i> <@spring.message code='admin.index.bread.index' /></a>
|
||||||
</li>
|
</li>
|
||||||
<li><a data-pjax="true" href="javascript:void(0)"><@spring.message code='admin.setting.bread.setting' /></a></li>
|
<li><a data-pjax="true" href="javascript:void(0)"><@spring.message code='admin.setting.bread.setting' /></a></li>
|
||||||
<li class="active">小工具</li>
|
<li class="active"><@spring.message code='admin.tools.title' /></li>
|
||||||
</ol>
|
</ol>
|
||||||
</section>
|
</section>
|
||||||
<section class="content container-fluid" id="animated-content">
|
<section class="content container-fluid" id="animated-content">
|
||||||
|
@ -19,18 +19,18 @@
|
||||||
<div class="box box-solid">
|
<div class="box box-solid">
|
||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
<h4 style="background-color:#f7f7f7; font-size: 18px; text-align: center; padding: 7px 10px; margin-top: 0;">
|
<h4 style="background-color:#f7f7f7; font-size: 18px; text-align: center; padding: 7px 10px; margin-top: 0;">
|
||||||
Markdown 导入
|
<@spring.message code='admin.tools.markdown.name' />
|
||||||
</h4>
|
</h4>
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<p class="pull-right">
|
<p class="pull-right">
|
||||||
<a href="#" class="btn btn-success btn-sm ad-click-event" onclick="halo.layerModal('/admin/tools/markdownImport','Markdown 导入')">
|
<a href="#" class="btn btn-success btn-sm ad-click-event" onclick="halo.layerModal('/admin/tools/markdownImport','<@spring.message code="admin.tools.markdown.name" />')">
|
||||||
导入
|
<@spring.message code='admin.tools.btn.import' />
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<h4 style="margin-top: 0">Markdown 文档导入</h4>
|
<h4 style="margin-top: 0"><@spring.message code='admin.tools.markdown.full.name' /></h4>
|
||||||
<p>支持 Hexo/Jekyll 导入并解析元数据</p>
|
<p><@spring.message code='admin.tools.markdown.desc' /></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -41,18 +41,18 @@
|
||||||
<div class="box box-solid">
|
<div class="box box-solid">
|
||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
<h4 style="background-color:#f7f7f7; font-size: 18px; text-align: center; padding: 7px 10px; margin-top: 0;">
|
<h4 style="background-color:#f7f7f7; font-size: 18px; text-align: center; padding: 7px 10px; margin-top: 0;">
|
||||||
WordPress 导入
|
<@spring.message code='admin.tools.wordpress.name' />
|
||||||
</h4>
|
</h4>
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<p class="pull-right">
|
<p class="pull-right">
|
||||||
<a href="javascript:void(0)" class="btn btn-success btn-sm ad-click-event">
|
<a href="javascript:void(0)" class="btn btn-success btn-sm ad-click-event">
|
||||||
导入
|
<@spring.message code='admin.tools.btn.import' />
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
<h4 style="margin-top: 0">WordPress 数据导入</h4>
|
<h4 style="margin-top: 0"><@spring.message code='admin.tools.wordpress.full.name' /></h4>
|
||||||
<p>尽请期待</p>
|
<p><@spring.message code='admin.tools.wordpress.desc' /></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -92,7 +92,7 @@
|
||||||
<ul class="treeview-menu">
|
<ul class="treeview-menu">
|
||||||
<li><a data-pjax="true" href="/admin/option"><i class="fa fa-circle-o"></i><@spring.message code='admin.menu.blog-settings' /></a></li>
|
<li><a data-pjax="true" href="/admin/option"><i class="fa fa-circle-o"></i><@spring.message code='admin.menu.blog-settings' /></a></li>
|
||||||
<li><a data-pjax="true" href="/admin/backup"><i class="fa fa-circle-o"></i><@spring.message code='admin.menu.blog-backup' /></a></li>
|
<li><a data-pjax="true" href="/admin/backup"><i class="fa fa-circle-o"></i><@spring.message code='admin.menu.blog-backup' /></a></li>
|
||||||
<li><a data-pjax="true" href="/admin/tools"><i class="fa fa-circle-o"></i>小工具</a></li>
|
<li><a data-pjax="true" href="/admin/tools"><i class="fa fa-circle-o"></i><@spring.message code='admin.menu.tools' /></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -120,97 +120,6 @@
|
||||||
<#else >
|
<#else >
|
||||||
<div class="animated fadeInUp" style="animation-delay: 0.1s">
|
<div class="animated fadeInUp" style="animation-delay: 0.1s">
|
||||||
<h4><@spring.message code='install.installed.message'/></h4>
|
<h4><@spring.message code='install.installed.message'/></h4>
|
||||||
<pre style="font: 10px/7px monospace;border: none;">
|
|
||||||
.'+:
|
|
||||||
`+@#'##
|
|
||||||
+#.```#+
|
|
||||||
`.@` `` .# `
|
|
||||||
'+` ` @,`
|
|
||||||
+'` ``++
|
|
||||||
,#@@' ` ++ ;#
|
|
||||||
.@#'..'#` ,# .@ ``.,::;;:,,`
|
|
||||||
`#+` '@ `#` `@ `.:'##@@###+#++#@@#,
|
|
||||||
.@ `@' #' `@ ` `.;+#@@#':..` ``;: .'@#`
|
|
||||||
,@ ,@` ,@` @`.'@@##;,`` ` ., ` .## `
|
|
||||||
`# #+ #'` ##@+,.` ` + `#+
|
|
||||||
`#, ` :#` .@. `@.` . ` `,` .#:
|
|
||||||
;# `#, +#` `` ` `+';+` :` ` '#`
|
|
||||||
`@:` ++`:@@#: +`` + ' ,. ;@#``@,
|
|
||||||
` ,@` .@@#:``` .. ##.`: '` ;@@.`#@#;`+'
|
|
||||||
++ @: ` ` `.` , ,#@'`' ; #@@' +@@:`,#`
|
|
||||||
@; #: ` ,'` ,+ ..`@@``: .` ;@@:``++ .#`
|
|
||||||
`.@, :: ,, `` # +``` +` ``;`` :; ` .#`
|
|
||||||
;@. ` # `: `. `+;;+`` `+` ,@
|
|
||||||
`@@# `, @@@```' ` ` `: ;#``
|
|
||||||
`@+ ;` ` `: @@#` `;``` ` ` ;. #:
|
|
||||||
@'` +``: `.. +` ` .#`
|
|
||||||
+# ,. ` ' +.` ``#'
|
|
||||||
.@. :'``,+ ,'.` `.#@. ``
|
|
||||||
#' ..` `;';;#`
|
|
||||||
.@` ` ``:@,``
|
|
||||||
``#+ ` '@,
|
|
||||||
@` ` `#@``
|
|
||||||
;# .'#'` `
|
|
||||||
`#: ` ` ,;` `,#@+.
|
|
||||||
`@` :;'@+#@#;`` `
|
|
||||||
`.#`` '#+#@,. `
|
|
||||||
;# @:`
|
|
||||||
#; `:@
|
|
||||||
@. #.
|
|
||||||
@. `+'
|
|
||||||
@. ;#
|
|
||||||
@. :` .@`
|
|
||||||
@. ;. ``@`
|
|
||||||
@. ;, ` `#
|
|
||||||
@, ` +. `@
|
|
||||||
+' ;: @` @
|
|
||||||
,#` +, :; `@
|
|
||||||
``@` +; ``,# .@
|
|
||||||
`#; ;#.` ``'+ ;#`
|
|
||||||
:@ ` ` '@',..,;#+. ``#;
|
|
||||||
#: ` ```:;;:.` `@`
|
|
||||||
`` :@ ` ` ;#``
|
|
||||||
`#+ @,
|
|
||||||
`@:` +#`
|
|
||||||
,#. `,@.`
|
|
||||||
` ;@.` .@:`
|
|
||||||
'@, .@;`
|
|
||||||
```@+#; ```;@@ `
|
|
||||||
` `@' ,@+` ,#@.#'
|
|
||||||
## ```+@; `,#@'. `@.
|
|
||||||
`;@ ` ,@#' ` ` ` `;+@@;` ;@` `
|
|
||||||
#: `,@@#',` ` ```.;#@@@;. ` ` @@#,
|
|
||||||
`` ;@@` ;+@@@@@@@@##'.` ,@@@#:`
|
|
||||||
`+@@@:` ` ` ```.`` ` `@::#@@'`
|
|
||||||
.#@@+++ ` ,@` .+@@+.
|
|
||||||
` ` :#@@;` @, @, `+@@#.``;#@@@`
|
|
||||||
@@@@#, :@@@: ` ,# ``'#`` `'@@#@@@##@`
|
|
||||||
`;''+@@@#@:` #' .@`` ` ;@@#.
|
|
||||||
,#@@: @` @: `.@#@@'`
|
|
||||||
'@@'@. :# '# `@;`+@#``
|
|
||||||
`'#+ :@. ``#' .@ ``#+` ;' `
|
|
||||||
., #@`` @` @. ``:@,
|
|
||||||
`.@; .@ ++ `;`
|
|
||||||
`,` `;# :#
|
|
||||||
`#' @`
|
|
||||||
@. `@.
|
|
||||||
@` #'`
|
|
||||||
`@ ;#
|
|
||||||
,# .#
|
|
||||||
;+ `@`
|
|
||||||
#' @.
|
|
||||||
#: #:
|
|
||||||
@, `++
|
|
||||||
@` ;#`
|
|
||||||
`@` ,@
|
|
||||||
`@` `@ `
|
|
||||||
`@` `@`
|
|
||||||
`@` @`
|
|
||||||
`@` @.
|
|
||||||
`@` #: `
|
|
||||||
`@@@@@@@@@##################@@@@@@@@@@@@@@@@@@@@@@@#@@;
|
|
||||||
` `::::::::::::::::::::::::::::,:::::,,,,,,,,,,,,,,,,,:,.`
|
|
||||||
</pre>
|
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<rss version="2.0"
|
||||||
|
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||||
|
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||||
|
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||||
|
xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
|
||||||
|
<channel>
|
||||||
|
<title>${options.blog_title!}</title>
|
||||||
|
<atom:link href="${options.blog_url!}/atom.xml" rel="self" type="application/rss+xml"/>
|
||||||
|
<link>${options.blog_url!}</link>
|
||||||
|
<description>${user.userDesc!}</description>
|
||||||
|
<language>zh-CN</language>
|
||||||
|
<sy:updatePeriod>hourly</sy:updatePeriod>
|
||||||
|
<sy:updateFrequency>1</sy:updateFrequency>
|
||||||
|
<generator>https://github.com/ruibaby/halo</generator>
|
||||||
|
</channel>
|
||||||
|
<#if posts?? && posts?size gt 0>
|
||||||
|
<#list posts as post>
|
||||||
|
<item>
|
||||||
|
<title>${post.postTitle!}</title>
|
||||||
|
<link>${options.blog_url!}/archives/${post.postUrl!}</link>
|
||||||
|
<comments>${options.blog_url!}/archives/${post.postUrl!}#comments</comments>
|
||||||
|
<pubDate>${post.postDate}</pubDate>
|
||||||
|
<dc:creator><![CDATA[${user.userDisplayName!}]]></dc:creator>
|
||||||
|
|
||||||
|
<#if post.categories?? && post.categories?size gt 0>
|
||||||
|
<#list post.categories as cate>
|
||||||
|
<category><![CDATA[${cate.cateName!}]]></category>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
<description>
|
||||||
|
<![CDATA[
|
||||||
|
${post.postSummary!}
|
||||||
|
]]>
|
||||||
|
</description>
|
||||||
|
<content:encoded>
|
||||||
|
<![CDATA[
|
||||||
|
${post.postContent!}
|
||||||
|
]]>
|
||||||
|
</content:encoded>
|
||||||
|
<slash:comments>${post.comments?size}</slash:comments>
|
||||||
|
</item>
|
||||||
|
</#list>
|
||||||
|
</#if>
|
||||||
|
</rss>
|
Loading…
Reference in New Issue