/storage/emulated/0/Documents/markor/
目录下。创建一个shell脚本,比如 generate_index.sh
,用于递归遍历 /storage/emulated/0/Documents/markor/
目录并生成 index.md
文件。脚本内容如下:
#!/bin/bash
# 指定的目录
directory='/storage/emulated/0/Documents/markor/'
# 生成 Markdown 文件的函数
generate_markdown() {
local directory="$1"
local level="${2:-0}"
local parent_folder="${3:-}"
local markdown_content=""
local folders=()
local non_folders=()
# 遍历目录并生成 Markdown 内容
for file in "$directory"/*; do
local name=$(basename "$file")
if [[ $name != .* && $name != 'README.md' ]]; then
if [[ -d $file ]]; then
# 如果是文件夹,则递归调用 generate_markdown 函数
folders+=("$file")
elif [[ $name != 'index.md' && $name == *.md ]]; then
# 如果是 Markdown 文件且不是主目录下的 index.md,则添加到 non_folders 数组中
non_folders+=("$file")
fi
fi
done
# 添加文件夹里的文件
for file in "${non_folders[@]}"; do
local name=$(basename "$file")
local folder_path="${parent_folder:+$parent_folder/}"
markdown_content+="- [${name%.md}]($folder_path$name)\n\n"
done
# 添加文件夹
for folder in "${folders[@]}"; do
local name=$(basename "$folder")
local sub_content=$(generate_markdown "$folder" $((level + 1)) "${parent_folder:+$parent_folder/}$name")
if [ -n "$sub_content" ]; then
markdown_content+="\n$(printf '#%.0s' $(seq 1 $((level + 1)))) $name\n\n"
markdown_content+="$sub_content"
fi
done
echo -e "$markdown_content"
}
# 生成 Markdown 内容
markdown_content=$(generate_markdown "$directory")
# 将 Markdown 内容写入 index.md 文件
index_path="$directory/index.md"
echo -e "$markdown_content" > "$index_path"
echo "已生成 index.md 文件!"
复制上面的脚本,
nano generate_index.sh
粘贴,ctrl加s保存,ctrl加x退出
在Termux中执行以下命令来运行脚本并生成 index.md
文件:
cd /path/to/script/directory
bash generate_index.sh
如果你的Termux中尚未安装Git,可以使用以下命令进行安装:
pkg install git
在Termux中导航到你的Markor笔记目录:
cd /storage/emulated/0/Documents/markor/
初始化Git仓库并添加远程仓库地址:
git init
git remote add origin <GitHub仓库地址>
添加所有文件并提交更改:
git add .
git commit -m "Add Markdown notes"
将更改推送到GitHub仓库:
git push -u origin master
/root
目录作为源,并保存设置。在浏览器中输入你的GitHub Pages网址,如 https://<你的GitHub用户名>.github.io/<你的仓库名>
,即可直接访问你的Markdown笔记。
通过以上步骤,你应该能够方便地编写、管理和访问你的Markdown笔记了。
#!/bin/bash
# 生成 Markdown 目录索引的函数
# 指定的目录
directory='/storage/emulated/0/Documents/markor/'
# 生成 Markdown 文件的函数
generate_markdown() {
local directory="$1"
local level="${2:-0}"
local parent_folder="${3:-}"
local markdown_content=""
local folders=()
local non_folders=()
# 遍历目录并生成 Markdown 内容
for file in "$directory"/*; do
local name=$(basename "$file")
if [[ $name != .* && $name != 'README.md' ]]; then
if [[ -d $file ]]; then
# 如果是文件夹,则递归调用 generate_markdown 函数
folders+=("$file")
elif [[ $name != 'index.md' && $name == *.md ]]; then
# 如果是 Markdown 文件且不是主目录下的 index.md,则添加到 non_folders 数组中
non_folders+=("$file")
fi
fi
done
# 添加文件夹里的文件
for file in "${non_folders[@]}"; do
local name=$(basename "$file")
local folder_path="${parent_folder:+$parent_folder/}"
markdown_content+="- [${name%.md}]($folder_path$name)\n\n"
done
# 添加文件夹
for folder in "${folders[@]}"; do
local name=$(basename "$folder")
local sub_content=$(generate_markdown "$folder" $((level + 1)) "${parent_folder:+$parent_folder/}$name")
if [ -n "$sub_content" ]; then
markdown_content+="\n$(printf '#%.0s' $(seq 1 $((level + 1)))) $name\n\n"
markdown_content+="$sub_content"
fi
done
echo -e "$markdown_content"
}
# 生成 Markdown 内容
markdown_content=$(generate_markdown "$directory")
# 将 Markdown 内容写入 index.md 文件
index_path="$directory/index.md"
echo -e "$markdown_content" > "$index_path"
echo "已生成 index.md 文件!"
# 清空并生成主目录的 index.md
> "$directory/index.md"
generate_index "$directory" ""
echo "已生成 index.md 文件!"
cd /storage/emulated/0/Documents/markor/
# 提交更改推送到GitHub仓库
echo "提交更改到GitHub仓库..."
git add .
git commit -m "Update Markdown notes"
git push origin master
echo "更改已推送到GitHub仓库!"
比如说保存到update_notes.sh
文件,下次直接用
./update_notes.sh
或者
bash update_notes.sh