sami.js

2.0.1 • Public • Published

Sami.js

개발중이니 아직 쓰지 마세요!

주말 안에 끝내긴 개뿔 욕심내다가 구조가 쓸 데 없이 복잡해졌음...

Usage

// Node.js
const Sami = require('sami.js');
// 브라우저
<script src="./dist/sami.js"></script>

// 웹에서 쓸 조그만 버전이 필요하세요?
// 파일 불러오기 기능이 빠진 Sami.lite.js를 사용하세요!
// 대충 657KB정도 절약됩니다.
<script src="./dist/sami.lite.js"></script>

// if (node) {
//     파일시스템이 사용됩니다.
// } else (web browser) {
//     XMLHttpRequest(AJAX)가 사용됩니다.
// }
// sami.lite.js에선 이 메소드가 지원되지 않습니다.
// 인코딩 자동 인식 / UTF-8로 변환 해줍니다.
let subtitle = Sami.load('./subtitle.smi', 'KRCC', true);
let subtitle = new Sami('KRCC'); subtitle.load('./subtitle.smi', true); // 다른 방법

// 문자열에서 읽어옵니다!
let subtitle = Sami.load('<SAMI>...</SAMI>', 'KRCC');
let subtitle = new Sami('KRCC'); subtitle.load('<SAMI>...</SAMI>'); // 다른 방법

// 기본 값으로, HTML 출력 모드를 사용합니다.
subtitle.setHtmlOutput(true);
// HTML 대신 Raw JSON 데이터를 사용합니다.
subtitle.setHtmlOutput(false);

// 플레이어는 포함되어 있지 않아요 :D
// 
// return { 'class': 'KRCC', 'id': 'STDPrn', content: '<p><b>Hello</b>, <i>World</i>!</p>' }
// 
// json 출력 모드일 경우,
// return { 'class': 'KRCC', 'id': 'STDPrn', content: [
//     { type: 'bold', content: [ { type: 'node', content: 'Hello' } ] },
//     { type: 'node', content: ', ' },
//     { type: 'italic', content: [ { type: 'node', content: 'World' } ] },
//     { type: 'node', content: '!' },
// ] }
subtitle.at(player.getTime());

// 스타일이 없는 자막 파일의 경우, 빈 문자열을 출력합니다.
// 아무 처리도 하지 않은 데이터이니 XSS에 주의하세요!
subtitle.css

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.0.1
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 2.0.1
    0
  • 2.0.0
    0
  • 1.0.1
    0
  • 1.0.0
    0

Package Sidebar

Install

npm i sami.js

Weekly Downloads

0

Version

2.0.1

License

MIT

Last publish

Collaborators

  • redpumpkin