Compare commits
8 Commits
e3c329d654
...
master
@@ -1074,9 +1074,10 @@ inject:
|
|||||||
- <script src="/js/shuoshuoshouye.js"></script>
|
- <script src="/js/shuoshuoshouye.js"></script>
|
||||||
- <script src="/js/ai-summary.js"></script>
|
- <script src="/js/ai-summary.js"></script>
|
||||||
- <script src="/js/search/typesense-search.js"></script>
|
- <script src="/js/search/typesense-search.js"></script>
|
||||||
- <script src="/js/footer.js"
|
- <script src="/js/footer.js"></script>
|
||||||
- <script src="https://cdn.jsdmirror.com/npm/echarts@4.9.0/dist/echarts.min.js"></script>
|
- <script src="https://cdn.jsdmirror.com/npm/echarts@4.9.0/dist/echarts.min.js"></script>
|
||||||
- <script src="https://cdn.jsdmirror.com/gh/bishshi/welcomemessage/txmap.js"></script>
|
- <script src="https://cdn.jsdmirror.com/gh/bishshi/welcomemessage/txmap.js"></script>
|
||||||
|
- <script src="/js/weather.js"></script>
|
||||||
- <script src="https://cdn.jsdmirror.com/gh/bishshi/rightmenu@1.2/rightmenu.js"></script>
|
- <script src="https://cdn.jsdmirror.com/gh/bishshi/rightmenu@1.2/rightmenu.js"></script>
|
||||||
- <script src="https://cdn.jsdmirror.com/gh/bishshi/sidecalendar@latest/calendar.js"></script>
|
- <script src="https://cdn.jsdmirror.com/gh/bishshi/sidecalendar@latest/calendar.js"></script>
|
||||||
- <script src="https://cdn.jsdmirror.com/npm/chinese-lunar@0.1.4/lib/chinese-lunar.js"></script>
|
- <script src="https://cdn.jsdmirror.com/npm/chinese-lunar@0.1.4/lib/chinese-lunar.js"></script>
|
||||||
|
|||||||
+12
-9
@@ -31,6 +31,7 @@ i18n_dir: :lang
|
|||||||
skip_render:
|
skip_render:
|
||||||
- "*.txt"
|
- "*.txt"
|
||||||
- admin/**/*
|
- admin/**/*
|
||||||
|
- config/**/*
|
||||||
|
|
||||||
# Writing
|
# Writing
|
||||||
new_post_name: :title.md # File name of new posts
|
new_post_name: :title.md # File name of new posts
|
||||||
@@ -135,17 +136,19 @@ all_minifier: true
|
|||||||
|
|
||||||
feed:
|
feed:
|
||||||
enable: true
|
enable: true
|
||||||
type: atom
|
type:
|
||||||
path: atom.xml
|
- atom
|
||||||
|
- rss2
|
||||||
|
path:
|
||||||
|
-atom.xml
|
||||||
|
-rss2.xml
|
||||||
limit: 20
|
limit: 20
|
||||||
|
content: true
|
||||||
content_limit: 140
|
content_limit: 140
|
||||||
content_limit_delim: ' '
|
content_limit_delim: ''
|
||||||
order_by: -date
|
# pretty_atom_file: /config/feed/atom.xsl
|
||||||
pretty_atom_file: /css/atom.xsl
|
# pretty_rss2_file: /config/feed/rss2.xsl
|
||||||
pretty_rss2_file: /css/rss2.xsl
|
enable_xslt_polyfill: false
|
||||||
autodiscovery: true
|
|
||||||
custom_elements:
|
|
||||||
- cover: 'cover'
|
|
||||||
|
|
||||||
sitemap:
|
sitemap:
|
||||||
path:
|
path:
|
||||||
|
|||||||
Generated
+228
-163
@@ -19,13 +19,13 @@
|
|||||||
"hexo-filter-mathjax": "^0.9.1",
|
"hexo-filter-mathjax": "^0.9.1",
|
||||||
"hexo-generator-archive": "^2.0.0",
|
"hexo-generator-archive": "^2.0.0",
|
||||||
"hexo-generator-category": "^2.0.0",
|
"hexo-generator-category": "^2.0.0",
|
||||||
"hexo-generator-feed": "^4.0.0",
|
|
||||||
"hexo-generator-index": "^4.0.0",
|
"hexo-generator-index": "^4.0.0",
|
||||||
"hexo-generator-search": "^2.4.3",
|
"hexo-generator-search": "^2.4.3",
|
||||||
"hexo-generator-searchdb": "^1.5.0",
|
"hexo-generator-searchdb": "^1.5.0",
|
||||||
"hexo-generator-sitemap": "^3.0.1",
|
"hexo-generator-sitemap": "^3.0.1",
|
||||||
"hexo-generator-tag": "^2.0.0",
|
"hexo-generator-tag": "^2.0.0",
|
||||||
"hexo-indexnow": "^1.2.0",
|
"hexo-indexnow": "^1.2.0",
|
||||||
|
"hexo-pretty-feed": "^2.1.0",
|
||||||
"hexo-renderer-ejs": "^2.0.0",
|
"hexo-renderer-ejs": "^2.0.0",
|
||||||
"hexo-renderer-marked": "^7.0.1",
|
"hexo-renderer-marked": "^7.0.1",
|
||||||
"hexo-renderer-pug": "^3.0.0",
|
"hexo-renderer-pug": "^3.0.0",
|
||||||
@@ -62,12 +62,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
|
||||||
"integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
|
"integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-validator-identifier": "^7.28.5",
|
"@babel/helper-validator-identifier": "^7.29.7",
|
||||||
"js-tokens": "^4.0.0",
|
"js-tokens": "^4.0.0",
|
||||||
"picocolors": "^1.1.1"
|
"picocolors": "^1.1.1"
|
||||||
},
|
},
|
||||||
@@ -76,13 +76,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/generator": {
|
"node_modules/@babel/generator": {
|
||||||
"version": "7.29.1",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz",
|
||||||
"integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
|
"integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.29.0",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/types": "^7.29.0",
|
"@babel/types": "^7.29.7",
|
||||||
"@jridgewell/gen-mapping": "^0.3.12",
|
"@jridgewell/gen-mapping": "^0.3.12",
|
||||||
"@jridgewell/trace-mapping": "^0.3.28",
|
"@jridgewell/trace-mapping": "^0.3.28",
|
||||||
"jsesc": "^3.0.2"
|
"jsesc": "^3.0.2"
|
||||||
@@ -92,39 +92,39 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-globals": {
|
"node_modules/@babel/helper-globals": {
|
||||||
"version": "7.28.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
|
||||||
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
|
"integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-string-parser": {
|
"node_modules/@babel/helper-string-parser": {
|
||||||
"version": "7.27.1",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
|
||||||
"integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
|
"integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-validator-identifier": {
|
"node_modules/@babel/helper-validator-identifier": {
|
||||||
"version": "7.28.5",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
|
||||||
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
|
"integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.29.2",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz",
|
||||||
"integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
|
"integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.29.0"
|
"@babel/types": "^7.29.7"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
@@ -134,40 +134,40 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.29.2",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
|
||||||
"integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
|
"integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/template": {
|
"node_modules/@babel/template": {
|
||||||
"version": "7.28.6",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
|
||||||
"integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
|
"integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.28.6",
|
"@babel/code-frame": "^7.29.7",
|
||||||
"@babel/parser": "^7.28.6",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/types": "^7.28.6"
|
"@babel/types": "^7.29.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz",
|
||||||
"integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
|
"integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.29.0",
|
"@babel/code-frame": "^7.29.7",
|
||||||
"@babel/generator": "^7.29.0",
|
"@babel/generator": "^7.29.7",
|
||||||
"@babel/helper-globals": "^7.28.0",
|
"@babel/helper-globals": "^7.29.7",
|
||||||
"@babel/parser": "^7.29.0",
|
"@babel/parser": "^7.29.7",
|
||||||
"@babel/template": "^7.28.6",
|
"@babel/template": "^7.29.7",
|
||||||
"@babel/types": "^7.29.0",
|
"@babel/types": "^7.29.7",
|
||||||
"debug": "^4.3.1"
|
"debug": "^4.3.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -198,13 +198,13 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.29.0",
|
"version": "7.29.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz",
|
||||||
"integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
|
"integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.27.1",
|
"@babel/helper-string-parser": "^7.29.7",
|
||||||
"@babel/helper-validator-identifier": "^7.28.5"
|
"@babel/helper-validator-identifier": "^7.29.7"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
@@ -355,18 +355,6 @@
|
|||||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@nodable/entities": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/nodable"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/@types/trusted-types": {
|
"node_modules/@types/trusted-types": {
|
||||||
"version": "2.0.7",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
|
||||||
@@ -375,10 +363,9 @@
|
|||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"node_modules/@xmldom/xmldom": {
|
"node_modules/@xmldom/xmldom": {
|
||||||
"version": "0.9.9",
|
"version": "0.9.10",
|
||||||
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.9.tgz",
|
"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.9.10.tgz",
|
||||||
"integrity": "sha512-qycIHAucxy/LXAYIjmLmtQ8q9GPnMbnjG1KXhWm9o5sCr6pOYDATkMPiTNa6/v8eELyqOQ2FsEqeoFYmgv/gJg==",
|
"integrity": "sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==",
|
||||||
"deprecated": "this version has critical issues, please update to the latest version",
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=14.6"
|
"node": ">=14.6"
|
||||||
@@ -412,14 +399,40 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/agent-base": {
|
"node_modules/agent-base": {
|
||||||
"version": "7.1.4",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||||
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"debug": "4"
|
||||||
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 14"
|
"node": ">= 6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/agent-base/node_modules/debug": {
|
||||||
|
"version": "4.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||||
|
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ms": "^2.1.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"supports-color": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/agent-base/node_modules/ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
"version": "6.2.2",
|
"version": "6.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
|
||||||
@@ -476,13 +489,14 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.15.0",
|
"version": "1.16.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.16.1.tgz",
|
||||||
"integrity": "sha512-wWyJDlAatxk30ZJer+GeCWS209sA42X+N5jU2jy6oHTp7ufw8uzUTVFBX9+wTfAlhiJXGS0Bq7X6efruWjuK9Q==",
|
"integrity": "sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.11",
|
"follow-redirects": "^1.16.0",
|
||||||
"form-data": "^4.0.5",
|
"form-data": "^4.0.5",
|
||||||
|
"https-proxy-agent": "^5.0.1",
|
||||||
"proxy-from-env": "^2.1.0"
|
"proxy-from-env": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -547,9 +561,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/brace-expansion": {
|
"node_modules/brace-expansion": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz",
|
||||||
"integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==",
|
"integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"balanced-match": "^1.0.0"
|
"balanced-match": "^1.0.0"
|
||||||
@@ -961,9 +975,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/dompurify": {
|
"node_modules/dompurify": {
|
||||||
"version": "3.4.0",
|
"version": "3.4.7",
|
||||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.7.tgz",
|
||||||
"integrity": "sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==",
|
"integrity": "sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==",
|
||||||
"license": "(MPL-2.0 OR Apache-2.0)",
|
"license": "(MPL-2.0 OR Apache-2.0)",
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@types/trusted-types": "^2.0.7"
|
"@types/trusted-types": "^2.0.7"
|
||||||
@@ -1080,9 +1094,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es-object-atoms": {
|
"node_modules/es-object-atoms": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
||||||
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
|
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es-errors": "^1.3.0"
|
"es-errors": "^1.3.0"
|
||||||
@@ -1162,9 +1176,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/fast-xml-builder": {
|
"node_modules/fast-xml-builder": {
|
||||||
"version": "1.1.5",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz",
|
||||||
"integrity": "sha512-4TJn/8FKLeslLAH3dnohXqE3QSoxkhvaMzepOIZytwJXZO69Bfz0HBdDHzOTOon6G59Zrk6VQ2bEiv1t61rfkA==",
|
"integrity": "sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -1173,13 +1187,14 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-expression-matcher": "^1.1.3"
|
"path-expression-matcher": "^1.5.0",
|
||||||
|
"xml-naming": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fast-xml-parser": {
|
"node_modules/fast-xml-parser": {
|
||||||
"version": "5.7.1",
|
"version": "5.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.4.2.tgz",
|
||||||
"integrity": "sha512-8Cc3f8GUGUULg34pBch/KGyPLglS+OFs05deyOlY7fL2MTagYPKrVQNmR1fLF/yJ9PH5ZSTd3YDF6pnmeZU+zA==",
|
"integrity": "sha512-pw/6pIl4k0CSpElPEJhDppLzaixDEuWui2CUQQBH/ECDf7+y6YwA4Gf7Tyb0Rfe4DIMuZipYj4AEL0nACKglvQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -1188,23 +1203,21 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nodable/entities": "^2.1.0",
|
"fast-xml-builder": "^1.0.0",
|
||||||
"fast-xml-builder": "^1.1.5",
|
"strnum": "^2.1.2"
|
||||||
"path-expression-matcher": "^1.5.0",
|
|
||||||
"strnum": "^2.2.3"
|
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"fxparser": "src/cli/cli.js"
|
"fxparser": "src/cli/cli.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/feedsmith": {
|
"node_modules/feedsmith": {
|
||||||
"version": "2.9.0",
|
"version": "2.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/feedsmith/-/feedsmith-2.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/feedsmith/-/feedsmith-2.9.1.tgz",
|
||||||
"integrity": "sha512-TYucytOx4bTrD4ON0iuJG9y0Me7fiT0EZ+7MIE0xptvd8TL6nY0Z1jVPa9W39WMJUtPqV2r27TQxL/z5DCCmdA==",
|
"integrity": "sha512-XsHf3lv+i3juaUjE4FHB56nKN+lwvjJTmH3ZMVO4yELaeHV/siLygDlmfJXJoMzP9JZC+zYZUhPEH+9tL3ijzQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"entities": "^7.0.0",
|
"entities": "^7.0.1",
|
||||||
"fast-xml-parser": "^5.3.3"
|
"fast-xml-parser": "~5.4.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/feedsmith/node_modules/entities": {
|
"node_modules/feedsmith/node_modules/entities": {
|
||||||
@@ -1438,9 +1451,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/glob/node_modules/brace-expansion": {
|
"node_modules/glob/node_modules/brace-expansion": {
|
||||||
"version": "1.1.14",
|
"version": "1.1.15",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz",
|
||||||
"integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==",
|
"integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"balanced-match": "^1.0.0",
|
"balanced-match": "^1.0.0",
|
||||||
@@ -1505,9 +1518,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hasown": {
|
"node_modules/hasown": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
||||||
"integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==",
|
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"function-bind": "^1.1.2"
|
"function-bind": "^1.1.2"
|
||||||
@@ -1517,9 +1530,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hexo": {
|
"node_modules/hexo": {
|
||||||
"version": "8.1.1",
|
"version": "8.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/hexo/-/hexo-8.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/hexo/-/hexo-8.1.2.tgz",
|
||||||
"integrity": "sha512-UnzT4ImjKzMMuVRsvudxrl7MkdZwKe4S9xJN5pQPK9c+K0G+fLFb9kB6CqZZwj2E5ne+QK0ls4XMKqTUbNR3RQ==",
|
"integrity": "sha512-gmpNwL1KnbK12q551ZhGxqvSw8M88ZSjFKOhx6ybUYz1phjPdwGewMgBgwGmjcVcIYFq6tWQAv1MRil/sBrPHQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abbrev": "^3.0.0",
|
"abbrev": "^3.0.0",
|
||||||
@@ -2496,19 +2509,6 @@
|
|||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/hexo-generator-feed": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/hexo-generator-feed/-/hexo-generator-feed-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-wG0SDBwJ60B+bcMQhArjSpw/bsuP1/4o9Ar+FnxTMRq5/SEZZlj7q/r7HI60olRf0eurqEm4Dm8yHfAMKQhkoA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"feedsmith": "2.9.0",
|
|
||||||
"hexo-util": "4.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=20.19.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/hexo-generator-index": {
|
"node_modules/hexo-generator-index": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-4.0.0.tgz",
|
||||||
@@ -2713,6 +2713,19 @@
|
|||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/hexo-pretty-feed": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/hexo-pretty-feed/-/hexo-pretty-feed-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-pfdsc7ENEe5wljY1XGbWlcoQlBkGOJabetU/Vtftq6WRn56TfzFXh1ayLt1MJ4k3xM0mY9SSLr/f22H06dQu2g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"feedsmith": "2.9.1",
|
||||||
|
"hexo-util": "4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.19.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/hexo-renderer-ejs": {
|
"node_modules/hexo-renderer-ejs": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-2.0.0.tgz",
|
||||||
@@ -2956,6 +2969,15 @@
|
|||||||
"node": ">= 14"
|
"node": ">= 14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/http-proxy-agent/node_modules/agent-base": {
|
||||||
|
"version": "7.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
||||||
|
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/http-proxy-agent/node_modules/debug": {
|
"node_modules/http-proxy-agent/node_modules/debug": {
|
||||||
"version": "4.4.3",
|
"version": "4.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||||
@@ -2980,16 +3002,16 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/https-proxy-agent": {
|
"node_modules/https-proxy-agent": {
|
||||||
"version": "7.0.6",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||||
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"agent-base": "^7.1.2",
|
"agent-base": "6",
|
||||||
"debug": "4"
|
"debug": "4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 14"
|
"node": ">= 6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/https-proxy-agent/node_modules/debug": {
|
"node_modules/https-proxy-agent/node_modules/debug": {
|
||||||
@@ -3094,12 +3116,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-core-module": {
|
"node_modules/is-core-module": {
|
||||||
"version": "2.16.1",
|
"version": "2.16.2",
|
||||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.2.tgz",
|
||||||
"integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
|
"integrity": "sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"hasown": "^2.0.2"
|
"hasown": "^2.0.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
@@ -3322,6 +3344,51 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jsdom/node_modules/agent-base": {
|
||||||
|
"version": "7.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
|
||||||
|
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jsdom/node_modules/debug": {
|
||||||
|
"version": "4.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||||
|
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"ms": "^2.1.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"supports-color": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jsdom/node_modules/https-proxy-agent": {
|
||||||
|
"version": "7.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
|
||||||
|
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"agent-base": "^7.1.2",
|
||||||
|
"debug": "4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/jsdom/node_modules/ms": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/jsesc": {
|
"node_modules/jsesc": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
|
||||||
@@ -3594,9 +3661,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.11",
|
"version": "3.3.12",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
|
||||||
"integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
|
"integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -4386,12 +4453,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/speech-rule-engine": {
|
"node_modules/speech-rule-engine": {
|
||||||
"version": "4.1.3",
|
"version": "4.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.1.4.tgz",
|
||||||
"integrity": "sha512-SBMgkuJYvP4F62daRfBNwYC2nXTEhNXAfsBZ/BB7Ly85/KnbnjmKM7/45ZrFbH6jIMiAliDUDPSZFUuXDvcg6A==",
|
"integrity": "sha512-i/VCLG1fvRc95pMHRqG4aQNscv+9aIsqA2oI7ZQS51sTdUcDHYX6cpT8/tqZ+enjs1tKVwbRBWgxut9SWn+f9g==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@xmldom/xmldom": "0.9.9",
|
"@xmldom/xmldom": "0.9.10",
|
||||||
"commander": "13.1.0",
|
"commander": "13.1.0",
|
||||||
"wicked-good-xpath": "1.3.0"
|
"wicked-good-xpath": "1.3.0"
|
||||||
},
|
},
|
||||||
@@ -4460,9 +4527,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/strnum": {
|
"node_modules/strnum": {
|
||||||
"version": "2.2.3",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz",
|
||||||
"integrity": "sha512-oKx6RUCuHfT3oyVjtnrmn19H1SiCqgJSg+54XqURKp5aCMbrXrhLjRN9TjuwMjiYstZ0MzDrHqkGZ5dFTKd+zg==",
|
"integrity": "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@@ -4637,12 +4704,12 @@
|
|||||||
"license": "0BSD"
|
"license": "0BSD"
|
||||||
},
|
},
|
||||||
"node_modules/typesense": {
|
"node_modules/typesense": {
|
||||||
"version": "3.0.5",
|
"version": "3.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/typesense/-/typesense-3.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/typesense/-/typesense-3.0.6.tgz",
|
||||||
"integrity": "sha512-Pw/yWosbqEOFMM/wQDsnS8FA6r3Qp5ilxuqZTMBoUc95SGCEBflMd39kvDEZZFoTORzNDxCLiiQ+LfYJTl1ulQ==",
|
"integrity": "sha512-d3LL1qOLS8FCRxgAOqH+uDuK+VVA+/HYI1frU9fjYVwOg68mg/dX6XTtZ4yKKAkDCasB/se5uh/ZpMdOz/uJNg==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "1.13.5",
|
"axios": "^1.15.0",
|
||||||
"loglevel": "^1.9.2",
|
"loglevel": "^1.9.2",
|
||||||
"tslib": "^2.8.1"
|
"tslib": "^2.8.1"
|
||||||
},
|
},
|
||||||
@@ -4653,27 +4720,10 @@
|
|||||||
"@babel/runtime": "^7.23.2"
|
"@babel/runtime": "^7.23.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typesense/node_modules/axios": {
|
|
||||||
"version": "1.13.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz",
|
|
||||||
"integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"follow-redirects": "^1.15.11",
|
|
||||||
"form-data": "^4.0.5",
|
|
||||||
"proxy-from-env": "^1.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/typesense/node_modules/proxy-from-env": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
|
||||||
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/undici": {
|
"node_modules/undici": {
|
||||||
"version": "7.25.0",
|
"version": "7.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.25.0.tgz",
|
"resolved": "https://registry.npmjs.org/undici/-/undici-7.26.0.tgz",
|
||||||
"integrity": "sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==",
|
"integrity": "sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.18.1"
|
"node": ">=20.18.1"
|
||||||
@@ -4860,9 +4910,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.20.0",
|
"version": "8.21.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
|
||||||
"integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
|
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
@@ -4889,6 +4939,21 @@
|
|||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/xml-naming": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.1.0.tgz",
|
||||||
|
"integrity": "sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/NaturalIntelligence"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/xml2js": {
|
"node_modules/xml2js": {
|
||||||
"version": "0.6.2",
|
"version": "0.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
|
||||||
|
|||||||
+1
-1
@@ -23,13 +23,13 @@
|
|||||||
"hexo-filter-mathjax": "^0.9.1",
|
"hexo-filter-mathjax": "^0.9.1",
|
||||||
"hexo-generator-archive": "^2.0.0",
|
"hexo-generator-archive": "^2.0.0",
|
||||||
"hexo-generator-category": "^2.0.0",
|
"hexo-generator-category": "^2.0.0",
|
||||||
"hexo-generator-feed": "^4.0.0",
|
|
||||||
"hexo-generator-index": "^4.0.0",
|
"hexo-generator-index": "^4.0.0",
|
||||||
"hexo-generator-search": "^2.4.3",
|
"hexo-generator-search": "^2.4.3",
|
||||||
"hexo-generator-searchdb": "^1.5.0",
|
"hexo-generator-searchdb": "^1.5.0",
|
||||||
"hexo-generator-sitemap": "^3.0.1",
|
"hexo-generator-sitemap": "^3.0.1",
|
||||||
"hexo-generator-tag": "^2.0.0",
|
"hexo-generator-tag": "^2.0.0",
|
||||||
"hexo-indexnow": "^1.2.0",
|
"hexo-indexnow": "^1.2.0",
|
||||||
|
"hexo-pretty-feed": "^2.1.0",
|
||||||
"hexo-renderer-ejs": "^2.0.0",
|
"hexo-renderer-ejs": "^2.0.0",
|
||||||
"hexo-renderer-marked": "^7.0.1",
|
"hexo-renderer-marked": "^7.0.1",
|
||||||
"hexo-renderer-pug": "^3.0.0",
|
"hexo-renderer-pug": "^3.0.0",
|
||||||
|
|||||||
@@ -0,0 +1,139 @@
|
|||||||
|
---
|
||||||
|
title: GPT Image2 初试
|
||||||
|
cover: 'https://pic.biss.click/image/92de2106-ee94-493e-ad40-b7d4054b23c6.webp'
|
||||||
|
categories:
|
||||||
|
- 技术
|
||||||
|
tags:
|
||||||
|
- OpenAI
|
||||||
|
- AI
|
||||||
|
- 图像生成
|
||||||
|
summary: >-
|
||||||
|
这篇文章介绍了作者最近试用gpt
|
||||||
|
img2之后的一些直观感受。文章没有从技术角度展开,而是以普通用户的体验为主,聊了它适合做什么、哪些地方比以前的AI绘图更顺手、哪些地方依然不太稳定,以及在日常做头像、壁纸、封面图和改图时的一些实际体会。整体来看,它确实比以前更听话一些,但也还没有到可以完全省心的地步。
|
||||||
|
abbrlink: 3f8de22
|
||||||
|
date: 2026-04-25 15:00:00
|
||||||
|
---
|
||||||
|
|
||||||
|
最近看到不少人在说 `gpt img2` ,我也去试了试。
|
||||||
|
先说结论,确实比我以前随手玩过的一些 AI 画图工具要顺手,尤其是在“听懂人话”这件事上,感觉明显好了不少。
|
||||||
|
我生成了几张图:
|
||||||
|

|
||||||
|

|
||||||
|
不过它也没有神到那种地步,不是说你脑子里想什么,它就百分百给你画什么。更多时候,我会觉得它像一个比较聪明、但偶尔还是会跑偏的画图助手。
|
||||||
|
|
||||||
|
# 我为什么会去试这个
|
||||||
|
|
||||||
|
其实我平时并不是很重度用 AI 画图的人,最多也就是做这几种东西:
|
||||||
|
|
||||||
|
- 文章封面图
|
||||||
|
- 头像
|
||||||
|
- 壁纸
|
||||||
|
- 一些网页装饰用的小图
|
||||||
|
- 改改现成图片
|
||||||
|
|
||||||
|
以前我对这类工具最大的感受就是,能画,但是不稳定。
|
||||||
|
有时候第一张就很好,有时候连续改十几次都不对味。尤其是你要求稍微细一点,它就很容易开始自由发挥。
|
||||||
|
|
||||||
|
这次去试 `gpt img2` ,我本来也是抱着“看看是不是又换了个名字继续宣传”的想法,结果实际用下来,至少第一印象还可以。
|
||||||
|
|
||||||
|
# 第一感觉就是更听话了
|
||||||
|
|
||||||
|
这个是我最直接的感受。
|
||||||
|
|
||||||
|
以前很多 AI 画图工具,你写一大段描述,它看起来像是认真读了,但实际生成出来,总有一种“只挑了几句重点听”的感觉。
|
||||||
|
比如你明明说的是干净背景、淡色、安静一点的氛围,它最后给你来一张花里胡哨的图。
|
||||||
|
|
||||||
|
`gpt img2` 相对来说,会更愿意按照你写的意思去靠。
|
||||||
|
|
||||||
|
当然,也不是说它就完全不会乱来,而是那种“离题太远”的情况少了一点。
|
||||||
|
普通用户用的时候,这个差别其实挺明显的,因为很多时候我们并不想研究什么复杂提示词,只想把自己脑子里的画面尽量说清楚。
|
||||||
|
|
||||||
|
# 比较适合我这种普通人的地方
|
||||||
|
|
||||||
|
我自己觉得,它最适合的不是那种特别专业的商业设计,而是下面这些日常场景:
|
||||||
|
|
||||||
|
## 做头像和壁纸
|
||||||
|
|
||||||
|
这个是最轻松的。
|
||||||
|
|
||||||
|
你只要把风格、颜色、主体大概说一下,一般都能出个八九不离十的结果。
|
||||||
|
比如想要一个偏安静、偏插画风的头像,或者想做一个简洁一点的手机壁纸,这种它完成得还不错。
|
||||||
|
|
||||||
|
而且有一个很现实的问题,头像和壁纸对“绝对精确”要求没那么高,所以就算它有一点点小偏差,也不太影响使用。
|
||||||
|
|
||||||
|
## 做文章封面图
|
||||||
|
|
||||||
|
这个我感觉也挺适合。
|
||||||
|
|
||||||
|
尤其是写博客的时候,有时候正文已经写完了,但就是不想花太多时间去找图。
|
||||||
|
这个时候让它给一张气质差不多的配图,其实很省事。
|
||||||
|
|
||||||
|
不过文章封面图有个问题,就是如果你想让它在图里放很准确的中文文字,那还是不要太指望。
|
||||||
|
拿来做氛围图可以,拿来直接当完整海报,我觉得还差一点意思。
|
||||||
|
|
||||||
|
## 改图比纯出图更有意思
|
||||||
|
|
||||||
|
这个是我试完之后觉得比较有趣的一点。
|
||||||
|
|
||||||
|
以前我对 AI 画图更多是“从零生成”,但这次明显感觉“改现成图”会更实用一些。
|
||||||
|
比如:
|
||||||
|
|
||||||
|
- 背景不喜欢,换一下
|
||||||
|
- 色调不喜欢,柔和一点
|
||||||
|
- 构图太满了,简洁一点
|
||||||
|
- 想保留主体,只改周围环境
|
||||||
|
|
||||||
|
这种比从头重新生成方便很多。
|
||||||
|
因为你本来就已经有一个大致方向了,只是想在它基础上继续修。
|
||||||
|
|
||||||
|
# 它并不是每次都稳定
|
||||||
|
|
||||||
|
虽然前面夸了不少,但还是得说,AI 画图这东西目前依然带一点玄学。
|
||||||
|
|
||||||
|
有时候第一张就很顺眼,甚至顺眼到让我怀疑“是不是今天运气太好了”。
|
||||||
|
但有时候同样一句话,换一次结果就完全不是那个味。
|
||||||
|
|
||||||
|
所以如果一定要我给个很真实的评价,我会觉得:
|
||||||
|
|
||||||
|
它比以前更容易出到“能用的图”
|
||||||
|
但还没有到“你完全不用挑图”的程度
|
||||||
|
|
||||||
|
这两个感觉差别还是挺大的。
|
||||||
|
|
||||||
|
# 文字还是不要太相信
|
||||||
|
|
||||||
|
这个基本算是我对所有 AI 出图工具的统一评价了。
|
||||||
|
|
||||||
|
如果只是画面里带一点很简单的小字,也许能凑合看看。
|
||||||
|
但你要是想让它直接给你做一张字很多、排版还工整的海报,我感觉还是容易翻车。
|
||||||
|
|
||||||
|
尤其是中文,很多时候看着像那么回事,细看就不是很对。
|
||||||
|
所以如果只是做背景图、插图、封面图,这个没什么问题。
|
||||||
|
但如果是正式一点的图文海报,我还是更愿意后面自己补字。
|
||||||
|
|
||||||
|
# 最麻烦的还是“差一点点”
|
||||||
|
|
||||||
|
我觉得 AI 画图最折磨人的地方,从来都不是完全不行,而是它经常会给你一张“差一点点”的图。
|
||||||
|
|
||||||
|
比如:
|
||||||
|
|
||||||
|
- 整体很好,但手不对
|
||||||
|
- 脸差不多,但眼神怪怪的
|
||||||
|
- 背景挺好,但颜色太脏
|
||||||
|
- 构图不错,但多出来几个没必要的东西
|
||||||
|
|
||||||
|
这种图你删了可惜,用了又不甘心。
|
||||||
|
然后你就会进入一个“再改一下应该就好了吧”的循环。
|
||||||
|
|
||||||
|
所以我现在反而会提醒自己,别太贪。
|
||||||
|
差不多能用的时候就停,不然改着改着,很容易把原来那张还不错的也改没了。
|
||||||
|
|
||||||
|
# 最后
|
||||||
|
|
||||||
|
反正我试下来,对 `gpt img2` 的感觉大概就是:
|
||||||
|
|
||||||
|
它不是那种会让我惊呼“以后再也不用别的了”的东西,
|
||||||
|
但它确实是目前让我觉得“拿来日常做图已经挺方便了”的一类工具。
|
||||||
|
|
||||||
|
对于普通用户来说,我觉得这就够了。
|
||||||
|
能帮我少折腾一点,少改几轮,偶尔还能出几张挺喜欢的图,那它就已经算好用了。
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
title: 把普通的一天过成自己的节奏
|
||||||
|
categories:
|
||||||
|
- 生活
|
||||||
|
tags:
|
||||||
|
- 随笔
|
||||||
|
- 生活
|
||||||
|
abbrlink: efe1e805
|
||||||
|
date: 2026-05-29 18:09:40
|
||||||
|
---
|
||||||
|
|
||||||
|
有时候,我们会把“好好生活”想得太大,好像它必须绑定某个明确的目标:换一份更好的工作,去一个更远的地方,学会一项很厉害的技能,或者在某个时间节点之前完成别人眼里的成功。
|
||||||
|
|
||||||
|
可真正能把日子托住的,往往不是这些很大的东西,而是一些小到容易被忽略的瞬间。
|
||||||
|
|
||||||
|
比如早上醒来后,没有立刻被消息推着跑,而是先喝一口水,慢慢把自己放回这一天里。比如走在路上时,发现今天的风刚好不冷不热,树影落在地上,像一张没人署名的明信片。比如晚上回到房间,给桌面留出一点空白,也给心里留出一点空白。
|
||||||
|
|
||||||
|
生活当然不会因为这些细节就变得没有压力。该做的事情还在那里,该面对的问题也不会自动消失。但这些小事会提醒我们:我不是只在处理任务,我也正在经历自己的人生。
|
||||||
|
|
||||||
|
很多时候,人会被“必须更快一点”的感觉追着走。快一点回复,快一点完成,快一点变好。久而久之,我们甚至忘了问自己:我到底想把时间用成什么样子?
|
||||||
|
|
||||||
|
也许答案并不复杂。
|
||||||
|
|
||||||
|
可以是认真吃一顿饭,不一边刷手机一边把味道错过。可以是把拖了很久的小事做完,让它别再占用心里的后台。可以是读几页书,听一首歌,散一会儿步,或者只是安静地发一会儿呆。
|
||||||
|
|
||||||
|
这些事情看起来不够“高效”,却很像给生活校准方向。它们让人重新感觉到,日子不是一条只能向前赶的进度条,也可以是一段可以被感受、被整理、被轻轻收藏的时间。
|
||||||
|
|
||||||
|
普通的一天并不会自动变得特别。但如果我们愿意在里面放进一点自己的节奏,它就会慢慢变得有辨识度。
|
||||||
|
|
||||||
|
不是为了把每一天都过得闪闪发光,而是为了在平凡里仍然知道:这是我的一天,我在里面认真地活过。
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
nav#nav
|
nav#nav
|
||||||
//- 左侧区域:包含指纹菜单和网站名
|
//- 左侧区域:包含指纹菜单和网站名
|
||||||
span#blog-info
|
span#blog-info
|
||||||
#ls-menu-container
|
#ls-menu-container.ls-mobile-safe
|
||||||
i.fas.fa-fingerprint
|
i.fas.fa-fingerprint
|
||||||
#ls-menu-panel
|
#ls-menu-panel.ls-mobile-safe-panel
|
||||||
.ls-section
|
.ls-section
|
||||||
.ls-title 😀 个人网站
|
.ls-title 😀 个人网站
|
||||||
.ls-grid
|
.ls-grid
|
||||||
|
|||||||
@@ -2,17 +2,4 @@ if theme.menu
|
|||||||
#sidebar
|
#sidebar
|
||||||
#menu-mask
|
#menu-mask
|
||||||
#sidebar-menus
|
#sidebar-menus
|
||||||
.avatar-img.text-center
|
#sidebar-aside-wrapper
|
||||||
img(src=url_for(theme.avatar.img) onerror=`this.onerror=null;this.src='${url_for(theme.error_img.flink)}'` alt="avatar")
|
|
||||||
.site-data.text-center
|
|
||||||
a(href=`${url_for(config.archive_dir)}/`)
|
|
||||||
.headline= _p('aside.articles')
|
|
||||||
.length-num= site.posts.length
|
|
||||||
a(href=`${url_for(config.tag_dir)}/`)
|
|
||||||
.headline= _p('aside.tags')
|
|
||||||
.length-num= site.tags.length
|
|
||||||
a(href=`${url_for(config.category_dir)}/`)
|
|
||||||
.headline= _p('aside.categories')
|
|
||||||
.length-num= site.categories.length
|
|
||||||
|
|
||||||
!= partial('includes/header/menu_item', {}, { cache: true })
|
|
||||||
|
|||||||
@@ -5,3 +5,4 @@ if theme.aside.card_announcement.enable
|
|||||||
span= _p('aside.card_announcement')
|
span= _p('aside.card_announcement')
|
||||||
.announcement_content!= theme.aside.card_announcement.content
|
.announcement_content!= theme.aside.card_announcement.content
|
||||||
#welcome-ip-location-info
|
#welcome-ip-location-info
|
||||||
|
#aside-weather
|
||||||
@@ -95,3 +95,50 @@
|
|||||||
max-height: 1000px
|
max-height: 1000px
|
||||||
opacity: 1
|
opacity: 1
|
||||||
transform: scaleY(1)
|
transform: scaleY(1)
|
||||||
|
|
||||||
|
#sidebar-aside-wrapper
|
||||||
|
display: none
|
||||||
|
|
||||||
|
html.mobile-aside-in-sidebar
|
||||||
|
#content-inner
|
||||||
|
> #aside-content
|
||||||
|
display: none
|
||||||
|
|
||||||
|
#sidebar
|
||||||
|
#sidebar-menus
|
||||||
|
#sidebar-aside-wrapper
|
||||||
|
display: block
|
||||||
|
padding: 20px
|
||||||
|
|
||||||
|
&:empty
|
||||||
|
display: none
|
||||||
|
|
||||||
|
#aside-content
|
||||||
|
margin-top: 0
|
||||||
|
width: 100%
|
||||||
|
|
||||||
|
.card-widget
|
||||||
|
margin-bottom: 16px
|
||||||
|
|
||||||
|
.sticky_layout
|
||||||
|
position: static
|
||||||
|
position: initial
|
||||||
|
top: auto
|
||||||
|
|
||||||
|
#card-toc
|
||||||
|
position: relative
|
||||||
|
right: auto
|
||||||
|
bottom: auto
|
||||||
|
z-index: auto
|
||||||
|
max-width: none
|
||||||
|
max-height: none
|
||||||
|
width: 100%
|
||||||
|
transition: none
|
||||||
|
transform: none
|
||||||
|
transform-origin: center top
|
||||||
|
|
||||||
|
&.open
|
||||||
|
transform: none
|
||||||
|
|
||||||
|
.toc-content
|
||||||
|
max-height: 60vh
|
||||||
|
|||||||
@@ -175,6 +175,41 @@
|
|||||||
background: rgba(255, 255, 255, 0.05);
|
background: rgba(255, 255, 255, 0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
#ls-menu-container.ls-mobile-safe {
|
||||||
|
position: static !important;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ls-menu-panel.ls-mobile-safe-panel {
|
||||||
|
position: fixed !important;
|
||||||
|
top: 70px !important;
|
||||||
|
left: 12px !important;
|
||||||
|
right: 12px !important;
|
||||||
|
width: auto !important;
|
||||||
|
max-width: calc(100vw - 24px) !important;
|
||||||
|
max-height: calc(100vh - 94px) !important;
|
||||||
|
margin-top: 0 !important;
|
||||||
|
overflow-y: auto;
|
||||||
|
overflow-x: hidden;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ls-menu-panel.ls-mobile-safe-panel::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ls-menu-panel.ls-mobile-safe-panel .ls-grid {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ls-menu-panel.ls-mobile-safe-panel .ls-grid a {
|
||||||
|
min-width: 0;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#nav.show-title .nav-page-title {
|
#nav.show-title .nav-page-title {
|
||||||
display: flex !important;
|
display: flex !important;
|
||||||
opacity: 1 !important;
|
opacity: 1 !important;
|
||||||
|
|||||||
@@ -38,6 +38,26 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const syncAsideToSidebar = () => {
|
||||||
|
const asideContent = document.getElementById('aside-content')
|
||||||
|
const desktopAsideContainer = document.getElementById('content-inner')
|
||||||
|
const mobileAsideContainer = document.getElementById('sidebar-aside-wrapper')
|
||||||
|
|
||||||
|
if (!(asideContent && desktopAsideContainer && mobileAsideContainer)) {
|
||||||
|
document.documentElement.classList.remove('mobile-aside-in-sidebar')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const shouldMoveAside = window.innerWidth <= 900
|
||||||
|
const targetContainer = shouldMoveAside ? mobileAsideContainer : desktopAsideContainer
|
||||||
|
|
||||||
|
if (asideContent.parentNode !== targetContainer) {
|
||||||
|
targetContainer.appendChild(asideContent)
|
||||||
|
}
|
||||||
|
|
||||||
|
document.documentElement.classList.toggle('mobile-aside-in-sidebar', shouldMoveAside)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 首頁top_img底下的箭頭
|
* 首頁top_img底下的箭頭
|
||||||
*/
|
*/
|
||||||
@@ -921,12 +941,20 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
const unRefreshFn = () => {
|
const unRefreshFn = () => {
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
adjustMenu(false)
|
adjustMenu(false)
|
||||||
|
syncAsideToSidebar()
|
||||||
mobileSidebarOpen && btf.isHidden(document.getElementById('toggle-menu')) && sidebarFn.close()
|
mobileSidebarOpen && btf.isHidden(document.getElementById('toggle-menu')) && sidebarFn.close()
|
||||||
})
|
})
|
||||||
|
|
||||||
const menuMask = document.getElementById('menu-mask')
|
const menuMask = document.getElementById('menu-mask')
|
||||||
menuMask && menuMask.addEventListener('click', () => { sidebarFn.close() })
|
menuMask && menuMask.addEventListener('click', () => { sidebarFn.close() })
|
||||||
|
|
||||||
|
const sidebarMenus = document.getElementById('sidebar-menus')
|
||||||
|
sidebarMenus && sidebarMenus.addEventListener('click', e => {
|
||||||
|
const clickedLink = e.target.closest('a')
|
||||||
|
if (!clickedLink) return
|
||||||
|
sidebarFn.close()
|
||||||
|
})
|
||||||
|
|
||||||
clickFnOfSubMenu()
|
clickFnOfSubMenu()
|
||||||
GLOBAL_CONFIG.islazyloadPlugin && lazyloadImg()
|
GLOBAL_CONFIG.islazyloadPlugin && lazyloadImg()
|
||||||
GLOBAL_CONFIG.copyright !== undefined && addCopyright()
|
GLOBAL_CONFIG.copyright !== undefined && addCopyright()
|
||||||
@@ -952,6 +980,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|||||||
|
|
||||||
const refreshFn = () => {
|
const refreshFn = () => {
|
||||||
initAdjust()
|
initAdjust()
|
||||||
|
syncAsideToSidebar()
|
||||||
justifiedIndexPostUI()
|
justifiedIndexPostUI()
|
||||||
|
|
||||||
if (GLOBAL_CONFIG_SITE.pageType === 'post') {
|
if (GLOBAL_CONFIG_SITE.pageType === 'post') {
|
||||||
|
|||||||
@@ -0,0 +1,204 @@
|
|||||||
|
// weather.js
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
|
||||||
|
const WEATHER_ID = "aside-weather";
|
||||||
|
const LOCATION_WAIT_MS = 3000;
|
||||||
|
const LOCATION_POLL_INTERVAL_MS = 100;
|
||||||
|
const WEATHER_KEY = "70201debab4245379e376d116b05f8a2";
|
||||||
|
const WEATHER_HOST = "https://ny5vxmbbkd.re.qweatherapi.com";
|
||||||
|
const WEATHER_LANG = "zh";
|
||||||
|
|
||||||
|
function debugLog(label, payload) {
|
||||||
|
console.log(`[weather.js] ${label}`, payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
function maskSecret(secret) {
|
||||||
|
if (!secret || secret.length < 10) return secret;
|
||||||
|
return `${secret.slice(0, 4)}***${secret.slice(-4)}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function readExistingLocation() {
|
||||||
|
return window.ipLocation?.result?.location || null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function waitForExistingLocation(timeout = LOCATION_WAIT_MS) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
const existingLocation = readExistingLocation();
|
||||||
|
if (existingLocation) {
|
||||||
|
resolve(existingLocation);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const startTime = Date.now();
|
||||||
|
const timer = window.setInterval(() => {
|
||||||
|
const location = readExistingLocation();
|
||||||
|
if (location) {
|
||||||
|
window.clearInterval(timer);
|
||||||
|
resolve(location);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Date.now() - startTime >= timeout) {
|
||||||
|
window.clearInterval(timer);
|
||||||
|
reject(new Error("等待 ipLocation 超时"));
|
||||||
|
}
|
||||||
|
}, LOCATION_POLL_INTERVAL_MS);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function requestLocationFallback() {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (!window.$?.ajax) {
|
||||||
|
reject(new Error("jQuery 未加载,无法执行定位兜底请求"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'get',
|
||||||
|
url: 'https://apis.map.qq.com/ws/location/v1/ip',
|
||||||
|
data: {
|
||||||
|
key: '你的key',
|
||||||
|
output: 'jsonp',
|
||||||
|
callback: '?',
|
||||||
|
},
|
||||||
|
dataType: 'jsonp',
|
||||||
|
success: function (res) {
|
||||||
|
debugLog("定位兜底返回", res);
|
||||||
|
if (res && res.status === 0 && res.result?.location) {
|
||||||
|
window.ipLocation = res;
|
||||||
|
resolve(res.result.location);
|
||||||
|
} else {
|
||||||
|
reject(new Error("定位失败"));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
reject(new Error("定位请求失败"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getLocation() {
|
||||||
|
return waitForExistingLocation()
|
||||||
|
.then(location => {
|
||||||
|
debugLog("使用 txmap.js 定位", location);
|
||||||
|
return location;
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
debugLog("等待 txmap.js 定位失败,转兜底请求", error);
|
||||||
|
return requestLocationFallback();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function getWeather(lng, lat) {
|
||||||
|
const location = `${lng.toFixed(2)},${lat.toFixed(2)}`;
|
||||||
|
const params = new URLSearchParams({
|
||||||
|
location,
|
||||||
|
lang: WEATHER_LANG,
|
||||||
|
key: WEATHER_KEY
|
||||||
|
});
|
||||||
|
const requestUrl = `${WEATHER_HOST}/v7/weather/now?${params.toString()}`;
|
||||||
|
|
||||||
|
debugLog("天气请求参数", {
|
||||||
|
host: WEATHER_HOST,
|
||||||
|
location,
|
||||||
|
lang: WEATHER_LANG,
|
||||||
|
key: maskSecret(WEATHER_KEY)
|
||||||
|
});
|
||||||
|
|
||||||
|
return fetch(requestUrl, {
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json"
|
||||||
|
}
|
||||||
|
}).then(async res => {
|
||||||
|
const responseText = await res.text();
|
||||||
|
let data;
|
||||||
|
|
||||||
|
try {
|
||||||
|
data = JSON.parse(responseText);
|
||||||
|
} catch (parseError) {
|
||||||
|
debugLog("天气接口返回非 JSON", {
|
||||||
|
status: res.status,
|
||||||
|
statusText: res.statusText,
|
||||||
|
body: responseText
|
||||||
|
});
|
||||||
|
throw new Error(`天气接口返回非 JSON,HTTP ${res.status}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
debugLog("天气接口响应", {
|
||||||
|
status: res.status,
|
||||||
|
statusText: res.statusText,
|
||||||
|
body: data
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!res.ok) {
|
||||||
|
const detail = data?.error?.detail || data?.msg || `HTTP ${res.status}`;
|
||||||
|
throw new Error(`天气接口请求失败:${detail}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function renderWeather(data) {
|
||||||
|
const el = document.getElementById(WEATHER_ID);
|
||||||
|
if (!el) return;
|
||||||
|
|
||||||
|
if (data.code !== "200") {
|
||||||
|
debugLog("天气接口业务错误", data);
|
||||||
|
el.innerHTML = `天气获取失败:${data.code || "未知错误"}`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const now = data.now;
|
||||||
|
|
||||||
|
const emojiMap = {
|
||||||
|
"晴": "☀️",
|
||||||
|
"多云": "⛅",
|
||||||
|
"阴": "☁️",
|
||||||
|
"雨": "🌧️",
|
||||||
|
"雪": "❄️",
|
||||||
|
"雷": "⛈️"
|
||||||
|
};
|
||||||
|
|
||||||
|
const emoji = emojiMap[now.text] || "🌡️";
|
||||||
|
const weatherSentence = `当前天气${now.text},气温${now.temp}℃,体感${now.feelsLike}℃,${now.windDir}${now.windScale}级,湿度${now.humidity}%,能见度${now.vis}km。`;
|
||||||
|
|
||||||
|
el.innerHTML = `
|
||||||
|
<div class="aside-weather-card">
|
||||||
|
<div class="weather-top">
|
||||||
|
</div>
|
||||||
|
<div class="weather-info">
|
||||||
|
${weatherSentence}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function initWeather() {
|
||||||
|
const el = document.getElementById(WEATHER_ID);
|
||||||
|
if (!el) return;
|
||||||
|
|
||||||
|
el.innerHTML = "🌥️ 获取天气中...";
|
||||||
|
|
||||||
|
getLocation()
|
||||||
|
.then(loc => getWeather(loc.lng, loc.lat))
|
||||||
|
.then(renderWeather)
|
||||||
|
.catch(err => {
|
||||||
|
console.error("[weather.js] 天气加载失败", err);
|
||||||
|
el.innerHTML = `🌧️ 天气加载失败:${err.message || "未知错误"}`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 🚀 初次加载
|
||||||
|
window.addEventListener("load", initWeather);
|
||||||
|
|
||||||
|
// 🔄 pjax
|
||||||
|
document.addEventListener("pjax:complete", initWeather);
|
||||||
|
|
||||||
|
})();
|
||||||
Reference in New Issue
Block a user