diff --git a/README.md b/README.md index 73e3f40..2d74adc 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,14 @@ # memo -A simple memo tool written in bash. +A simple tool written in bash to memorize stuff. -Memo are organized in topic which are folders in `~/memo` +Memo organizes is structured through topics which are folders in `~/memo`. -You can copy file to you topic and you can search across all your -topics. +## Features + +* add text to a topic to memorize it +* search for strings in your memo-database +* copy/import files to topic folder. ## Run @@ -22,10 +25,8 @@ topics. ## Configuration -to change the folder where the memo files are kept just add +to change the folder where memo kept its files just add export MEMO_DIR=/path/to/memo/folder in your `~/.bashrc`. - - diff --git a/doc/memo.1 b/doc/memo.1 new file mode 100644 index 0000000..683f564 --- /dev/null +++ b/doc/memo.1 @@ -0,0 +1,86 @@ +.\" Text automatically generated by txt2man +.TH memo 1 "19 June 2017" "doc" "Linux Reference Manual" +.SH NAME +\fBmemo +\fB +.SH SYNOPSIS +.nf +.fam C +\fBmemo\fP [\fIarguments\fP] + +.fam T +.fi +.fam T +.fi +.SH DESCRIPTION +A tool to memorize stuff. +It saves files $MEMO_DIR ($HOME/\fBmemo\fP by default). +The structure is $MEMO_DIR//memo.md +You can also copy files in the topic folder as well. +.PP +We call the folder $MEMO_DIR/ a 'topic folder'. +.RE +.PP + +.SH COMMANDS +.TP +.B +add [text] +adds text to the memo.md in the topic folder. +if text is not given it will read from stdin. +.TP +.B +copy +copy a file to the topic folder. +.TP +.B +search +search for a term in $MEMO_DIR using ack. +.TP +.B +show +shows memo.md in the topic folder. +also showes a list of all files in the topic folder +.TP +.B +list +prints a list of all topics. +.RE +.PP + +.SH CONFIGURATION + +.TP +.B +$MEMO_DIR +holds the folder where to store the \fBmemo\fP files. +Default is $HOME/\fBmemo\fP +.SH EXAMPLE + + +Append the string "A search-engine" to the memo.md file +in the topic "google". +.PP +.nf +.fam C + $> memo add google A search-engine + +.fam T +.fi +Appends the content of "www.google.com" to the memo.md file +the topic "google". +.PP +.nf +.fam C + $> curl www.google.com | memo add google + +.fam T +.fi +Copy the "Invoice.pdf" file to the "lawsuit" topic. +.PP +.nf +.fam C + $> memo copy lawsuit ~/Downloads/Invoice.pdf + + + diff --git a/doc/memo.txt b/doc/memo.txt new file mode 100644 index 0000000..cebd358 --- /dev/null +++ b/doc/memo.txt @@ -0,0 +1,53 @@ +NAME + memo + +SYNOPSIS + memo [arguments] + +DESCRIPTION + A tool to memorize stuff. + It saves files $MEMO_DIR ($HOME/memo by default). + The structure is $MEMO_DIR//memo.md + You can also copy files in the topic folder as well. + + We call the folder $MEMO_DIR/ a 'topic folder'. + + +COMMANDS + add [text] adds text to the memo.md in the topic folder. + if text is not given it will read from stdin. + + copy copy a file to the topic folder. + + search search for a term in $MEMO_DIR using ack. + + show shows memo.md in the topic folder. + also showes a list of all files in the topic folder + + list prints a list of all topics. + + +CONFIGURATION + + $MEMO_DIR holds the folder where to store the memo files. + Default is $HOME/memo + +EXAMPLE + + + Append the string "A search-engine" to the memo.md file + in the topic "google". + + $> memo add google A search-engine + + Appends the content of "www.google.com" to the memo.md file + the topic "google". + + $> curl www.google.com | memo add google + + Copy the "Invoice.pdf" file to the "lawsuit" topic. + + $> memo copy lawsuit ~/Downloads/Invoice.pdf + + + diff --git a/memo b/memo index 3c77727..f6a5b3a 100755 --- a/memo +++ b/memo @@ -37,17 +37,24 @@ function precondition::provide_topic(){ function add_memo(){ topic_name=$1 - shift - memo=$@ - precondition::provide_topic ${topic_name} - topic_path=${MEMO_FOLDER}/${topic_name} - echo "append memo to ${topic_name}" - cat >>${topic_path}/memo.md <>${topic_path}/memo.md <>${topic_path}/memo.md + cat >>${topic_path}/memo.md - + fi + } @@ -172,6 +179,9 @@ Commands: add [memo] adds a memo.md in ${MEMO_FOLDER}// containing the text + if memo is not given it will read from input + so piping is possible. + Example: cat file.txt | memo add topic copy copy a file to ${MEMO_FOLDER}//