The Wayback Machine - https://web.archive.org/web/20200121152054/https://github.com/mattn/memo
Skip to content
📓 Memo Life For You
Go Shell Batchfile
Branch: master
Clone or download
Latest commit 661b36b Jan 21, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Fix build Nov 29, 2019
misc Add scripts Jan 21, 2020
.gitignore Add .gitignore Jan 21, 2020
README.md add documents for memotemplate Nov 14, 2018
filtertmpl_test.go add TestFilterTmpl Nov 14, 2018
go.mod Use urfave/cli/v2 Jan 19, 2020
go.sum Add go.sum Jan 21, 2020
main.go bump version Jan 21, 2020
renovate.json Add renovate.json Jan 9, 2020
screenshot.gif update screenshot Feb 8, 2017
util_posix.go Fix build Jan 19, 2020
util_windows.go add shellquote Feb 8, 2017

README.md

memo

Memo Life For You

Memo Life For You

Usage

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

Installation

$ 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

Configuration

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

Memo Template

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_}}]
----------

Supported GrepCmd

Command Configuration
GNU Grep grepcmd = "grep -nH" #default
ag grepcmd = "ag ${PATTERN} ${DIR}"
jvgrep grepcmd = "jvgrep ${PATTERN} ${DIR}"

Supported SelectCmd

Command Configuration
gof selectcmd = "gof"
cho selectcmd = "cho"
fzf selectcmd = "fzf"

Extend With Plugin Commands

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.

License

MIT

Author

Yasuhiro Matsumoto (a.k.a. mattn)

You can’t perform that action at this time.