- Docker Desktopのインストール
git clone --recursive https://github.com/0b5vr/wuhu-docker.git
cd wuhu-docker
wuhu自体をsubmoduleとして持つので、 --recursive
を忘れず!
忘れた場合は git submodule update --init --recursive
でリカバリ
docker-compose build
docker-compose up
http://localhost:8081
に行き、 http://localhost:8081/config.php
にリダイレクトされたらいい感じ
フォームが表示されるので、入力していきます。上から順に:
- パーティ名。~~などでユーザに表示されます: お好きに
- user-side interfaceのパス:
/var/www/www_party
(初期値通り) - コンポエントリーを保持するパス:
/var/www/entries_private
(初期値通り) - コンポエントリーを吐き出すパス:
/var/www/entries_public
- コンポエントリーのスクショを保持するパス:
/var/www/screenshots
(初期値通り) - スクショのサイズ: 多分160x90のままで大丈夫
- 投票形式: Range votingのほうがよくある5段階評価。Shader Showdownなどで使われるLive votingにはこれが必要らしい
- パーティ開始日: ~~などで使われます
- MySQLのDB名: wuhu
- mySQLのユーザ名: wuhu
- MySQLのパスワード: wuhu
- Party Adminのユーザ名: お好きに
- Party Adminのパスワード: お好きに
ここで、 .htaccess
が生成されるのですが、
AuthGroupFile /dev/null
という行があると動かないので、手動で消してください。
ここで、誤って .htaccess
自体を消してしまうと、AdminページのBasic認証が消えてしまうので注意!
"Invalid command 'AuthGroupfile', perhaps misspelled" とかでググると何が起こっているかはわかるはず。
基本的にはMain PageのTO-DO Listに従って進行すれば良いです。
Pluginsの "Live Voting" は有効化しないとShader Showdownが始められない。
ほかにもいろいろ面白そうなPluginsがありますよ。
TDFが終わったらどのプラグインを使ったら良さそうかまとめようね
Live Votingはコンポの作品投稿・更新を締め切らないと開始できない。
各作品のチェックを手動で入れていくオペレーションが必要。一人でやってたら絶対忘れるやつ。
割とモリモリ /wuhu
の中身を書き換えることになるので、もしかしたらサブモジュールのwuhu自体もフォークしてバージョン管理したほうが良いかも
http://localhost:8080
でビジター向けのページが見れます。
デフォルトだとコンポのサイズ制限が128MBですが、php.ini
の upload_max_filesize
から変更できます。
定常時のスライドショーは SLIDE EDITOR というのからやります。
text slideはHTMLを入れられると書いてあるが、
また、画像(GIF含む)・動画が使えそうです。動画は音も鳴ります
スライドショーをするには、SLIDEVIEWERで S
キーを押す
スライド長さの調整は不可
SLIDEVIEWERのURLクエリに prizegivingStyle
entries_private/
下には、並び替えた順番で連番の振ってあるエントリーのフォルダ群があるので、これをそのままコンポ用のディレクトリとして使ってしまえばOK
entries_private/
にアクセスできない場合は、adminのコンポのエントリーリストからファイル名をクリックでダウンロードができる
"Zip Compo" というプラグインを使えば、コンポごとのフォルダをまとめてダウンロードできます
adminのコンポのエントリーリストから Export compo stuff to export directory
を使うと、エントリーが entries_public/
に移動します
entries_public/
をHTTPSかなんかでサーブできるようにしておこう
ほぼほぼ wuhu\www_admin\slideviewer\index_webgl_example.html
の通り。
Prototype.jsという古代から伝わる様式でクラスが定義されている。
WuhuSlideSystemCanvas
というクラスをPrototype.jsの書式で継承し、
initialize
・ animate
という名通りの2メソッドを $super
を叩きながら定義すればオッケー。
例えば、Canvasを渡すとレンダリングを行うだけのモジュールを用いた場合、以下のようなコードになる:
// MyCanvasModuleというモジュールがあると仮定
var MyWuhuSlideSystemCanvas = Class.create(WuhuSlideSystemCanvas, {
initialize: function($super, options) {
$super(options);
this.myCanvasModule = new MyCanvasModule(this.sourceCanvas);
},
animate: function($super) {
this.myCanvasModule?.update(); // `this.myCanvasModule` は `undefined` になりうる
$super();
},
});
// あとは `MyWuhuSlideSystemCanvas` を `WuhuSlideSystem` の代わりに使うだけ
以下のファイルをぶっ飛ばせばとりあえず初期状態に戻ります
database/
: ここ以下がDBです。docker-compose.yml
内でボリュームマウントしてますentries_private/
: adminが見えるエントリーのリストentries_public/
: 参加者が見えるエントリーのリストscreenshots/
: コンポ作品のスクリーンショットwuhu/www_admin/.htaccess
wuhu/www_admin/.htpasswd
wuhu/www_admin/database.inc.php
構成参考元: https://github.com/teeli/wuhu-docker (WUHU LICENSE)
MySQLでなくMariaDBです。 DBの中身を見るときはHeidiSQLを使うと良さそう