[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-posts-home":3},[4,148,764],{"id":5,"title":6,"body":7,"date":137,"description":138,"extension":139,"math":140,"meta":141,"navigation":142,"path":143,"seo":144,"stem":145,"summary":146,"__hash__":147},"blog\u002Fblog\u002Fnon-functional-harmony.mdx","非功能和声小记",{"type":8,"value":9,"toc":130},"minimark",[10,19,25,30,35,42,55,58,63,70,73,75,79,82,102,105,108,115,118,120,123],[11,12,13,14,18],"p",{},"下面这段和弦进行勾勒了一条从",[15,16,17],"strong",{},"忧郁到开阔、最终回归","的情感弧线。其中每一次选择，依据的纯粹是\"此刻我想要这种感觉\"，而非任何传统理论的逻辑：",[20,21,22],"blockquote",{},[11,23,24],{},"Fm9 -> Fm9 -> Dm11 -> Dm11 -> Fm9",[20,26,27],{},[11,28,29],{},"Fm9 -> Dm11 -> Dm11 -> Bbm9 -> G♭maj9(♯11)",[20,31,32],{},[11,33,34],{},"Emaj9(♯11) -> Amaj9 -> Fm9 -> Fm9",[11,36,37],{},[38,39],"img",{"alt":40,"src":41},"Non-Function Harmony Example","\u002Fscores\u002Fnon-functional.svg",[43,44,45,49,52],"ul",{},[46,47,48],"li",{},"整个段落没有固定的调或主和弦",[46,50,51],{},"没有任何具有\"明确方向性\"的和弦进行",[46,53,54],{},"每个和弦与下一个和弦之间，都不存在紧张与解决的关系",[56,57],"hr",{},[59,60,62],"h2",{"id":61},"什么是非功能和声","什么是非功能和声？",[11,64,65,66,69],{},"非功能和声，是指完全不依照",[15,67,68],{},"功能和声逻辑","来写作的和声进行。在这个概念下，创作者不需要考虑曲子是什么调，不用管每个和弦的级数与功能，也无需在意\"紧张\"和\"解决\"那一套叙事。",[11,71,72],{},"在非功能和声的世界里，每一个和弦都是一个独立的\"声景\"。你可以随时从一个声景跃入另一个，完全不必在意它们是否同属一个音阶、是否存在某种关联。写作时，只需要专注每一个当下想要的\"感觉\"，然后留意和弦连接时保持在临近音域、听起来顺畅，就够了。",[56,74],{},[59,76,78],{"id":77},"与传统功能和声的对比","与传统「功能和声」的对比",[11,80,81],{},"功能和声的核心理念是：音乐要有一个明确的调，每个和弦各司其职。例如：",[43,83,84,90,96],{},[46,85,86,89],{},[15,87,88],{},"一级和弦","：制造稳定感、起始感、收束感",[46,91,92,95],{},[15,93,94],{},"五级和弦","：制造不稳定的紧张感，等待被解决",[46,97,98,101],{},[15,99,100],{},"二级或四级和弦","：中介性质，通常引向五级和弦",[11,103,104],{},"一个典型的功能和声进行是：",[11,106,107],{},"C → Dm → G7 → C",[11,109,110,111,114],{},"整个过程带有清晰的",[15,112,113],{},"方向性","，每个和弦都\"导向\"下一个和弦的发生。",[11,116,117],{},"功能和声固然是几百年来大部分音乐的写作范式，但它过分依赖规则、强调方向、高度可预测，容易让音乐变得乏味而同质化。非功能和声，正是对这种思维的反拨。",[56,119],{},[59,121,122],{"id":122},"小总结",[11,124,125,126,129],{},"非功能和声是一种以",[15,127,128],{},"声音色彩和即时感觉","为导向的创作思维，剥离了传统调性的层级约束。当创作者抛开调性和级数的框架后，和声写作会变得极其自由——你完全能轻松写出听感新鲜、气质现代的作品。",{"title":131,"searchDepth":132,"depth":132,"links":133},"",2,[134,135,136],{"id":61,"depth":132,"text":62},{"id":77,"depth":132,"text":78},{"id":122,"depth":132,"text":122},"2026-06-08","下面这段和弦进行勾勒了一条从忧郁到开阔、最终回归的情感弧线。其中每一次选择，依据的纯粹是\"此刻我想要这种感觉\"，而非任何传统理论的逻辑：","mdx",false,{},true,"\u002Fblog\u002Fnon-functional-harmony",{"title":6,"description":138},"blog\u002Fnon-functional-harmony","介绍非功能和声的概念——一种完全不依照传统功能和声逻辑的创作方式，以声音色彩和即时感觉为导向，剥离调性的层级约束。","EEUPLGzEbgDYcJ7syu99rzAJgaTJK0wgNpMx55vf7I0",{"id":149,"title":150,"body":151,"date":757,"description":131,"extension":139,"math":140,"meta":758,"navigation":142,"path":759,"seo":760,"stem":761,"summary":762,"__hash__":763},"blog\u002Fblog\u002Fmcsm-openresty-reverse-proxy.mdx","MCSManager + OpenResty 的反向代理指北",{"type":8,"value":152,"toc":718},[153,156,160,168,171,176,179,191,195,202,206,213,216,219,236,239,246,249,264,270,274,277,284,291,303,307,314,323,330,333,340,343,350,365,368,372,393,396,403,407,421,425,428,435,438,452,455,462,466,473,476,483,490,493,504,507,514,517,524,531,535,541,545,548,555,558,569,572,574,580,591,594,597,604,607,624,627,631,638,642,645,652,659,664,668,678,682,687,690,697,700],[59,154,155],{"id":155},"环境信息",[157,158,159],"h3",{"id":159},"面板",[43,161,162,165],{},[46,163,164],{},"MCSManager 4.13.0",[46,166,167],{},"使用官方 Linux 安装脚本部署",[157,169,170],{"id":170},"反向代理",[43,172,173],{},[46,174,175],{},"1panel 默认的 OpenResty",[157,177,178],{"id":178},"实例域名",[180,181,186],"pre",{"className":182,"code":184,"language":185},[183],"language-text","mcsm.example.com\n","text",[187,188,184],"code",{"__ignoreMap":131,"className":189},[190,183],"hljs",[157,192,194],{"id":193},"daemon-默认端口","Daemon 默认端口",[180,196,199],{"className":197,"code":198,"language":185},[183],"24444\n",[187,200,198],{"__ignoreMap":131,"className":201},[190,183],[157,203,205],{"id":204},"httpswss-反代端口","HTTPS\u002FWSS 反代端口",[180,207,210],{"className":208,"code":209,"language":185},[183],"24443\n",[187,211,209],{"__ignoreMap":131,"className":212},[190,183],[59,214,215],{"id":215},"问题现象",[11,217,218],{},"MCSManager 面板正常访问。但是：",[43,220,221,224,227,230],{},[46,222,223],{},"实例控制台打不开",[46,225,226],{},"文件上传失败",[46,228,229],{},"文件下载失败",[46,231,232,233],{},"节点显示：",[187,234,235],{},"网页直连：异常",[11,237,238],{},"错误信息：",[180,240,243],{"className":241,"code":242,"language":185},[183],"无法连接到远程节点\n\n浏览器无法连接到地址：\nwss:\u002F\u002Fmcsm.example.com:24444\n\nxhr poll error\n",[187,244,242],{"__ignoreMap":131,"className":245},[190,183],[59,247,248],{"id":248},"原因分析",[11,250,251,252,255,256,259,260,263],{},"MCSManager 在 HTTPS 页面下，浏览器必须通过 ",[187,253,254],{},"WSS:\u002F\u002F"," 连接 daemon。如果 daemon 仍然是 ",[187,257,258],{},"ws:\u002F\u002F"," 或 ",[187,261,262],{},"http:\u002F\u002F","，浏览器会因为 Mixed Content 安全策略直接拒绝连接。",[11,265,266,267],{},"因此：",[15,268,269],{},"必须给 daemon 单独配置 HTTPS + WebSocket 反向代理。",[59,271,273],{"id":272},"openresty-docker-挂载目录","OpenResty Docker 挂载目录",[11,275,276],{},"1Panel OpenResty 容器挂载：",[180,278,281],{"className":279,"code":280,"language":185},[183],"宿主机:  \u002Fopt\u002F1panel\u002Fwww\u002Fconf.d\n容器内:  \u002Fusr\u002Flocal\u002Fopenresty\u002Fnginx\u002Fconf\u002Fconf.d\n",[187,282,280],{"__ignoreMap":131,"className":283},[190,183],[11,285,286,287,290],{},"只需要在宿主机 ",[187,288,289],{},"\u002Fopt\u002F1panel\u002Fwww\u002Fconf.d"," 创建配置文件即可。",[20,292,293],{},[11,294,295,298,299,302],{},[15,296,297],{},"前提","：记得提前在 1Panel 中为域名 ",[187,300,301],{},"mcsm.example.com"," 申请 SSL 证书，这里不做详细说明。",[59,304,306],{"id":305},"创建-daemon-https-配置","创建 daemon HTTPS 配置",[11,308,309,310,313],{},"创建 ",[187,311,312],{},"\u002Fopt\u002F1panel\u002Fwww\u002Fconf.d\u002Fmcsm-daemon.conf","：",[180,315,320],{"className":316,"code":318,"language":319,"meta":131},[317],"language-nginx","server {\n    listen 24443 ssl;\n    listen [::]:24443 ssl;\n\n    http2 on;\n\n    server_name mcsm.example.com;\n\n    ssl_certificate \u002Fwww\u002Fsites\u002Fmcsm.example.com\u002Fssl\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fwww\u002Fsites\u002Fmcsm.example.com\u002Fssl\u002Fprivkey.pem;\n\n    ssl_protocols TLSv1.2 TLSv1.3;\n\n    location \u002F {\n\n        proxy_pass http:\u002F\u002F127.0.0.1:24444;\n\n        proxy_http_version 1.1;\n\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n        proxy_buffering off;\n        proxy_request_buffering off;\n\n        client_max_body_size 0;\n    }\n}\n","nginx",[187,321,318],{"__ignoreMap":131,"className":322},[190,317],[59,324,326,327],{"id":325},"特别注意不要写","特别注意：不要写 ",[187,328,329],{},"\\$",[11,331,332],{},"错误写法：",[180,334,337],{"className":335,"code":336,"language":319,"meta":131},[317],"proxy_set_header Upgrade \\$http_upgrade;\n",[187,338,336],{"__ignoreMap":131,"className":339},[190,317],[11,341,342],{},"正确写法：",[180,344,347],{"className":345,"code":346,"language":319,"meta":131},[317],"proxy_set_header Upgrade $http_upgrade;\n",[187,348,346],{"__ignoreMap":131,"className":349},[190,317],[11,351,352,353,356,357,360,361,364],{},"原因是如果你使用了单引号 heredoc（",[187,354,355],{},"\u003C\u003C'EOF'","），Shell 不会展开变量，因此不需要额外转义 ",[187,358,359],{},"$","。否则 nginx 会把 ",[187,362,363],{},"\\$http_upgrade"," 当作普通字符串，最终 WebSocket Upgrade Header 失效。",[59,366,367],{"id":367},"测试配置",[157,369,371],{"id":370},"检查-nginx-配置","检查 nginx 配置",[180,373,378],{"className":374,"code":376,"language":377,"meta":131},[375],"language-bash","sudo docker exec 1Panel-openresty-TlM5 openresty -t\n","bash",[187,379,381,387,388,392],{"__ignoreMap":131,"className":380},[190,375],[382,383,386],"span",{"className":384},[385],"hljs-built_in","sudo"," docker ",[382,389,391],{"className":390},[385],"exec"," 1Panel-openresty-TlM5 openresty -t\n",[11,394,395],{},"成功输出：",[180,397,400],{"className":398,"code":399,"language":185},[183],"syntax is ok\ntest is successful\n",[187,401,399],{"__ignoreMap":131,"className":402},[190,183],[157,404,406],{"id":405},"重载-openresty","重载 OpenResty",[180,408,411],{"className":409,"code":410,"language":377,"meta":131},[375],"sudo docker exec 1Panel-openresty-TlM5 openresty -s reload\n",[187,412,414,387,417,420],{"__ignoreMap":131,"className":413},[190,375],[382,415,386],{"className":416},[385],[382,418,391],{"className":419},[385]," 1Panel-openresty-TlM5 openresty -s reload\n",[157,422,424],{"id":423},"测试-daemon-是否可访问","测试 daemon 是否可访问",[11,426,427],{},"宿主机：",[180,429,432],{"className":430,"code":431,"language":377,"meta":131},[375],"curl http:\u002F\u002F127.0.0.1:24444\n",[187,433,431],{"__ignoreMap":131,"className":434},[190,375],[11,436,437],{},"Docker 容器内部：",[180,439,442],{"className":440,"code":441,"language":377,"meta":131},[375],"sudo docker exec -it 1Panel-openresty-TlM5 curl http:\u002F\u002F127.0.0.1:24444\n",[187,443,445,387,448,451],{"__ignoreMap":131,"className":444},[190,375],[382,446,386],{"className":447},[385],[382,449,391],{"className":450},[385]," -it 1Panel-openresty-TlM5 curl http:\u002F\u002F127.0.0.1:24444\n",[11,453,454],{},"都应返回：",[180,456,459],{"className":457,"code":458,"language":185},[183],"MCSManager Daemon is Running\n",[187,460,458],{"__ignoreMap":131,"className":461},[190,183],[157,463,465],{"id":464},"检查-docker-bridge-ip","检查 docker bridge IP",[180,467,470],{"className":468,"code":469,"language":377,"meta":131},[375],"ip addr show docker0\n",[187,471,469],{"__ignoreMap":131,"className":472},[190,375],[11,474,475],{},"输出：",[180,477,480],{"className":478,"code":479,"language":185},[183],"inet 127.0.0.1\u002F16\n",[187,481,479],{"__ignoreMap":131,"className":482},[190,183],[11,484,485,486,489],{},"因此 ",[187,487,488],{},"proxy_pass http:\u002F\u002F127.0.0.1:24444;"," 是正确的。",[157,491,492],{"id":492},"检查监听端口",[180,494,497],{"className":495,"code":496,"language":377,"meta":131},[375],"sudo ss -tlnp | grep 24443\n",[187,498,500,503],{"__ignoreMap":131,"className":499},[190,375],[382,501,386],{"className":502},[385]," ss -tlnp | grep 24443\n",[11,505,506],{},"应看到：",[180,508,511],{"className":509,"code":510,"language":185},[183],"0.0.0.0:24443\n",[187,512,510],{"__ignoreMap":131,"className":513},[190,183],[157,515,516],{"id":516},"浏览器测试",[11,518,519,520,523],{},"打开 ",[187,521,522],{},"https:\u002F\u002Fmcsm.example.com:24443","，如果成功会显示：",[180,525,528],{"className":526,"code":527,"language":185},[183],"MCSManager Daemon 程序运行中\n",[187,529,527],{"__ignoreMap":131,"className":530},[190,183],[59,532,534],{"id":533},"mcsmanager-节点配置","MCSManager 节点配置",[11,536,537,538],{},"进入：",[187,539,540],{},"管理面板 → 节点 → 编辑节点",[157,542,544],{"id":543},"远程节点-ip-地址","远程节点 IP 地址",[11,546,547],{},"填写：",[180,549,552],{"className":550,"code":551,"language":185},[183],"wss:\u002F\u002Fmcsm.example.com\n",[187,553,551],{"__ignoreMap":131,"className":554},[190,183],[11,556,557],{},"注意：",[43,559,560,566],{},[46,561,562,563],{},"必须写 ",[187,564,565],{},"wss:\u002F\u002F",[46,567,568],{},"不要写端口",[157,570,571],{"id":571},"远程节点端口",[11,573,547],{},[180,575,577],{"className":576,"code":209,"language":185},[183],[187,578,209],{"__ignoreMap":131,"className":579},[190,183],[11,581,582,583,586,587,590],{},"配置完成后点击 ",[15,584,585],{},"更新节点","，再 ",[15,588,589],{},"重新连接","。",[59,592,593],{"id":593},"最终效果",[11,595,596],{},"节点状态：",[180,598,601],{"className":599,"code":600,"language":185},[183],"节点状态：在线\n网页直连：正常\n",[187,602,600],{"__ignoreMap":131,"className":603},[190,183],[11,605,606],{},"以下功能恢复：",[43,608,609,612,615,618,621],{},[46,610,611],{},"控制台",[46,613,614],{},"文件上传",[46,616,617],{},"文件下载",[46,619,620],{},"WebSocket",[46,622,623],{},"实例终端",[59,625,626],{"id":626},"常见坑总结",[157,628,630],{"id":629},"_1-docker-内无法访问宿主机","1. Docker 内无法访问宿主机",[11,632,633,634,637],{},"检查 ",[187,635,636],{},"curl http:\u002F\u002F127.0.0.1:24444"," 是否可达。",[157,639,641],{"id":640},"_2-忘记-websocket-headers","2. 忘记 WebSocket Headers",[11,643,644],{},"必须设置：",[180,646,649],{"className":647,"code":648,"language":319,"meta":131},[317],"proxy_set_header Upgrade $http_upgrade;\nproxy_set_header Connection \"upgrade\";\n",[187,650,648],{"__ignoreMap":131,"className":651},[190,317],[157,653,655,656,658],{"id":654},"_3-被错误转义","3. ",[187,657,359],{}," 被错误转义",[11,660,661,662,590],{},"不要写 ",[187,663,363],{},[157,665,667],{"id":666},"_4-节点-ip-写错","4. 节点 IP 写错",[11,669,661,670,673,674,677],{},[187,671,672],{},"mcsm.example.com:24443","，正确格式是 ",[187,675,676],{},"wss:\u002F\u002Fmcsm.example.com","，端口单独填写。",[157,679,681],{"id":680},"_5-https-页面连接-http-websocket","5. HTTPS 页面连接 HTTP WebSocket",[11,683,684,685,590],{},"浏览器会直接拒绝（Mixed Content），因此必须使用 ",[187,686,254],{},[59,688,689],{"id":689},"最终网络结构",[180,691,694],{"className":692,"code":693,"language":185},[183],"Browser\n    ↓ HTTPS\u002FWSS\nOpenResty :24443\n    ↓ HTTP\u002FWS\nMCSManager Daemon :24444\n",[187,695,693],{"__ignoreMap":131,"className":696},[190,183],[59,698,699],{"id":699},"参考文档",[43,701,702,711],{},[46,703,704],{},[705,706,710],"a",{"href":707,"rel":708},"https:\u002F\u002Fdocs.mcsmanager.com\u002Fzh_cn\u002Fops\u002Fproxy_https.html",[709],"nofollow","MCSManager - 反代 HTTPS",[46,712,713],{},[705,714,717],{"href":715,"rel":716},"https:\u002F\u002Fdocs.mcsmanager.com\u002Fzh_cn\u002Fadvanced\u002Fdistributed.html",[709],"MCSManager - 分布式部署",{"title":131,"searchDepth":132,"depth":132,"links":719},[720,728,729,730,731,732,734,742,746,747,755,756],{"id":155,"depth":132,"text":155,"children":721},[722,724,725,726,727],{"id":159,"depth":723,"text":159},3,{"id":170,"depth":723,"text":170},{"id":178,"depth":723,"text":178},{"id":193,"depth":723,"text":194},{"id":204,"depth":723,"text":205},{"id":215,"depth":132,"text":215},{"id":248,"depth":132,"text":248},{"id":272,"depth":132,"text":273},{"id":305,"depth":132,"text":306},{"id":325,"depth":132,"text":733},"特别注意：不要写 \\$",{"id":367,"depth":132,"text":367,"children":735},[736,737,738,739,740,741],{"id":370,"depth":723,"text":371},{"id":405,"depth":723,"text":406},{"id":423,"depth":723,"text":424},{"id":464,"depth":723,"text":465},{"id":492,"depth":723,"text":492},{"id":516,"depth":723,"text":516},{"id":533,"depth":132,"text":534,"children":743},[744,745],{"id":543,"depth":723,"text":544},{"id":571,"depth":723,"text":571},{"id":593,"depth":132,"text":593},{"id":626,"depth":132,"text":626,"children":748},[749,750,751,753,754],{"id":629,"depth":723,"text":630},{"id":640,"depth":723,"text":641},{"id":654,"depth":723,"text":752},"3. $ 被错误转义",{"id":666,"depth":723,"text":667},{"id":680,"depth":723,"text":681},{"id":689,"depth":132,"text":689},{"id":699,"depth":132,"text":699},"2026-06-06",{},"\u002Fblog\u002Fmcsm-openresty-reverse-proxy",{"title":150,"description":131},"blog\u002Fmcsm-openresty-reverse-proxy","记录 MCSManager Daemon 在 OpenResty 反代下配置 HTTPS 与 WebSocket 的完整过程，含常见坑与最终正确配置。","h6qKlerFqZx6HbcU9J1xbBWs8lHZX8Ax8RIKToimjqc",{"id":765,"title":766,"body":767,"date":1164,"description":131,"extension":139,"math":142,"meta":1165,"navigation":142,"path":1166,"seo":1167,"stem":1168,"summary":1169,"__hash__":1170},"blog\u002Fblog\u002Fhello-world.mdx","Hello, World! 🌍",{"type":8,"value":768,"toc":1158},[769,772,779,783,790,793,797,804,810,816,823,826,837,840,852,855,903,906,911,914,948,951,957,960,962,975,978,997,1003,1006,1135],[59,770,766],{"id":771},"hello-world",[11,773,774,775,778],{},"忙了超级久，我终于又回来写博客了！！！",[776,777],"br",{},"\n还有蛮多东西需要配置一下的，过几天再来看看？",[59,780,782],{"id":781},"如果着急的话","如果着急的话...",[11,784,785,786],{},"可以先去听听这张专辑！\n",[705,787,788],{"href":788,"rel":789},"https:\u002F\u002Fmusic.163.com\u002F#\u002Falbum?id=376319464",[709],[11,791,792],{},"说不定听几遍这个博客就更新了？",[59,794,796],{"id":795},"markdown-格式测试","Markdown 格式测试",[11,798,799,800,803],{},"这是 ",[15,801,802],{},"加粗"," 的文本。",[11,805,799,806,803],{},[807,808,809],"em",{},"斜体",[11,811,799,812,803],{},[813,814,815],"del",{},"删除线",[11,817,799,818,590],{},[705,819,822],{"href":820,"rel":821},"https:\u002F\u002Fwww.example.com",[709],"链接",[11,824,825],{},"这是一个列表：",[43,827,828,831,834],{},[46,829,830],{},"项目 1",[46,832,833],{},"项目 2",[46,835,836],{},"项目 3",[11,838,839],{},"这是一个有序列表：",[841,842,843,846,849],"ol",{},[46,844,845],{},"第一项",[46,847,848],{},"第二项",[46,850,851],{},"第三项",[11,853,854],{},"这是一个代码块：",[180,856,861],{"className":857,"code":859,"language":860,"meta":131},[858],"language-javascript","function greet() {\n  console.log(\"Hello, World!\");\n}\ngreet();\n","javascript",[187,862,864,869,870,876,877,881,882,888,889,876,893,898,899,902],{"__ignoreMap":131,"className":863},[190,858],[382,865,868],{"className":866},[867],"hljs-keyword","function"," ",[382,871,875],{"className":872},[873,874],"hljs-title","function_","greet","(",[382,878],{"className":879},[880],"hljs-params",") {\n  ",[382,883,887],{"className":884},[885,886],"hljs-variable","language_","console",".",[382,890,892],{"className":891},[873,874],"log",[382,894,897],{"className":895},[896],"hljs-string","\"Hello, World!\"",");\n}\n",[382,900,875],{"className":901},[873,874],"();\n",[11,904,905],{},"这是一个引用：",[20,907,908],{},[11,909,910],{},"这是一个引用文本。",[11,912,913],{},"这是一个表格：",[915,916,917,933],"table",{},[918,919,920],"thead",{},[921,922,923,927,930],"tr",{},[924,925,926],"th",{},"列1",[924,928,929],{},"列2",[924,931,932],{},"列3",[934,935,936],"tbody",{},[921,937,938,942,945],{},[939,940,941],"td",{},"数据1",[939,943,944],{},"数据2",[939,946,947],{},"数据3",[11,949,950],{},"这是一张图片：",[11,952,953],{},[38,954],{"alt":955,"src":956},"示例图片","\u002Fgallery\u002F.generated\u002FGuangzhou%202026%205.1\u002FIMG_20260506_143424.webp",[11,958,959],{},"这是一条水平线：",[56,961],{},[11,963,964,965,590],{},"这是一个脚注",[966,967,968],"sup",{},[705,969,974],{"href":970,"ariaDescribedBy":971,"dataFootnoteRef":131,"id":973},"#user-content-fn-1",[972],"footnote-label","user-content-fnref-1","1",[11,976,977],{},"这是一个任务列表：",[43,979,982,991],{"className":980},[981],"contains-task-list",[46,983,986,990],{"className":984},[985],"task-list-item",[987,988],"input",{"checked":142,"disabled":142,"type":989},"checkbox"," 已完成的任务",[46,992,994,996],{"className":993},[985],[987,995],{"disabled":142,"type":989}," 待完成的任务",[11,998,999,1000],{},"这是一个自动链接：",[705,1001,820],{"href":820,"rel":1002},[709],[11,1004,1005],{},"这是一个表情符号：😀",[11,1007,1008,1009],{},"这是一个数学公式：",[382,1010,1013,1053],{"className":1011},[1012],"katex",[382,1014,1017],{"className":1015},[1016],"katex-mathml",[1018,1019,1021],"math",{"xmlns":1020},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[1022,1023,1024,1048],"semantics",{},[1025,1026,1027,1031,1035,1038],"mrow",{},[1028,1029,1030],"mi",{},"E",[1032,1033,1034],"mo",{},"=",[1028,1036,1037],{},"m",[1039,1040,1041,1044],"msup",{},[1028,1042,1043],{},"c",[1045,1046,1047],"mn",{},"2",[1049,1050,1052],"annotation",{"encoding":1051},"application\u002Fx-tex","E=mc^2",[382,1054,1058,1085],{"className":1055,"ariaHidden":1057},[1056],"katex-html","true",[382,1059,1062,1067,1073,1078,1082],{"className":1060},[1061],"base",[382,1063],{"className":1064,"style":1066},[1065],"strut","height:0.6833em;",[382,1068,1030],{"className":1069,"style":1072},[1070,1071],"mord","mathnormal","margin-right:0.0576em;",[382,1074],{"className":1075,"style":1077},[1076],"mspace","margin-right:0.2778em;",[382,1079,1034],{"className":1080},[1081],"mrel",[382,1083],{"className":1084,"style":1077},[1076],[382,1086,1088,1092,1095],{"className":1087},[1061],[382,1089],{"className":1090,"style":1091},[1065],"height:0.8141em;",[382,1093,1037],{"className":1094},[1070,1071],[382,1096,1098,1101],{"className":1097},[1070],[382,1099,1043],{"className":1100},[1070,1071],[382,1102,1105],{"className":1103},[1104],"msupsub",[382,1106,1109],{"className":1107},[1108],"vlist-t",[382,1110,1113],{"className":1111},[1112],"vlist-r",[382,1114,1117],{"className":1115,"style":1091},[1116],"vlist",[382,1118,1120,1125],{"style":1119},"top:-3.063em;margin-right:0.05em;",[382,1121],{"className":1122,"style":1124},[1123],"pstrut","height:2.7em;",[382,1126,1132],{"className":1127},[1128,1129,1130,1131],"sizing","reset-size6","size3","mtight",[382,1133,1047],{"className":1134},[1070,1131],[1136,1137,1140,1145],"section",{"className":1138,"dataFootnotes":131},[1139],"footnotes",[59,1141,1144],{"className":1142,"id":972},[1143],"sr-only","Footnotes",[841,1146,1147],{},[46,1148,1150,1151],{"id":1149},"user-content-fn-1","这是脚注的内容。 ",[705,1152,1157],{"href":1153,"ariaLabel":1154,"className":1155,"dataFootnoteBackref":131},"#user-content-fnref-1","Back to reference 1",[1156],"data-footnote-backref","↩",{"title":131,"searchDepth":132,"depth":132,"links":1159},[1160,1161,1162,1163],{"id":771,"depth":132,"text":766},{"id":781,"depth":132,"text":782},{"id":795,"depth":132,"text":796},{"id":972,"depth":132,"text":1144},"2026-06-04",{},"\u002Fblog\u002Fhello-world",{"title":766,"description":131},"blog\u002Fhello-world","这是我的第一篇博客文章，记录了我回归写作的心情和一些计划。","-cCQtywjQlHmvEYqwRbveFFPHCPKOm3k0UrXepIkcL4"]