Memo Life For You
NAME:
memo - Memo Life For You
USAGE:
memo [global options] command [command options] [arguments...]
VERSION:
0.0.4
COMMANDS:
new, n create memo
list, l list memo
edit, e edit memo
delete, d delete memo
grep, g grep memo
config, c configure
serve, s start http server
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
$ go get github.com/mattn/memo
Let's start create memo file.
$ memo new
Title:
Input title for the memo, then you see the text editor launched. After saving markdown, list entries with memo list
.
$ memo list
2017-02-07-memo-command.md : Installed memo command
And grep
$ memo grep command
2017-02-07-memo-command.md:1:# Installed memo command
run memo config
.
memodir = "/path/to/you/memo/dir" # specify memo directory
memotemplate = "path/to/tmpl.txt" # optional memo template file. default '~/.config/memo/template.txt'
editor = "vim" # your favorite text editor
column = 30 # column size for list command
selectcmd = "peco" # selector command for edit command
grepcmd = "grep -nH" # grep command executable
assetsdir = "/path/to/assets" # assets directory for serve command
pluginsdir = "path/to/plugins" # plugins directory for plugin commands. default '~/.config/memo/plugins'.
memodir, memotemplate and assetsdir can be used ~/
prefix or $HOME
or OS specific environment variables. editor, selectcmd and grepcmd can be used placeholder below.
placeholder | replace to |
---|---|
${FILES} | target files |
${DIR} | same as memodir |
${PATTERN} | grep pattern |
You can use memo template using Go's text/template format. A template receives the following attributes.
- Title
- Date (format: %Y-%m-%d %H:%M)
- Categories (always empty)
- Tags (always empty)
The following is a template example to apply YAML Frontmatter.
---
title: {{.Title}}
date: {{.Date}}
---
{{.Title}}
===========
You can also use glidenote/memolist.vim's template format like following.
title: {{_title_}}
==========
date: {{_date_}}
tags: [{{_tags_}}]
categories: [{{_categories_}}]
----------
Command | Configuration |
---|---|
GNU Grep | grepcmd = "grep -nH" #default |
ag | grepcmd = "ag ${PATTERN} ${DIR}" |
jvgrep | grepcmd = "jvgrep ${PATTERN} ${DIR}" |
Command | Configuration |
---|---|
gof | selectcmd = "gof" |
cho | selectcmd = "cho" |
fzf | selectcmd = "fzf" |
You can extend memo with custom commands.
Place an executable file in your pluginsdir
, memo can use it as a subcommand.
For example, If you place foo
file in your pluginsdir
, you can run it by memo foo
.
Below is spec of plugins:
- MUST handle
-usage
option to show briefly, at least. - MUST NOT handle
--xxx
option. - MUST NOT use multi-byte strings in the usage.
MIT
Yasuhiro Matsumoto (a.k.a. mattn)