node-incense
install
$ npm install --save incense
incense
requires biflora
, and socket.io
.
$ npm install --save biflora
$ npm install --save socket.io
Usage
server side
var express = require('express'),
app = express();
var server = require('http').Server(app);
var biflora = require('biflora');
app.use( biflora.clientLibs() );
biflora.setupWebSocket(
server,
require('incense').getBifloraApi() ,
require('incense').getBifloraMain({
'dataDir': '/path/to/datadir/',
'getUserInfo': function( socket, clientDefaultUserInfo, callback ){
callback(clientDefaultUserInfo);
return;
}
})
);
app.use( express.static( '/path/to/htdocs/' ) );
server.listen( 3000, function(){
console.log('message: server-standby');
} );
client side
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>passiful/incense</title>
<link rel="stylesheet" href="./common/dist/incense.css" />
</head>
<body>
<h1>passiful/incense</h1>
<div class="test-wrap">
<div id="testBoardElement"></div>
<div id="testTimelineElement"></div>
</div>
<script src="/socket.io/socket.io.js" type="text/javascript"></script>
<script src="/biflora/biflora.js" type="text/javascript"></script>
<script src="./common/dist/incense.js" type="text/javascript"></script>
<script>
window.incense = new Incense();
incense.init(
{
'elmBoard': document.getElementById('testBoardElement'),
'elmTimeline': document.getElementById('testTimelineElement'),
'boardId': 1234567890,
'userInfo': {
'id': 'tester',
'name': 'Test User',
'url': 'http://example.com/',
'icon': 'http://example.com/sample.png'
}
},
function(){
console.log('incense standby.');
}
);
</script>
</body>
</html>
API
- incense.init( options, callback ) : 初期化する
- incense.getUserInfo() : ログインユーザーの情報を取得する
- incense.getBoardId() : ボードIDを取得する
- incense.getWidgetList( callback ) : ウィジェットの一覧を取得する
- incense.sendMessage( msg, callback ) : メッセージを送信する
- incense.zoom() : ボードの拡大率を設定する
- incense.getZoomRate() : ボードの拡大率を取得する
更新履歴 - Change log
incense@0.1.1 (2017-01-01)
- ウィンドウサイズ変更時に、選択状態の表示を更新するようにした。
#widget.36
のようなハッシュをつけてアクセスすると、ウィジェットにフォーカスした画面からスタートできるようになった。- ログイン、ログアウトまわりの処理を調整した。
- ユーザー情報に
url
と icon
を追加。 - ズームAPI
zoom()
、 getZoomRate()
追加。 - 他のウィジェット上にドロップする操作で、親ウィジェットを変更できるようになった。
incense@0.1.0 (2016-12-29)
- サーバーサイドに
getUserInfo()
オプション追加 - ボードデータ格納ディレクトリパスの生成規則を変更。2文字ずつ分割してパスを生成するようになった。
incense@0.0.1 (2016-12-26)
ライセンス - License
Copyright (c)2016 Tomoya Koyanagi, and Passiful Project
MIT License https://opensource.org/licenses/mit-license.php
作者 - Author