- Notifications
You must be signed in to change notification settings - Fork0
gotamer/memo
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Memo Life For You
NAME: memo - Memo Life For YouUSAGE: memo [global options] command [command options] [arguments...]VERSION: 0.0.4COMMANDS: new, n create memo list, l list memo edit, e edit memo delete, d delete memo grep, g grep memo cat, v view memo config, c configure serve, s start http server help, h Shows a list of commands or help for one commandGLOBAL OPTIONS: --help, -h show help --version, -v print the version
$ go install github.com/mattn/memo@latest
Let's start create memo file.
$ memo newTitle:
Input title for the memo, then you see the text editor launched. After saving markdown, list entries withmemo list
.
$ memo list2017-02-07-memo-command.md : Installed memo command
And grep
$ memo grep command2017-02-07-memo-command.md:1:# Installed memo command
runmemo config
.
memodir ="/path/to/you/memo/dir"# specify memo directorymemotemplate ="path/to/tmpl.txt"# optional memo template file. default '~/.config/memo/template.txt'editor ="vim"# your favorite text editorcolumn =30# column size for list commandselectcmd ="peco"# selector command for edit commandgrepcmd ="grep -nH"# grep command executableassetsdir ="/path/to/assets"# assets directory for serve commandpluginsdir ="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 yourpluginsdir
, memo can use it as a subcommand.For example, If you placefoo
file in yourpluginsdir
, you can run it bymemo 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)
About
📓 Memo Life For You
Topics
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- Go83.2%
- Shell10.4%
- Makefile5.1%
- Batchfile1.3%