Frostime
关注
79553 号成员,2022-03-06 20:31:31 加入
697
个人主页 浏览
267
帖子 + 回帖 + 评论
61h57m
在线时长
  • 数据库的行数极限是多少行了?

    2024-05-09 00:10

    所以为了性能优化,是不是可以开始考虑把数据库分页展示加入开发日程中了?trollface

  • 思源模板功能新人指南:模板语法 + 函数 + md 块语法

    2024-05-07 17:45
    1. 不,就是 Month 类型,这是一个枚举类型,在计算的时候可以当作 int 来使用,但是显示的时候按照英文月份来显示
    2. 是的,错别字
  • 大家是如何知道思源笔记的?

    2024-05-05 02:15

    我是主动搜索搜到的。

    21 年的时候我从有道云跑路到了 Wolai,后来 22 年初被 Wolai 的马总给劝退了,故而绝了任何云笔记的念头,然后全网广泛搜索所有笔记相关的软件。

    由于要离线笔记,所以实际上可选项并不多,很自然就搜索到了思源。

    22 年上半年稍微试用了一下,但是还在摇摆期;到了下半年终于确定了主力思源,之后就一直没有换过了。(可以见这个帖子: 用 SQL 回忆一下自己使用思源的历程

  • 我个人的感觉是 SiYuan 太极客、学生复杂化,Obisidan

    2024-05-01 11:32

    其实不是跟着极客思路走,而是核心开发者和来帮衬几个第三方开发者本身都是程序员,开发的过程中自然而然融入了最习惯的思维方式而已。

    简单化明确化反而是需要功力的,只不过思源缺少资源去请一个有能力的产品经理而已——而且市场的产品经理能否适应思源这种纯开源软件的玩法还两说。


    就几个具体的问题而言:

    • 自定义字体这个我不清楚你想要优化成什么样子,是否可以具体说清楚一些?对我来讲在设置里面设置编辑器字体似乎已经足够简单明了了。
    • 思源的编辑器编辑体验我个人认为是目前最好的一批了,不知道你说的「更丝滑」是什么意思。或者你的意思是应该引入类似富文本编辑器那样的,提供创建标题、加粗的按钮,而非目前依赖 Markdown 输入语法和 / 命令?(如果是这样的话我感觉反而是在开倒车)
    • 复杂名词的问题,这个以前也有人提过;目前虽然有文档,但是文档分布的太散乱了,感觉可以增加一个单独的「名词释义」的说明文档
  • v3.0.2 版本同步失败,昨天还能同步,今天就不行了

    2024-04-30 22:36

    @88250 干脆把自动更新细化一点算了,改成:

    • 不自动更新
    • 跟每周的日常更新
    • 跟中等的特性更新
    • 跟大版本更新
  • 官方有没有计划在页面底部显示反链面板

    2024-04-29 22:29

    官方没有计划。建议用「思源增强插件」

  • 我想让嵌入块显示为更新日期, 但是查询不到:select updated from blocks where id='

    2024-04-28 10:55

    查表的字段建议用「查询/Query」挂件

  • 一炮三响的解决方案

    2024-04-27 21:55

    我这里提供另一个方案——或许可以试一下 js 查询。

    把下面这个粘贴到 js 代码片段中

    "use strict";
    /**
     *
     * @param blocks Block[]
     * @param mode uni 模式
     * @param para_in_li boolean, 如果为 True 则对在 li 中的 p 节点进行处理
     * @returns Block[]
     */
    function UniBlocksJs(blocks, mode = 'leaf', para_in_li = false) {
        console.log('UniBlocksJs', blocks);
        let p2c = new Map();
        let blocksMap = new Map();
        blocks.forEach(block => {
            p2c.set(block.parent_id, block.id);
            blocksMap.set(block.id, block);
        });
        let blockIdsResult = [];
        const pushResult = (block) => {
            if (!blockIdsResult.includes(block.id)) {
                blockIdsResult.push(block.id);
            }
        };
        if (mode === 'root') {
            for (let block of blocks) {
                // 找到 block 最顶层的 parent 节点
                while (blocksMap.has(block.parent_id)) {
                    block = blocksMap.get(block.parent_id);
                }
                pushResult(block);
            }
        }
        else if (mode === 'leaf') {
            for (let block of blocks) {
                //如果 block 不在 parent 集合中,则 block 为叶子节点
                if (!p2c.has(block.id)) {
                    //如果是 li 内的 p 节点, 则
                    if (para_in_li && block.type === 'p') {
                        let parent = blocksMap.get(block.parent_id);
                        if (parent && parent.type === 'i') {
                            block = parent;
                        }
                    }
                    pushResult(block);
                }
            }
        }
        return blockIdsResult.map(id => blocksMap.get(id));
    }
    
    

    然后嵌入块里面使用 js 查询(没错,我猜很多人不知道嵌入块里面是可以运行 js 代码的,只需要返回一个 block id 的列表就行)

    案例

    注:我安装了 runJs 插件,所以可以直接用 runJs.api.sql 来调用查询接口;没有装插件的可以用嵌入块里的 fetchPost 方法手动向后端发请求。

    这是使用普通的查询

    image.png

    使用 UniBlock root 模式:

    image.png

    使用 UniBlock leaf 模式

    image.png

  • 官方云同步空间太少了不够用怎么办?

    2024-04-26 22:08

    说实话,不建议把思源当成一个素材管理软件。

  • 在思源笔记中存放私密资料安全吗?

    2024-04-23 20:45

    私密资料建议用 Cryptomator 这种专业的软件。

  • 现在的“双链”笔记的发展是否走进了误区?

    2024-04-22 15:42

    我理解你想要表达的含义是:希望反链视图只给出简单的摘要而非全文,这样信息密度会显著提升。

    反链面板不可能大改,那代价太大了。

    可能的方案

    我想到的一个可能的方案是:反链面板折叠起来的时候,其标题不再显示文档名称而是显示引用内容的摘要。

    image.png

    类似书签那样的行为:

    image.png

    这个方案会遇到的问题是当一个文档中存在多个引用要怎么办。

    image.png


    以上是我能想到的最折中的方案了,至于你想要的直接重构反链面板变成 wolai 这种模式,那是绝对没有可行性的,不管是大部分用户还是开发者都不可能同意。

  • 为啥我的搜索出来的这么多重复的啊?

    2024-04-22 09:09

    重建索引再试试

  • 思源的 AI 功能太弱了,集中精力把 AI 功能搞搞好吧

    2024-04-21 22:32

    「AI 是下一代知识管理的必备功能」这个我赞成,但是数据库是这一代知识管理的必备功能,所以 AI 功能的优化优先级还是要低于数据库的。

    如果你觉得在你的工作流中 AI 确实非常重要,集市里面有几个插件例如「番茄工具」「思源小助手」等等也提供了 AI 相关的辅助功能,你可以去探索一下看看是否能满足自己的需求。

  • 为什么我的 daily note 查询不好用

    2024-04-18 13:11

    你这个肯定查不出来啊,custom-dailynote 属性只会自动分配给日记文档。而文档块的 markdown 字段是文档的标题,并不会包含内容。

    select * from blocks where
    markdown like '%[ ]%'
    and root_id in (
        select B.id from blocks as B join attributes as A
        on B.id = A.block_id
        where A.name like 'custom-dailynote-%'
    ) order by updated desc;
    
  • 导入六百万字的全唐诗后反应速度又严重变慢了,有没有优化的办法?

    2024-04-17 08:30

    一般来说 600W 算不上大到不可接受的文档内容。

    你需要看一下是否是导入过程中,没有做好分行,导致出现了非常大的块(同一块内字数多、图片多等)。

  • 一个想法:思源关于比较长的块,是否可以默认折叠,只显示前几行?

    2024-04-16 20:59

    可以试试这个:

    • 首先把以下 css 加入代码片段

      :root {
       --custom-max-height: 35em;
      }
      
      .protyle-wysiwyg div[custom-clip-max-height="scroll"] {
        max-height: var(--custom-max-height);
        overflow-y: scroll;
      }
      
    • 为块设置自定义属性 clip-max-height="scroll"

      • 推荐可以使用「快速添加块属性」插件,设置快速规则

        image.png

    • 设置了块属性之后,特别长的块就会被限制在一个小空间内,内部可以滚动;效果如下(嵌入块)

      recording.gif

  • ChatGPT 3.5 免注册后怎样在思源里使用?

    2024-04-08 22:03

    但是说实话,有这功夫我觉得不如直接找一个三方 API 中转平台买个 API key 算了。

    比如这个: GPT 第三方 API 和插件推荐

  • 模板里怎么获取网页数据

    2024-04-03 11:13

    这个模板没法实现吧?只能运行 js 调用后端 forwardProxy

    有一个歪路可以试试看,嵌入块是允许执行 js 的,例如这样:

    //!js
    return [];
    
    

    也许可以把 js 发送请求的代码放到一个嵌入块里面,然后只要一加载文档就会自动运行。


    或者如果你不是很在乎自动运行,那可以使用 Run Js 插件,直接模板里面创建相应的 js 代码,然后在编辑器里面运行代码运也行。

  • 如何禁止部分的元素语法?

    2024-04-01 19:43

    使用 \ 符号转义,输入 \$

  • 安卓版侧边栏部分插件不兼容,能否开发支持?谢谢

    2024-03-29 18:40

    安卓没有顶栏没有侧边栏连页签都没有,很多插件就是不容易做适配;除非单独额外写程序,以对话框的形式来展示。

  • 用到后期就是卡,频繁把 CPU 吃满,且无法退出应用

    2024-03-13 22:32

    灵活使用「笔记本」功能,将那些不需要的笔记放入独立的笔记当中,然后关闭这些笔记本。这样思源在运行时就不会索引这些关闭了的笔记,从而能大大节省内存和计算资源开支。

  • 为什么思源不采用 notion/wolai 那种文件架构啊?

    2024-03-10 16:48

    你觉得应该默认扁平化,但是这个「你觉得」没有意义——这等于是要改思源底层数据结构,不可能改也没有多少人愿意改。

    要是觉得目录树结构太乱,可以下载个「侧边栏」插件,自己维护一个侧边栏的 Moc

    image.png

  • 重构助手功能征集

    2024-03-08 21:55

    我提一下草案

    需求:将文档及其相关双链引用迁移到另一个笔记本中。

    原因:随着笔记的增长,存在大量的「无用」笔记需要归档,故而需要整理到单独的笔记本中然后关闭笔记本。
    实现细节:

    • 选择文档和目标笔记本
    • 列举所有引用该文档的引用块,由用户选择是否要一同移动到另一个笔记本,界面结构可以参考「转义引用」插件
    • 将文档和对应的引用块文档迁移到另一个笔记本中
      • 对于引用文档可以维持原本的目录结构,也可以一股脑放到独立的目录下

    附注:对于备选文档下方的文档树要如何处理,我还没有很好的想法,似乎也可以一同迁移,但是这样做操作上又会比较麻烦

  • 近期思源出现启动卡死、内核丢失的用户请注意!

    2024-03-04 00:41

    @88250 能不能把这个帖子加入一下优选。

    我估计可能相当一段时间这个问题都排查不了,放到优选里面这样方便后面的用户看到。

  • 如何让 Defender 将思源加入排除项,以防止误杀

    2024-03-03 16:19

    明确可以说没有毒。但是估计是某些监听端口、读写文件的行为和某类病毒的表现特点有点相似,就被杀毒软件误以为是毒了。

  • 统计下有多少人需要看板功能

    2024-02-29 23:29

    看板功能在计划路线上,可以耐心等待。

    image.png

  • 功能建议:排除反链显示

    2024-02-28 14:03

    换个思路,当反链越来越多的时候,也许你要做的是整理;比如新开一个子文裆,然后把一些不需要的引用转移过去。

    image.png

  • 最近频繁出现内核因未知原因退出 ,杀毒软件已经加入信任还是不行

    2024-02-25 13:36

    不光是 siyuan.exe,把 kernel 文件也加入信任试试。SiYuan.exe 只是软件应用,内核软件是独立的。

    image.png

    或者更加简单的,看看能不能把思源整个软件目录加入安全列表。

  • 只包含图片的段落跟纯文字段落是相同性质的吗?

    2024-02-25 09:50

    用 has 选择器也行。就是要注意如果文档里面图片比较多的话,用 has 选择器可能会有点卡。

  • 思源笔记运行内存占用大,打开后电脑卡卡的

    2024-02-21 22:12

    如果你的内容比较多,建议把一些不常用的内容放入归档笔记本,然后关闭笔记,这个可以显著地减少内存的占用。

    image.png