#!/bin/bash ZCOMMENTSDIR="$AK_WORKDIR/comments" TEMP="/tmp/aktmp" if [ ! -d $ZCOMMENTSDIR ]; then mkdir $ZCOMMENTSDIR cd $ZCOMMENTSDIR ak-logthis "[INFO]" "zcommentsdir created" else ak-logthis "[INFO]" "zcommentsdir found" fi create(){ if [ ! -z $1 ] then REFER_TO="$1" else ak-logthis "[ERROR]" "No reference given" echo "[ERROR]" "No reference given" exit 1 fi TEMP="$(ak-tempassin)" cd $TEMP export COMMENTS_FILE="$(date -u +%s)" vi $COMMENTS_FILE echo "Renaming..." TO_FILE=$COMMENTS_FILE IPFS_FILE=$(ak-ipfs-add $COMMENTS_FILE) mv $COMMENTS_FILE $ZCOMMENTSDIR/$TO_FILE add $TO_FILE ak-logthis "[INFO]" "Adding to git repo..." cd $ZCOMMENTSDIR if [ ! -z $REFER_TO ] then ak-reference create $REFERENCE $REFER_TO fi } index(){ FILES="$(ls -1 $ZCOMMENTSDIR)" i=0 for FILE in $FILES do DATE=$(echo $FILE | cut -d - -f 1 | awk '{print $1}') TITLE=$(head -n 1 $ZCOMMENTSDIR/$FILE) echo $i \| $DATE \| $TITLE let i+=1 done } title(){ echo comments } add(){ TEMP="$(ak-tempassin)" cd $TEMP if [ -f "$ZCOMMENTSDIR/$1" ]; then FILE=$ZCOMMENTSDIR/$1 echo "Adding comments from " $FILE DATETIME="$1" FILE_IPFS_HASH=$(ak-ipfs-add $FILE) FILE_SIGN_FILE=$FILE".asc" gpg2 --homedir $AK_GPGHOME --detach-sign --sign-with $AK_FINGERPRINT --armor --output $FILE_SIGN_FILE $FILE FILE_SIGNATURE=$(ak-ipfs-add $FILE_SIGN_FILE) printf '{"datetime":"%s","ipfs":"%s","detach":"%s"}' $DATETIME $FILE_IPFS_HASH $FILE_SIGNATURE > data else echo "File $FILE doesn't exist"; exit 2 fi REFERENCE="$(ak-pack_z_block "comments/add" $(pwd)/data)" if [ $? == 0 ] then echo "Comment added successfully" else echo "error??" exit 1 fi } usage(){ title echo "All you need to know is that there are two options available:" echo "" echo "help Prints this help message" echo "index Prints an indexed table of your comments files" echo "add Creates a data file from the comments file you point to" echo "create Vim is going to pop up, you will write and save your" echo " commentsletter and it's going to be saved" exit 0 } if [ ! -z $1 ]; then case $1 in help) usage; exit;; index) index; exit;; add) add $2 $3; exit;; create) create $2; exit;; * ) usage;; esac else usage fi