wip: valaxy-addon-bangumi

This commit is contained in:
YunYouJun 2023-12-17 15:37:42 +08:00
parent eba1ab6241
commit 14b2be1e4a
13 changed files with 171 additions and 40 deletions

View File

@ -17,6 +17,7 @@
"dependencies": {
"valaxy": "workspace:*",
"valaxy-addon-algolia": "workspace:*",
"valaxy-addon-bangumi": "workspace:*",
"valaxy-addon-components": "workspace:*",
"valaxy-addon-lightgallery": "workspace:*",
"valaxy-addon-meting": "workspace:*",

View File

@ -0,0 +1,8 @@
---
title: Bangumi 追番列表
keywords: Bangumi
description: Bangumi 追番列表
# links: https://friends.yunyoujun.cn/links.json
---
<ValaxyBangumi />

View File

@ -2,7 +2,7 @@ import { defineSiteConfig } from 'valaxy'
export default defineSiteConfig({
frontmatter: {
time_warning: true,
// time_warning: true,
},
lang: 'zh-CN',

View File

@ -2,14 +2,14 @@ import { defineValaxyConfig } from 'valaxy'
import type { ThemeConfig } from 'valaxy-theme-yun'
import { addonAlgolia } from 'valaxy-addon-algolia'
// import { addonTwikoo } from 'valaxy-addon-twikoo'
import { addonWaline } from 'valaxy-addon-waline'
import { addonBangumi } from 'valaxy-addon-bangumi'
import { addonComponents } from 'valaxy-addon-components'
import { addonLightGallery } from 'valaxy-addon-lightgallery'
import { addonTest } from 'valaxy-addon-test'
import { addonMeting } from 'valaxy-addon-meting'
import { addonTest } from 'valaxy-addon-test'
import { addonWaline } from 'valaxy-addon-waline'
// import { addonTwikoo } from 'valaxy-addon-twikoo'
const safelist = [
'i-ri-home-line',
@ -105,6 +105,9 @@ export default defineValaxyConfig<ThemeConfig>({
apiKey: '805f2584a8866388aa1631ff0348ddae',
indexName: 'valaxy',
}),
addonBangumi({
uid: 378106,
}),
addonComponents(),
addonWaline({
serverURL: 'https://waline.yunyoujun.cn',

View File

@ -0,0 +1,7 @@
# valaxy-addon-bangumi
- [[功能建议] 追番列表](https://github.com/YunYouJun/valaxy/issues/296)
## Ref
- [hexo-bilibili-bangumi](https://github.com/HCLonely/hexo-bilibili-bangumi)

View File

@ -0,0 +1,5 @@
<template>
<div>
Bangumi
</div>
</template>

View File

@ -0,0 +1 @@
export * from './node'

View File

@ -0,0 +1,17 @@
import { defineValaxyAddon } from 'valaxy'
import consola from 'consola'
import pkg from '../package.json'
import type { BangumiOptions } from '../types'
export const addonBangumi = defineValaxyAddon<BangumiOptions>(options => ({
name: pkg.name,
enable: true,
options,
setup(valaxy) {
valaxy.hook('build:before', () => {
consola.info('[valaxy-addon-bangumi] build:before')
})
},
}))

View File

@ -0,0 +1,13 @@
import { createBangumiApi } from 'bangumi-api'
import consola from 'consola'
import pkg from '../package.json'
const bangumiApi = createBangumiApi()
bangumiApi.axios.defaults.headers.common['User-Agent'] = `YunYouJun/girid + (${pkg.repository.url})`
export async function getBangumiDataFromBangumiApi() {
const data = await bangumiApi.subjects({
subject_id: 1,
}).get()
consola.log(data)
}

View File

@ -0,0 +1,20 @@
{
"name": "valaxy-addon-bangumi",
"version": "0.0.1",
"description": "Bangumi addon for Valaxy",
"repository": {
"type": "git",
"url": "https://github.com/YunYouJun/valaxy/tree/main/packages/valaxy-addon-bangumi"
},
"keywords": [
"valaxy",
"addon",
"bangumi"
],
"peerDependencies": {
"valaxy": "latest"
},
"dependencies": {
"bangumi-api": "^0.0.1"
}
}

View File

@ -0,0 +1,3 @@
import { getBangumiDataFromBangumiApi } from '../node/utils'
getBangumiDataFromBangumiApi()

View File

@ -0,0 +1,8 @@
export interface BangumiOptions {
/**
* @url https://bgm.tv/
* Bangumi uid
* Bangumi `CHOBITS_UID` id
*/
uid: number
}

View File

@ -137,6 +137,9 @@ importers:
valaxy-addon-algolia:
specifier: workspace:*
version: link:../../packages/valaxy-addon-algolia
valaxy-addon-bangumi:
specifier: workspace:*
version: link:../../packages/valaxy-addon-bangumi
valaxy-addon-components:
specifier: workspace:*
version: link:../../packages/valaxy-addon-components
@ -451,7 +454,7 @@ importers:
version: 17.0.32
debug:
specifier: ^4.3.4
version: 4.3.4(supports-color@8.1.1)
version: 4.3.4(supports-color@5.5.0)
diacritics:
specifier: ^1.3.0
version: 1.3.0
@ -477,6 +480,15 @@ importers:
specifier: latest
version: link:../valaxy
packages/valaxy-addon-bangumi:
dependencies:
bangumi-api:
specifier: ^0.0.1
version: 0.0.1
valaxy:
specifier: latest
version: link:../valaxy
packages/valaxy-addon-components: {}
packages/valaxy-addon-lightgallery:
@ -807,7 +819,7 @@ packages:
'@babel/traverse': 7.23.6
'@babel/types': 7.23.6
convert-source-map: 2.0.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@ -883,7 +895,7 @@ packages:
'@babel/core': 7.23.6
'@babel/helper-compilation-targets': 7.23.6
'@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@ -1957,7 +1969,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.6
'@babel/types': 7.23.6
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
@ -2504,7 +2516,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.0
@ -2530,7 +2542,7 @@ packages:
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -2589,7 +2601,7 @@ packages:
'@antfu/install-pkg': 0.1.1
'@antfu/utils': 0.7.7
'@iconify/types': 2.0.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
kolorist: 1.8.0
local-pkg: 0.4.3
transitivePeerDependencies:
@ -2661,7 +2673,7 @@ packages:
'@intlify/shared': 9.8.0
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
'@vue/compiler-sfc': 3.3.11
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
js-yaml: 4.1.0
json5: 2.2.3
@ -3474,7 +3486,7 @@ packages:
'@typescript-eslint/type-utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
graphemer: 1.4.0
ignore: 5.3.0
@ -3500,7 +3512,7 @@ packages:
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
typescript: 5.3.3
transitivePeerDependencies:
@ -3527,7 +3539,7 @@ packages:
dependencies:
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
'@typescript-eslint/utils': 6.14.0(eslint@8.55.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
ts-api-utils: 1.0.3(typescript@5.3.3)
typescript: 5.3.3
@ -3551,7 +3563,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.4
@ -4202,7 +4214,7 @@ packages:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -4441,6 +4453,16 @@ packages:
resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
dev: true
/axios@1.6.2:
resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==}
dependencies:
follow-redirects: 1.15.3
form-data: 4.0.0
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
dev: false
/babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.6):
resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
peerDependencies:
@ -4484,6 +4506,14 @@ packages:
resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==}
dev: true
/bangumi-api@0.0.1:
resolution: {integrity: sha512-P9mZvNdhoF/IQZcoInfHfMNaCGb8LbeCQmoQeyoC7LTYHvjoaRWmtG8wn1jhwhAIkFhbzfhIdS+yhDQ5uGMFNQ==}
dependencies:
axios: 1.6.2
transitivePeerDependencies:
- debug
dev: false
/base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@ -5316,7 +5346,6 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 5.5.0
dev: true
/debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@ -5329,6 +5358,7 @@ packages:
dependencies:
ms: 2.1.2
supports-color: 8.1.1
dev: true
/decamelize@1.2.0:
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
@ -5896,7 +5926,7 @@ packages:
'@es-joy/jsdoccomment': 0.41.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
escape-string-regexp: 4.0.0
eslint: 8.55.0
esquery: 1.5.0
@ -5990,7 +6020,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
eslint-compat-utils: 0.1.2(eslint@8.55.0)
lodash: 4.17.21
@ -6083,7 +6113,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
eslint-compat-utils: 0.1.2(eslint@8.55.0)
lodash: 4.17.21
@ -6136,7 +6166,7 @@ packages:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@ -6514,6 +6544,16 @@ packages:
tabbable: 6.2.0
dev: true
/follow-redirects@1.15.3:
resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
peerDependenciesMeta:
debug:
optional: true
dev: false
/for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
dependencies:
@ -7087,7 +7127,7 @@ packages:
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -7120,7 +7160,7 @@ packages:
engines: {node: '>= 6'}
dependencies:
agent-base: 6.0.2
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
transitivePeerDependencies:
- supports-color
dev: false
@ -7824,7 +7864,7 @@ packages:
dependencies:
chalk: 5.3.0
commander: 11.1.0
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
execa: 8.0.1
lilconfig: 3.0.0
listr2: 8.0.0
@ -8193,7 +8233,7 @@ packages:
/micromark@2.11.4:
resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
parse-entities: 2.0.0
transitivePeerDependencies:
- supports-color
@ -9235,6 +9275,10 @@ packages:
resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
dev: true
/proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: false
/ps-tree@1.2.0:
resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==}
engines: {node: '>= 0.10'}
@ -9929,7 +9973,7 @@ packages:
/spdy-transport@3.0.0:
resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@ -9943,7 +9987,7 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'}
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
@ -10283,7 +10327,7 @@ packages:
cosmiconfig: 9.0.0(typescript@5.3.3)
css-functions-list: 3.2.1
css-tree: 2.3.1
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
fastest-levenshtein: 1.0.16
file-entry-cache: 7.0.2
@ -10348,6 +10392,7 @@ packages:
engines: {node: '>=10'}
dependencies:
has-flag: 4.0.0
dev: true
/supports-hyperlinks@3.0.0:
resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==}
@ -10577,7 +10622,7 @@ packages:
bundle-require: 4.0.2(esbuild@0.19.9)
cac: 6.7.14
chokidar: 3.5.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
esbuild: 0.19.9
execa: 5.1.1
globby: 11.1.0
@ -10956,7 +11001,7 @@ packages:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
chokidar: 3.5.3
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
local-pkg: 0.4.3
magic-string: 0.30.5
@ -11099,7 +11144,7 @@ packages:
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
pathe: 1.1.1
picocolors: 1.0.0
vite: 5.0.8(@types/node@20.10.4)(sass@1.69.5)
@ -11126,7 +11171,7 @@ packages:
dependencies:
'@antfu/utils': 0.7.7
'@rollup/pluginutils': 5.1.0(rollup@2.79.1)
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
error-stack-parser-es: 0.1.1
fs-extra: 11.2.0
open: 9.1.0
@ -11149,7 +11194,7 @@ packages:
dependencies:
'@types/debug': 4.1.12
'@vue/compiler-sfc': 3.3.11
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
deep-equal: 2.2.3
extract-comments: 1.1.0
fast-glob: 3.3.2
@ -11170,7 +11215,7 @@ packages:
workbox-build: ^7.0.0
workbox-window: ^7.0.0
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
pretty-bytes: 6.1.1
vite: 5.0.8(@types/node@20.10.4)(sass@1.69.5)
@ -11187,7 +11232,7 @@ packages:
vue: ^3.2.4
vue-router: ^4.0.11
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
fast-glob: 3.3.2
vite: 5.0.8(@types/node@20.10.4)(sass@1.69.5)
vue: 3.3.11(typescript@5.3.3)
@ -11361,7 +11406,7 @@ packages:
acorn-walk: 8.3.1
cac: 6.7.14
chai: 4.3.10
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
execa: 8.0.1
local-pkg: 0.5.0
magic-string: 0.30.5
@ -11410,7 +11455,7 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4(supports-color@8.1.1)
debug: 4.3.4(supports-color@5.5.0)
eslint: 8.55.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3