1
0
Fork 0
jekyll-diary/Makefile

92 lines
2.3 KiB
Makefile

SHELL := /bin/zsh
DIRECTORY = "_posts"
EXT_ENC = ".aes.b64"
EXT_FILE = ".md"
ENCRYPTION = "aes-128-cbc"
all: usage
usage:
@echo "Usage: "
@echo " make encrypt - checks and encrypts all '$(EXT_FILE)' files in '$(DIRECTORY)'"
@echo " make decrypt - decrypts all '$(EXT_ENC)' files in '$(DIRECTORY)'"
encrypt:
if [ -z "`find $(DIRECTORY) -type f -regex ".*$(EXT_FILE)"`" ]; then;\
echo "Nothing to encrypt. ";\
exit 1;\
fi;\
echo -n "Enter password: ";\
read -s pass;\
echo;\
echo -n "Enter password again: ";\
read -s pass2;\
echo;\
if [ $$pass != $$pass2 ]; then;\
echo "Not matching passwords. ";\
exit 1;\
fi;\
for f in `find $(DIRECTORY) -type f -regex ".*$(EXT_ENC)"`; do;\
export fn=$$(echo $$f | cut -d "." -f 1);\
echo "$$f -> $$fn$(EXT_FILE)";\
openssl base64 -d -in $$f -out $$fn.aes;\
openssl $(ENCRYPTION) -d -salt -in $$fn.aes -out $$fn$(EXT_FILE) -k $$pass;\
if [ $$? -ne 0 ]; then;\
echo "Error: Unable to decrypt with supplied password. ";\
rm $$fn.aes;\
rm $$fn$(EXT_FILE);\
exit 1;\
else;\
rm $$fn.aes;\
rm $$f;\
fi;\
done;\
for f in `find $(DIRECTORY) -type f -regex ".*$(EXT_FILE)"`; do;\
export fn=$$(echo $$f | cut -d "." -f 1);\
echo "$$f -> $$fn$(EXT_ENC)";\
openssl $(ENCRYPTION) -salt -in $$f -out $$fn.aes -k $$pass;\
openssl base64 -in $$fn.aes -out $$fn$(EXT_ENC);\
rm $$fn.aes;\
rm $$f;\
done;\
if [ -e _site ]; then;\
rm -r _site;\
fi;
decrypt:
if [ -z "`find $(DIRECTORY) -type f -regex ".*$(EXT_ENC)"`" ]; then;\
echo "Nothing to decrypt. ";\
exit 1;\
fi;\
echo -n "Enter password: ";\
read -s pass;\
echo;\
for f in `find $(DIRECTORY) -type f -regex ".*$(EXT_ENC)"`; do;\
export fn=$$(echo $$f | cut -d "." -f 1);\
echo "$$f -> $$fn$(EXT_FILE)";\
openssl base64 -d -in $$f -out $$fn.aes;\
openssl $(ENCRYPTION) -d -salt -in $$fn.aes -out $$fn$(EXT_FILE) -k $$pass;\
if [ $$? -ne 0 ]; then;\
echo "Error: Unable to aes-128 decrypt with supplied password. ";\
rm $$fn.aes;\
rm $$fn$(EXT_FILE);\
exit 1;\
else;\
rm $$fn.aes;\
rm $$f;\
fi;\
done;
newpost:
ID="$$(echo 0000$$(($$(ls $(DIRECTORY)/ | wc -l) + 1)) | tail -c 5)";\
FILENAME="$$(date +%y-%m-%d)-$$ID$(EXT_FILE)";\
FILE="$(DIRECTORY)/$$FILENAME";\
echo "Opening file $$FILE...";\
$$EDITOR $$FILE;
server:
@make serve
serve:
@jekyll serve