Added Vue CodeLink component
This commit is contained in:
		
							parent
							
								
									79382bb85b
								
							
						
					
					
						commit
						350f0a9096
					
				|  | @ -0,0 +1,66 @@ | |||
| <script> | ||||
| export default { | ||||
| 	name: "CodeLink", | ||||
| 	props: ["left", "text", "link", "right"] | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style scoped> | ||||
| a { | ||||
| 	font-family: var(--font-family-code); | ||||
| 	font-size: 0.85em; | ||||
| 	background-color: var(--c-bg-light); | ||||
| } | ||||
| 
 | ||||
| .pad-left { | ||||
| 	padding: 0.25rem 0.125rem 0.25rem 0.5rem; | ||||
| } | ||||
| 
 | ||||
| .pad-right { | ||||
| 	padding: 0.25rem 0.5rem 0.25rem 0.125rem; | ||||
| } | ||||
| 
 | ||||
| .pad-both { | ||||
| 	padding: 0.25rem 0.125rem; | ||||
| } | ||||
| 
 | ||||
| .flat-left { | ||||
| 	border-top-left-radius: 0; | ||||
| 	border-bottom-left-radius: 0; | ||||
| } | ||||
| 
 | ||||
| .flat-right { | ||||
| 	border-top-right-radius: 0; | ||||
| 	border-bottom-right-radius: 0; | ||||
| } | ||||
| </style> | ||||
| 
 | ||||
| <template> | ||||
| 	<code | ||||
| 		v-if="left" | ||||
| 		:class="{ | ||||
| 			'pad-left': true, | ||||
| 			'flat-right': true | ||||
| 		}" | ||||
| 		>{{ left }}</code | ||||
| 	> | ||||
| 	<a | ||||
| 		:href="link + '.html'" | ||||
| 		:class="{ | ||||
| 			'flat-left': left, | ||||
| 			'flat-right': right, | ||||
| 			'pad-right': left && !right, | ||||
| 			'pad-left': right && !left, | ||||
| 			'pad-both': left && right | ||||
| 		}" | ||||
| 		>{{ text }}</a | ||||
| 	> | ||||
| 	<code | ||||
| 		v-if="right" | ||||
| 		:class="{ | ||||
| 			'pad-right': true, | ||||
| 			'flat-left': true | ||||
| 		}" | ||||
| 		>{{ right }}</code | ||||
| 	> | ||||
| </template> | ||||
|  | @ -1,9 +1,20 @@ | |||
| import { defineUserConfig } from "vuepress" | ||||
| import { path } from "@vuepress/utils" | ||||
| import type { DefaultThemeOptions } from "vuepress" | ||||
| 
 | ||||
| export default defineUserConfig<DefaultThemeOptions>({ | ||||
| 	title: "YTMusic API", | ||||
| 	description: "Unofficial YouTube Music API for TypeScript", | ||||
| 	plugins: [ | ||||
| 		[ | ||||
| 			"@vuepress/register-components", | ||||
| 			{ | ||||
| 				components: { | ||||
| 					CodeLink: path.resolve(__dirname, "./components/CodeLink.vue") | ||||
| 				} | ||||
| 			} | ||||
| 		] | ||||
| 	], | ||||
| 	themeConfig: { | ||||
| 		repo: "zS1L3NT/ts-npm-ytmusic-api", | ||||
| 		editLink: false, | ||||
|  |  | |||
|  | @ -0,0 +1,21 @@ | |||
| # AlbumBasic | ||||
| 
 | ||||
| ## Properties | ||||
| 
 | ||||
| | Name      | Data Type | Description | | ||||
| | :-------- | :-------- | :---------- | | ||||
| | `albumId` | `string`  | Album ID    | | ||||
| | `name`    | `string`  | Name        | | ||||
| 
 | ||||
| ## TypeScript Source Code | ||||
| 
 | ||||
| ```ts | ||||
| interface AlbumBasic { | ||||
| 	albumId: string | ||||
| 	name: string | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## Usages | ||||
| 
 | ||||
| [SongDetailed#album](./SongDetailed.html) | ||||
|  | @ -0,0 +1,27 @@ | |||
| # AlbumDetailed | ||||
| 
 | ||||
| ## Properties | ||||
| 
 | ||||
| | Name         | Data Type                                                                  | Description           | | ||||
| | :----------- | :------------------------------------------------------------------------- | :-------------------- | | ||||
| | `type`       | `"ALBUM"`                                                                  | Type of data          | | ||||
| | `albumId`    | `string`                                                                   | Album ID              | | ||||
| | `playlistId` | `string`                                                                   | Playlist ID for Album | | ||||
| | `name`       | `string`                                                                   | Name                  | | ||||
| | `artists`    | <CodeLink left="gay" text="ArtistBasic" link="./ArtistBasic" right="[]" /> | Creators of the Album | | ||||
| | `year`       | `number`                                                                   | Publication Year      | | ||||
| | `thumbnails` | `ThumbnailFull[]`                                                          | Thumbnails            | | ||||
| 
 | ||||
| ## TypeScript Source Code | ||||
| 
 | ||||
| ```ts | ||||
| interface AlbumBasic { | ||||
| 	type: "ALBUM" | ||||
| 	albumId: string | ||||
| 	playlistId: string | ||||
| 	name: string | ||||
| 	artists: ArtistBasic[] | ||||
| 	year: number | ||||
| 	thumbnails: ThumbnailFull[] | ||||
| } | ||||
| ``` | ||||
|  | @ -24,6 +24,7 @@ | |||
| 		"@types/mocha": "^9.1.0", | ||||
| 		"@types/node": "^17.0.23", | ||||
| 		"@types/tough-cookie": "^4.0.1", | ||||
| 		"@vuepress/plugin-register-components": "^2.0.0-beta.36", | ||||
| 		"mocha": "^9.2.2", | ||||
| 		"mocha.parallel": "^0.15.6", | ||||
| 		"ts-mocha": "^9.0.2", | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ specifiers: | |||
|   '@types/mocha': ^9.1.0 | ||||
|   '@types/node': ^17.0.23 | ||||
|   '@types/tough-cookie': ^4.0.1 | ||||
|   '@vuepress/plugin-register-components': ^2.0.0-beta.36 | ||||
|   axios: ^0.25.0 | ||||
|   mocha: ^9.2.2 | ||||
|   mocha.parallel: ^0.15.6 | ||||
|  | @ -22,6 +23,7 @@ devDependencies: | |||
|   '@types/mocha': 9.1.0 | ||||
|   '@types/node': 17.0.23 | ||||
|   '@types/tough-cookie': 4.0.1 | ||||
|   '@vuepress/plugin-register-components': 2.0.0-beta.36 | ||||
|   mocha: 9.2.2 | ||||
|   mocha.parallel: 0.15.6_mocha@9.2.2 | ||||
|   ts-mocha: 9.0.2_mocha@9.2.2 | ||||
|  | @ -389,6 +391,16 @@ packages: | |||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /@vuepress/plugin-register-components/2.0.0-beta.36: | ||||
|     resolution: {integrity: sha512-ciIDC8t4r9n1wbVVwvfcOY/iZ2s8tka3XThs1zrfja2l7TI9BX6+wCT9N/TO+1pOjYhn6938FmTrv4kK69eRFA==} | ||||
|     dependencies: | ||||
|       '@vuepress/core': 2.0.0-beta.36 | ||||
|       '@vuepress/utils': 2.0.0-beta.35 | ||||
|       chokidar: 3.5.3 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /@vuepress/plugin-theme-data/2.0.0-beta.36: | ||||
|     resolution: {integrity: sha512-1Fxj7F0rIARYa/gQmsUql3f7wPF3ML4Fs6kcPHXYll7ZNDLR1OBw9HIGJ7lW4qx37f6YfYs2RjefAuwkVFUn/A==} | ||||
|     dependencies: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue