aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/niwa.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/niwa.sh')
-rw-r--r--scripts/niwa.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/niwa.sh b/scripts/niwa.sh
new file mode 100644
index 0000000..623763d
--- /dev/null
+++ b/scripts/niwa.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/bash
+
+# 配置变量
+GARDEN_DIR="$HOME/niwa" # 项目根目录
+NOTES_DIR="$GARDEN_DIR/notes" # 每篇笔记的目录
+SCRIPTS_DIR="$GARDEN_DIR/scripts" # 脚本文件目录
+PUBLIC_DIR="$GARDEN_DIR/public" # html文件目录
+TEMPLATE_FILE="$GARDEN_DIR/template/template.org" # 模板文件目录
+
+# 命令
+COMMAND_NEW="new" # 新建笔记
+COMMAND_BUILD="build"
+
+
+new_note() {
+ file_name=$1
+ cp $TEMPLATE_FILE "$NOTES_DIR/${file_name}.org" && echo "创建笔记成功:$NOTES_DIR/${file_name}.org"
+ echo "#+EXPORT_FILE_NAME: $PUBLIC_DIR/${file_name}.html" >> "$NOTES_DIR/${file_name}.org"
+}
+
+build() {
+ emacs --batch \
+ -l ~/.config/emacs/lisp/doom.el \
+ -l "${SCRIPTS_DIR}/publish.el" \
+ --eval "(org-publish-project \"niwa\" t)"
+}
+
+if test $1 = $COMMAND_NEW; then
+ new_note $2
+fi
+
+if test $1 = $COMMAND_BUILD; then
+ build
+fi