读书太乱怎么办?用 Notion 管理你的读书项目 |
您所在的位置:网站首页 › 豆瓣怎么看书的评分 › 读书太乱怎么办?用 Notion 管理你的读书项目 |
Notion是什么 Notion是一款全能型笔记应用,你可以用它排版、管理笔记、管理工作项目、建立数据库、建立Wiki档案库,甚至免费构建出一个网站来。不太夸张的说,只有你想不到,没有它做不到的。如果会一点点编程(当然这个要求也相当低),那么你绝对可以把Notion使用出意想不到的效果。用一句简单的话来概括Notion的核心功能,就是Page + Block(Database) + Markdown,此外还有导入与导出、内嵌网页、多人协作等特色。 为什么要管理读书书读多了之后,我渐渐陷入了迷茫、混乱的状态,比如不知道一本书读了多久,为什么会读,收获了什么,有多少书在读?有多少书想读?它和之前读的书联系在哪里?鉴于以上,管理自己的读书就变得有必要了,因此我详细思考了自己的需求。 需要实现的需求:管理读书进度(心愿单、未读、在读、已读)对图书进行分类(论述作品、文学作品、记叙作品)是否有电子书记录一本书的阅读时间跨度记录为什么会读、读书的来源在哪里记录与其他书的联系记录读书笔记基于以上需求,最终用Notion实现的效果还不赖。 ![]() 那么如何实现呢?本文正是向大家介绍实现过程的,虽然还带着一点安利Notion的心态,嘿嘿,请各位和我一起继续往下看吧!噢对了,由于Notion功能强大,这也导致上手起来没那么容易,如再慢慢介绍Notion的基础功能,篇幅可能就不够了,而介绍Notion的文章也已经很多,这里还推荐各位在少数派里看看相关的文章。当然我自己也整理了一些,各位打开下列网址,就可以看到了: https://www.notion.so/hchgfxfz/Notion-00fe9f5ee77744059b850897e8bc35e9大家准备好了,那我们开始吧! 🚨注意:本文的教程仅提供一个思路,在任何环节,各位都可以自由发挥,实现自己的需求。 步骤1.建立数据库Notion是基于page管理内容的,首先需要做的是新建一个Page,长相如下: ![]() 由于我们的读书项目是基于数据库的(database),那么我们选择database的内容Table或Board都可以,Table是表格的形式,Board是看板的形式,虽然形式不同,但具有同样的数据结构,是可以相互转换的。 以Table为例开始。 我们可以把整个数据库视为一个对象集——图书馆,对象为图书,每一个具体的图书视为具体的实例,而每一个对象都有自己的属性,以人为例就有身高、体重、性别、姓名、爱好等等,那么图书根据我们的需求就有类别、作者、进度、时间等等。 ![]() 新建的数据库默认只有三个属性(Name、Tags、Files),就需要我们自行修改了。点击一栏,选择Open,界面如图。 ![]() 删除Files和Tags两个属性,点击Add a Property(添加属性)。 ![]() 根据我们的需要添加基础属性有Date(用于记录时间)、Select(用于选择类别和作者和评分)、Multi-Select(用于设置标签)、Checkbox(用于判断类型,如是否有电子书)、以及Formula(用于计算阅读时间的间隔和判断是否显示在看板上)。下图是一本书需要的属性: ![]() 使用Select基础属性设置一个具体的Status属性(即状态),选项包括Not Started(要读但未读的书),In Progress(在读)、Finished(已读)、Suspended(因为某种原因而暂停读的书)、Wishlist(想读但还没有条件获得图书的书),特别注意的是,Status将作为我们之后建立看板的依据。 ![]() 属性的建立过程中,我需要向各位特别讲解两个属性,即Days(读书时间长度)和OnBoard(是否显示在看板上),为什么需要特别讲解呢?因为这里用到了编程的思想。两者都是使用Formula作为基础的。 选择Days,点击Edit Formula,填写代码: if(if(prop("Status") == "Finished", dateBetween(end(prop("Date")), prop("Date"), "days"), dateBetween(now(), prop("Date"), "days")) == 0 or prop("Status") == "Not Started" or prop("Status") == "Wishlist", "0", format(if(prop("Status") == "Finished", dateBetween(end(prop("Date")), prop("Date"), "days"), dateBetween(now(), prop("Date"), "days")))) + if(if(prop("Status") == "Finished", dateBetween(end(prop("Date")), prop("Date"), "days"), dateBetween(now(), prop("Date"), "days")) |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |