update
This commit is contained in:
parent
4615b668e5
commit
306adaa449
14
_config.yml
14
_config.yml
|
@ -110,12 +110,20 @@ algolia:
|
||||||
indexName: hex-blog
|
indexName: hex-blog
|
||||||
# strip:可能表示移除HTML标记或者其他不需要索引的格式
|
# strip:可能表示移除HTML标记或者其他不需要索引的格式
|
||||||
# truncate:这表示如果字段内容很长,它将被截断。在这里,0,500 很可能表示截断内容,使其从第0个字符开始,长度不超过500个字符。
|
# truncate:这表示如果字段内容很长,它将被截断。在这里,0,500 很可能表示截断内容,使其从第0个字符开始,长度不超过500个字符。
|
||||||
|
# fields:
|
||||||
|
# - content:strip
|
||||||
|
# - categories
|
||||||
|
# - date
|
||||||
|
# - permalink
|
||||||
|
# - slug
|
||||||
|
# - tags
|
||||||
|
# - title
|
||||||
fields:
|
fields:
|
||||||
- content:strip:truncate,0,500
|
- content
|
||||||
- excerpt:strip
|
- excerpt:strip
|
||||||
- gallery
|
- categories
|
||||||
|
- title
|
||||||
- permalink
|
- permalink
|
||||||
- photos
|
|
||||||
- slug
|
- slug
|
||||||
- tags
|
- tags
|
||||||
- title
|
- title
|
||||||
|
|
|
@ -23,6 +23,6 @@
|
||||||
"hexo-renderer-stylus": "^2.1.0",
|
"hexo-renderer-stylus": "^2.1.0",
|
||||||
"hexo-server": "^3.0.0",
|
"hexo-server": "^3.0.0",
|
||||||
"hexo-theme-landscape": "^1.0.0",
|
"hexo-theme-landscape": "^1.0.0",
|
||||||
"hexo-algoliasearch": "1.0.0"
|
"hexo-algoliasearch-next": "1.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
152
pnpm-lock.yaml
152
pnpm-lock.yaml
|
@ -8,9 +8,9 @@ dependencies:
|
||||||
hexo:
|
hexo:
|
||||||
specifier: ^6.3.0
|
specifier: ^6.3.0
|
||||||
version: 6.3.0
|
version: 6.3.0
|
||||||
hexo-algoliasearch:
|
hexo-algoliasearch-next:
|
||||||
specifier: 1.0.0
|
specifier: 1.0.2
|
||||||
version: 1.0.0
|
version: 1.0.2
|
||||||
hexo-generator-archive:
|
hexo-generator-archive:
|
||||||
specifier: ^2.0.0
|
specifier: ^2.0.0
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
|
@ -41,94 +41,94 @@ dependencies:
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
/@algolia/cache-browser-local-storage@4.4.0:
|
/@algolia/cache-browser-local-storage@4.19.1:
|
||||||
resolution: {integrity: sha512-2AiKgN7DpFypkRCRkpqH7waXXyFdcnsPWzmN8sLHrB/FfXqgmsQb3pGft+9YHZIDQ0vAnfgMxSGgMhMGW+0Qnw==}
|
resolution: {integrity: sha512-FYAZWcGsFTTaSAwj9Std8UML3Bu8dyWDncM7Ls8g+58UOe4XYdlgzXWbrIgjaguP63pCCbMoExKr61B+ztK3tw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/cache-common': 4.4.0
|
'@algolia/cache-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/cache-common@4.4.0:
|
/@algolia/cache-common@4.19.1:
|
||||||
resolution: {integrity: sha512-PrIgoMnXaDWUfwOekahro543pgcJfgRu/nd/ZQS5ffem3+Ow725eZY6HDpPaQ1k3cvLii9JH6V2sNJConjqUKA==}
|
resolution: {integrity: sha512-XGghi3l0qA38HiqdoUY+wvGyBsGvKZ6U3vTiMBT4hArhP3fOGLXpIINgMiiGjTe4FVlTa5a/7Zf2bwlIHfRqqg==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/cache-in-memory@4.4.0:
|
/@algolia/cache-in-memory@4.19.1:
|
||||||
resolution: {integrity: sha512-9+XlUB0baDU/Dp9URRHPp6Q37YmTO0QmgPWt9+n+wqZrRL0jR3Jezr4jCT7RemqGMxBiR+YpnqaUv0orpb0ptw==}
|
resolution: {integrity: sha512-+PDWL+XALGvIginigzu8oU6eWw+o76Z8zHbBovWYcrtWOEtinbl7a7UTt3x3lthv+wNuFr/YD1Gf+B+A9V8n5w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/cache-common': 4.4.0
|
'@algolia/cache-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/client-account@4.4.0:
|
/@algolia/client-account@4.19.1:
|
||||||
resolution: {integrity: sha512-Kynu3cMEs0clTLf674rtrCF+FWR/JwlQxKlIWsPzvLBRmNXdvYej9YBcNaOr4OTQFCCZn9JVE8ib91Z7J4IL1Q==}
|
resolution: {integrity: sha512-Oy0ritA2k7AMxQ2JwNpfaEcgXEDgeyKu0V7E7xt/ZJRdXfEpZcwp9TOg4TJHC7Ia62gIeT2Y/ynzsxccPw92GA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/client-common': 4.4.0
|
'@algolia/client-common': 4.19.1
|
||||||
'@algolia/client-search': 4.4.0
|
'@algolia/client-search': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/client-analytics@4.4.0:
|
/@algolia/client-analytics@4.19.1:
|
||||||
resolution: {integrity: sha512-GQyjQimKAc9sZbafxln9Wk7j4pEYiORv28MZkZ+0Bjt7WNXIeO7OgOOECVpQHm9buyV6hCKpNtJcbb5/syRzdQ==}
|
resolution: {integrity: sha512-5QCq2zmgdZLIQhHqwl55ZvKVpLM3DNWjFI4T+bHr3rGu23ew2bLO4YtyxaZeChmDb85jUdPDouDlCumGfk6wOg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/client-common': 4.4.0
|
'@algolia/client-common': 4.19.1
|
||||||
'@algolia/client-search': 4.4.0
|
'@algolia/client-search': 4.19.1
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/client-common@4.4.0:
|
/@algolia/client-common@4.19.1:
|
||||||
resolution: {integrity: sha512-a3yr6UhzjWPHDG/8iGp9UvrDOm1aeHVWJIf0Nj/cIvqX5tNCEIo4IMe59ovApkDgLOIpt/cLsyhn9/FiPXRhJA==}
|
resolution: {integrity: sha512-3kAIVqTcPrjfS389KQvKzliC559x+BDRxtWamVJt8IVp7LGnjq+aVAXg4Xogkur1MUrScTZ59/AaUd5EdpyXgA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/client-recommendation@4.4.0:
|
/@algolia/client-personalization@4.19.1:
|
||||||
resolution: {integrity: sha512-sBszbQH46rko6w2fdEG77ma8+fAg0SDkLZGxWhv4trgcnYGUBFl2dcpEPt/6koto9b4XYlf+eh+qi6iGvYqRPg==}
|
resolution: {integrity: sha512-8CWz4/H5FA+krm9HMw2HUQenizC/DxUtsI5oYC0Jxxyce1vsr8cb1aEiSJArQT6IzMynrERif1RVWLac1m36xw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/client-common': 4.4.0
|
'@algolia/client-common': 4.19.1
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/client-search@4.4.0:
|
/@algolia/client-search@4.19.1:
|
||||||
resolution: {integrity: sha512-jqWcxCUyPPHnHreoMb2PnN9iHTP+V/nL62R84XuTRDE3VgTnhm4ZnqyuRdzZQqaz+gNy5znav64TmQ9FN9WW5g==}
|
resolution: {integrity: sha512-mBecfMFS4N+yK/p0ZbK53vrZbL6OtWMk8YmnOv1i0LXx4pelY8TFhqKoTit3NPVPwoSNN0vdSN9dTu1xr1XOVw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/client-common': 4.4.0
|
'@algolia/client-common': 4.19.1
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/logger-common@4.4.0:
|
/@algolia/logger-common@4.19.1:
|
||||||
resolution: {integrity: sha512-2vjmSENLaKNuF+ytRDysfWxxgFG95WXCHwHbueThdPMCK3hskkwqJ0Y/pugKfzl+54mZxegb4BYfgcCeuaHVUw==}
|
resolution: {integrity: sha512-i6pLPZW/+/YXKis8gpmSiNk1lOmYCmRI6+x6d2Qk1OdfvX051nRVdalRbEcVTpSQX6FQAoyeaui0cUfLYW5Elw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/logger-console@4.4.0:
|
/@algolia/logger-console@4.19.1:
|
||||||
resolution: {integrity: sha512-st/GUWyKvr6YM72OOfF+RmpdVGda3BPXbQ+chpntUq1WyVkyZXGjSmH1IcBVlua27GzxabwOUYON39cF3x10/g==}
|
resolution: {integrity: sha512-jj72k9GKb9W0c7TyC3cuZtTr0CngLBLmc8trzZlXdfvQiigpUdvTi1KoWIb2ZMcRBG7Tl8hSb81zEY3zI2RlXg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/logger-common': 4.4.0
|
'@algolia/logger-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/requester-browser-xhr@4.4.0:
|
/@algolia/requester-browser-xhr@4.19.1:
|
||||||
resolution: {integrity: sha512-V3a4hXlNch355GnWaT1f5QfXhROpsjT6sd0Znq29gAhwLqfBExhLW6Khdkv5pENC0Qy7ClVhdXFrBL9QCQer1g==}
|
resolution: {integrity: sha512-09K/+t7lptsweRTueHnSnmPqIxbHMowejAkn9XIcJMLdseS3zl8ObnS5GWea86mu3vy4+8H+ZBKkUN82Zsq/zg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/requester-common@4.4.0:
|
/@algolia/requester-common@4.19.1:
|
||||||
resolution: {integrity: sha512-jPinHlFJEFokxQ5b3JWyjQKKn+FMy0hH99PApzOgQAYOSiFRXiPEZp6LeIexDeLLu7Y3eRt/3nHvjPKa6PmRRw==}
|
resolution: {integrity: sha512-BisRkcWVxrDzF1YPhAckmi2CFYK+jdMT60q10d7z3PX+w6fPPukxHRnZwooiTUrzFe50UBmLItGizWHP5bDzVQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/requester-node-http@4.4.0:
|
/@algolia/requester-node-http@4.19.1:
|
||||||
resolution: {integrity: sha512-b7HC9C/GHxiV4+0GpCRTtjscvwarPr3dGm4CAhb6AkNjgjRcFUNr1NfsF75w3WVmzmt79/7QZihddztDdVMGjw==}
|
resolution: {integrity: sha512-6DK52DHviBHTG2BK/Vv2GIlEw7i+vxm7ypZW0Z7vybGCNDeWzADx+/TmxjkES2h15+FZOqVf/Ja677gePsVItA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@algolia/transporter@4.4.0:
|
/@algolia/transporter@4.19.1:
|
||||||
resolution: {integrity: sha512-Xxzq91DEEeKIzT3DU46n4LEyTGAKZNtSHc2H9wvIY5MYwhZwEribmXXZ6k8W1FvBvzggv3juu0SP+xwGoR7F0w==}
|
resolution: {integrity: sha512-nkpvPWbpuzxo1flEYqNIbGz7xhfhGOKGAZS7tzC+TELgEmi7z99qRyTfNSUlW7LZmB3ACdnqAo+9A9KFBENviQ==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/cache-common': 4.4.0
|
'@algolia/cache-common': 4.19.1
|
||||||
'@algolia/logger-common': 4.4.0
|
'@algolia/logger-common': 4.19.1
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@tootallnate/once@2.0.0:
|
/@tootallnate/once@2.0.0:
|
||||||
|
@ -188,23 +188,23 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/algoliasearch@4.4.0:
|
/algoliasearch@4.19.1:
|
||||||
resolution: {integrity: sha512-Ag3wxe/nSodNl/1KbHibtkh7TNLptKE300/wnGVtszRjXivaWD6333nUpCumrYObHym/fHMHyLcmQYezXbAIWQ==}
|
resolution: {integrity: sha512-IJF5b93b2MgAzcE/tuzW0yOPnuUyRgGAtaPv5UUywXM8kzqfdwZTO4sPJBzoGz1eOy6H9uEchsJsBFTELZSu+g==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@algolia/cache-browser-local-storage': 4.4.0
|
'@algolia/cache-browser-local-storage': 4.19.1
|
||||||
'@algolia/cache-common': 4.4.0
|
'@algolia/cache-common': 4.19.1
|
||||||
'@algolia/cache-in-memory': 4.4.0
|
'@algolia/cache-in-memory': 4.19.1
|
||||||
'@algolia/client-account': 4.4.0
|
'@algolia/client-account': 4.19.1
|
||||||
'@algolia/client-analytics': 4.4.0
|
'@algolia/client-analytics': 4.19.1
|
||||||
'@algolia/client-common': 4.4.0
|
'@algolia/client-common': 4.19.1
|
||||||
'@algolia/client-recommendation': 4.4.0
|
'@algolia/client-personalization': 4.19.1
|
||||||
'@algolia/client-search': 4.4.0
|
'@algolia/client-search': 4.19.1
|
||||||
'@algolia/logger-common': 4.4.0
|
'@algolia/logger-common': 4.19.1
|
||||||
'@algolia/logger-console': 4.4.0
|
'@algolia/logger-console': 4.19.1
|
||||||
'@algolia/requester-browser-xhr': 4.4.0
|
'@algolia/requester-browser-xhr': 4.19.1
|
||||||
'@algolia/requester-common': 4.4.0
|
'@algolia/requester-common': 4.19.1
|
||||||
'@algolia/requester-node-http': 4.4.0
|
'@algolia/requester-node-http': 4.19.1
|
||||||
'@algolia/transporter': 4.4.0
|
'@algolia/transporter': 4.19.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/ansi-regex@5.0.1:
|
/ansi-regex@5.0.1:
|
||||||
|
@ -692,12 +692,12 @@ packages:
|
||||||
engines: {node: '>= 0.4.0'}
|
engines: {node: '>= 0.4.0'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/hexo-algoliasearch@1.0.0:
|
/hexo-algoliasearch-next@1.0.2:
|
||||||
resolution: {integrity: sha512-JcJ4ecv23LDvKLOaqRSQP9eIDX82XSp24c6LzumThzE0XmhQpTPsIWj0PN4dHnAZFZxYu1axJfakKLqiNzLwXA==}
|
resolution: {integrity: sha512-wsoW3ZFbyYzEUlohtWpuGUUrO8sH4BIKNn5aK6DVfxxEgkqnCcVRKDY4yqxM0SKInfoZbQfsqi4IOBZw/xl7Jg==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
algoliasearch: 4.4.0
|
algoliasearch: 4.19.1
|
||||||
striptags: 3.1.1
|
striptags: 3.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/hexo-cli@4.3.1:
|
/hexo-cli@4.3.1:
|
||||||
|
@ -1513,8 +1513,8 @@ packages:
|
||||||
min-indent: 1.0.1
|
min-indent: 1.0.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/striptags@3.1.1:
|
/striptags@3.2.0:
|
||||||
resolution: {integrity: sha512-3HVl+cOkJOlNUDAYdoCAfGx/fzUzG53YvJAl3RYlTvAcBdPqSp1Uv4wrmHymm7oEypTijSQqcqplW8cz0/r/YA==}
|
resolution: {integrity: sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/stylus@0.57.0:
|
/stylus@0.57.0:
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
@ -294,7 +294,7 @@
|
||||||
<p><a target="_blank" rel="noopener" href="https://baidu.com/">https://baidu.com</a></p>
|
<p><a target="_blank" rel="noopener" href="https://baidu.com/">https://baidu.com</a></p>
|
||||||
<p><a target="_blank" rel="noopener" href="http://www.this-anchor-link.com/">锚点链接</a> </p>
|
<p><a target="_blank" rel="noopener" href="http://www.this-anchor-link.com/">锚点链接</a> </p>
|
||||||
<p><a href="mailto:test.test@gmail.com">mailto:test.test@gmail.com</a></p>
|
<p><a href="mailto:test.test@gmail.com">mailto:test.test@gmail.com</a></p>
|
||||||
<p>GFM a-tail link <a target="_blank" rel="noopener" href="https://my.oschina.net/u/3691274">@pandao</a> 邮箱地址自动链接 <a href="mailto:test.test@gmail.com">test.test@gmail.com</a> <a href="mailto:www@vip.qq.com">www@vip.qq.com</a></p>
|
<p>GFM a-tail link <a target="_blank" rel="noopener" href="https://my.oschina.net/u/3691274">@pandao</a> 邮箱地址自动链接 <a href="mailto:test.test@gmail.com">test.test@gmail.com</a> <a href="mailto:www@vip.qq.com">www@vip.qq.com</a></p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<p>@pandao</p>
|
<p>@pandao</p>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
/*! algoliasearch.umd.js | 4.20.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
|
|
2
public/js/b9c2be9c.js
Normal file
2
public/js/b9c2be9c.js
Normal file
File diff suppressed because one or more lines are too long
3
public/js/b9c2be9c.js.LICENSE.txt
Normal file
3
public/js/b9c2be9c.js.LICENSE.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */
|
||||||
|
|
||||||
|
/*! algoliasearch.umd.js | 4.20.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -109,7 +109,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<script src="/js/1a086ffc.js"></script>
|
<script src="/js/b9c2be9c.js"></script>
|
||||||
|
|
||||||
|
|
||||||
<!-- navigation -->
|
<!-- navigation -->
|
||||||
|
|
|
@ -210,25 +210,26 @@ algolia:
|
||||||
# 替换
|
# 替换
|
||||||
indexName: hex-blog
|
indexName: hex-blog
|
||||||
fields:
|
fields:
|
||||||
- content:strip
|
- content
|
||||||
|
- excerpt:strip
|
||||||
- categories
|
- categories
|
||||||
- date
|
- title
|
||||||
- permalink
|
- permalink
|
||||||
- slug
|
- slug
|
||||||
- tags
|
- tags
|
||||||
- title
|
- title
|
||||||
```
|
```
|
||||||
|
|
||||||
## 安装 hexo-algoliasearch
|
## 安装 hexo-algoliasearch-next
|
||||||
|
|
||||||
这是 Hexo 博客帖子索引插件,自动化提交索引到 Algolia
|
这是 Hexo 博客帖子索引插件,自动化提交索引到 Algolia
|
||||||
|
|
||||||
> 如出遇到问题,可阅读 [hexo-algoliasearch 仓库](https://www.npmjs.com/package/hexo-algoliasearch) 最新说明
|
> 如出遇到问题,可阅读 [hexo-algoliasearch-next 仓库](https://github.com/Becavalier/hexo-algoliasearch-next) 最新说明
|
||||||
|
|
||||||
安装命令:
|
安装命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npm install hexo-algoliasearch --save
|
npm install hexo-algoliasearch-next --save
|
||||||
```
|
```
|
||||||
|
|
||||||
## 使用 algolia
|
## 使用 algolia
|
||||||
|
|
|
@ -1622,7 +1622,7 @@ let obj = { a: { b: { c: {} } } };
|
||||||
defineReactive(obj, "a", 4);
|
defineReactive(obj, "a", 4);
|
||||||
```
|
```
|
||||||
|
|
||||||
> ?? 如何自动让`obj`对象的全部属性都`reactive`呢?
|
> 如何自动让`obj`对象的全部属性都`reactive`呢?
|
||||||
|
|
||||||
```js
|
```js
|
||||||
let obj = {
|
let obj = {
|
||||||
|
@ -1697,34 +1697,3 @@ export default function observe(value) {
|
||||||
return ob;
|
return ob;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
# 前端微应用 single-spa
|
|
||||||
|
|
||||||
随着`Node`革新的这一波工程化潮流,前端项目复杂度指数级增加,某个项目,可能由`团队A`负责,但当后续迭代,需要渐进增强,加入新的模块,`团队A`不足以支撑业务,需要引入新的开发`团队B`,为了维持生产环境业务的统一性和用户体验,新的模块也需要在统一的入口下,例如:
|
|
||||||
|
|
||||||
![single-spa-1](/data/img/single-spa-1.png)
|
|
||||||
|
|
||||||
传统的方案,肯定是`iframe`去做,但通常会遇到一些麻烦的事情,处理起来很不优雅,例如:
|
|
||||||
|
|
||||||
- 显示区域受限制,比如子项目中显示弹窗蒙层时,蒙层只会覆盖 iframe 区域,无法覆盖整个页面,内容也无法真正居中。
|
|
||||||
|
|
||||||
- 页面浏览记录无法自动被记录,刷新页面后 iframe 又自动回到首页。
|
|
||||||
|
|
||||||
- 全局上下文完全隔离,变量不共享,页面间通信比较麻烦,比如子项目与主题框架、子项目之间通信等,只能采用 postMessage 方式。
|
|
||||||
|
|
||||||
- 速度较慢,每次进入子应用时都要重建整个上下文。
|
|
||||||
|
|
||||||
单页面集成多个应用的架构诞生,例如阿里的`qiankun.js`,
|
|
||||||
|
|
||||||
> single-spa 够减少公司整体开发限制,团队 B 的技术选型完全可以不依赖团队 A
|
|
||||||
|
|
||||||
`single-spa` 实现微前端的整体流程
|
|
||||||
|
|
||||||
![single-spa-2](/data/img/single-spa-2.png)
|
|
||||||
|
|
||||||
- 资源模块加载器:用来加载子项目初始化资源。我们将子项目的入口 js 构建成 umd 格式,然后使用模块加载器远程加载,通常会使用 SystemJs(不是必须)通用模块加载器来进行加载。
|
|
||||||
|
|
||||||
- 子应用资源配置表:用来记录各个子应用的入口资源 url 信息,以便在切换不同子应用时使用模块加载器去远程加载。因为每次子应用更新后入口资源的 hash 通常会变化,所以需要服务端定时去更新该配置表,以便框架能及时加载子应用最新的资源。
|
|
||||||
|
|
||||||
> 注意:single-spa 本身是不支持子应用资源列表的,每个子应用只能将自己所有初始化资源打包到一个入口 js 中。如果子应用初始化资源有多个文件(可以通过 webpack-manifest-plugin 生成应用初始化资源清单),就需要按照上述方式来添加额外处理。
|
|
|
@ -21,4 +21,4 @@
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<%- js("/js/1a086ffc.js")%>
|
<%- js("/js/b9c2be9c.js")%>
|
File diff suppressed because one or more lines are too long
|
@ -1 +0,0 @@
|
||||||
/*! algoliasearch.umd.js | 4.20.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
|
|
2
themes/hexo-theme-cosy/source/js/b9c2be9c.js
Normal file
2
themes/hexo-theme-cosy/source/js/b9c2be9c.js
Normal file
File diff suppressed because one or more lines are too long
3
themes/hexo-theme-cosy/source/js/b9c2be9c.js.LICENSE.txt
Normal file
3
themes/hexo-theme-cosy/source/js/b9c2be9c.js.LICENSE.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */
|
||||||
|
|
||||||
|
/*! algoliasearch.umd.js | 4.20.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
|
Loading…
Reference in New Issue
Block a user