背景

操作系统切换为Deepin以后,因为没有windows,各家的云笔记产品,几乎对Linux都没有很好的支持。

  • 印象笔记,没有linux版本,web版本不支持markdown

  • 为知笔记,需要收费,60元/一年,linux客户端的markdown支持不算优秀

  • 有道云笔记,deepin应用商店有网页版的应用,web版本也支持markdown,但是markdown编辑区没有比较好的快捷键,需要用鼠标去选择格式,对我来说也不太友好

所以云笔记系统需要重新搭建。

我对笔记系统的需求如下:

  • 可以创建markdown笔记

  • 编辑器支持各种方便的markdown快捷键操作

  • 支持全文搜索

  • 支持笔记自动同步到云端

  • 笔记可以方便的复制到简书,方便我同步发布笔记

综合以上需求,可以使用本地typora+坚果云系统实现


Deepin安装坚果云,同步笔记文件夹

首先下载tar.gz包

wget https://www.jianguoyun.com/static/exe/installer/nutstore_linux_dist_x64.tar.gz -O /tmp/nutstore_bin.tar.gz

创建本地文件夹,并解压缩

mkdir -p ~/.nutstore/dist && tar zxf /tmp/nutstore_bin.tar.gz -C ~/.nutstore/dist

运行安装脚本安装即可

~/.nutstore/dist/bin/install_core.sh

运行该脚本即可启动

cd ~/.nutstore/dist/bin && ./nutstore-pydaemon.py

另外,可以把这个启动脚本,右键添加到桌面,双击即可执行。

启动后,点击创建同步文件夹,把Typora的根目录文件拉到坚果云中,就可以实现修改自动同步了。

坚果云,免费版本,支持上传1G/月,下载3G/月,对我来说也足够使用。

全文检索

上面提到过,我比较关注全文检索的功能,Typora中只支持单个文件的搜索,那么应该如何实现呢?

其实我使用了linux的grep命令,实现全文检索,具体命令行如下:

cd 笔记目录 && grep -rn "有道" *

切换到笔记根目录,并且使用递归搜索匹配字符串,并且显示出字符串所在文件的行号,具体命令参数网络搜索一下即可。

搜索有道时,可以看到,查到了两个文件包含关键字,分别是Deepin下搭建云笔记.md和test.md,并且显示了对应文章中的行号。

ging@ging-PC:~/Documents/linux-text/技术文章$ grep -rn "有道" *
Deepin下搭建云笔记.md:7:- 有道云笔记,deepin应用商店有网页版的应用,web版本也支持markdown,但是markdown编辑区没有比较好的快捷键,需要用鼠标去选择格式,对我来说也不太友好
test.md:1:有道

Linux-Deepin下搭建云笔记的更多相关文章

  1. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  2. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  3. ​Linux环境下搭建禅道管理工具-包含软件资源

    ​Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...

  4. linux系统下搭建自己的web服务器

    之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...

  5. linux环境下搭建环境发布web项目

    在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享: 这里主要分为5部分:1.安装jdk,并配置环境变 ...

  6. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  7. linux环境下搭建MySQL

    linux下搭建mysql的方式很多,网上也详解了很多种搭建方式,有直接yum的.有rpm的..总之,“坑”是层出不穷,有相关文件依赖性.权限.GPG keys等等. 本人也在今天搭建了一下.是出“坑 ...

  8. Linux环境下搭建禅道

    如何在Linux下搭建禅道 查看Linux版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 禅道官网下载Linux ...

  9. OpenCV在Linux(Fedora)下搭建开发环境简述

    盼望了好久的Fedora21终于发行了.先来晒一张图: 默认桌面还是那么简洁: 好了,废话少说.来看看在Fedora下搭建opencv开发环境,因为我已经搭建好了(过程比较艰辛) 先注明参考文章,感谢 ...

  10. 在Linux系统下搭建和配置一个minio文件服务器(二)

    上一篇主要讲述了在linux系统中搭建一个minio文件服务器,那么这一篇则用来整合java代码中使用,我之前自己已经搭建好了一个springboot项目,那么这一篇将详细讲述如何把minio整合进s ...

随机推荐

  1. 探索Python @dataclass的内部原理

    之前写过一篇介绍Python中dataclass的文章:<掌握python的dataclass,让你的代码更简洁优雅>. 那篇侧重于介绍dataclass的使用,今天想探索一下这个有趣的特 ...

  2. 正在测试和完善的CH552(CH549)USB下载之单按键带入电路实验

    一.设计理由 CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平.时序上是这样的:断电--按下接UDP的轻触开关 ...

  3. WxPython跨平台开发框架之使用PyInstaller 进行打包处理

    使用PyInstaller 打包Python项目是一个常见的需求,它可以将Python程序及其所有依赖项打包成一个独立的可执行文件或者安装文件,方便在没有安装Python环境的机器上运行.本随笔介绍W ...

  4. ffmpeg 去除音频中的静音

    去除音频中的静音 //去除所有超过0.3秒的静音部分 ffmpeg -i input.mp3 -af silenceremove=stop_periods=-1:stop_duration=0.3:s ...

  5. ASP6.0 (VB) 获取目录下所有图片文件

    <% 'Desc : ASP6.0 (VB) 获取目录下所有图片文件 'by : wgscd 'date : 2024-2-1 dim c_path c_path=Server.MapPath( ...

  6. c# C#设置WebBrowser使用Edge内核

    开始尝试是用 Microsoft.Toolkit.Forms.UI.Controls.WebView,后来发现一大堆问题,还要求WIN10 SDK的版本之类的. 网上看到的简单的解决办法(只需要修改注 ...

  7. MySQL---约束、主从复制原理、Docker搭建

    MySQL(11)---约束 含义: 一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性. 先把Mysql几种约束列出来: 主键约束 外键约束 唯一性约束 非空约束 默认值约束 自增约束 ...

  8. PDCA使用指南详解(史上最强)

    PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...

  9. 计算今天是该年的第几天(c语言实现)

    遇到一个有意思的编程题,使用C语言实现计算今天是该年的第几天. 实现代码如下: #include<stdio.h> int d[12]={31,28,31,30,31,30,31,31,3 ...

  10. dart方法之间的调用和可选参数的使用

    01==> 方法封装 void main() { //直接调用 say('好好读书,天天向上'); } say(say) { print(say); } 02==>方法之间的调用 void ...