[JavaScript][MVVM] Coffee Pot: MVVMフレームワーク for JavaScript

Coffee Pot(MVVMフレームワーク for JavaScript)をリリースしました。

まだ実験的な実装ではありますが、当初の実装したかったものは実現しました。

Coffee Potとは

Coffee PotとはJavaScript用のMVVM(View/ViewModel/Model)フレームワークです。

主な機能は、

  • ViewはただのHTML(DOM)
  • DOMの値(value,属性など)をViewModelの変数にバインドできる
  • バインドされた変数にアクション(変更時に呼び出される関数)を設定できる
  • Reducer(整形)をバインドできる(trim(前後のスペース削除),max(文字数制限))
  • Fomatterをバインドできる(comma3,comma4(3または4桁のカンマ区切り)
  • イベントをバインドできる
    • イベントもViewModelで管理され、ボタンを押したなどのイベントに対する処理を行います
  • ViewModel, Modelにメソッドを定義できる
    • ViewModelやModelへアクセスできる
    • ViewModelのメソッドはバインドされた値にアクセスできる

です。

サンプルコード

いわゆるHello, world!ものです。

<!DOCTYPE html>
<html>
...
<body>
  <div><input id="name" type="text"></div>
  <div id="message"></div>
</body>
</html>
var ViewModel = {
  bindings: {
    name: ['val:text:trim', function(value) {this.printMessage();}],
    message: 'text'
  },
  printMessage: function() {
    var values = this.values;
    values.message = this.Model.greeting(values.name);
  }
};
var Model = {
  greeting: function(name) {
    return name != '' ? 'Hello, ' + name + '!' : '';
  }
};

どこで入手できるの?

GitHubで公開しています。

https://github.com/keisuken/coffeepot

使い方は?

GitHubに仕様やサンプルコードが書かれていますので、参照して下さい。

[Scala][JavaScript][JavaFX] Caffè Markdown(Markdownツール)更新

keisuke_n2014-01-06


Caffè Markdown(Markdownツール)を更新しました。


https://github.com/keisuken/caffemarkdown

GUIを変更しました

  • レイアウトを変えました
  • プレビューにDnDすると変換、表示するようにしました

JavaFXのWebView地味に便利で効果的ですね:)。

追記

wkhtmltopdfを設定できるようにして、PDFまで出力できるようにしました。

  • Markdownファイル->HTMLファイル->PDFファイル

もうちょっと整備したらまたGitHubに上げておきます。

[Scala][JavaScript][JavaFX] Caffè Markdownをリリースしました

Markdownツール "Caffè Markdown" をリリースしました。

https://github.com/keisuken/caffemarkdown

Markdown形式のファイルをHTMLに変換することができます。

特徴

是非使ってみてください。

ああ,そうだ,keisukenな人は,Hatenaにもいるんですけど,その人とは別人で,Javaなダメなkeisukenの人は,
主体である航海日誌と,keisukenの日記(/.J)と,keisuken(Tumblr)の副があって,
あと,
@keisuke_n(Twitter)
とかでも出没しています.

初はてなダイアリ

はてな☆を押すためにアカウント作りました.

日記はたぶんこっちには書かないと思いますが,とりあえず一発目だけ書いてみました.

とはいえはてなの仕組み(仕様)を調べるために書いてもいいかな.