构建知识库:一文解决跨平台科研文献及笔记同步问题

news2024/11/27 12:43:47

文章目录

  • 需求及目标
  • 现有方案调研
    • 文献管理方案
    • 云存储方案
    • Markdown编辑器
      • Windows端
      • Ipad端
    • 图床管理方案
  • 最终方案
  • 操作流程
  • 最后

在这里插入图片描述

作为一个十级懒人,要么躺着要么在探寻提效工具的路上。

开始打工生涯之后,除了正常工作时间,总想利用业余时间提升一下自己,于是重新捡起了之前的研究方向。

决定重新开始后,先对着以前的文献库和笔记开始复习。然而,我又忍不住吐槽自己的知识库整理方式:分散、同步困难、自己都不想再看。

本着尽量完美且一劳永逸的初心,开始了艰难的探索之旅,却发现一路上都是坑,趟过之后才发现接受不完美本身就是一种完美。

需求及目标

过去一直在找一种能够提高学习效率的方法,苦思冥想却不得其解。

然,慢即是快,把专注的知识点真正学透,比学很多个知识点要有效得多。知识的深度和广度其实是对立统一的,举一反三才能提效

检验学习是否有效的方法:把所学的知识点讲述给小白听,让一个没研究过这个知识点的人也能听懂。

因此,写一个能让大多数人都看得懂笔记,就是一个将知识学透的过程。

复习自己以前的笔记,总是很少能够找到赏心悦目的,其原因主要归结于不良的习惯。

现有方案调研

网上有很多开源的、商业的平台、工具,但大多数不是收费贵就是体验不好,想要找到免费好用的方案就要花费时间和精力各种尝试。最近逛遍了各大博客、网站,才找到今天这个还算凑合的方案。

我的原则就是优雅。那么,怎么定义优雅呢?

首先是高效,一切不为解决问题的输出都是在白白浪费青春。用过很多花里胡哨的软件,各种繁琐的操作步骤,输出完之后自己都不会再打开第二遍;有良好的检索功能,能够快速定位到需要的部分;又灵活的组织方式,我能够单独控制每个部分的行为。

其次是可靠,任何无意义的重复劳动都是在消耗生命。负责存储的最好是大平台,至少不会跑路;最好还有版本控制功能,能够实现文本级查阅和回溯;最好是开源的,不会因为需要氪金而增加使用成本。

接下来列举各大平台的优劣

文献管理方案

EndNote
优势:强大的引用支持,兼容各大文字处理软件
劣势:非免费,界面较为复杂,同步体验较差

Mendeley
优势:免费,提供云服务
劣势:免费存储空间有限

RefWorks
优势:较好的同步体验,兼容大多数的文字软件

JabRef
优势:基于BibTeX,对LaTeX用户友好
劣势:无法集成到文字软件中

Zotero
优势:开源免费,界面直观简洁,丰富插件支持,一键捕获文献,可拓展云存储
劣势:自带存储空间有限

云存储方案

OneDrive
优势:Windows友好,支持文件版本历史,量大
劣势:跨平台体验一般

iCloud
优势:苹果用户首选,优雅
劣势:非苹果用户体验一般

Google Drive
优势:跨平台支持
劣势:服务器在国外

Dropbox
优势:界面友好,跨平台支持,文件同步体验好,支持版本控制,文本级同步
劣势:免费版空间有限,高级功能要付费,

nutstore
优势:跨平台,版本历史回溯,文本级同步,支持WebDAV
劣势:免费版流量有限,

你问我为什么不列举国内大厂的方案?

额,你喜欢用百度云吗?

Markdown编辑器

Windows端

VSCode
优势:强大,支持Markdown扩展,免费开源。
劣势:不够轻量化。

Typora
优势:所见即所得的编辑模式,无干扰的界面,实时预览,支持导出多种格式。
劣势:高级功能需要付费。

Ipad端

Bear
优势:干净的界面,支持Markdown,支持iCloud同步,支持标签和组织功能。
劣势:高级功能需要付费,可能对于专业用户来说功能不够强大。

1Writer
优势:轻量级Markdown编辑器,支持实时预览,iCloud同步,支持WebDAV
缺点:功能相对基础,可能不如一些全能性编辑器。

你问我为什么只推荐markdown,其他的类似于Evernote的软件不好吗?

额,还行。但,不够优雅。

图床管理方案

由于markdown是纯文本编辑器,若要希望在我们的笔记中插入图片,必须要以添加链接的形式插入。要想随时随地打开markdown笔记时能看到图片,就需要图床来将图片存储在云服务器中。软件首推PicGo,它支持的云存储有以下几个:

腾讯云、阿里云
优势:国内服务器,快且稳定
劣势:贵

七牛云
优势:免费空间够用,服务器在国内
劣势:需要额外购买域名

GitHub
优势:免费且稳定,支持文本级管理
劣势:服务器在国外

Gitee
优势:国内的GitHub,速度快
劣势:有流量和访问频率限制

最终方案

zotero(文献管理)
nutstore(文本级云同步)
Typora(Windows端Markdown编辑器)
1Writer(Ipad端Markdown编辑器)
PicGo(图床管理)
Github(图床存储+笔记托管)

利用Zotero做文献管理软件,在Chrome中安装插件可以实现一键导入文献。Zotero的文献库存在Nutstore上,可同步PDF中的标记。Markdown文件存储在Nutstore上,可实现文本级同步,markdown文件中插入的图片链接存在GitHub图床中。修改完成后的笔记通过GitHub上传到仓库中,利用GitHub page进行托管,即可实现网页端查看笔记。为了保证良好阅读体验,笔记最好转成html。

最后采用的方案通过考虑经济成本、时间成本等进行了综合评估,但由于笔者水平有限,最终方案肯定不是最优的,欢迎直接指出更好的方案。

操作流程

为了避免重复劳动,浪费青春,这里仅列举大致操作流程,详细步骤请参考相应的文章。

全文操作步骤预计花费5 min~5 Hours,参考食用方法如下:

根据需求跳转到相应链接的博客,按步骤完成操作,随后跳转回来,完成下一流程,直至满足需求。

利用Zotero和坚果云搭建文献库

熟悉Markdown和Typora

使用PicGo和GitHub搭建图床

在Ipad中上传图片到GitHub图床
我的快捷指令

利用GitHub托管笔记

如何使用Git?请参考上一篇博客

还有各种疑难杂症问ChatGPT。

什么,你还不会用ChatGPT?看这里

最后

在互联网普及的年代,我们每天都被大量的毫无营养的无效信息充斥着,极少能看到让人赏心悦目的文章。

因此,本文本着不进一步破坏网络环境的原则,按照需求对网络资源进行整合,供个人学习使用,也欢迎广大网友提出宝贵的意见

最后,我们不生产知识,我们只是知识的搬运工

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/968881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postgres数据库设置id自增

postgres数据库设置id自增 1. 使用SQL语句建立自增序列 CREATE SEQUENCE id_seq START 1;执行结果 ng) 2. 在设计表中使用该序列 nextval(id_seq::regclass)

面试题 ⑤

1、TCP与UDP的区别 UDPTCP是否连接无连接,即刻传输面向连接,三次握手是否可靠不可靠传输,网络波动拥堵也不会减缓传输可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通…

Kubernetes之舞:微服务的交响乐团

Kubernetes与微服务:缘起 微服务的崛起 微服务架构已经成为现代软件开发的标准。与传统的单体应用相比,微服务提供了更高的模块化,使得团队可以独立地开发、部署和扩展各个服务。这种架构模式的主要优势在于其灵活性和可扩展性,允…

数学建模:拟合算法

🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 数学建模:拟合算法 文章目录 数学建模:拟合算法拟合算法多项式拟合非线性拟合cftool工具箱的使用 拟合算法 根据1到12点间的温度数据求出温度与时间之间的近似函数关系 F ( t ) F(…

windows主机和Ubuntu虚拟机共享设置

参考文章 Ubuntu Linux 与主机共享文件夹 vim 修改文件出现错误 “ E45: ‘readonly’ option is set (add to override)“ vim退出时报错“E212: Cant open file for writing”的解决办法 VMware 安装后,安装Ubuntu 20.04一路顺利。 1,在VMware设置…

数学建模--G(1,1)型的灰色预测模型的Python实现

目录 1.算法适用情况 2.算法推演步骤 3.算法核心代码 4.算法效果展示 1.算法适用情况 #1.灰色预测模型简介 """ 1.灰色预测是对既含有已知信息又含有不确定信息的系统进行预测,就是对在一定范围内变化的、与时间有关的灰色过程进行预测。 2.灰色预测…

智能合约安全分析,针对 ERC777 任意调用合约 Hook 攻击

智能合约安全分析,针对 ERC777 任意调用合约 Hook 攻击 Safful发现了一个有趣的错误,有可能成为一些 DeFi 项目的攻击媒介。这个错误尤其与著名的 ERC777 代币标准有关。此外,它不仅仅是众所周知的黑客中常见的简单的重入问题。 这篇文章对 …

数学建模--粒子群算法(PSO)的Python实现

目录 1.开篇提示 2.算法流程简介 3.算法核心代码 4.算法效果展示 1.开篇提示 """ 开篇提示: 这篇文章是一篇学习文章,思路和参考来自:https://blog.csdn.net/weixin_42051846/article/details/128673427?utm_mediumdistribute.pc_relevant.none-task-blog-…

Android 12 源码分析 —— 应用层 四(SystemUI的基本布局设计及其基本概念)

Android 12 源码分析 —— 应用层 四(SystemUI的基本布局设计及其基本概念) 在上两篇文章中,我们介绍SystemUI的启动过程,以及基本的组件依赖关系。基本的依赖关系请读者一定要掌握,因为后面的文章,将会时…

数学建模--主成分分析法(PCA)的Python实现(

目录 1.算法核心思想: 2.算法核心代码: 3.算法分类效果: 1.算法核心思想: 1.设置降维后主成分的数目为2 2.进行数据降维 3.设置main_factors1个划分类型 4.根据组分中的值进行分类 5.绘制出对应的图像 2.算法核心代码&#xff1a…

使用多线程std::thread发挥多核计算优势(解答)

使用多线程std::thread发挥多核计算优势(题目) 单核无能为力 如果我们的电脑只有一个核,那么我们没有什么更好的办法可以让我们的程序更快。 因为这个作业限制了你修改算法函数。你唯一能做的就是利用你电脑的多核。 使用多线程 由于我们…

C语言练习8(巩固提升)

C语言练习8 编程题 前言 奋斗是曲折的,“为有牺牲多壮志,敢教日月换新天”,要奋斗就会有牺牲,我们要始终发扬大无畏精神和无私奉献精神。奋斗者是精神最为富足的人,也是最懂得幸福、最享受幸福的人。正如马克思所讲&am…

无涯教程-JavaScript - CUBESETCOUNT函数

描述 CUBESETCOUNT函数返回集合中的项目数。 语法 CUBESETCOUNT (set)争论 Argument描述Required/Optionalset Microsoft Excel表达式的文本字符串,其输出为由CUBESET函数定义的集合。 OR CUBESET功能。 OR 对包含CUBESET函数的单元格的引用。 Required Notes 求值CUBESE…

【个人博客系统网站】统一处理 · 拦截器

【JavaEE】进阶 个人博客系统(2) 文章目录 【JavaEE】进阶 个人博客系统(2)1. 统一返回格式处理1.1 统一返回类common.CommonResult1.2 统一返回处理器component.ResponseAdvice 2. 统一异常处理3. 拦截器实现3.1 全局变量SESSI…

Mariadb高可用(四十)

目录 一、概述 (一)概念 (二)组成 (三)特点 (四)工作原理 二、实验要求 三、构建MHA (一)ssh免密登录 (二)安装mariadb数据库…

数学建模--一维插值法的多种插值方式的Python实现

目录 1.算法流程步骤 2.算法核心代码 3.算法效果展示 1.算法流程步骤 #算法的核心就是利用scipy中的interpolate来完成工作 #一共是5种一维插值算法形式: #插值方法:1.阶梯插值 2.线性插值 3.2阶样条插值 4.3阶样条插值 #"nearest"阶梯插值 #"zero&…

硬盘数据恢复的基础操作方法分享

确定硬盘故障类型:在进行硬盘数据恢复之前,首先需要确定故障类型是硬件故障还是软件故障。如果是软件故障,可以尝试使用数据恢复软件进行恢复;如果是硬件故障,则需要求助专业数据恢复公司进行处理。 使用数据恢复软件…

JavaScript基础05——字面量、变量介绍及变量基本使用

哈喽,大家好,我是雷工! 说起变量感觉很熟悉,但要让解释什么是变量时,却有点语塞,就像解释下为啥112一样,感觉非常熟悉,就是知道,但确解释不出来。 不过虽然在其他场景比较…

机器学习——线性回归/岭回归

0、前言: 线性回归会用到python第三方库:sklearn.linear_model中的LinearRegression导入第三方库的方法:from sklearn.linear_model import LinearRegression使用LinearRegression(二维数据,一维数据)进行预测,其中数…

MySQL中的索引事务(2)事务----》数据库运行的原理知识+面试题~

本篇文章建议读者结合:MySQL中的索引事务(1)索引----》数据库运行的原理知识面试题~_念君思宁的博客-CSDN博客此时,如果你根据name来查询,查到叶子节点得到的只是主键id,还需要通过主键id去主键的B树里面在…