Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aborn/leanote-emacs
A minor mode writing markdown note using leanote platform in emacs.
https://github.com/aborn/leanote-emacs
emacs leanote leanote-emacs leanote-mode
Last synced: 30 days ago
JSON representation
A minor mode writing markdown note using leanote platform in emacs.
- Host: GitHub
- URL: https://github.com/aborn/leanote-emacs
- Owner: aborn
- Created: 2016-07-10T03:37:47.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-02T11:02:35.000Z (almost 7 years ago)
- Last Synced: 2024-08-02T01:26:12.814Z (3 months ago)
- Topics: emacs, leanote, leanote-emacs, leanote-mode
- Language: Emacs Lisp
- Homepage:
- Size: 327 KB
- Stars: 30
- Watchers: 5
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# leanote-mode
[![Build Status](https://travis-ci.org/aborn/leanote-emacs.svg?branch=master)](https://travis-ci.org/aborn/leanote-emacs)
[![MELPA](https://melpa.org/packages/leanote-badge.svg)](https://melpa.org/#/leanote)
[![MELPA Stable](https://stable.melpa.org/packages/leanote-badge.svg)](https://stable.melpa.org/#/leanote)
[![POPKIT ELPA](https://elpa.popkit.org/packages/leanote-badge.svg)](https://elpa.popkit.org/#/leanote)A minor mode writing notes in emacs with elegant way [leanote](https://leanote.com/[leanote])
and its [open source platform](http://leanote.org/).## Install
Install it from elpa source package (i.e. [melpa](https://melpa.org/) or [popkit elpa](https://elpa.popkit.org/)).
```elisp
M-x package-install RET leanote RET
```
Manually install, download leanote.el file to folder */path/to/leanote/*
```elisp
(add-to-list 'load-path "/path/to/leanote/")
(require 'leanote)
(add-hook 'markdown-mode-hook
(lambda ()
(leanote)
(leanote-spaceline-status) ;; optional, use it if necessary
))
```## Usage
After install, add following code to your init(.emacs or init.el anyway) file.
```elisp
(add-hook 'markdown-mode-hook 'leanote)
```
**Note:** Config your own server api if you use youself host(vps) as following
```elisp
(setq leanote-api-root "https://your-domain/api")
```## Actions
* M-x leanote-login ------------ login to server.
* M-x leanote-sync ------------- sync all notes from server to local.
* M-x leanote-push ------------- push current note to remote server (include create new).
* M-x leanote-pull ------------- pull and force update current note from server.
* M-x leanote-find find -------- all notes in current account(default use swiper).
* M-x leanote-helm-find -------- find all notes in current account(helm).
* M-x leanote-delete ----------- delete current note.
* M-x leanote-rename ----------- rename current note.
* M-x leanote-notebook-create -- create new notebook.
* M-x leanote-notebook-delete -- delete current notebook.## Hotkey for action
* **C-x C-l u** leanote-push
* **C-x C-l r** leanote-rename
* **C-x C-l f** leanote-find
* **C-x C-l o** leanote-pull
* **C-x C-l n** leanote-notebook-create## Leanote status
First of all, install spaceline (need 2.x version), install leanote status by *M-x leanote-spaceline-status* or add following code to your init file.
```elisp
(add-hook 'markdown-mode-hook
(lambda ()
(leanote)
(leanote-spaceline-status) ;; optional, use it if necessary
))
```
The mode line show it status when markdown file is leanote,
![](images/status.png "mode line status")
What's more, when leanote note is modified local (without push to remote), the mode line show **leanote***
![](images/statusm.png "mode line status modified")
Not login status
![](images/status-unlogin.png "not login status")
Already login status
![](images/status-login.png "already login status")
Need sync with remote
![](images/status-update.png "need update current note")
New note status, which need to push to remote
![](images/statusnewnote.png "new note need to push to remote")## Leanote log
All logs are recorded in \*Leanote-Log* buffer.English version readme ends here. Chinese readme provided as follows.
--------------------------------------------------------------------------------
# leanote-mode
leanote-mode是emacs下的一个**minor-mode**,使得你能在emacs下优雅的记笔记。同时,
可采用[leanote](https://leanote.com/)提供的服务保存markdown格式的笔记内容。## 安装
从elpa的源中进行安装(如[melpa](https://melpa.org/) 或者 [popkit elpa](https://elpa.popkit.org/).)
```elisp
M-x package-install RET leanote RET
```
手工安装,下载leanote.el文件到文件夹*/path/to/leanote/*
```elisp
(add-to-list 'load-path "/path/to/leanote/")
(require 'leanote)
(add-hook 'markdown-mode-hook
(lambda ()
(leanote)
(leanote-spaceline-status) ;; optional, use it if necessary
))
```## 使用
将下面代码添加到你emacs的启动文件(.emacs 或者 init.el 或者 .spacemacs)
```elisp
(add-hook 'markdown-mode-hook 'leanote)
```
如果你是自己部署leanote的服务,配置自己服务的api
```elisp
(setq leanote-api-root "https://your-domain/api")
```## 常用功能
* M-x leanote-login ------------ 登录服务器
* M-x leanote-sync ------------- 同步所有远端笔记到本地
* M-x leanote-push ------------- 将当前本地笔记上传到远端(如果远端没有就创建之)
* M-x leanote-pull ------------- 强制同步当前笔记为远端内容
* M-x leanote-find ------------- 查找当前账号下所有本地笔记
* M-x leanote-delete ----------- 删除当前笔记
* M-x leanote-rename ----------- 重命名当前笔记
* M-x leanote-notebook-create -- 新建立笔记本
* M-x leanote-notebook-delete -- 删除当前笔记本## 常功能绑定的快捷键
* **C-x C-l u** leanote-push
* **C-x C-l r** leanote-rename
* **C-x C-l f** leanote-find
* **C-x C-l o** leanote-pull
* **C-x C-l n** leanote-notebook-create## leanote状态显示
leanote状态需要安装2.x及以上版本的spaceline,然后通过*M-x leanote-spaceline-status*
或者将下列代码加入到你emacs初始配置文件里(这样不用每次打开emacs执行上面命令)。
```elisp
(add-hook 'markdown-mode-hook
(lambda ()
(leanote)
(leanote-spaceline-status) ;; optional, use it if necessary
))
```
当一个markdown文件为leanote时,其mode line会显示出来,如下:
![](images/status.png "mode line status")
当一个leanote文件只是在本地修改了,没有同步到远端的时,状态显示为**leanote***,如下:
![](images/statusm.png "mode line status modified")
没有登录时的状态
![](images/status-unlogin.png "not login status")
已经登录时的状态
![](images/status-login.png "already login status")
本地笔记没有远程笔记新时,需要同步远程笔记时的状态
![](images/status-update.png "need update current note")
还没有push到远端的新笔记状态
![](images/statusnewnote.png "new note need to push to remote")## 操作日志
所有的操作日志被记录在\*Leanote-Log* 这个buffer里。## FAQ
* 出现Could not create connection to leanote.com:443?
答:windows下emacs 24.5及以下版本是不支持TLS,要手动安装一个TLS库,见这个[博客](http://www.lonecpluspluscoder.com/2015/08/01/adding-tls-support-to-emacs-24-5-on-windows/)。