1.0.1-0 • Published 1 year ago

teachertool v1.0.1-0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

테스트하기

npm run start

배포 준비하기

  1. package.json name, version을 확인합니다. name 형식: @semobae-ex/${name}

  2. 배포할 파일들 확인 manifest.json은 필수 포함입니다. 배포되지 않을 파일들은 .npmignore 에 추가합니다.

  3. npm run artifactregistry-login

개발 버전 배포하기

  1. npm version prerelease
  2. npm publish --tag alpha

정식 버전 배포하기

  1. npm version patch
  2. npm publish

manifest.json 작성하기

  • name (필수) 다른 익스텐션과 중복되지 않는 고유한 이름

  • version (필수) 없어질 예정입니다.

  • workerPath electron webworker로 실행될 node.js 파일의 상대 경로

  • executablePath extension.js 외에 별도로 실행되어야 할 실행파일exe 상대 경로

  • sidebarIconPath html 파일의 상대 경로

  • playgroundPath html 파일의 상대 경로

  • kind 사용 가능한 값: ‘website’

  • websiteUrl kind가 ‘website’일 때 사용합니다.

예시:

{
    "name": "audiocall",
    "version": "1.0.2",
    "playgroundPath": "./dist/semobae-audiocall/index.html",
    "sidebarIconPath": "./sidebar_icon/sidebar_icon.html"
}

SidebarIcon

sidebar icon은 클래스 사이드바에 표시되는 84px * 84px 의 영역입니다.

window.semobaeAPI.receive('sidebarIconSelected', (event, selected) => {
    // 사이드바에서 선택되었거나 선택 해제되었을 때 트리거 됩니다.
    // 선택되었을 때와 선택되지 않았을 때의 디자인을 적용해주세요. 
});

window.semobaeAPI.receive('parentMessage', (event, data) => {
   // playground나 worker에서 메세지를 보내면 이쪽으로 받습니다. 
   // 예) mc-link 의 경우 connected 상태가 바뀌었을 때 메시지를 받습니다. 
});

Playground

playground는 클래스 내에서 메인 활동이 이루어지는 영역입니다.

window.semobaeAPI.send('something', data); 
    // 세모배로 메시지 보내기. worker와 sidebar로 전달됩니다.

window.semobaeAPI.receive('semoclassParams', (event: any, params: SemoclassParams) => {
    // 현재 클래스 정보와 유저 정보를 받습니다.
    // 클래스에 설정된 익스텐션 파라메터 데이터를 받습니다.
    // 예) audiocall 의 경우 roomId 가 SemoclassParams에 설정되어 있음
});
1.0.1-0

1 year ago