[{"data":1,"prerenderedAt":1233},["ShallowReactive",2],{"blog-list":3},[4,108,220,436,566,629,699,757,836,888],{"id":5,"title":6,"body":7,"date":95,"description":96,"extension":97,"image":65,"meta":98,"navigation":99,"path":100,"seo":101,"stem":102,"tags":103,"__hash__":107},"blog\u002Fblog\u002Fsteam-design-tools.md","Steam Design Tools - 打造您的專屬 Steam 風格",{"type":8,"value":9,"toc":89},"minimark",[10,14,18,22,49,52,86],[11,12,6],"h1",{"id":13},"steam-design-tools-打造您的專屬-steam-風格",[15,16,17],"p",{},"最近一直在搞這個 Steam 的小工具，想說讓大家都能輕鬆把自己的 Steam 個人檔案裝飾得漂漂亮亮的！不僅是為了自己想讓頁面變得更精緻，也是希望能透過這些功能，讓每個人都能玩得開心、更有個人風格。",[19,20,21],"h3",{"id":21},"專案連結",[23,24,25,35,42],"ul",{},[26,27,28],"li",{},[29,30,34],"a",{"href":31,"rel":32},"https:\u002F\u002Fsteam-design-tools.xiaoeyun.me\u002F",[33],"nofollow","線上工具",[26,36,37],{},[29,38,41],{"href":39,"rel":40},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002Fsteam-design-tools",[33],"GitHub 倉庫",[26,43,44],{},[29,45,48],{"href":46,"rel":47},"https:\u002F\u002Fsteamcommunity.com\u002Fsharedfiles\u002Ffiledetails\u002F?id=3739477674",[33],"Steam 指南",[15,50,51],{},"這套工具的功能非常全面，用起來也真的很貼心：",[23,53,54,66,76],{},[26,55,56,60,61],{},[57,58,59],"strong",{},"圖片裁切 (Crop Images)","：可以輕鬆地把圖片處理成 Steam 展示櫃所需的尺寸與比例，省去了很多麻煩。\n",[62,63],"img",{"alt":64,"src":65},"圖片裁切","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Fcrop-tool.png",[26,67,68,71,72],{},[57,69,70],{},"背景查詢 (Lookup Background)","：如果看到別人的背景很漂亮，想查連結的話，這個功能可以幫您快速找到喔！\n",[62,73],{"alt":74,"src":75},"背景查詢","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Flookup.png",[26,77,78,81,82],{},[57,79,80],{},"上傳指南 (Upload Guides)","：不知道怎麼上傳長圖嗎？這裡提供了很簡單的腳本和步驟，照著做就能輕鬆搞定！\n",[62,83],{"alt":84,"src":85},"上傳指南","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Fguides.png",[15,87,88],{},"這些功能真的能讓 Steam 個人檔案變得精緻很多，我自己用起來也覺得很滿意，希望能幫到大家呀！",{"title":90,"searchDepth":91,"depth":91,"links":92},"",2,[93],{"id":21,"depth":94,"text":21},3,"2026-06-07","讓你輕鬆把 Steam 個人檔案裝飾得更精緻的一組工具，支援圖片裁切、背景查詢與上傳指南。","md",{},true,"\u002Fblog\u002Fsteam-design-tools",{"title":6,"description":96},"blog\u002Fsteam-design-tools",[104,105,106],"工具","設計","Steam","eQOAD_meHuZCMWPL6vq21RF3U2CvjfuNkFgke3YV4Sg",{"id":109,"title":110,"body":111,"date":209,"description":210,"extension":97,"image":211,"meta":212,"navigation":99,"path":213,"seo":214,"stem":215,"tags":216,"__hash__":219},"blog\u002Fblog\u002Fhearts-echo.md","Hearts Echo",{"type":8,"value":112,"toc":203},[113,116,121,124,127,130,135,146,151,157,160,163,183,186,195],[15,114,115],{},"將你的日常記錄自動轉換為自然、流暢的文字描述。",[117,118,120],"h2",{"id":119},"這是什麼","這是什麼？",[15,122,123],{},"Hearts Echo 根據你提供的資訊，自動生成自然的文字描述。你可以輸入任意細節，系統會智慧選取合適的句型模板加以組合。",[117,125,126],{"id":126},"如何使用",[15,128,129],{},"只需提供你想描述的資訊，例如：",[15,131,132],{},[57,133,134],{},"你的輸入：",[23,136,137,140,143],{},[26,138,139],{},"穿著：白色 T-shirt",[26,141,142],{},"天氣：晴天",[26,144,145],{},"心情：開心",[15,147,148],{},[57,149,150],{},"系統生成：",[152,153,154],"blockquote",{},[15,155,156],{},"「在晴朗的天氣裡，你開心地穿上了白色 T-shirt。」",[15,158,159],{},"系統自動選擇最合適的句型，讓你的記錄讀起來更自然、更溫暖。",[117,161,162],{"id":162},"特色",[23,164,165,171,177],{},[26,166,167,170],{},[57,168,169],{},"智慧組合"," — 根據輸入自動選擇最適合的句型",[26,172,173,176],{},[57,174,175],{},"彈性輸入"," — 只提供部分資訊也能正常運作",[26,178,179,182],{},[57,180,181],{},"多樣表達"," — 相同輸入每次可能生成不同的描述",[117,184,185],{"id":185},"開始使用",[15,187,188,189,194],{},"前往 ",[29,190,193],{"href":191,"rel":192},"https:\u002F\u002Fhearts-echo.xiaoeyun.me\u002F",[33],"文件"," 查看完整功能說明",[15,196,188,197,202],{},[29,198,201],{"href":199,"rel":200},"https:\u002F\u002Fgithub.com\u002FTeddy9853\u002FHearts-Echo",[33],"GitHub"," 查看原始碼",{"title":90,"searchDepth":91,"depth":91,"links":204},[205,206,207,208],{"id":119,"depth":91,"text":120},{"id":126,"depth":91,"text":126},{"id":162,"depth":91,"text":162},{"id":185,"depth":91,"text":185},"2025-11-24","將你的日常記錄轉換為自然流暢的文字描述。","https:\u002F\u002Fstatic.xiaoeyun.me\u002Fblog\u002Fhearts-echo\u002Fpreview.png",{},"\u002Fblog\u002Fhearts-echo",{"title":110,"description":210},"blog\u002Fhearts-echo",[104,217,218],"AI","Rust","IJ4uq05OKVfacOAAitkHuSuqEzdJEm_SSTbIJSrYoqo",{"id":221,"title":222,"body":223,"date":209,"description":425,"extension":97,"image":426,"meta":427,"navigation":99,"path":428,"seo":429,"stem":430,"tags":431,"__hash__":435},"blog\u002Fblog\u002Frimworld-hot-reload.md","RimWorld Hot Reload",{"type":8,"value":224,"toc":421},[225,228,231,242,245,256,259,276,360,400,403,410,417],[15,226,227],{},"一個支援 RimWorld 模組熱重載的簡單 Mod。",[15,229,230],{},"支援重載類型：",[23,232,233,236,239],{},[26,234,235],{},"材質（Textures）",[26,237,238],{},"音效（Audio）",[26,240,241],{},"定義（Def）",[15,243,244],{},"支援觸發方式：",[23,246,247,250,253],{},[26,248,249],{},"手動觸發（除錯動作 > Mods > Hot Reload）",[26,251,252],{},"檔案系統監聽（檔案變更時自動重載）",[26,254,255],{},"HTTP API（POST \u002Fhot-reload）",[117,257,258],{"id":258},"使用方式",[260,261,262,265,268],"ol",{},[26,263,264],{},"安裝 Mod。",[26,266,267],{},"開啟你的 Mod 資料夾。",[26,269,270,271,275],{},"建立 ",[272,273,274],"code",{},"hotReload.json"," 檔案，內容如下：",[277,278,282],"pre",{"className":279,"code":280,"language":281,"meta":90,"style":90},"language-json shiki shiki-themes github-light github-dark","{\n    \"enabled\": true,\n    \"assets\": true,\n    \"defs\": true,\n    \"watch\": true,\n    \"api\": true\n}\n","json",[272,283,284,293,308,319,331,343,354],{"__ignoreMap":90},[285,286,289],"span",{"class":287,"line":288},"line",1,[285,290,292],{"class":291},"sVt8B","{\n",[285,294,295,299,302,305],{"class":287,"line":91},[285,296,298],{"class":297},"sj4cs","    \"enabled\"",[285,300,301],{"class":291},": ",[285,303,304],{"class":297},"true",[285,306,307],{"class":291},",\n",[285,309,310,313,315,317],{"class":287,"line":94},[285,311,312],{"class":297},"    \"assets\"",[285,314,301],{"class":291},[285,316,304],{"class":297},[285,318,307],{"class":291},[285,320,322,325,327,329],{"class":287,"line":321},4,[285,323,324],{"class":297},"    \"defs\"",[285,326,301],{"class":291},[285,328,304],{"class":297},[285,330,307],{"class":291},[285,332,334,337,339,341],{"class":287,"line":333},5,[285,335,336],{"class":297},"    \"watch\"",[285,338,301],{"class":291},[285,340,304],{"class":297},[285,342,307],{"class":291},[285,344,346,349,351],{"class":287,"line":345},6,[285,347,348],{"class":297},"    \"api\"",[285,350,301],{"class":291},[285,352,353],{"class":297},"true\n",[285,355,357],{"class":287,"line":356},7,[285,358,359],{"class":291},"}\n",[260,361,362,397],{"start":321},[26,363,364,365],{},"修改你的 Mod 檔案。",[23,366,367,373,379,385,391],{},[26,368,369,372],{},[272,370,371],{},"enabled","：啟用或停用熱重載。",[26,374,375,378],{},[272,376,377],{},"assets","：啟用或停用材質重載。",[26,380,381,384],{},[272,382,383],{},"defs","：啟用或停用定義重載。",[26,386,387,390],{},[272,388,389],{},"watch","：啟用或停用檔案系統監聽。",[26,392,393,396],{},[272,394,395],{},"api","：啟用或停用 HTTP API。",[26,398,399],{},"啟動 RimWorld，可開啟主控台查看更多資訊。",[117,401,402],{"id":402},"連結",[15,404,405],{},[29,406,409],{"href":407,"rel":408},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FRimWorldHotReload",[33],"Github Repository",[15,411,412],{},[29,413,416],{"href":414,"rel":415},"https:\u002F\u002Fsteamcommunity.com\u002Fsharedfiles\u002Ffiledetails\u002F?id=3610957393",[33],"Steam Workshop",[418,419,420],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":90,"searchDepth":91,"depth":91,"links":422},[423,424],{"id":258,"depth":91,"text":258},{"id":402,"depth":91,"text":402},"RimWorld 模組熱重載工具。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Frimworld-hot-reload\u002Fpreview.jpg",{},"\u002Fblog\u002Frimworld-hot-reload",{"title":222,"description":425},"blog\u002Frimworld-hot-reload",[432,433,434],"模組","C#","RimWorld","tI3VDO3fiUI0ls_jal8IGIKfREk9kMik0N2GCyv5Y7c",{"id":437,"title":438,"body":439,"date":556,"description":557,"extension":97,"image":558,"meta":559,"navigation":99,"path":560,"seo":561,"stem":562,"tags":563,"__hash__":565},"blog\u002Fblog\u002Fpost-archiver.md","Post Archiver",{"type":8,"value":440,"toc":551},[441,444,447,520,523,540,543],[15,442,443],{},"將你所有平台的貼文統一封存為同一格式。",[117,445,446],{"id":446},"匯入器",[23,448,449,466,488,503],{},[26,450,451,459,460,465],{},[19,452,454],{"id":453},"fanbox-archive",[29,455,458],{"href":456,"rel":457},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FFanboxArchive",[33],"Fanbox Archive","支援 ",[29,461,464],{"href":462,"rel":463},"https:\u002F\u002Fwww.fanbox.cc\u002F",[33],"Fanbox","。",[26,467,468,459,476,481,482,487],{},[19,469,471],{"id":470},"patreon-archive",[29,472,475],{"href":473,"rel":474},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FPatreonArchive",[33],"Patreon Archive",[29,477,480],{"href":478,"rel":479},"https:\u002F\u002Fwww.patreon.com\u002F",[33],"Patreon","，感謝 ",[29,483,486],{"href":484,"rel":485},"https:\u002F\u002Fgithub.com\u002FAyaseFile",[33],"AyaseFile"," 的貢獻 🎉。",[26,489,490,459,498,465],{},[19,491,493],{"id":492},"pixiv-archive",[29,494,497],{"href":495,"rel":496},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FPixivArchive",[33],"Pixiv Archive",[29,499,502],{"href":500,"rel":501},"https:\u002F\u002Fwww.pixiv.net\u002F",[33],"Pixiv",[26,504,505,513,514,519],{},[19,506,508],{"id":507},"fanboxdl-archive",[29,509,512],{"href":510,"rel":511},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FFanboxDLArchive",[33],"FanboxDL Archive","支援將 ",[29,515,518],{"href":516,"rel":517},"https:\u002F\u002Fgithub.com\u002Fhareku\u002Ffanbox-dl",[33],"FanboxDL"," 的封存轉換為 PostArchiver 格式。",[117,521,522],{"id":522},"閱覽器",[23,524,525],{},[26,526,527,535,536],{},[19,528,530],{"id":529},"post-archiver-viewer",[29,531,534],{"href":532,"rel":533},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FPostArchiverViewer",[33],"Post Archiver Viewer","\n在任何地方瀏覽 PostArchiver 封存內容。\n",[62,537],{"alt":538,"src":539},"PostArchiverViewer","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fpost-archiver\u002Fpost-archiver-viewer.png",[117,541,542],{"id":542},"貢獻",[15,544,545,546,550],{},"如果你想提供自己的工具，歡迎透過 ",[29,547,549],{"href":548},"\u002Fabout","聯絡頁面"," 與我聯繫。",{"title":90,"searchDepth":91,"depth":91,"links":552},[553,554,555],{"id":446,"depth":91,"text":446},{"id":522,"depth":91,"text":522},{"id":542,"depth":91,"text":542},"2025-10-19","統一格式的貼文封存工具。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fpost-archiver\u002Fpreview.png",{},"\u002Fblog\u002Fpost-archiver",{"title":438,"description":557},"blog\u002Fpost-archiver",[104,218,564],"爬蟲","-2lO-0gv52FnyO-Q5eDFzOd9KTkdIVHjmvxqxsH0SJA",{"id":567,"title":568,"body":569,"date":619,"description":620,"extension":97,"image":597,"meta":621,"navigation":99,"path":622,"seo":623,"stem":624,"tags":625,"__hash__":628},"blog\u002Fblog\u002Fascii-art-generator.md","ASCII Art 產生器",{"type":8,"value":570,"toc":613},[571,574,577,580,583,586,589,592,598,605,607],[15,572,573],{},"將圖片轉換為 ASCII 藝術的線上工具，支援任意字元集。",[117,575,576],{"id":576},"離線安全",[15,578,579],{},"完全離線運作，不會上傳任何資料至伺服器。",[117,581,582],{"id":582},"快速處理",[15,584,585],{},"使用 GPU.js 加速轉換過程。",[117,587,588],{"id":588},"簡單易用",[15,590,591],{},"在瀏覽器中開啟，選擇或拖曳圖片，幾秒內即可獲得 ASCII 藝術。",[15,593,594],{},[62,595],{"alt":596,"src":597},"Preview","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fascii-art-generator\u002Fpreview.png",[15,599,600],{},[29,601,604],{"href":602,"rel":603},"https:\u002F\u002Fxiao-e-yun.github.io\u002FASCIIArtGenerator\u002F",[33],"線上使用",[117,606,402],{"id":402},[15,608,609],{},[29,610,409],{"href":611,"rel":612},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FASCIIArtGenerator",[33],{"title":90,"searchDepth":91,"depth":91,"links":614},[615,616,617,618],{"id":576,"depth":91,"text":576},{"id":582,"depth":91,"text":582},{"id":588,"depth":91,"text":588},{"id":402,"depth":91,"text":402},"2024-05-14","線上圖片轉 ASCII 藝術工具。",{},"\u002Fblog\u002Fascii-art-generator",{"title":568,"description":620},"blog\u002Fascii-art-generator",[104,626,627],"Web","TypeScript","UdIJPEHWNJio9TZhY6AuLsgp_aUuyMyB3fE2H6Gz-GU",{"id":630,"title":631,"body":632,"date":689,"description":690,"extension":97,"image":691,"meta":692,"navigation":99,"path":693,"seo":694,"stem":695,"tags":696,"__hash__":698},"blog\u002Fblog\u002Fsound-priority.md","音效優先工具",{"type":8,"value":633,"toc":684},[634,637,640,643,648,650,664,667,678],[15,635,636],{},"專注工作時自動調整背景音樂音量的小工具。",[15,638,639],{},"當你的遊戲或任何指定應用程式發出聲音時，會自動降低背景音樂的音量。",[117,641,642],{"id":642},"預覽",[15,644,645],{},[62,646],{"alt":596,"src":647},"https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsound-priority\u002Fpreview.png",[117,649,162],{"id":162},[23,651,652,655,658,661],{},[26,653,654],{},"極小體積（不到 1MB）",[26,656,657],{},"免安裝，直接執行",[26,659,660],{},"自動設定",[26,662,663],{},"開源",[117,665,666],{"id":666},"下載",[15,668,188,669,674,675,465],{},[29,670,673],{"href":671,"rel":672},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002Fsound-priority\u002Freleases\u002F",[33],"Github Releases","，選擇最新版本並下載 ",[272,676,677],{},"sound-priority.exe",[15,679,680],{},[62,681],{"alt":682,"src":683},"Download","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsound-priority\u002Fdownload.png",{"title":90,"searchDepth":91,"depth":91,"links":685},[686,687,688],{"id":642,"depth":91,"text":642},{"id":162,"depth":91,"text":162},{"id":666,"depth":91,"text":666},"2024-04-21","專注工作時自動降低背景音樂音量。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsound-priority\u002Fapp.webp",{},"\u002Fblog\u002Fsound-priority",{"title":631,"description":690},"blog\u002Fsound-priority",[104,697],"Windows","aHerQfQYe5rWTGsHV0TJwZYZn5_eVMxdz91mrKn2OOQ",{"id":700,"title":701,"body":702,"date":749,"description":706,"extension":97,"image":735,"meta":750,"navigation":99,"path":751,"seo":752,"stem":753,"tags":754,"__hash__":756},"blog\u002Fblog\u002Frust-to-ascii-art.md","Rust to ASCII Art",{"type":8,"value":703,"toc":745},[704,707,712,718,725,727,737,739],[15,705,706],{},"以 Rust 撰寫的影片轉 ASCII 藝術工具。",[152,708,709],{},[15,710,711],{},"支援任意字元集",[15,713,714],{},[62,715],{"alt":716,"src":717},"App","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Frust-to-ascii-art\u002Fapp.png",[15,719,720],{},[29,721,724],{"href":722,"rel":723},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FRustToAsciiArt\u002Freleases",[33],"下載最新版本",[117,726,642],{"id":642},[15,728,729],{},[29,730,733,736],{"href":731,"rel":732},"https:\u002F\u002Fstatic.xiaoeyun.me\u002Fblog\u002Frust-to-ascii-art\u002F",[33],[62,734],{"alt":596,"src":735},"https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Frust-to-ascii-art\u002Fpreview.png","\nBad Apple 預覽（中文字元）\n",[117,738,402],{"id":402},[15,740,741],{},[29,742,409],{"href":743,"rel":744},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FRustToAsciiArt",[33],{"title":90,"searchDepth":91,"depth":91,"links":746},[747,748],{"id":642,"depth":91,"text":642},{"id":402,"depth":91,"text":402},"2024-04-19",{},"\u002Fblog\u002Frust-to-ascii-art",{"title":701,"description":706},"blog\u002Frust-to-ascii-art",[218,755,104],"CLI","Svn9ShnasXqwnVgvimGMIdjnJYCFr-g52fYBAfzfZLc",{"id":758,"title":759,"body":760,"date":749,"description":826,"extension":97,"image":827,"meta":828,"navigation":99,"path":829,"seo":830,"stem":831,"tags":832,"__hash__":835},"blog\u002Fblog\u002Fsakura-fx.md","Sakura FX（TypeScript 版）",{"type":8,"value":761,"toc":821},[762,765,767,778,780,786,789,812,818],[15,763,764],{},"TypeScript 版本的櫻花飄落特效函式庫，輕量且易於整合至任何網頁應用。",[117,766,162],{"id":162},[23,768,769,772,775],{},[26,770,771],{},"輕量高效",[26,773,774],{},"易於使用",[26,776,777],{},"完整 TypeScript 支援",[117,779,642],{"id":642},[781,782],"iframe",{"src":783,"width":784,"height":785},"https:\u002F\u002Fxiao-e-yun.github.io\u002FsakuraFx-typescript\u002F","100%","1000px",[117,787,788],{"id":788},"安裝",[277,790,794],{"className":791,"code":792,"language":793,"meta":90,"style":90},"language-bash shiki shiki-themes github-light github-dark","pnpm add -D sakurafx-typescript\n","bash",[272,795,796],{"__ignoreMap":90},[285,797,798,802,806,809],{"class":287,"line":288},[285,799,801],{"class":800},"sScJk","pnpm",[285,803,805],{"class":804},"sZZnC"," add",[285,807,808],{"class":297}," -D",[285,810,811],{"class":804}," sakurafx-typescript\n",[15,813,814],{},[29,815,409],{"href":816,"rel":817},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002FsakuraFx-typescript",[33],[418,819,820],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":90,"searchDepth":91,"depth":91,"links":822},[823,824,825],{"id":162,"depth":91,"text":162},{"id":642,"depth":91,"text":642},{"id":788,"depth":91,"text":788},"TypeScript 版本的櫻花飄落特效函式庫。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsakura-fx\u002Fpreview.png",{},"\u002Fblog\u002Fsakura-fx",{"title":759,"description":826},"blog\u002Fsakura-fx",[833,627,834],"前端","函式庫","7Q7K_HcrjK-yvwsP_4foSX8E2bPVgu3oD45otnAL2-c",{"id":837,"title":838,"body":839,"date":879,"description":880,"extension":97,"image":881,"meta":882,"navigation":99,"path":883,"seo":884,"stem":885,"tags":886,"__hash__":887},"blog\u002Fblog\u002Fsteam-design-tools-v1.md","Steam 設計工具",{"type":8,"value":840,"toc":875},[841,844,847,849,860,862,868],[15,842,843],{},"簡單的 Steam 個人頁面設計工具，支援多語言介面。",[15,845,846],{},"將你的圖片轉換為 Steam 個人頁面藝術作品、Workshop 封面等格式。",[117,848,258],{"id":258},[260,850,851,854,857],{},[26,852,853],{},"拖曳圖片至此，或點擊上傳。",[26,855,856],{},"設定輸出尺寸。",[26,858,859],{},"產生結果。",[117,861,642],{"id":642},[15,863,864,865],{},"下載\n",[62,866],{"alt":682,"src":867},"https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Fdownload.gif",[15,869,870,871],{},"產生\n",[62,872],{"alt":873,"src":874},"Generate","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Fbuild.gif",{"title":90,"searchDepth":91,"depth":91,"links":876},[877,878],{"id":258,"depth":91,"text":258},{"id":642,"depth":91,"text":642},"2024-04-18","一組 Steam 個人頁面設計工具。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fsteam-design-tools\u002Fpreview.png",{},"\u002Fblog\u002Fsteam-design-tools-v1",{"title":838,"description":880},"blog\u002Fsteam-design-tools-v1",[104,105,106],"qL2jHGpGrqMdaRwIVvs8-sQw1e_ixEgQ4oPzTFl2Oc8",{"id":889,"title":890,"body":891,"date":879,"description":1224,"extension":97,"image":1225,"meta":1226,"navigation":99,"path":1227,"seo":1228,"stem":1229,"tags":1230,"__hash__":1232},"blog\u002Fblog\u002Fwallpaper-engine-builder.md","Wallpaper Engine Builder",{"type":8,"value":892,"toc":1220},[893,896,898,907,913,1209,1211,1217],[15,894,895],{},"讓 Wallpaper Engine 設定的建構更簡單，支援 TypeScript 型別提示。",[117,897,642],{"id":642},[15,899,900,901,906],{},"以下是 ",[29,902,905],{"href":903,"rel":904},"https:\u002F\u002Fsteamcommunity.com\u002Fsharedfiles\u002Ffiledetails\u002F?id=2670119805",[33],"Desktop for You"," 的設定介面範例：",[15,908,909],{},[62,910],{"alt":911,"src":912},"Settings","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fdesktop-for-you\u002Fsettings.png",[277,914,918],{"className":915,"code":916,"language":917,"meta":90,"style":90},"language-ts shiki shiki-themes github-light github-dark","import builder from '.\u002Fbuilder\u002Fnode';\n\nbuilder.config.builder({\n  title: 'WallpaperName',\n  audio: true,\n  type: \"Web\",\n  contentrating: \"Everyone\",\n  visibility: \"friends\",\n  description: 'HelloWorld',\n  preview: \"preview.jpg\",\n  tags: [\"Relaxing\"],\n  workshopid: \"IF_YOU_HAVE_INPUT_THIS\",\n},[ \n\n    { \u002F\u002Fexample Prop\n      id: \"style\",\n      type: 'combo',\n      icon: \"fa-desktop\",\n      value: \"\",\n      text: {\n        \"zh-cht\": \"桌布風格\",\n        \"zh-chs\": \"桌布风格\",\n        \"en-us\": \"Desktop Style\",\n      },\n    },\n    \n],{\n  out_config: \"wallpaper\u002Fproject.json\",\n  out_types: \"types.json\"\n})\n","ts",[272,919,920,938,943,954,964,973,983,993,1004,1015,1026,1038,1049,1055,1060,1070,1081,1092,1103,1114,1120,1133,1146,1159,1165,1171,1177,1183,1194,1203],{"__ignoreMap":90},[285,921,922,926,929,932,935],{"class":287,"line":288},[285,923,925],{"class":924},"szBVR","import",[285,927,928],{"class":291}," builder ",[285,930,931],{"class":924},"from",[285,933,934],{"class":804}," '.\u002Fbuilder\u002Fnode'",[285,936,937],{"class":291},";\n",[285,939,940],{"class":287,"line":91},[285,941,942],{"emptyLinePlaceholder":99},"\n",[285,944,945,948,951],{"class":287,"line":94},[285,946,947],{"class":291},"builder.config.",[285,949,950],{"class":800},"builder",[285,952,953],{"class":291},"({\n",[285,955,956,959,962],{"class":287,"line":321},[285,957,958],{"class":291},"  title: ",[285,960,961],{"class":804},"'WallpaperName'",[285,963,307],{"class":291},[285,965,966,969,971],{"class":287,"line":333},[285,967,968],{"class":291},"  audio: ",[285,970,304],{"class":297},[285,972,307],{"class":291},[285,974,975,978,981],{"class":287,"line":345},[285,976,977],{"class":291},"  type: ",[285,979,980],{"class":804},"\"Web\"",[285,982,307],{"class":291},[285,984,985,988,991],{"class":287,"line":356},[285,986,987],{"class":291},"  contentrating: ",[285,989,990],{"class":804},"\"Everyone\"",[285,992,307],{"class":291},[285,994,996,999,1002],{"class":287,"line":995},8,[285,997,998],{"class":291},"  visibility: ",[285,1000,1001],{"class":804},"\"friends\"",[285,1003,307],{"class":291},[285,1005,1007,1010,1013],{"class":287,"line":1006},9,[285,1008,1009],{"class":291},"  description: ",[285,1011,1012],{"class":804},"'HelloWorld'",[285,1014,307],{"class":291},[285,1016,1018,1021,1024],{"class":287,"line":1017},10,[285,1019,1020],{"class":291},"  preview: ",[285,1022,1023],{"class":804},"\"preview.jpg\"",[285,1025,307],{"class":291},[285,1027,1029,1032,1035],{"class":287,"line":1028},11,[285,1030,1031],{"class":291},"  tags: [",[285,1033,1034],{"class":804},"\"Relaxing\"",[285,1036,1037],{"class":291},"],\n",[285,1039,1041,1044,1047],{"class":287,"line":1040},12,[285,1042,1043],{"class":291},"  workshopid: ",[285,1045,1046],{"class":804},"\"IF_YOU_HAVE_INPUT_THIS\"",[285,1048,307],{"class":291},[285,1050,1052],{"class":287,"line":1051},13,[285,1053,1054],{"class":291},"},[ \n",[285,1056,1058],{"class":287,"line":1057},14,[285,1059,942],{"emptyLinePlaceholder":99},[285,1061,1063,1066],{"class":287,"line":1062},15,[285,1064,1065],{"class":291},"    { ",[285,1067,1069],{"class":1068},"sJ8bj","\u002F\u002Fexample Prop\n",[285,1071,1073,1076,1079],{"class":287,"line":1072},16,[285,1074,1075],{"class":291},"      id: ",[285,1077,1078],{"class":804},"\"style\"",[285,1080,307],{"class":291},[285,1082,1084,1087,1090],{"class":287,"line":1083},17,[285,1085,1086],{"class":291},"      type: ",[285,1088,1089],{"class":804},"'combo'",[285,1091,307],{"class":291},[285,1093,1095,1098,1101],{"class":287,"line":1094},18,[285,1096,1097],{"class":291},"      icon: ",[285,1099,1100],{"class":804},"\"fa-desktop\"",[285,1102,307],{"class":291},[285,1104,1106,1109,1112],{"class":287,"line":1105},19,[285,1107,1108],{"class":291},"      value: ",[285,1110,1111],{"class":804},"\"\"",[285,1113,307],{"class":291},[285,1115,1117],{"class":287,"line":1116},20,[285,1118,1119],{"class":291},"      text: {\n",[285,1121,1123,1126,1128,1131],{"class":287,"line":1122},21,[285,1124,1125],{"class":804},"        \"zh-cht\"",[285,1127,301],{"class":291},[285,1129,1130],{"class":804},"\"桌布風格\"",[285,1132,307],{"class":291},[285,1134,1136,1139,1141,1144],{"class":287,"line":1135},22,[285,1137,1138],{"class":804},"        \"zh-chs\"",[285,1140,301],{"class":291},[285,1142,1143],{"class":804},"\"桌布风格\"",[285,1145,307],{"class":291},[285,1147,1149,1152,1154,1157],{"class":287,"line":1148},23,[285,1150,1151],{"class":804},"        \"en-us\"",[285,1153,301],{"class":291},[285,1155,1156],{"class":804},"\"Desktop Style\"",[285,1158,307],{"class":291},[285,1160,1162],{"class":287,"line":1161},24,[285,1163,1164],{"class":291},"      },\n",[285,1166,1168],{"class":287,"line":1167},25,[285,1169,1170],{"class":291},"    },\n",[285,1172,1174],{"class":287,"line":1173},26,[285,1175,1176],{"class":291},"    \n",[285,1178,1180],{"class":287,"line":1179},27,[285,1181,1182],{"class":291},"],{\n",[285,1184,1186,1189,1192],{"class":287,"line":1185},28,[285,1187,1188],{"class":291},"  out_config: ",[285,1190,1191],{"class":804},"\"wallpaper\u002Fproject.json\"",[285,1193,307],{"class":291},[285,1195,1197,1200],{"class":287,"line":1196},29,[285,1198,1199],{"class":291},"  out_types: ",[285,1201,1202],{"class":804},"\"types.json\"\n",[285,1204,1206],{"class":287,"line":1205},30,[285,1207,1208],{"class":291},"})\n",[117,1210,402],{"id":402},[15,1212,1213],{},[29,1214,409],{"href":1215,"rel":1216},"https:\u002F\u002Fgithub.com\u002Fxiao-e-yun\u002Fwallpaper-engine-builder",[33],[418,1218,1219],{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":90,"searchDepth":91,"depth":91,"links":1221},[1222,1223],{"id":642,"depth":91,"text":642},{"id":402,"depth":91,"text":402},"支援 TypeScript 的 Wallpaper Engine 設定建構工具。","https:\u002F\u002Fimages.xiaoeyun.me\u002Fblog\u002Fwallpaper-engine-builder\u002Fpreview.png",{},"\u002Fblog\u002Fwallpaper-engine-builder",{"title":890,"description":1224},"blog\u002Fwallpaper-engine-builder",[104,627,1231],"Wallpaper Engine","RiVi_ToFQqy29tt-jIy-pU7GCIXA1oy_Nq8ZM20Tr-4",1783834696942]