@realsee/live 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -56
- package/docs/.nojekyll +1 -0
- package/docs/assets/custom.css +43 -0
- package/docs/assets/highlight.css +127 -0
- package/docs/assets/icons.css +1043 -0
- package/docs/assets/{images/icons.png → icons.png} +0 -0
- package/docs/assets/{images/icons@2x.png → icons@2x.png} +0 -0
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1388 -0
- package/docs/assets/{images/widgets.png → widgets.png} +0 -0
- package/docs/assets/{images/widgets@2x.png → widgets@2x.png} +0 -0
- package/docs/classes/RTCProtocol.RTCExample.html +62 -814
- package/docs/classes/RTCProtocol.VRWebViewRTC.html +60 -0
- package/docs/classes/shared_utils.Subscribe.html +55 -596
- package/docs/enums/RTCProtocol.RTCJoinedInfoCodeEnum.html +9 -0
- package/docs/enums/RTCProtocol.RTCType.html +1 -185
- package/docs/enums/live.BuiltinActionType.html +15 -325
- package/docs/enums/live.BuiltinEventType.html +7 -268
- package/docs/enums/live.Command.html +7 -346
- package/docs/enums/live.MemUserStatus.html +1 -307
- package/docs/enums/live.MicroStatus.html +3 -258
- package/docs/enums/live.UserStatus.html +9 -287
- package/docs/enums/live.WebSocketCloseError.html +19 -382
- package/docs/enums/live.WebSocketErrorType.html +1 -307
- package/docs/enums/live.WebSocketState.html +13 -325
- package/docs/index.html +327 -512
- package/docs/interfaces/RTCProtocol.GetVoiceSignReturnType.html +1 -0
- package/docs/interfaces/RTCProtocol.RTCJoinedInfo.html +1 -0
- package/docs/interfaces/RTCProtocol.RTCProtocol-1.html +60 -765
- package/docs/interfaces/RTCProtocol.VRWebViewRTCOptions.html +1 -0
- package/docs/interfaces/live.Live.html +119 -1302
- package/docs/interfaces/live.LiveOptions.html +22 -499
- package/docs/interfaces/live.LiveReact.html +52 -984
- package/docs/modules/RTCProtocol.html +17 -361
- package/docs/modules/live.html +103 -1219
- package/docs/modules/shared_utils.html +10 -248
- package/docs/modules.html +1 -125
- package/lib/RTC/BrowserRTC.d.ts +30 -0
- package/lib/RTC/BrowserRTC.js +163 -0
- package/lib/RTC/BrowserRTC.js.map +1 -0
- package/lib/RTC/VRWebViewRTC.d.ts +23 -0
- package/lib/RTC/VRWebViewRTC.js +124 -0
- package/lib/RTC/VRWebViewRTC.js.map +1 -0
- package/lib/RTC/index.d.ts +22 -0
- package/lib/{RTCProtocol → RTC}/index.js +3 -7
- package/lib/RTC/index.js.map +1 -0
- package/lib/createLive.d.ts +1 -1
- package/lib/createLive.js +50 -22
- package/lib/createLive.js.map +1 -1
- package/lib/createLiveReact.d.ts +11 -10
- package/lib/createLiveReact.js +4 -6
- package/lib/createLiveReact.js.map +1 -1
- package/lib/shared-utils/Subscribe.d.ts +1 -1
- package/lib/typings/EventType.d.ts +10 -0
- package/lib/typings/GetVoiceSign.d.ts +11 -0
- package/lib/typings/GetVoiceSign.js +3 -0
- package/lib/typings/GetVoiceSign.js.map +1 -0
- package/lib/typings/Live.d.ts +6 -4
- package/lib/typings/LiveMsg.d.ts +4 -0
- package/lib/typings/LiveMsg.js +4 -0
- package/lib/typings/LiveMsg.js.map +1 -1
- package/lib/typings/LiveOptions.d.ts +3 -7
- package/lib/typings/RTCEventType.d.ts +2 -14
- package/lib/typings/RTCEventType.js +0 -7
- package/lib/typings/RTCEventType.js.map +1 -1
- package/lib/typings/RTCJoinedInfo.d.ts +28 -0
- package/lib/typings/RTCJoinedInfo.js +23 -0
- package/lib/typings/RTCJoinedInfo.js.map +1 -0
- package/lib/{RTCProtocol/index.d.ts → typings/RTCProtocol.d.ts} +1 -19
- package/lib/typings/RTCProtocol.js +9 -0
- package/lib/typings/RTCProtocol.js.map +1 -0
- package/lib/typings/VRWebViewRTCOptions.d.ts +6 -0
- package/lib/typings/VRWebViewRTCOptions.js +3 -0
- package/lib/typings/VRWebViewRTCOptions.js.map +1 -0
- package/lib/typings/WebSocket.d.ts +2 -1
- package/lib/typings/WebSocket.js +1 -0
- package/lib/typings/WebSocket.js.map +1 -1
- package/package.json +8 -4
- package/umd/{RTCProtocol.046933a5.js → RTCProtocol.543610f0.js} +1 -1
- package/umd/createLive.a6edf473.js +1 -0
- package/umd/createLiveReact.e21b4514.js +1 -0
- package/docs/assets/css/main.css +0 -2787
- package/docs/assets/js/main.js +0 -248
- package/docs/assets/js/search.js +0 -1
- package/lib/RTCProtocol/index.js.map +0 -1
- package/umd/createLive.6845145e.js +0 -1
- package/umd/createLiveReact.406cf5a3.js +0 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## 功能说明
|
|
6
6
|
|
|
7
|
-
**Live** 是 [如视开发者中心VRTC服务](https://developers.realsee.com/docs/#/docs/live/README) 的核心客户端 Web SDK,搭配 Live Container
|
|
7
|
+
**Live** 是 [如视开发者中心 VRTC 服务](https://developers.realsee.com/docs/#/docs/live/README) 的核心客户端 Web SDK,搭配 Live Container
|
|
8
8
|
SDKs(iOS/Android/微信小程序)和 Live API 可以快速实现实时同屏、实时语音、IM 等功能。
|
|
9
9
|
|
|
10
10
|
### 名词释义
|
|
@@ -26,7 +26,7 @@ SDKs(iOS/Android/微信小程序)和 Live API 可以快速实现实时同屏
|
|
|
26
26
|
|
|
27
27
|
### 安装 SDK
|
|
28
28
|
|
|
29
|
-
可以通过Node包管理工具 [npm](https://www.npmjs.com/) 或 [yarn](https://yarnpkg.com/) 安装**Live**:
|
|
29
|
+
可以通过 Node 包管理工具 [npm](https://www.npmjs.com/) 或 [yarn](https://yarnpkg.com/) 安装**Live**:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
# npm
|
|
@@ -43,10 +43,11 @@ yarn add @realsee/live
|
|
|
43
43
|
import { createLive } from '@realsee/live'
|
|
44
44
|
|
|
45
45
|
const live = createLive({
|
|
46
|
-
url: 'wss://ws-access.realsee.com/***/?=xxx'
|
|
47
|
-
getTicket: async () => {
|
|
46
|
+
url: 'wss://ws-access.realsee.com/***/?=xxx' /* 连接 WebSocket 服务的 URL */,
|
|
47
|
+
getTicket: async () => {
|
|
48
|
+
/* 获取带看"门票"的回调函数 */
|
|
49
|
+
},
|
|
48
50
|
})
|
|
49
|
-
|
|
50
51
|
```
|
|
51
52
|
|
|
52
53
|
在创建 `live` 实例时配置了两个参数:
|
|
@@ -136,7 +137,7 @@ live.on('broadcast', (data /* 广播的数据 */) => {})
|
|
|
136
137
|
|
|
137
138
|
```ts
|
|
138
139
|
live.on('ws.readyStateUpdate', (readyState: WebSocketState) => {
|
|
139
|
-
|
|
140
|
+
console.log(readyState) // readyState 即是最新的 WebScoket 状态
|
|
140
141
|
})
|
|
141
142
|
```
|
|
142
143
|
|
|
@@ -199,7 +200,7 @@ live.on('ws.readyStateUpdate', (readyState: WebSocketState) => {
|
|
|
199
200
|
|
|
200
201
|
```ts
|
|
201
202
|
live.$RTC.on('userVolumes', (userVolumes: UserVolume[]) => {
|
|
202
|
-
|
|
203
|
+
console.log(userVolumes) // userVolumes 正在说话的用户及其音量数据。
|
|
203
204
|
})
|
|
204
205
|
```
|
|
205
206
|
|
|
@@ -222,17 +223,17 @@ live.$RTC.on('userVolumes', (userVolumes: UserVolume[]) => {
|
|
|
222
223
|
|
|
223
224
|
与 WebSocket 通信的结构体`LiveMsg`格式如下:
|
|
224
225
|
|
|
225
|
-
| 名称 | 类型 | 描述
|
|
226
|
-
| --------------- | ------------------- |
|
|
226
|
+
| 名称 | 类型 | 描述 |
|
|
227
|
+
| --------------- | ------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
227
228
|
| appId | string |
|
|
228
|
-
| code | string | 返回码,详情参照[服务端 API Code 码表](https://developers.realsee.com/docs/#/docs/live/server/README)
|
|
229
|
-
| command | 指令 | WebSocket 通信指令类型,详情请查看[Live API](https://unpkg.com/@realsee/live/docs/index.html) 文档
|
|
230
|
-
| data | Record<string, any> | 本条指令对应的业务数据
|
|
231
|
-
| frontRequestId: | string | 前端的请求 ID,由 WS 服务原样透传回前端
|
|
232
|
-
| message | string | 返回描述
|
|
233
|
-
| requestId | string | 后端请求 ID
|
|
234
|
-
| roomCode | string | 带看房间号
|
|
235
|
-
| triggerUserId | string | 触发指令的用户 ID
|
|
229
|
+
| code | string | 返回码,详情参照[服务端 API Code 码表](https://developers.realsee.com/docs/#/docs/live/server/README) |
|
|
230
|
+
| command | 指令 | WebSocket 通信指令类型,详情请查看[Live API](https://unpkg.com/@realsee/live/docs/index.html) 文档 |
|
|
231
|
+
| data | Record<string, any> | 本条指令对应的业务数据 |
|
|
232
|
+
| frontRequestId: | string | 前端的请求 ID,由 WS 服务原样透传回前端 |
|
|
233
|
+
| message | string | 返回描述 |
|
|
234
|
+
| requestId | string | 后端请求 ID |
|
|
235
|
+
| roomCode | string | 带看房间号 |
|
|
236
|
+
| triggerUserId | string | 触发指令的用户 ID |
|
|
236
237
|
|
|
237
238
|
当 WebSocket 推送的数据结构体不满足 `LiveMsg` 或者 `code` 值不为 `SUCCESS` 时会以 `error` 事件的形式抛出来。
|
|
238
239
|
|
|
@@ -244,33 +245,29 @@ live.$RTC.on('userVolumes', (userVolumes: UserVolume[]) => {
|
|
|
244
245
|
|
|
245
246
|
语音能力需依赖 WebView/Browser 容器,即需要容器端实现 RTC 能力。
|
|
246
247
|
|
|
247
|
-
为了方便开发者接入,**如视开发者中心VRTC服务** 为主流平台提供 [容器SDK](https://developers.realsee.com/docs/#/docs/live/client/container/README
|
|
248
|
+
为了方便开发者接入,**如视开发者中心 VRTC 服务** 为主流平台提供 [容器 SDK](https://developers.realsee.com/docs/#/docs/live/client/container/README)
|
|
248
249
|
和 [jsbridge-x](https://www.npmjs.com/package/@realsee/jsbridge-x) 。
|
|
249
250
|
|
|
250
|
-
**Live** 通过 **jsbridge-x** 与 集成了**容器SDK** 的客户端应用或微信小程序应用程序桥接,实现原生能力的调用。这个 `jsbridge-x`
|
|
251
|
+
**Live** 通过 **jsbridge-x** 与 集成了**容器 SDK** 的客户端应用或微信小程序应用程序桥接,实现原生能力的调用。这个 `jsbridge-x`
|
|
251
252
|
实例需作为配置参数提供给`createLive()`。
|
|
252
253
|
|
|
253
|
-
如果是 iOS/Android App(已接入如视VRTC容器SDK)
|
|
254
|
+
如果是 iOS/Android App(已接入如视 VRTC 容器 SDK)
|
|
254
255
|
|
|
255
256
|
```js
|
|
256
|
-
import
|
|
257
|
+
import { JSBridgeApp } from '@realsee/jsbridge-x/lib/app'
|
|
257
258
|
import { createLive } from '@realsee/live'
|
|
259
|
+
import { VRWebViewRTC } from '@realsee/live/RTC/VRWebViewRTC'
|
|
258
260
|
|
|
259
|
-
const
|
|
260
|
-
rtc: new AppBridge(),
|
|
261
|
-
getTicket: async () => ''
|
|
262
|
-
})
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
如果是 微信小程序(已接入如视VRTC容器SDK)
|
|
261
|
+
const jsBridgeInstance = new JSBridgeApp()
|
|
266
262
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
263
|
+
const rtcInstance = new VRWebViewRTC({
|
|
264
|
+
jsBridge,
|
|
265
|
+
getVoiceSign: () => {},
|
|
266
|
+
})
|
|
270
267
|
|
|
271
268
|
const live = createLive({
|
|
272
|
-
rtc:
|
|
273
|
-
getTicket: async () => ''
|
|
269
|
+
rtc: rtcInstance,
|
|
270
|
+
getTicket: async () => '',
|
|
274
271
|
})
|
|
275
272
|
```
|
|
276
273
|
|
|
@@ -295,30 +292,24 @@ live.$RTC.on('userVolumes', (userVolumes) => {})
|
|
|
295
292
|
步骤一:新建文件 `LiveReact.ts` 并创建您自己的 `LiveReact` 实例。
|
|
296
293
|
|
|
297
294
|
```tsx
|
|
298
|
-
import {createLiveReact} from '@realsee/live'
|
|
295
|
+
import { createLiveReact } from '@realsee/live'
|
|
299
296
|
|
|
300
297
|
/** 定义帧数据快照结构 */
|
|
301
298
|
interface Snapshot {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
/** 定义异步获取 `Ticket` 回调参数结构 */
|
|
313
|
-
interface TicketArgs {
|
|
314
|
-
/* 没有特殊参数 */
|
|
299
|
+
/** 以 Five 状态快照为例 */
|
|
300
|
+
five: {
|
|
301
|
+
panoIndex: number
|
|
302
|
+
fov: number
|
|
303
|
+
mode: 'Panorama' | 'Model'
|
|
304
|
+
latitude: number
|
|
305
|
+
longitude: number
|
|
306
|
+
}
|
|
315
307
|
}
|
|
316
308
|
|
|
309
|
+
/** 通过 `createLiveReact()` 函数创建实例*/
|
|
317
310
|
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
const LiveReact = createLiveReact<Snapshot, TicketArgs>({
|
|
321
|
-
getTicket: async () => '', /* 必须提供 */
|
|
311
|
+
const LiveReact = createLiveReact<Snapshot>({
|
|
312
|
+
getTicket: async () => '' /* 必须提供 */,
|
|
322
313
|
})
|
|
323
314
|
|
|
324
315
|
export default LiveReact
|
|
@@ -328,7 +319,6 @@ export const LiveProvider = LiveReact.LiveProvider
|
|
|
328
319
|
export const useConnect = LiveReact.useConnect
|
|
329
320
|
export const useKeyframe = LiveReact.useKeyframe
|
|
330
321
|
// export ..
|
|
331
|
-
|
|
332
322
|
```
|
|
333
323
|
|
|
334
324
|
步骤二:通过 `LiveProvider` 将 `live` 实例集成到 `React` 的 [Context](https://reactjs.org/docs/context.html) 上下文环境中。
|
|
@@ -336,7 +326,12 @@ export const useKeyframe = LiveReact.useKeyframe
|
|
|
336
326
|
```jsx
|
|
337
327
|
import { LiveProvider } from './LiveReact'
|
|
338
328
|
|
|
339
|
-
ReactDOM.render(
|
|
329
|
+
ReactDOM.render(
|
|
330
|
+
<LiveProvider>
|
|
331
|
+
<RootApp />
|
|
332
|
+
</LiveProvider>,
|
|
333
|
+
containter
|
|
334
|
+
)
|
|
340
335
|
```
|
|
341
336
|
|
|
342
337
|
步骤三:在您的 `React` 函数组件中使用相关 `Hooks` 函数。
|
|
@@ -344,7 +339,7 @@ ReactDOM.render(<LiveProvider><RootApp/></LiveProvider>, containter)
|
|
|
344
339
|
```jsx
|
|
345
340
|
import { useConnect } from './LiveReact'
|
|
346
341
|
|
|
347
|
-
function ReconnectBtn
|
|
342
|
+
function ReconnectBtn() {
|
|
348
343
|
const connect = useConnect()
|
|
349
344
|
|
|
350
345
|
return <button onClick={() => connect()}>重新连接</button>
|
|
@@ -359,5 +354,5 @@ function ReconnectBtn () {
|
|
|
359
354
|
## 相关文档链接
|
|
360
355
|
|
|
361
356
|
- [@realsee/five](https://www.npmjs.com/package/@realsee/five)
|
|
362
|
-
- [@realsee/jsbridge
|
|
363
|
-
- [如视开发者中心VRTC服务](https://developers.realsee.com/docs/#/docs/live/README)
|
|
357
|
+
- [@realsee/jsbridge](https://www.npmjs.com/package/@realsee/jsbridge)
|
|
358
|
+
- [如视开发者中心 VRTC 服务](https://developers.realsee.com/docs/#/docs/live/README)
|
package/docs/.nojekyll
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
body {
|
|
2
|
+
font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
|
3
|
+
}
|
|
4
|
+
blockquote {
|
|
5
|
+
border-left: 4px solid rgb(128 128 128 / 50%);
|
|
6
|
+
color: rgb(0 0 0 / 60%);
|
|
7
|
+
line-height: 2;
|
|
8
|
+
font-size: 0.85rem;
|
|
9
|
+
padding: 3px 0px 3px 1em;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.tsd-typography {
|
|
13
|
+
font-size: 14px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.tsd-typography h4 {
|
|
17
|
+
line-height: 2;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.hljs {
|
|
21
|
+
background-color: transparent;
|
|
22
|
+
font-family: monospace;
|
|
23
|
+
}
|
|
24
|
+
code {
|
|
25
|
+
font-size: 12px;
|
|
26
|
+
background-color: rgb(96 125 139 / 10%);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
pre {
|
|
30
|
+
background-color: rgb(205 220 57 / 8%);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
p {
|
|
34
|
+
line-height: 1.5;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
a {
|
|
38
|
+
color: #3832cf;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
a:hover {
|
|
42
|
+
color: darkred;
|
|
43
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--light-hl-0: #008000;
|
|
3
|
+
--dark-hl-0: #6A9955;
|
|
4
|
+
--light-hl-1: #000000;
|
|
5
|
+
--dark-hl-1: #D4D4D4;
|
|
6
|
+
--light-hl-2: #AF00DB;
|
|
7
|
+
--dark-hl-2: #C586C0;
|
|
8
|
+
--light-hl-3: #001080;
|
|
9
|
+
--dark-hl-3: #9CDCFE;
|
|
10
|
+
--light-hl-4: #A31515;
|
|
11
|
+
--dark-hl-4: #CE9178;
|
|
12
|
+
--light-hl-5: #0000FF;
|
|
13
|
+
--dark-hl-5: #569CD6;
|
|
14
|
+
--light-hl-6: #0070C1;
|
|
15
|
+
--dark-hl-6: #4FC1FF;
|
|
16
|
+
--light-hl-7: #795E26;
|
|
17
|
+
--dark-hl-7: #DCDCAA;
|
|
18
|
+
--light-hl-8: #098658;
|
|
19
|
+
--dark-hl-8: #B5CEA8;
|
|
20
|
+
--light-hl-9: #267F99;
|
|
21
|
+
--dark-hl-9: #4EC9B0;
|
|
22
|
+
--light-hl-10: #800000;
|
|
23
|
+
--dark-hl-10: #808080;
|
|
24
|
+
--light-hl-11: #800000;
|
|
25
|
+
--dark-hl-11: #569CD6;
|
|
26
|
+
--light-hl-12: #FF0000;
|
|
27
|
+
--dark-hl-12: #9CDCFE;
|
|
28
|
+
--light-hl-13: #000000FF;
|
|
29
|
+
--dark-hl-13: #D4D4D4;
|
|
30
|
+
--light-hl-14: #000000;
|
|
31
|
+
--dark-hl-14: #C8C8C8;
|
|
32
|
+
--light-code-background: #FFFFFF;
|
|
33
|
+
--dark-code-background: #1E1E1E;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@media (prefers-color-scheme: light) { :root {
|
|
37
|
+
--hl-0: var(--light-hl-0);
|
|
38
|
+
--hl-1: var(--light-hl-1);
|
|
39
|
+
--hl-2: var(--light-hl-2);
|
|
40
|
+
--hl-3: var(--light-hl-3);
|
|
41
|
+
--hl-4: var(--light-hl-4);
|
|
42
|
+
--hl-5: var(--light-hl-5);
|
|
43
|
+
--hl-6: var(--light-hl-6);
|
|
44
|
+
--hl-7: var(--light-hl-7);
|
|
45
|
+
--hl-8: var(--light-hl-8);
|
|
46
|
+
--hl-9: var(--light-hl-9);
|
|
47
|
+
--hl-10: var(--light-hl-10);
|
|
48
|
+
--hl-11: var(--light-hl-11);
|
|
49
|
+
--hl-12: var(--light-hl-12);
|
|
50
|
+
--hl-13: var(--light-hl-13);
|
|
51
|
+
--hl-14: var(--light-hl-14);
|
|
52
|
+
--code-background: var(--light-code-background);
|
|
53
|
+
} }
|
|
54
|
+
|
|
55
|
+
@media (prefers-color-scheme: dark) { :root {
|
|
56
|
+
--hl-0: var(--dark-hl-0);
|
|
57
|
+
--hl-1: var(--dark-hl-1);
|
|
58
|
+
--hl-2: var(--dark-hl-2);
|
|
59
|
+
--hl-3: var(--dark-hl-3);
|
|
60
|
+
--hl-4: var(--dark-hl-4);
|
|
61
|
+
--hl-5: var(--dark-hl-5);
|
|
62
|
+
--hl-6: var(--dark-hl-6);
|
|
63
|
+
--hl-7: var(--dark-hl-7);
|
|
64
|
+
--hl-8: var(--dark-hl-8);
|
|
65
|
+
--hl-9: var(--dark-hl-9);
|
|
66
|
+
--hl-10: var(--dark-hl-10);
|
|
67
|
+
--hl-11: var(--dark-hl-11);
|
|
68
|
+
--hl-12: var(--dark-hl-12);
|
|
69
|
+
--hl-13: var(--dark-hl-13);
|
|
70
|
+
--hl-14: var(--dark-hl-14);
|
|
71
|
+
--code-background: var(--dark-code-background);
|
|
72
|
+
} }
|
|
73
|
+
|
|
74
|
+
body.light {
|
|
75
|
+
--hl-0: var(--light-hl-0);
|
|
76
|
+
--hl-1: var(--light-hl-1);
|
|
77
|
+
--hl-2: var(--light-hl-2);
|
|
78
|
+
--hl-3: var(--light-hl-3);
|
|
79
|
+
--hl-4: var(--light-hl-4);
|
|
80
|
+
--hl-5: var(--light-hl-5);
|
|
81
|
+
--hl-6: var(--light-hl-6);
|
|
82
|
+
--hl-7: var(--light-hl-7);
|
|
83
|
+
--hl-8: var(--light-hl-8);
|
|
84
|
+
--hl-9: var(--light-hl-9);
|
|
85
|
+
--hl-10: var(--light-hl-10);
|
|
86
|
+
--hl-11: var(--light-hl-11);
|
|
87
|
+
--hl-12: var(--light-hl-12);
|
|
88
|
+
--hl-13: var(--light-hl-13);
|
|
89
|
+
--hl-14: var(--light-hl-14);
|
|
90
|
+
--code-background: var(--light-code-background);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
body.dark {
|
|
94
|
+
--hl-0: var(--dark-hl-0);
|
|
95
|
+
--hl-1: var(--dark-hl-1);
|
|
96
|
+
--hl-2: var(--dark-hl-2);
|
|
97
|
+
--hl-3: var(--dark-hl-3);
|
|
98
|
+
--hl-4: var(--dark-hl-4);
|
|
99
|
+
--hl-5: var(--dark-hl-5);
|
|
100
|
+
--hl-6: var(--dark-hl-6);
|
|
101
|
+
--hl-7: var(--dark-hl-7);
|
|
102
|
+
--hl-8: var(--dark-hl-8);
|
|
103
|
+
--hl-9: var(--dark-hl-9);
|
|
104
|
+
--hl-10: var(--dark-hl-10);
|
|
105
|
+
--hl-11: var(--dark-hl-11);
|
|
106
|
+
--hl-12: var(--dark-hl-12);
|
|
107
|
+
--hl-13: var(--dark-hl-13);
|
|
108
|
+
--hl-14: var(--dark-hl-14);
|
|
109
|
+
--code-background: var(--dark-code-background);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.hl-0 { color: var(--hl-0); }
|
|
113
|
+
.hl-1 { color: var(--hl-1); }
|
|
114
|
+
.hl-2 { color: var(--hl-2); }
|
|
115
|
+
.hl-3 { color: var(--hl-3); }
|
|
116
|
+
.hl-4 { color: var(--hl-4); }
|
|
117
|
+
.hl-5 { color: var(--hl-5); }
|
|
118
|
+
.hl-6 { color: var(--hl-6); }
|
|
119
|
+
.hl-7 { color: var(--hl-7); }
|
|
120
|
+
.hl-8 { color: var(--hl-8); }
|
|
121
|
+
.hl-9 { color: var(--hl-9); }
|
|
122
|
+
.hl-10 { color: var(--hl-10); }
|
|
123
|
+
.hl-11 { color: var(--hl-11); }
|
|
124
|
+
.hl-12 { color: var(--hl-12); }
|
|
125
|
+
.hl-13 { color: var(--hl-13); }
|
|
126
|
+
.hl-14 { color: var(--hl-14); }
|
|
127
|
+
pre, code { background: var(--code-background); }
|