-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
文档树模仿SuperMemo19,实现无限层级、扩容笔记理论数量、任意移动超深笔记库。 #11821
Comments
本地找文件的难度太大了。而且现在已经有目录了,那就改不了了 |
哦哦,好吧,确实,现有的存储架构已经确定了,不太好改。 关于找文件的方面,现在的存储是json格式,这个用户完全用不到这存储格式去查找,而是在软件中找文件。 开发者的话,不知道是否容易,理想情况下,只要设计合理,程序一般可以找到。数据存储还是用目录树,只不过文档树不依靠目录树实现。用JSON存储笔记的话,约莫存储的方式也可以进行再次抽象一下。主要想法是:让软件创建一个新的数据存储结构取代原来的系统目录树的数据存储结构,实现无限层级 嗯,只能说,这只是提出一个可能的改进型解决方案,去实现无限层级。 |
具体的实现方式,我认为,可以用一个文件存储和记录索引文档树的层级结构。然后笔记数据就可以按照合理的方式存放起来。 比如说全部存放到一个文件夹下。或者存放到一个数据库中,或者按系统目录树的条件灵活存储等等。 Logseq采用的存储方式是分类存储,所有类型相同的笔记放在一起,比如日记,就全部放在journals文件夹下。页面文件就全部放在pages文件夹下。 这样的话就创造了一个由软件控制的数据存储结构 用这种抽象出系统目录树,灵活创建另一种形式的数据访问树的方式,优点是无限层级,容量增加,缺点是代码量增加。 |
谢谢,我知道这个功能。 |
其实我不清楚为啥用logseq举例呢。它没有层级啊。。全部平铺。。曾经还作为特色来,不需要考虑分类。如果要无限,自己获取一下文档树在一个文档里,也就是你说的介质里,用列表自己分一下也是无限。不用在乎它在文档树上的位置,同级也没关系。 |
用Logseq举例是为了说明,不用系统目录树存储,作为思源文档树在系统目录树中实际存储形式的存储也是可以的嘛,笔记数据怎么存到系统目录树怎么存都可以呀。在这个基础上在抽象出新的存储的数据结构给软件使用不好嘛,而且思源也不用md文件而是json文件存数据,用系统目录树作为层级结构反而是浪费和限制。倒不如利用好系统文件树的优点,好好存数据,怎么组织思源的文档树的数据存储结构就交个软件 的自己在重新组织一个数据存储结构不好嘛。 笔记的数据层级结构被软件的数据存储结构记录下来,然后软件用自己组织的数据存储结构,以一种简单的方式存放到文件夹系统中。 |
抱歉,这个改不了了,感谢提议和讨论。 如果需要其他“视图”,可以考虑用插件实现,谢谢。 |
嗯嗯,确实,一旦修改就造成与旧版不兼容问题。视图无法兼顾存储问题。大概就这样吧。感谢回复。 |
In what scenarios do you need this feature?
解除文件系统深度的限制,想怎么移动怎么移动,层级想多少就多少,笔记理论数量随着深度的增加而增加,原来的不足都因为在软件这个层面抽象了一个数据存储结构而被扩展和改进。
适用于创建大量层级、增大笔记理论数量、适配卢曼卡片笔记编码树的情况。模仿SuperMemo的知识树的无限层级。
Describe the optimal solution
SuperMemo的知识树可以支持无限多的层级,取决于他使用了单独的文件位于
systems\coll_name\info
文件夹下的contents.dat文件记录了这种树形结构,,并结合了Element Number这种元素ID属性。下面的例子是
![image](https://private-user-images.githubusercontent.com/32425955/342610571-1bd2d093-7963-4d96-8723-f7bd9d5b02f9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk4MTM2OTMsIm5iZiI6MTcxOTgxMzM5MywicGF0aCI6Ii8zMjQyNTk1NS8zNDI2MTA1NzEtMWJkMmQwOTMtNzk2My00ZDk2LTg3MjMtZjdiZDlkNWIwMmY5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAxVDA1NTYzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThmNDBjNzA1MzQ4NmI5MWVhY2ZiMmZkODAwMjRmYjIyNjA0MmI1MzgxMjhjZTI5MGY3Y2Q0MjhlYzE1ZDI5MmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.IjcoIXdujC56AUyAqoqL7tymURPyjLCDASs5BHoQ_tE)
这个按钮导出的。
这些选项全部勾选了。
![image](https://private-user-images.githubusercontent.com/32425955/342610738-6bc3bc62-8597-4437-a068-b6f7d96f0812.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk4MTM2OTMsIm5iZiI6MTcxOTgxMzM5MywicGF0aCI6Ii8zMjQyNTk1NS8zNDI2MTA3MzgtNmJjM2JjNjItODU5Ny00NDM3LWEwNjgtYjZmN2Q5NmYwODEyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAxVDA1NTYzM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVmYmFhMjk5MjA2YTI2N2E5ZTg1ZjcxZjViMTZiZjYyNTAwMzEwZjVkYWVhMzM1YmI2ZDA5ZTQzNGQ5Y2EyMmEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.hxFqitfGreqtQrVrcPnMWIP_Sy9eAzMwkAFz3MldGCI)
Describe the candidate solution
No response
Other information
No response
The text was updated successfully, but these errors were encountered: