有什么东西慢慢偏离了发明者的初衷呢?

如果列个表,或许能绕赤道几周,Github,应该也能算一个。Github本来是专门用来托管代码的一个远程仓库,让开发者们可以发现、分享以及一起开发优秀的软件产品。但是它能托管的并不只有代码,因此你偶尔会发现一些奇奇怪怪的东西混了进来,例如看穿一切的NoCode、中国诗词大全以及程序猿避坑指南等。

这也不奇怪,毕竟Github提供的是一个托管的机制,至于托管的是什么这就交给用户自己了。

偶然的发现,可以把Github是一个非常好的做笔记的软件,食用起来比有道、印象还香。

起因

最近一直在寻找一款做笔记软件,毕竟古人早就发现了“好记性不如烂笔头”这个亘古不变的真理。有时候记录一些琐碎的知识,比如_如何配置Samba服务器Ubuntu16.04如何编译Caffe_ ,等等,可能很久不用一次,回头再需要的时候你已经忘了,有个笔记可以省去重新检索的烦恼。主要期望有以下几点:

  1. 免费(哈哈);
  2. 能放到服务器:自己的电脑是靠不住的,只有本地有的孤本吃枣药丸;
  3. 支持Markdown:Markdown是一个可以用普通文本写出结构化文档的标记语言,目前有多种支持Markdown的编辑器,这就使得笔记的显示效果跨平台、跨应用。同样一份文档,不管拿到那里都基本能得到统一的显示效果。永远也不会忘记当初写论文在自己电脑上排版特别精美,一去打印一团乱麻的噩梦,所以统一的显示效果特别重要。
  4. 支持足够深的层级结构:方便归类,所有东西都放到一个文件夹里面的结果和什么都没有差不多;
  5. 有网页版,不需要下载客户端:自己家里电脑装的Ubuntu,公司Windows+Ubuntu,目前很多桌面软件对Linux支持不好;
  6. 支持笔记下载和上传:自己的笔记只能存在于某个平台上这是不能忍的;
  7. 支持保存非markdown内容:平时可能偶尔在网上找到一些认为比较好的PDF之类的资料,直接当参考资料,当然自己备份,网上的东西谁知道下一秒它的服务器还在不在;
  8. 支持批量上传下载(可选):方便5、6点的批量操作,万一哪天哪个平台倒了,如果只能一个个操作不得累死。杞人忧天?也许吧;
  9. 支持VIM(可选):解放鼠标的利器啊。

搜寻

按照自己的期望,我开始了一番查找:

  1. 印象笔记:网页版不支持Markdown,果断放弃;
  2. 有道云笔记:除了第7、8条都满足,但是使用Markdown缺点明显;
  3. OneNote:不支持Markown;
  4. 简书:只有一个文档编辑功能,离要求很远;

后面又试了几个,基本没有能打过有道的了。到了这里好像只能选有道云笔记了,但是有道云笔记有个两个缺点:

  1. 不支持解析LaTex公式,这个还能接受,毕竟用的不是很多;
  2. 需要显示图片的时候,需要先上传图片,然后再分享获得链接再通过![]()标记来显示,这个太麻烦了。并且,由于图片已经被分享出去了,这就存在安全因患了。

都说念念不忘,必有回响。今天看在Github上浏览代码的时候突然想到,能不能通过Github托管一个仓库来实现?细数的下来,期望的1~8点都能满足,后续如果能找到个CHROME VIM插件就完美了。

Github优点显而易见,因为本身已经熟悉了Git的常规操作,上传下载轻而易举。并且由于它核心是Git,可以轻松实现备份,最多写个脚本就好了,毕竟是自己的专业。Github一份、Gitee一份、本地还可以有一份,万一哪天Github真把中国区锁了(毕竟这个魔幻的年份),Gitee还有。如果三份一起丢失,那就是命吧。
另外由于它基于Git,文档一路的变迁都有迹可寻,只要修改提交了,就不用担心后续手贱删除了什么东西。是要.git这个地基还在,我们就能重建家园。

缺点?也一样不支持LaTex、编辑和预览不同步、没有导航栏、不支持在浏览器上拖拉式的调整目录结构,但瑕不掩瑜,而且导航栏问题可以通过Chrome插件解决。

搭建过程

  1. 首先,你要有一个Github账号,如果没有https://github.com/ 注册一个。

  2. 第二步,登陆并创建一个私有仓库:
    i. 点击页面右上方+号选择New epository

    ii. 填写仓库的信息,如名字、简介等。如果你是电脑上已经有了笔记想迁移到Github,注意别勾选Initialize this repo with README。最关键的是勾选Private选项,这样创建的就是个私有仓库,否则你的笔记就是所有人都能查看了:

  3. 显示侧边栏:下载安装Chrome插件Octotree。如果无法访问Google extension store的可以到我Github仓库取(见文末链接)。如果是私有仓库需要配置下,添加github token,安装完成后页面就变成了这样:

这样,一个笔记本仓库就创建完成了。

做笔记

  1. 进入仓库,点击仓库又上方的Create new file按钮:

  2. 输入笔记的名字。斜杠/之前的名字会被当作目录。例如输入ImgOfDeme/demo.mdImgOfDeme会被当作目录,demo.md才是文件的名字。注意只又后缀是.md结尾的文件点击预览的时候才能被格式化,否则就是一个普通的文本:

  1. 填写好名字,就可以开始编辑了:

  2. 编辑过程中如果想查看效果,点击编辑框左上角Preview即可查看到格式化的内容:

  3. 编辑完成或者编辑过程中想要保存,点击页面最下方Commit a new file即可,描述主要用于概述你本次提交做了啥,可填可不填,毕竟是笔记又不是代码;

  4. 上传一个文件的操作也类似。

批操作

批量下载

可能,经过一番积累,你在仓库里已经有了很多笔记,想要批量打包到本地电脑,做备份或者其他。操作也很简单:直接下载ZIP压缩包或者使用命令行克隆仓库到本地。

  1. 直接下载ZIP包:点击仓库右上角Clone or download ,在下拉菜单中选择Download ZIP下载完成后解压缩即可。

  2. 命令行克隆到本地:同样点击仓库右上角Clone or download ,在下拉菜单中复制所给出的地址,在命令行中输入下面命令,稍后片刻就好了:

# 执行下面命令需要现在本地安装Git
cd /path/to/the/directory/you/want/your/repo/reside
# Windows: cd C:\\your\path or cd D:\\your\path or ......
git clone <paste the address you just copied here>

批量上传

批量上传最爽的还是使用Git:

cd /your/note/
# If this repo is cloned from github you don't need to init
git init
# If this repo is cloned from github you don't need to add remote otherwise you want to push it to another server
# origin is arbitary name, you can replace it with whatever you want, it specify which remote repo you want
# your repo to be pushed to.
git remote add origin <paste the address you just copied here, you can get it the same way as download>
git add .
git commit -m "<your commit description>"
git push origin master
<enter your github username>
<enter your password>

如果是在浏览器上操作,就点击Upload files按提示操作即可。

Markdown

顺路简单介绍下Markdown语法。其实常用的就那么几个:

  1. 标题;
  2. 段落;
  3. 列表;
  4. 图片;
  5. 链接;
  6. 表格;
  7. 引用;
  8. 块;
  9. 强调。

标题

标题使用#表示,从#######一共六级,井号月多标题越小,#从一行顶格开始,和标题名字中间用空格分开,例如:

# 这是一号标题
## 这是二号表标题
### 三号
###### 六号

显示效果如下:

这是一号标题

这是二号表标题

三号

六号

段落

段落之间通过两个空格+回车 区分,如果一行的结尾直接回车跟下一段,这两段显示的时候其实会显示成同一段。

列表

列表可分为有序列表和无序列表,由于列表与一般的列表相同,通过1.列表12. 列表2...这样的方式,无序列表通过星号*、加号+和减号-表示,显示效果都一样,例如:

* item1
+ itme2
- item3

会显示成:

  • item1
  • itme2
  • item3

图片

图片的显示方法感叹号+中括号+括号例如我的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BjzumNy1-1587285341226)(https://imgconvert机制,建来csdn传(i.cn/aHg0cHMALy91cGxvYWQtaW8-1hZ2VzLmppYW5zaHUuavdXBsb8FkX2ltYWdlcy7yOTU4Njg2LWUyYTRhY2YyNTlmYmNmYTkucG1n?x-oss-process=image/format,png3)]()]]]]显示成下面这样:

链接

链接和图片类似,只要把图片前面的感叹号去掉就行。例如[LLVM,一堆积木的故事](https://www.jianshu.com/p/9ad4abbffac1)会显示成这样:LLVM,一堆积木的故事

表格

表格语法如下:

|表头1|表头2|表头3|
|:-:|:-:|:-:|
|one|two|three|
|four|five|sixsixsix|

显示如下

表头1 表头2 表头3
one two three
four five sixsixsix

引用

应用使用>表示,可以套娃引用,例如:

> 我引用了别人的一段话
>> 我引用了别人引用别人的一段话的一段话
>>> 我引用了别人引用别人引用别人的一段话的一段话的一段话

显示效果如下:

我引用了别人的一段话

我引用了别人引用别人的一段话的一段话

我引用了别人引用别人引用别人的一段话的一段话的一段话

块,更多的是用在显示代码,它可以保留代码的原是结构,当然,其实任何文本都可以放进去,它使得里面的文本不会被Mardown渲染成特殊显示效果,例如

# Infact I don't need to import anything, just an example
import torch
print('This is how code should be shown')

使用的方法是使用三个连续反引号(`,键盘左上方esc键下方,不是回车键旁边)将待码快包起来,反引号单独一行,顶格。行内的块用单个反引号

强调

  1. 斜体:使用两个星号包裹,例如*斜体内容*显示成斜体内容
  2. 粗体:使用两个星号包裹,例如**粗体内容**显示成粗体内容
  3. 斜体+粗体:使用三个星号包裹,例如***斜体+粗体内容***显示成***斜体+粗体内容***。

星号也可以用下划线代码,效果是一样的。

更多

更多更详细的语法请移步https://daringfireball.net/projects/markdown/syntax

总结

这还有啥总结的?唯一的遗憾始终没有找到一款VIM插件。

首发于个人微信公众号TensorBoy。微信扫描上方二维码或者微信搜索TensorBoy并关注,及时获取更多最新文章!
C++ | Python | 推理引擎 | AI框架源码,有一起玩耍的么?

Materials

https://github.com/zmychou/materials-for-sharing/blob/master/tools/Octotree-bkhaagjahfmjljalopjnoealnfndnagc-4.2.1-Crx4Chrome.com.crx

使用Github+Markdown搭键自己的笔记本相关推荐

  1. 实施:GitHub + MarkDown 文档系统的工作环境部署及工作流程说明 | 技术传播

    前段时间有幸参与了开源社区的活动,并且借由 Apache Pulsar 项目实践了 GitHub + MarkDown 的文档开发.在与开源社区的童鞋进行交流的过程中了解到,对于非技术专业的TCer, ...

  2. Fn键的功能笔记本fn键在哪?

    Fn键的功能就是一个组合功能键,用它和一些特定的键配合,可以快速实现一些常用操作,例如:音量调整.屏幕亮度调整,小键盘区开启等功能,方便大家使用.       笔记本fn键在哪       笔记本电脑 ...

  3. 背光小键盘,B.FRIENDit壁虎忍者MK2有线吃鸡游戏键盘 87键G轴笔记本台式电脑机械键盘

    B.FRIENDit壁虎忍者MK2背光小键盘 有线吃鸡游戏键盘 87键G轴笔记本台式电脑机械键盘 黑色 产品参数: 品牌:B.FRIENDit 产品名称:BFRIENDIt背光小键盘 有线吃鸡游戏键盘 ...

  4. Github Markdown 指定图片在光亮或暗黑模式展示

    Github 根据系统配置不同的主题模式: 如果想要在光亮模式和暗黑模式显示不同的主题的图片,比如以下就是同一个图片在暗黑模式和光亮模式下展示: 解决方案 在markdon 的图片链接后添加#gh-d ...

  5. 台式计算机上的fn键是哪个,笔记本上fn是哪个键fn键功能详解【方法详解】

    最近有朋友问了小编fn是哪个键?其实这个很简单的,并且fn键还牵扯到许多的便捷功能,下面小编就来教教大家fn是哪个键,又应该如何使用fn键. 一.哪个是fn键 fn键很好找它就在笔记本键盘左下角ctr ...

  6. Markdown两键排版微信公众号文章

    目前已知最简单的微信公众号文章插图与排版方法.零基础图文教程.教会了也不收费哦. :-P 痛点 前些日子,我写了一篇<Markdown懒办法排版微信公众号文章>,很受读者欢迎.简书平台上该 ...

  7. 【小沐学Python】Python实现在线电子书(MkDocs + readthedocs + github + Markdown)

    文章目录 1.简介 2.安装 3.创建新项目 4.添加页面 5.编辑导航页 6.设置主题 7.更改图标图标 8.构建网站 9.部署 9.1 准备github项目 9.2 注册登录Read the Do ...

  8. win键失效(笔记本自带键盘和外接键盘)

    环境:Win10系统 设备:华为笔记本电脑MateBook D 问题:笔记本自带键盘以及外接键盘的其他按键都确认没有其他的问题,只是Win键失效了 解决步骤: (1)笔记本自带键盘 先确认下是不是键盘 ...

  9. 【小沐学Python】Python实现在线电子书(Sphinx + readthedocs + github + Markdown)

    文章目录 1.简介 2.安装 3.创建测试工程 4.项目文件结构 5.编译为本地文件 6.编译为http服务 7.更改样式主题 8.支持markdown 9.修改文档显示结构 10.项目托管到gith ...

最新文章

  1. layui 横向表单_对layui中表单元素的使用详解
  2. 我的随笔之三——今年过年快乐吗?
  3. linux mysql 更改MySQL数据库目录位置
  4. jittor和pytorch网络对比之context_encoder
  5. [转]PHP: 深入pack/unpack
  6. 32位地址的寻址方式
  7. android 云应用开发,Android云应用开发:网络通信技术介绍
  8. Css中Position属性的含义
  9. C语言模拟质点运动轨迹坐标,C语言定时器的使用 计算质点运动的移位
  10. 前后端敏感数据加密方案及实现_01
  11. 的电路接法_基本震荡电路知多少,汇总几种震荡电路的接法!
  12. 苹果7支持快充吗_iPhone12的磁吸无线充到底怎么回事?是否支持苹果20W快充?
  13. Android Fragment 真正的完全解析(上) (转载)
  14. openmv探索_3_测距以及测量物体大小
  15. 超级APP势不可挡--20190706
  16. 两个三维向量叉积_俩个三维向量叉乘怎么算啊?
  17. 生物信息学biojava|从本地读取并解析遍历genbank文件|从genbank中提取CDS等注释信息
  18. Java基础13:反射详解
  19. 聊一聊,android程序员前景如何
  20. 道阻且长,行则将至,行而不辍,未来可期

热门文章

  1. web前端期末大作业 html+css+javascript网页设计实例 企业网站制作 (绿色植物网站设计)
  2. 计算机科学着重于理论和算法,大学计算机-中国大学mooc-题库零氪
  3. 01-复杂度2 Maximum Subsequence Sum (25分)(数据结构)(C语言实现)
  4. 使用 VMware Server 在 Oracle Enterprise Linux 上安装 Oracle RAC 10g
  5. GNS3 安装图解 简单易学 多操作几遍就能记住
  6. Tekton实战案例--S2I
  7. 卡尔曼滤波简介 —— 一维卡尔曼滤波
  8. 测试小故事74:没有计划的日子
  9. OpenWrt 固件编译教程
  10. 所生成项目的处理器架构“MSIL”与引用“ ”的处理器架构“AMD64”不匹配。