├── .commitlintrc.cts ├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml └── workflows │ ├── beta.yml │ ├── docs.yml │ └── publish.yml ├── .gitignore ├── .husky ├── commit-msg └── pre-commit ├── .prettierignore ├── .prettierrc.json ├── .vscode └── extensions.json ├── LICENSE ├── README.md ├── README_zh-CN.md ├── demo ├── .gitignore ├── _config.async.yml ├── _config.yml ├── layout │ ├── banner.pug │ ├── empty.pug │ ├── fixed-btn.pug │ ├── footer.pug │ ├── page-loading.html │ ├── post-card.pug │ └── test.pug ├── package.json ├── scaffolds │ ├── draft.md │ ├── page.md │ └── post.md └── source │ ├── 404.md │ ├── _data │ ├── links.yml │ └── style │ │ └── index.less │ ├── _posts │ ├── code_snippet.md │ ├── hello-world.md │ ├── katex.md │ ├── markdown.md │ └── tag_plugins.md │ ├── about │ └── index.md │ ├── categories │ └── index.md │ ├── customize_page │ └── index.md │ ├── demo.js │ ├── downloads │ └── code │ │ └── config.yml │ ├── favicon.svg │ ├── gallery │ ├── index.md │ └── wallpaper.md │ ├── img │ ├── 1.jpg │ ├── 2.jpg │ ├── 3.gif │ └── bg.jpg │ ├── links │ └── index.md │ └── tags │ └── index.md ├── docs ├── .eslintrc.json ├── .gitignore ├── .vitepress │ ├── assets │ │ ├── icon.json │ │ ├── log.json │ │ ├── sites.json │ │ └── sponsors.json │ ├── components.d.ts │ ├── components │ │ ├── ChangeLog.vue │ │ ├── ChangeLogs.vue │ │ ├── DemoSite.vue │ │ ├── DemoSites.vue │ │ ├── DemoSitesLine.vue │ │ ├── EditConfig.vue │ │ ├── EditConfigItem.vue │ │ ├── EditInputs.vue │ │ ├── IconList.vue │ │ ├── InfoToast.vue │ │ ├── OutLine.vue │ │ ├── SponsorsLog.vue │ │ └── edit │ │ │ ├── ArrayInput.vue │ │ │ ├── BaseInput.vue │ │ │ ├── EnumInput.vue │ │ │ ├── ObjectArrayInput.vue │ │ │ └── SwitchInput.vue │ ├── config.ts │ ├── libs │ │ ├── template.js │ │ └── utils.js │ └── theme │ │ ├── index.js │ │ └── styles │ │ └── index.less ├── about │ ├── icon.md │ └── index.md ├── demo │ └── index.md ├── en │ ├── about │ │ ├── icon.md │ │ └── index.md │ ├── guide │ │ ├── additional-package-support.md │ │ ├── change-log.md │ │ ├── config.md │ │ ├── faq.md │ │ ├── index.md │ │ ├── page.md │ │ └── third-party-support.md │ └── index.md ├── guide │ ├── additional-package-support.md │ ├── async-config.md │ ├── change-log.md │ ├── config.md │ ├── faq.md │ ├── index.md │ ├── page.md │ └── third-party-support.md ├── index.md ├── package.json ├── public │ ├── favicon.svg │ ├── font-awesome.min.css │ ├── fonts │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.woff2 │ │ └── fa-solid-900.woff2 │ ├── github_star.png │ ├── imgs │ │ ├── cdn_err.png │ │ ├── demo.png │ │ ├── demo2.png │ │ └── node.png │ ├── logo.gif │ ├── logo.svg │ ├── logo@128x128.png │ ├── logo@256x256.png │ ├── logo@32x32.png │ └── logo@64x64.png ├── sponsors │ └── index.md └── vite.config.js ├── jsconfig.json ├── package.json ├── packages ├── hexo-theme-async-ts │ ├── .eslintrc.json │ ├── global.d.ts │ ├── package.json │ ├── src │ │ ├── global.ts │ │ ├── init.ts │ │ ├── main.ts │ │ ├── plugins │ │ │ ├── danmu.ts │ │ │ ├── local_search.ts │ │ │ └── typing.ts │ │ ├── swup │ │ │ ├── head.ts │ │ │ └── script.ts │ │ └── utils.ts │ ├── tsconfig.json │ └── tsup.config.ts └── hexo-theme-async │ ├── .eslintrc.json │ ├── .gitignore │ ├── _config.yml │ ├── languages │ ├── default.yml │ ├── en.yml │ └── zh-Hans.yml │ ├── layout │ ├── 404.ejs │ ├── _partial │ │ ├── banner.ejs │ │ ├── footer.ejs │ │ ├── head.ejs │ │ ├── header.ejs │ │ ├── main.ejs │ │ ├── page │ │ │ ├── about.ejs │ │ │ ├── archive.ejs │ │ │ ├── category.ejs │ │ │ ├── index.ejs │ │ │ ├── links.ejs │ │ │ ├── post.ejs │ │ │ ├── project.ejs │ │ │ └── tag.ejs │ │ ├── post │ │ │ ├── post-card-mini.ejs │ │ │ ├── post-card.ejs │ │ │ ├── post-content.ejs │ │ │ ├── post-copyright.ejs │ │ │ ├── post-info.ejs │ │ │ ├── post-next-prev.ejs │ │ │ └── reward.ejs │ │ ├── preloader │ │ │ ├── change-mode-preloader.ejs │ │ │ └── page-preloader.ejs │ │ ├── script.ejs │ │ └── sidebar │ │ │ ├── card │ │ │ ├── email.ejs │ │ │ ├── info.ejs │ │ │ ├── social.ejs │ │ │ └── user.ejs │ │ │ └── index.ejs │ ├── _third-party │ │ ├── cdn.ejs │ │ ├── comment │ │ │ ├── b-comments.ejs │ │ │ ├── giscus.ejs │ │ │ ├── index.ejs │ │ │ └── twikoo.ejs │ │ ├── plugin.ejs │ │ ├── seo │ │ │ └── baidu-push.ejs │ │ ├── sw.ejs │ │ └── web-analytics.ejs │ ├── _widget │ │ ├── about-card.ejs │ │ ├── categorie.ejs │ │ ├── fixed-btn.ejs │ │ ├── header-logo.ejs │ │ ├── header-menu.ejs │ │ ├── header-search.ejs │ │ ├── header-theme.ejs │ │ ├── paginator.ejs │ │ ├── post-toc.ejs │ │ └── search.ejs │ ├── about.ejs │ ├── archive.ejs │ ├── category.ejs │ ├── comment.ejs │ ├── custom.ejs │ ├── index.ejs │ ├── layout.ejs │ ├── links.ejs │ ├── page.ejs │ ├── post.ejs │ ├── project.ejs │ └── tag.ejs │ ├── package.json │ ├── plugins.yml │ ├── scripts │ ├── console │ │ └── plugin.js │ ├── events │ │ ├── config.js │ │ ├── index.js │ │ └── layout.js │ ├── filters │ │ ├── cdn.js │ │ └── index.js │ ├── helper │ │ ├── async_config.js │ │ ├── index.js │ │ ├── list_archives.js │ │ ├── list_categories.js │ │ ├── tag.js │ │ ├── toc.js │ │ └── variable.js │ ├── tags │ │ ├── caniuse.js │ │ ├── flink.js │ │ ├── gallery.js │ │ ├── imgs.js │ │ ├── note.js │ │ └── tabs.js │ └── utils.js │ └── source │ ├── css │ ├── _components │ │ ├── app-frame.less │ │ ├── banner.less │ │ ├── base.less │ │ ├── blockquote.less │ │ ├── btn.less │ │ ├── card.less │ │ ├── fixed-btn.less │ │ ├── footer.less │ │ ├── form.less │ │ ├── index.less │ │ ├── list.less │ │ ├── menu.less │ │ ├── message.less │ │ ├── mode-switcher.less │ │ ├── pagination.less │ │ ├── plugins │ │ │ ├── comment │ │ │ │ ├── bcomments.less │ │ │ │ ├── index.less │ │ │ │ └── twikoo.less │ │ │ ├── fancybox │ │ │ │ └── index.less │ │ │ ├── highlight │ │ │ │ ├── highlight │ │ │ │ │ ├── diff.less │ │ │ │ │ └── index.less │ │ │ │ ├── index.less │ │ │ │ ├── minix.less │ │ │ │ ├── prismjs │ │ │ │ │ ├── diff.less │ │ │ │ │ ├── index.less │ │ │ │ │ └── line-number.less │ │ │ │ └── theme.less │ │ │ ├── index.less │ │ │ ├── read-mode │ │ │ │ ├── index.less │ │ │ │ ├── read-mode.less │ │ │ │ └── single-column.less │ │ │ ├── reward │ │ │ │ ├── index.less │ │ │ │ └── reward.less │ │ │ └── search │ │ │ │ ├── index.less │ │ │ │ └── search.less │ │ ├── preloader.less │ │ ├── publication.less │ │ ├── tag-plugins.less │ │ ├── timeline.less │ │ ├── title-divider.less │ │ ├── toc.less │ │ ├── top-bar.less │ │ └── video.less │ ├── _variables │ │ └── index.less │ ├── index.less │ └── plugins │ │ ├── bootstrap.min.css │ │ ├── bootstrap.row.css │ │ └── font-awesome.min.css │ ├── failure.ico │ ├── fonts │ └── webfonts │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.woff2 │ │ └── fa-solid-900.woff2 │ ├── img │ ├── 404.jpg │ ├── avatar.jpg │ ├── banner.png │ ├── block.jpg │ ├── favicon.svg │ └── friend_404.gif │ └── sw.js ├── scripts ├── .eslintrc.json ├── publish.js ├── sites-check.js └── soft-links.js ├── vercel.json └── yarn.lock /.commitlintrc.cts: -------------------------------------------------------------------------------- 1 | export default { 2 | extends: ["@commitlint/config-conventional"], 3 | parserPreset: { 4 | parserOpts: { 5 | headerPattern: 6 | /^(?::\w*:|(?:\u{1F900}-\u{1F9FF})|(?:\ud83c[\udf00-\udfff])|(?:\ud83d[\udc00-\ude4f\ude80-\udeff])|[\u2600-\u27BF]|[\u1F000-\u1F6FF]|[\u1F1E0-\u1F1FF]|[\u1F200-\u1F2FF]|[\u1F300-\u1F5FF]|[\u1F680-\u1F6FF]|[\u1F700-\u1F77F]|[\u1F800-\u1F8FF]|[\u1F900-\u1F9FF]|[\u1FA00-\u1FA6F]|[\u{2600}-\u{27BF}]|[\u{1F000}-\u{1F64F}]|[\u{1F680}-\u{1F6FF}]|[\u{1F1E0}-\u{1F1FF}]|[\u{1F200}-\u{1F2FF}]|[\u{1F300}-\u{1F5FF}]|[\u{1F680}-\u{1F6FF}]|[\u{1F700}-\u{1F77F}]|[\u{1F800}-\u{1F8FF}]|[\u{1F900}-\u{1F9FF}]|[\u{1FA00}-\u{1FA6F}])\s(?\w*)(?:\((?.*)\))?!?:\s(?(?:(?!#).)*(?:(?!\s).))(?:\s\(?(?#\d*)\)?)?$/u, 7 | headerCorrespondence: ["type", "scope", "subject", "ticket"], 8 | }, 9 | }, 10 | rules: { 11 | "type-case": [2, "always", "lower-case"], 12 | "type-empty": [2, "never"], 13 | "type-enum": [ 14 | 2, 15 | "always", 16 | [ 17 | "feat", // 增加新功能 18 | "fix", // 修复 bug 19 | "update", // 更新功能 20 | "docs", // 文档相关的改动 21 | "style", // 仅仅主题样式变动 22 | "format", // 代码格式化, 仅仅改版代码风格, 比如空格缩进等待 23 | "refactor", // 代码重构, 没有新增功能或修复bug 24 | "perf", // 代码优化, 比如提升性能或体验 25 | "revert", // 撤销,版本回退 26 | "test", // 添加或修改测试 27 | "build", // 构造工具或者相关依赖的改动 28 | "chore", // 改版构建流程或者增加新的依赖或工具 29 | "ci", // CI 配置,脚本文件等改动 30 | ], 31 | ], 32 | "subject-case": [0], 33 | }, 34 | }; 35 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # 通用配置 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | end_of_line = lf 7 | indent_style = tab 8 | indent_size = 2 9 | tab_width = 2 10 | 11 | [*.{js,ts}] 12 | quote_type = single -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | .ejs 2 | .pug 3 | sw.js 4 | **/source/js/**/*.js 5 | **/source/sw.js 6 | !.vitepress 7 | **/cache/deps -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es2021": true 4 | }, 5 | "extends": ["eslint:recommended", "prettier"], 6 | "parserOptions": { 7 | "ecmaVersion": "latest", 8 | "sourceType": "module" 9 | }, 10 | "plugins": ["prettier"], 11 | "rules": { 12 | "no-unused-vars": [ 13 | "warn", 14 | { 15 | "argsIgnorePattern": "^_", 16 | "varsIgnorePattern": "^_" 17 | } 18 | ] 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug report 2 | description: Create a report to help us improve 3 | title: '[Bug]: ' 4 | assignees: MaLuns 5 | 6 | body: 7 | - type: markdown 8 | attributes: 9 | value: | 10 | 重要:请依照改模板来提交 11 | Please follow the template to create a new issue 12 | - type: input 13 | id: hexo-theme-asycn-ver 14 | attributes: 15 | label: 使用的 Hexo-Theme-Asycn 版本? | What version of Hexo-Theme-Asycn are you use? 16 | description: 检查主题的 package.json | Check the theme's package.json 17 | validations: 18 | required: true 19 | 20 | - type: dropdown 21 | id: modify 22 | attributes: 23 | label: 是否修改过主题文件? || Has the theme files been modified? 24 | options: 25 | - 是 (Yes) 26 | - 不是 (No) 27 | validations: 28 | required: true 29 | 30 | - type: dropdown 31 | id: browser 32 | attributes: 33 | label: 使用的浏览器? || What browse are you using? 34 | options: 35 | - Chrome 36 | - Edge 37 | - Safari 38 | - Opera 39 | - Other 40 | validations: 41 | required: true 42 | 43 | - type: dropdown 44 | id: platform 45 | attributes: 46 | label: 使用的系統? || What operating system are you using? 47 | options: 48 | - Windows 49 | - macOS 50 | - Linux 51 | - Android 52 | - iOS 53 | - Other 54 | validations: 55 | required: true 56 | 57 | - type: textarea 58 | id: description 59 | attributes: 60 | label: 问题描述 | Describe the bug 61 | description: 请描述你的问题现象 | A clear and concise description of what the bug is. 62 | placeholder: 请尽量提供截图来定位问题 | If applicable, add screenshots to help explain your problem 63 | value: 64 | validations: 65 | required: true 66 | 67 | - type: input 68 | id: website 69 | attributes: 70 | label: 出现问题网站 | Website 71 | description: 请提供下可复现网站地址,可前往 https://stackblitz.com/edit/node-tshsxq fork 一份提供可复现最小 demo | Please supply a website url which can reproduce problem. 72 | placeholder: 73 | validations: 74 | required: true 75 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Questions about Hexo-Theme-Asycn 4 | url: https://github.com/MaLuns/hexo-theme-async/discussions 5 | about: 一些使用问题请到 Discussion 询问。 Please ask questions in Discussion. 6 | 7 | # - name: QQ 群 8 | # url: https://jq.qq.com/?_wv=1027&k=0hEe5D0U 9 | # about: '群号 726491833' -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature request 2 | description: Suggest an idea for this project 3 | title: '[Feature]: ' 4 | 5 | body: 6 | - type: textarea 7 | id: feature-request 8 | attributes: 9 | label: 想要的功能 | What feature do you want? 10 | description: 请描述你需要的新功能 | A clear and concise description of what the feature is. 11 | placeholder: 12 | value: 13 | validations: 14 | require: true -------------------------------------------------------------------------------- /.github/workflows/beta.yml: -------------------------------------------------------------------------------- 1 | name: Beta 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | beta: 7 | description: "预览版本" 8 | required: true 9 | type: string 10 | default: "" 11 | latest: 12 | description: "最后版本" 13 | required: true 14 | type: string 15 | default: "" 16 | 17 | jobs: 18 | version: 19 | runs-on: ubuntu-latest 20 | steps: 21 | - uses: actions/setup-node@v3 22 | with: 23 | node-version: 16 24 | registry-url: 'https://registry.npmjs.org' 25 | 26 | - name: Fix version 27 | run: | 28 | npm dist-tag add test-npm-tag@${{ github.event.inputs.beta }} beta 29 | npm dist-tag add test-npm-tag@${{ github.event.inputs.latest }} latest 30 | env: 31 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 32 | 33 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: Deploy docs 2 | 3 | on: 4 | push: 5 | branches: [master] 6 | paths: 7 | - 'docs/**' 8 | - 'demo/**' 9 | 10 | workflow_dispatch: 11 | 12 | jobs: 13 | deploy: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v2 17 | - uses: actions/setup-node@v3 18 | with: 19 | node-version: 16 20 | cache: yarn 21 | - run: yarn install --frozen-lockfile 22 | 23 | - name: Build 24 | run: | 25 | yarn lib:build 26 | mkdir -p ./demo/themes/async 27 | cp -RT ./packages/hexo-theme-async ./demo/themes/async 28 | yarn build 29 | echo ${{ secrets.CNAME }} > docs/.vitepress/dist/CNAME 30 | chmod 600 docs/.vitepress/dist/CNAME 31 | 32 | - name: Deploy 33 | uses: peaceiris/actions-gh-pages@v3 34 | with: 35 | github_token: ${{ secrets.GITHUB_TOKEN }} 36 | publish_dir: docs/.vitepress/dist 37 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: NPM Publish 2 | 3 | on: 4 | push: 5 | tags: 6 | - "v*" 7 | 8 | # Allows you to run this workflow manually from the Actions tab 9 | workflow_dispatch: 10 | 11 | jobs: 12 | build: 13 | permissions: 14 | contents: write 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v2 19 | - uses: actions/setup-node@v3 20 | with: 21 | node-version: 16 22 | registry-url: 'https://registry.npmjs.org' 23 | cache: yarn 24 | - run: yarn install --frozen-lockfile 25 | 26 | - name: Build 27 | run: | 28 | cp ./README_zh-CN.md ./packages/hexo-theme-async 29 | cp ./README.md ./packages/hexo-theme-async 30 | node ./scripts/publish 31 | yarn lib:build 32 | zip -r hexo-theme-async ./packages/hexo-theme-async 33 | env: 34 | RELEASE_VERSION: ${{ github.ref }} 35 | 36 | - name: Beta Publish 37 | if: ${{ contains(github.ref,'beta') }} 38 | run: | 39 | cd ./packages/hexo-theme-async 40 | npm publish --tag beta 41 | env: 42 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 43 | 44 | - name: Publish 45 | if: ${{ !contains(github.ref,'beta') }} 46 | run: | 47 | cd ./packages/hexo-theme-async 48 | npm publish 49 | env: 50 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 51 | 52 | - name: Create Releases 53 | uses: MaLuns/add-release@v1 54 | with: 55 | files: hexo-theme-async.zip 56 | generate_release_notes: true 57 | generate_release_notes_by_commit: true 58 | prerelease: ${{ contains(github.ref,'beta') }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # custom 2 | .DS_Store 3 | node_modules/ 4 | 5 | # lock 6 | yarn.lock 7 | package-lock.json 8 | pnpm-global 9 | 10 | dist/ 11 | 12 | # logs 13 | *.log 14 | 15 | .cache 16 | .temp 17 | .vscode/settings.json 18 | .eslintcache -------------------------------------------------------------------------------- /.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | npx --no-install commitlint --edit ${1} 4 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | yarn lint-staged --allow-empty -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | sw.js 2 | **/cache/deps -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 200, 3 | "semi": true, 4 | "vueIndentScriptAndStyle": false, 5 | "trailingComma": "all", 6 | "proseWrap": "preserve", 7 | "htmlWhitespaceSensitivity": "ignore", 8 | "endOfLine": "lf", 9 | "arrowParens": "avoid" 10 | } 11 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["editorconfig.editorconfig", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint"] 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 MaLuns 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | Thumbs.db 3 | db.json 4 | *.log 5 | node_modules/ 6 | public/ 7 | .deploy*/ 8 | themes -------------------------------------------------------------------------------- /demo/layout/banner.pug: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | != partial('_partial/banner') -------------------------------------------------------------------------------- /demo/layout/empty.pug: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaLuns/hexo-theme-async/690e0103b7c2bf4dfc061282825ab42f845adf01/demo/layout/empty.pug -------------------------------------------------------------------------------- /demo/layout/fixed-btn.pug: -------------------------------------------------------------------------------- 1 | - 2 | let is_toc = is_post() && (theme.toc.enable && page.toc !== false ) 3 | let toc_content = ''; 4 | if(is_toc){ 5 | toc_content = toc(page.content, {list_number: theme.toc.list_number, max_depth: theme.toc.max_depth, min_depth: theme.toc.min_depth}); 6 | is_toc = is_toc && toc_content.length > 1; 7 | } 8 | 9 | div(class="trm-fixed-container") 10 | if is_toc 11 | div( 12 | class="trm-fixed-btn post-toc-btn" 13 | data-title=`${__('rightside.toc_title')}` 14 | ) !{icon(theme.icons.toc_tag)} 15 | //- if theme.search.enable 16 | //- if theme.search.type === 'local' 17 | //- div#trm-search-btn( 18 | //- class="trm-fixed-btn" 19 | //- data-title="查询" 20 | //- ) !{icon(theme.icons.search)} 21 | //- if theme.search.type === 'engine' 22 | //- a#trm-search-btn( 23 | //- class="trm-fixed-btn" 24 | //- data-no-swup 25 | //- target="_blank" 26 | //- href=theme.search.href + theme.search.domain 27 | //- ) !{icon(theme.icons.search)} 28 | //- div( 29 | //- class="trm-fixed-btn" 30 | //- data-title="切换主题模式" 31 | //- onclick="asyncFun.switchThemeMode(document.documentElement.classList.contains('dark')?'style-light':'style-dark')" 32 | //- ) 33 | if is_post() && theme.rightside.readmode 34 | div( 35 | class="trm-fixed-btn" 36 | data-title=`${__('rightside.readmode_title')}` 37 | onclick="asyncFun.switchReadMode()" 38 | ) !{icon(theme.icons.read)} 39 | if theme.rightside.aside && !page.single_column 40 | div( 41 | class="trm-fixed-btn hidden-md" 42 | data-title=`${ __('rightside.aside')}` 43 | onclick="asyncFun.switchSingleColumn()" 44 | ) !{icon(theme.icons.arrows)} 45 | div( 46 | id="trm-back-top" 47 | class="trm-fixed-btn" 48 | data-title=`${ __('rightside.back_to_top')}` 49 | ) !{icon(theme.icons.back_top)} 50 | -------------------------------------------------------------------------------- /demo/layout/footer.pug: -------------------------------------------------------------------------------- 1 | != partial('_partial/footer') 2 | -------------------------------------------------------------------------------- /demo/layout/page-loading.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
6 |
7 |
这是自定义的加载动画
8 |
9 | -------------------------------------------------------------------------------- /demo/layout/post-card.pug: -------------------------------------------------------------------------------- 1 | - var coverURl = post.cover ? post.cover : (post.photos && post.photos.length ? post.photos[0] : (theme.cover.type === 'img' ? theme.cover.default : theme.cover.type)); 2 | - var index = 0 || postIndex 3 | 4 | mixin conver(type) 5 | - var t = type === 'left' ? 'polygon(0 0,100% 0,94% 100%,0 100%)' : 'polygon(6% 0,100% 0,100% 100%,0 100%)' 6 | a.trm-cover-frame.trm-anima-link(href=url_for(post.path), style= { width:"40%", "padding-bottom": 0 ,"clip-path": t }) 7 | if coverURl === 'date' 8 | div.trm-cover-date 9 | div.trm-cover-day !{date(post[theme.datetime_foramt.post_card.type], theme.datetime_foramt.post_card.cover_date)} 10 | div.trm-cover-month !{date(post[theme.datetime_foramt.post_card.type], theme.datetime_foramt.post_card.cover_date2)} 11 | else if coverURl === 'random' 12 | div.trm-cover-img(data-random-img) 13 | else if coverURl 14 | div !{swich_imgs(coverURl, { alt: "cover", class:"no-fancybox" })} 15 | 16 | if postIndex === 0 && is_home() 17 | div.col-lg-12 18 | include ./test.pug 19 | h6.trm-mt-10 使用 pug 模块来自定义模板 20 | h6.trm-mt-10 演示主题使用自定义模块区域:首页文章卡片、加载动画、页脚 21 | 22 | div.col-lg-12 23 | div.trm-blog-card.trm-scroll-animation(data-scroll, data-scroll-offset="40",style={ display: "flex" }) 24 | if index % 2 === 0 25 | +conver('left') 26 | div.trm-card-descr(style={ padding: "40px", flex: 1 }) 27 | div.trm-label.trm-category.trm-mb-20 28 | a(href= post.categories && post.categories.length ? url_for(post.categories.data[0].path) :'#.') !{post.categories && post.categories.length ? post.categories.data[0].name :__('title.unclassified')} 29 | h5 30 | a.trm-anima-link(href=url_for(post.path)) !{post.title} 31 | div.trm-divider.trm-mb-20.trm-mt-20 32 | ul.trm-card-data.trm-label 33 | li !{date(post[theme.datetime_foramt.post_card.type],theme.datetime_foramt.post_card.date)} 34 | li !{date(post[theme.datetime_foramt.post_card.type],theme.datetime_foramt.post_card.time)} 35 | if theme.wordcount.enable && theme.wordcount.count 36 | li !{wordcount(post.content)} 37 | if theme.wordcount.enable && theme.wordcount.time 38 | li !{min2read(post.content)} 39 | if index % 2 !== 0 40 | +conver('right') 41 | if is_home() && post.sticky > 0 42 | div.trm-top !{__('post.sticky')} -------------------------------------------------------------------------------- /demo/layout/test.pug: -------------------------------------------------------------------------------- 1 | div.trm-card 2 | h6 使用 pug include 功能,加载了这段文字 -------------------------------------------------------------------------------- /demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-theme-async-demo", 3 | "version": "0.0.0", 4 | "private": true, 5 | "hexo": { 6 | "version": "6.3.0" 7 | }, 8 | "dependencies": { 9 | "hexo": "^6.3.0", 10 | "hexo-generator-archive": "^1.0.0", 11 | "hexo-generator-category": "^1.0.0", 12 | "hexo-generator-index": "^2.0.0", 13 | "hexo-generator-searchdb": "^1.4.0", 14 | "hexo-generator-tag": "^1.0.0", 15 | "hexo-renderer-ejs": "^2.0.0", 16 | "hexo-render-pug": "^2.1.4", 17 | "hexo-renderer-less": "^4.0.0", 18 | "hexo-renderer-marked": "^5.0.0", 19 | "hexo-renderer-stylus": "^2.1.0", 20 | "hexo-server": "^3.0.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /demo/scaffolds/draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | tags: 4 | --- 5 | -------------------------------------------------------------------------------- /demo/scaffolds/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | --- 5 | -------------------------------------------------------------------------------- /demo/scaffolds/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | tags: 5 | --- 6 | -------------------------------------------------------------------------------- /demo/source/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: 404 3 | --- -------------------------------------------------------------------------------- /demo/source/_data/links.yml: -------------------------------------------------------------------------------- 1 | - name: Hexo 2 | url: //hexo.io/ 3 | image: //d33wubrfki0l68.cloudfront.net/6657ba50e702d84afb32fe846bed54fba1a77add/827ae/logo.svg 4 | desc: 快速、简洁且高效的博客框架 5 | - name: 白云苍狗 6 | url: //www.imalun.com/ 7 | image: //www.imalun.com/images/avatar.jpg 8 | desc: 醒,亦在人间;梦,亦在人间 -------------------------------------------------------------------------------- /demo/source/_data/style/index.less: -------------------------------------------------------------------------------- 1 | .var-primary(@primary: #afb42b; @primary-weak: #c0ca33) { 2 | --primary: @primary; 3 | --primary-70: fade(@primary, 70%); 4 | --primary-50: fade(@primary, 50%); 5 | --primary-30: fade(@primary, 30%); 6 | --primary-weak: @primary-weak; 7 | --primary-weak-50: fade(@primary-weak, 50%); 8 | } 9 | 10 | :root { 11 | .var-primary(#5a5df0, #697be2); 12 | 13 | &.dark { 14 | .var-primary(#a4ce60, #82df7a); 15 | } 16 | } 17 | 18 | .loader { 19 | position: absolute; 20 | top: calc(50% - 32px); 21 | left: calc(50% - 32px); 22 | width: 64px; 23 | height: 64px; 24 | border-radius: 50%; 25 | perspective: 800px; 26 | 27 | .inner { 28 | position: absolute; 29 | box-sizing: border-box; 30 | width: 100%; 31 | height: 100%; 32 | border-radius: 50%; 33 | 34 | &.one, 35 | &.two, 36 | &.three { 37 | left: 0%; 38 | top: 0%; 39 | } 40 | 41 | &.one { 42 | border-bottom: 3px solid var(--theme-color, #00283a); 43 | animation: rotate-one 1s linear infinite; 44 | } 45 | 46 | &.two { 47 | border-right: 3px solid var(--theme-color, #00283a); 48 | animation: rotate-two 1s linear infinite; 49 | } 50 | 51 | &.three { 52 | border-top: 3px solid var(--theme-color, #00283a); 53 | animation: rotate-three 1s linear infinite; 54 | } 55 | } 56 | 57 | @keyframes rotate-one { 58 | 0% { 59 | transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg); 60 | } 61 | 62 | 100% { 63 | transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg); 64 | } 65 | } 66 | 67 | @keyframes rotate-two { 68 | 0% { 69 | transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg); 70 | } 71 | 72 | 100% { 73 | transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg); 74 | } 75 | } 76 | 77 | @keyframes rotate-three { 78 | 0% { 79 | transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg); 80 | } 81 | 82 | 100% { 83 | transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg); 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /demo/source/_posts/hello-world.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Hello Theme Async 3 | date: 2022-09-21 15:08:29 4 | cover: [https://hexo-theme-async.imalun.com/imgs/demo2.png] 5 | sticky: 1 6 | categories: 测试分类三 7 | tags: [hexo-theme-async] 8 | --- 9 | ![1663833969157.png](https://hexo-theme-async.imalun.com/imgs/demo2.png)_示例图_ 10 | 11 | Welcome to [hexo-theme-async](https://hexo-theme-async.imalun.com/). 12 | 13 | ## Hexo Theme Async 14 | - docs: [https://hexo-theme-async.imalun.com/](https://hexo-theme-async.imalun.com/) 15 | 16 | ## Hexo 17 | 18 | Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). 19 | 20 | ## Quick Start 21 | 22 | ### Create a new post 23 | 24 | ``` bash 25 | $ hexo new "My New Post" 26 | ``` 27 | 28 | More info: [Writing](https://hexo.io/docs/writing.html) 29 | 30 | ### Run server 31 | 32 | ``` bash 33 | $ hexo server 34 | ``` 35 | 36 | More info: [Server](https://hexo.io/docs/server.html) 37 | 38 | ### Generate static files 39 | 40 | ``` bash 41 | $ hexo generate 42 | ``` 43 | 44 | More info: [Generating](https://hexo.io/docs/generating.html) 45 | 46 | ### Deploy to remote sites 47 | 48 | ``` bash 49 | $ hexo deploy 50 | ``` 51 | 52 | More info: [Deployment](https://hexo.io/docs/one-command-deployment.html) 53 | -------------------------------------------------------------------------------- /demo/source/about/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 关于 3 | layout: about 4 | --- -------------------------------------------------------------------------------- /demo/source/categories/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 分类 3 | date: 2019-11-16 10:46:27 4 | layout: category 5 | --- 6 | -------------------------------------------------------------------------------- /demo/source/demo.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-undef */ 2 | (() => { 3 | // eslint-disable-next-line no-undef 4 | console.log( 5 | `%c 📌 添加自定义脚本 %c 这里啥也没有,测试自定义脚本执行`, 6 | 'color: white; background: #0078E7; padding:5px 0;margin: 0 0 2px 0;border-radius: 4px 0 0 4px;', 7 | 'padding: 4px;border:1px solid #0078E7;border-radius: 0 4px 4px 0; background: linear-gradient(70deg, #e3f9eb, #d1dbff);', 8 | ); 9 | 10 | danMu(() => 11 | [ 12 | '举杯邀明月,对影成三人', 13 | '会当凌绝顶,一览众山小', 14 | '云想衣裳花想容,春风拂槛露华浓', 15 | '二十四桥明月夜,玉人何处教吹箫?', 16 | '月落乌啼霜满天,江枫渔火对愁眠。', 17 | '两岸猿声啼不住,轻舟已过万重山。', 18 | '泠泠七弦上,静听松风寒。', 19 | '举杯邀明月,对影成三人', 20 | '会当凌绝顶,一览众山小', 21 | '云想衣裳花想容,春风拂槛露华浓', 22 | '二十四桥明月夜,玉人何处教吹箫?', 23 | '月落乌啼霜满天,江枫渔火对愁眠。', 24 | '两岸猿声啼不住,轻舟已过万重山。', 25 | '泠泠七弦上,静听松风寒。', 26 | ].map((text, id) => ({ id, text, avatar: '/demosite/img/avatar.jpg' })), 27 | ); 28 | })(); 29 | -------------------------------------------------------------------------------- /demo/source/downloads/code/config.yml: -------------------------------------------------------------------------------- 1 | # logo 2 | favicon: 3 | visibilitychange: true 4 | 5 | top_bars: 6 | - title: menu.home 7 | url: / 8 | - title: menu.archives 9 | url: /archives/ 10 | - title: menu.links 11 | url: /links/ 12 | - title: menu.about 13 | url: /about/ 14 | - title: 自定义 15 | url: /customize_page/ 16 | 17 | banner: 18 | index: 19 | bgurl: [/img/bg.jpg,/img/banner.png] 20 | 21 | sidebar: 22 | typed_text_prefix: I`m 23 | typed_text: [ 'Web Developer' ] 24 | info: 25 | - key: 文档地址 26 | val: 查看 27 | - key: 备用地址 28 | val: 查看 29 | - key: 提交示例站点 30 | val: 查看 31 | 32 | social: 33 | - icon: fab fa-github 34 | url: https://github.com/MaLuns/Hexo-theme-async 35 | name: Github 36 | - icon: fab fa-npm 37 | url: https://www.npmjs.com/package/hexo-theme-async 38 | name: Npm 39 | 40 | footer: 41 | powered: 42 | enable: true 43 | beian: 44 | enable: false 45 | icp: 46 | copyright_year: 2022 47 | live_time: 48 | enable: true 49 | prefix: footer.tips 50 | start_time: 2022/04/10 17:00:00 51 | custom_text: 52 | 53 | search: 54 | enable: true 55 | type: local 56 | preload: true 57 | trigger: auto 58 | 59 | baidu_push: true 60 | 61 | reward: 62 | enable: true 63 | methods: 64 | - name: 微信 65 | path: https://mp-8b005489-7724-4f8c-afdd-30192ff4f7ae.cdn.bspapp.com/cloudstorage/61a57135-2e65-4d51-8be1-03b8bd1c595e.jpg 66 | - name: 支付宝 67 | path: https://mp-8b005489-7724-4f8c-afdd-30192ff4f7ae.cdn.bspapp.com/cloudstorage/a21e9954-22f2-43fe-b3b0-3dba1fdde3ed.jpg 68 | - name: QQ 69 | path: https://mp-8b005489-7724-4f8c-afdd-30192ff4f7ae.cdn.bspapp.com/cloudstorage/69fb1903-d0dc-4169-9a02-1e76ec8e7761.jpg 70 | 71 | creative_commons: 72 | license: by-nc-sa 73 | language: deed.zh-hans 74 | post: true 75 | clipboard: true 76 | 77 | swup: true 78 | 79 | toc: 80 | enable: true 81 | list_number: true 82 | max_depth: 3 83 | min_depth: 1 84 | 85 | rightside: 86 | readmode: true 87 | aside: true 88 | 89 | post_pagination: 90 | enable: true 91 | type: small 92 | 93 | cdn: 94 | js: 95 | head: 96 | base: [demo.js] 97 | 98 | assets: 99 | third_party_provider: https://npm.elemecdn.com 100 | 101 | highlight: 102 | title: mac 103 | height_limit: 200 -------------------------------------------------------------------------------- /demo/source/gallery/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 相册库 3 | date: 2022-09-22 15:45:29 4 | single_column: true 5 | --- 6 | 7 |
8 | {% gallery '壁纸' '收藏的一些壁纸' '/gallery/wallpaper' https://img1.wallspic.com/previews/5/0/1/6/6/166105/166105-pang_ke-zi_se_de-zi_luo_lan_se-fen_hong_se-pin_hong_se-500x.jpg 4 60 %} 9 | {% gallery '壁纸' '收藏的一些壁纸' '/gallery/wallpaper' https://img1.wallspic.com/previews/8/8/8/0/7/170888/170888-de_fang_zi-chuang_kou-zhu_zhai_qu-mu-wu_ding-500x.jpg 4 60 %} 10 | {% gallery '壁纸' '收藏的一些壁纸' '/gallery/wallpaper' https://img3.wallspic.com/previews/7/4/8/8/6/168847/168847-man_de_nu_hai-ka_tong-ren_men_zai_zi_ran_jie-kuai_le_de-yang_guang-500x.jpg 4 60 %} 11 |
-------------------------------------------------------------------------------- /demo/source/img/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaLuns/hexo-theme-async/690e0103b7c2bf4dfc061282825ab42f845adf01/demo/source/img/1.jpg -------------------------------------------------------------------------------- /demo/source/img/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaLuns/hexo-theme-async/690e0103b7c2bf4dfc061282825ab42f845adf01/demo/source/img/2.jpg -------------------------------------------------------------------------------- /demo/source/img/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaLuns/hexo-theme-async/690e0103b7c2bf4dfc061282825ab42f845adf01/demo/source/img/3.gif -------------------------------------------------------------------------------- /demo/source/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaLuns/hexo-theme-async/690e0103b7c2bf4dfc061282825ab42f845adf01/demo/source/img/bg.jpg -------------------------------------------------------------------------------- /demo/source/links/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 小伙伴们 3 | layout: links 4 | --- -------------------------------------------------------------------------------- /demo/source/tags/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 标签 3 | date: 2019-11-16 10:46:27 4 | layout: tag 5 | --- 6 | -------------------------------------------------------------------------------- /docs/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true, 5 | "es2021": true 6 | }, 7 | "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier"], 8 | "parser": "vue-eslint-parser", 9 | "parserOptions": { 10 | "parser": "@typescript-eslint/parser", 11 | "ecmaVersion": "latest", 12 | "sourceType": "module" 13 | }, 14 | "plugins": ["@typescript-eslint", "prettier"], 15 | "rules": { 16 | "@typescript-eslint/no-var-requires": "off" 17 | }, 18 | "globals": {} 19 | } 20 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | cache -------------------------------------------------------------------------------- /docs/.vitepress/assets/sites.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "默认示例", 4 | "url": "https://hexo-theme-async.imalun.com/demosite/", 5 | "avatar": "https://hexo-theme-async.imalun.com/demosite/img/favicon.svg", 6 | "desc": "主题默认示例" 7 | }, 8 | { 9 | "name": "白云苍狗", 10 | "url": "https://www.imalun.com", 11 | "avatar": "https://www.imalun.com/images/avatar.jpg", 12 | "desc": "醒,亦在人间;梦,亦在人间。", 13 | "type": -2 14 | }, 15 | { 16 | "name": "游小游", 17 | "url": "https://yxy.imalun.com", 18 | "avatar": "https://yxy.imalun.com/images/avatar.gif", 19 | "desc": "两人对酌山花开,一杯一杯复一杯。我醉欲眠卿且去,明朝有意抱琴来。" 20 | }, 21 | { 22 | "name": "西瓜撞地球", 23 | "url": "https://www.bio-w.cn", 24 | "avatar": "https://bu.dusays.com/2022/10/17/634d313602a1e.png", 25 | "desc": "我在人间贩卖彩虹", 26 | "type": -2 27 | }, 28 | { 29 | "name": "谷雨", 30 | "url": "https://grainrain.site/", 31 | "avatar": "https://cdn.luogu.com.cn/upload/usericon/746291.png", 32 | "desc": "世事漫随流水 算来一生浮梦", 33 | "type": -2 34 | }, 35 | { 36 | "name": "Offends", 37 | "url": "https://blog.offends.cn", 38 | "avatar": "https://blog.offends.cn/img/avatar.png", 39 | "desc": "现充爆炸吧" 40 | }, 41 | { 42 | "name": "乌冬", 43 | "url": "https://hexo.yahoo94.love", 44 | "avatar": "https://yahoo94.love/upload/2022/11/11.png", 45 | "desc": "再过十年,我们还是过着今天。", 46 | "type": -1 47 | }, 48 | { 49 | "name": "怵.", 50 | "url": "https://blog.gfxgy.cn/", 51 | "avatar": "https://blog.gfxgy.cn/img/my.jpg", 52 | "desc": "桃之夭夭,灼灼其华。", 53 | "type": -1 54 | }, 55 | { 56 | "name": "TACG", 57 | "url": "https://www.tacg.ink/", 58 | "avatar": "https://cdn.jsdelivr.net/gh/TACGqwq/TACGstorage/Blog/TACG.jpg", 59 | "desc": "记录生活,找寻生活的方向", 60 | "type": -1 61 | }, 62 | { 63 | "name": "Shawn's Blog", 64 | "url": "https://blog.shawn404.top/", 65 | "avatar": "https://blog.shawn404.top/img/logo.svg", 66 | "desc": "Strive hard and work novelty" 67 | }, 68 | { 69 | "name": "Hexagon", 70 | "url": "https://dracewang.github.io/", 71 | "avatar": "https://s2.loli.net/2023/10/09/XwlqZH67cJo2NC5.jpg", 72 | "desc": "江湖险恶,不行就撤" 73 | }, 74 | { 75 | "name": "CypherSun", 76 | "url": "https://cyphersun.github.io/", 77 | "avatar": "https://avatars.githubusercontent.com/u/80212458?v=4", 78 | "desc": "吾日百省,知行合一" 79 | } 80 | ] 81 | -------------------------------------------------------------------------------- /docs/.vitepress/assets/sponsors.json: -------------------------------------------------------------------------------- 1 | { 2 | "modes": [ 3 | { 4 | "type": "alipay", 5 | "title": "支付宝", 6 | "path": "https://www.imalun.com/images/reward/alipay.jpg" 7 | }, 8 | { 9 | "type": "wechat", 10 | "title": "微信", 11 | "path": "https://www.imalun.com/images/reward/wx_pay.jpg" 12 | }, 13 | { 14 | "type": "qq", 15 | "title": "QQ", 16 | "path": "https://www.imalun.com/images/reward/qq_pay.jpg" 17 | } 18 | ], 19 | "logs": [ 20 | { 21 | "name": "**俊", 22 | "money": 20, 23 | "type": "alipay", 24 | "date": "2023-07-04" 25 | }, 26 | { 27 | "name": "**锋", 28 | "money": 1, 29 | "type": "alipay", 30 | "date": "2023-04-29" 31 | }, 32 | { 33 | "name": "**伟", 34 | "money": 6.66, 35 | "type": "alipay", 36 | "date": "2023-04-20" 37 | }, 38 | { 39 | "name": "Jesse", 40 | "money": 66.66, 41 | "type": "alipay", 42 | "date": "2023-03-23" 43 | }, 44 | { 45 | "name": "对*.", 46 | "money": 10.0, 47 | "type": "wechat", 48 | "date": "2023-01-11" 49 | }, 50 | { 51 | "name": "*负能量", 52 | "money": 5.0, 53 | "type": "wechat", 54 | "date": "2022-12-30" 55 | }, 56 | { 57 | "name": "*羊", 58 | "money": 1.0, 59 | "type": "wechat", 60 | "date": "2022-12-11" 61 | }, 62 | { 63 | "name": "*奶", 64 | "money": 1.88, 65 | "type": "wechat", 66 | "date": "2022-10-27" 67 | }, 68 | { 69 | "name": "*洋", 70 | "money": 1.0, 71 | "type": "wechat", 72 | "date": "2022-10-18" 73 | } 74 | ] 75 | } 76 | -------------------------------------------------------------------------------- /docs/.vitepress/components.d.ts: -------------------------------------------------------------------------------- 1 | // generated by unplugin-vue-components 2 | // We suggest you to commit this file into source control 3 | // Read more: https://github.com/vuejs/core/pull/3399 4 | import '@vue/runtime-core'; 5 | 6 | export {}; 7 | 8 | declare module '@vue/runtime-core' { 9 | export interface GlobalComponents { 10 | ArrayInput: (typeof import('./components/edit/ArrayInput.vue'))['default']; 11 | BaseInput: (typeof import('./components/edit/BaseInput.vue'))['default']; 12 | ChangeLog: (typeof import('./components/ChangeLog.vue'))['default']; 13 | ChangeLogs: (typeof import('./components/ChangeLogs.vue'))['default']; 14 | DemoSite: (typeof import('./components/DemoSite.vue'))['default']; 15 | DemoSites: (typeof import('./components/DemoSites.vue'))['default']; 16 | DemoSitesLine: (typeof import('./components/DemoSitesLine.vue'))['default']; 17 | EditConfig: (typeof import('./components/EditConfig.vue'))['default']; 18 | EditConfigArrayInput: (typeof import('./components/EditObjectArray.vue'))['default']; 19 | EditConfigItem: (typeof import('./components/EditConfigItem.vue'))['default']; 20 | EditConfigObjectArrayInput: (typeof import('./components/EditObjectArray.vue'))['default']; 21 | EditInputs: (typeof import('./components/EditInputs.vue'))['default']; 22 | EditObjectArray: (typeof import('./components/EditObjectArray.vue'))['default']; 23 | EnumInput: (typeof import('./components/edit/EnumInput.vue'))['default']; 24 | IconList: (typeof import('./components/IconList.vue'))['default']; 25 | InfoToast: (typeof import('./components/InfoToast.vue'))['default']; 26 | ObjectArrayInput: (typeof import('./components/edit/ObjectArrayInput.vue'))['default']; 27 | OutLine: (typeof import('./components/OutLine.vue'))['default']; 28 | SponsorsLog: (typeof import('./components/SponsorsLog.vue'))['default']; 29 | SwitchInput: (typeof import('./components/edit/SwitchInput.vue'))['default']; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /docs/.vitepress/components/ChangeLog.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 42 | 43 | 66 | -------------------------------------------------------------------------------- /docs/.vitepress/components/ChangeLogs.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 22 | 39 | -------------------------------------------------------------------------------- /docs/.vitepress/components/DemoSite.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 22 | 23 | 45 | -------------------------------------------------------------------------------- /docs/.vitepress/components/DemoSites.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 20 | 21 | 35 | -------------------------------------------------------------------------------- /docs/.vitepress/components/EditConfigItem.vue: -------------------------------------------------------------------------------- 1 | 43 |