博客新增待办清单页面

博客新增待办清单页面


前言

本来想用 memos部署清单啊,说说或者什么动态相册的,但是最新版memos的api不能使用了,还是静态比较稳定吧!

修改文件

themesanzhiyulayoutpage.pug中新增以下内容

      when 'music'
        include includes/page/music.pug
+     when 'todolist'
+       include includes/page/todolist.pug
      default
        include includes/page/default-page.pug

新建文件

新建 pug文件

  • themesanzhiyulayoutincludespage中新建文件 todolist.pug并增加以下内容
#todolist-box
    - let todo_background = page.top_background
    .author-content.author-content-item.todolist.single(style=`${todo_background ? `background: url(${todo_background}) top / cover no-repeat;` : ""}`)
        .card-content
            .author-content-item-tips Todo
            span.author-content-item-title 待办清单
            .content-bottom
            .tips 耽误太多时间,事情可就做不完了
            .banner-button-group
              a.banner-button(onclick='pjax.loadUrl("/about/")')
                i.anzhiyufont.anzhiyu-icon-arrow-circle-right(style='font-size: 1.5rem')
                span.banner-button-text 我的更多
    #todolist-main
        #todolist-left
            each i in site.data.todolist
                if i.seat == 'left'
                    .todolist-item
                        h3.todolist-title=i.class_name
                        ul.todolist-ul
                            each item in i.todo_list
                                 - var listItemClass = item.completed ? 'todolist-li-done' : 'todolist-li'
                                 li(class=listItemClass)
                                    if item.completed
                                        i.fa-regular.fa-circle-check
                                    else 
                                        i.fa-regular.fa-circle
                                    span=item.content
        #todolist-right
            each i in site.data.todolist
                if i.seat == 'right'
                    .todolist-item
                        h3.todolist-title=i.class_name
                        ul.todolist-ul
                            each item in i.todo_list
                                 - var listItemClass = item.completed ? 'todolist-li-done' : 'todolist-li'
                                 li(class=listItemClass)
                                    if item.completed
                                        i.fa-regular.fa-circle-check
                                    else 
                                        i.fa-regular.fa-circle
                                    span=item.content

新建 yml文件

  • 新建 source_datatodolist.yml并参考以下格式输入内容
# seat控制清单在左栏还是右栏显示,completed控制是否已完成
- class_name: 想做的项目
  seat: left
  todo_list:
    - content: 主页
      completed: false
    - content: 小程序
      completed: false

- class_name: 想看的书
  seat: left
  todo_list:
    - content: 《骆驼祥子》
      completed: false
    - content: 《活着》
      completed: false

- class_name: 想买的东西
  seat: left
  todo_list:
    - content: 东西
      completed: true
    - content: 机械硬盘盒
      completed: true

- class_name: 想学的技术
  seat: right
  todo_list:
    - content: 骑自行车
      completed: false
    - content: 修自行车
      completed: false

- class_name: 想去的地方
  seat: right
  todo_list:
    - content: 桂林
      completed: true
    - content: 心里
      completed: false

新建 md文件

  • 新建文件 sourcetodolistindex.md并按以下格式填写
  • top_background也就是顶部图,自行填写
---
title: todolist
date: 2024-09-10 14:07:13
type: todolist
top_background: 
---

引入CSS

新增css内容

  • 新建文件 sourcecsscostom.css或在已引入的css中新增以下内容

body[data-type="todolist"] #web_bg {
  background: var(--anzhiyu-background);
}
body[data-type="todolist"] #page {
  border: 0;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: 0 0 !important;
}
body[data-type="todolist"] #page .page-title {
  display: none;
}
/* Todolist */
#todolist-box{
  margin: 0 10px;
}
#todolist-main{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin: 16px 0 10px;
}
#todolist-main li{
  list-style:none;
  font-size: 17px;
}
#todolist-main ul{
  margin: 0;
  padding: 0;
}
#todolist-left{
  width: 50%;
  padding: 0 8px 0 0;
}
#todolist-right{
  width: 50%;
  padding: 0 0 0 8px;
}
.todolist-item{
  position: relative;
  background: #fae4df;
  border-radius: 12px;
  padding: 10px 1rem 1.2rem;
  border: 2px dashed #f7a796;
  margin-bottom: 1rem;
}
[data-theme=dark]
.todolist-item{
  background: #242424;
  border: 2px dashed #51908b;
}
li.todolist-li i{
  margin-left: 10px;
}
h3.todolist-title{
  margin: 0!important;
  border-bottom: var(--todo-border);
}
li.todolist-li{
  border-bottom: var(--todo-border);
  font-weight: normal;
  margin-left: -10px;
}
li.todolist-li-done{
  border-bottom: var(--todo-border);
  font-weight: normal;
  text-decoration: line-through;
}
.todolist-li span{
  margin-left: 5px;
}
.todolist-li-done span{
  margin-left: 5px;
}
@media screen and (max-width:700px){
  #todolist-left,#todolist-right{
      width: 100%;
      padding: 0;
  }
}
  • _config.anzhiyu.yml主题配置文件下 inject配置项中 head处引入 costom.css文件
inject:
  head:
    - <link rel="stylesheet" href="/css/costom.css">

查看效果

本地执行hexo三连查看效果,发布后有异常试试清除缓存

© 版权声明
THE END
喜欢就支持一下吧
点赞1 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容