iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
生成式 AI

利用n8n+AI打造個人助理系列 第 11

Day11 - 美化工作流輸出內容(上)

  • 分享至 

  • xImage
  •  

今天的內容是要來美化這個工作流所輸出的內容排版,首先我們可以來觀察這個工作流目前會輸出甚麼東西:

  • 今天的待辦事項
  • 跟待辦事項有關的雲端硬碟檔案
  • 今天的新聞(10篇左右)

我把我的需求丟給ChatGPT之後,他給我了一個範例:

https://ithelp.ithome.com.tw/upload/images/20250831/201694653wwzPs41pi.png

所以我決定先使用這個模板來讓輸出內容變美觀。想要達成這個效果,首先需要思考要怎麼將n8n所使用的json轉換成markdown的格式,我第一個想到的是使用n8n中的程式碼節點,它可以運行javascript或python,利用這個節點我們可以達成轉換格式的效果。第二個是連結到外部網站來直接轉換。

我決定使用n8n來轉換,將我最終輸出的json檔交給ChatGPT處理之後,他給我了這一段js程式碼:

const data = items[0].json["今日工作總覽"];

// 第一個元素是 output 區塊
const overview = data[0].output;
const todos = overview["今日待辦事項"];
const files = overview["有關的雲端硬碟名稱"];
const summary = overview["總覽"];

// 後續元素是新聞
const news = data.slice(1);

let output = "# 📅 今日工作總覽\n\n";

// 總覽描述
output += `> ${summary}\n\n`;

output += "## ✅ 今日待辦事項\n";
todos.forEach((t, i) => {
  output += `${i+1}. ${t}\n`;
});
output += "\n---\n\n";

output += "## 📂 相關雲端硬碟檔案\n";
files.forEach(f => {
  output += `- ${f}\n`;
});
output += "\n---\n\n";

output += "## 📰 今日新聞精選\n";
news.forEach((n, i) => {
  output += `${i+1}. [${n["新聞標題"]}](${n["連結"]}) — ${n["內文摘要"]}\n`;
});

return [{ json: { markdown: output } }];

並且在執行以後會成功將內文轉換成markdown格式,這麼一來就可以在手機上將文字排版了。

https://ithelp.ithome.com.tw/upload/images/20250831/20169465Wz3gju0RPQ.png

不過接下來我遇到了一個問題,就是我要用什麼樣的方法讓markdown可以在手機上被渲染?這個問題可能還需要再思考一天,所以今天我們就先實作到轉換成markdown格式就好。

今日小結:

今天我們將回傳格式的json轉換到了markdown,讓排版有了初步的進度,不過目前需要再思考一下該怎麼渲染markdown。所以明天我們將會嘗試解決這個問題。


上一篇
Day10 - 完成iPhone Shortcuts的自動化
下一篇
Day12 - 美化工作流輸出內容(下)
系列文
利用n8n+AI打造個人助理12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言