NISHIO Hirokazu[Translate]
Kozaneba開発日記2021-08-18
フォーラム作り
>/forum-jp/このサイトについてを見て考えてたのだが「Kozanebaへの要望」にするのでいいのかどうか
>  プロジェクトは「細分化せずにまとめた方が良い」「メンバーによって区別」だとするなら、インバイトリンクを置いて誰でも入れるようにしたグループは一つでいい気がする
>  一つになるならKozanebaに限らずKeichoも「エンジニアの知的生産術」も全部入れたらいいじゃん、となる
>  しかしそうなるとプロジェクトのタイトルが「西尾への要望」とかになる、それは変

こういう時、守破離だと思う
まず他のやり方とかを考えずに型をなぞってみる
不慣れなプログラミング言語を写経するのに似てる
Scrapboxを不特定多数共有プロジェクトで作ったことがないのでまずはそれを経験してから

作った

Q: チーム利用は考えているか?
Kozanebaは自分の理解を促すことないまず注力する 図には3種類ある

scroll:body
良さそう

今日はショートカット周りをやる
ダイアログの決定ボタンをCmd+Enterで実行したい
ダイアログは当然複数あるので表示されているものの決定ボタンが実行される必要がある
ダイアログのボタンのイベントハンドラは露出してないのでダイアログの側から登録が必要
しかしダイアログごとにホットキーを変えたいニーズはない
=個別のホットキーとして見えてもウザい
メディエイターを置くか
待てよ、そもそもその機能Material-UIが提供してたりしないか?
→Escapeで閉じる機能はあるけど、OKハンドラを持たせる機能はないな
こうなった
各ダイアログのOKボタンのonClickで「自分のダイアログが開いてるか」をチェックして、開いてなかったら何もしない
onClickを「ダイアログを閉じるメディエータ」に登録
ホットキーが押されたらメディエイターにしらされ、メディエイターが全部のonClickを叩く

カーソルでの画面移動
前のバージョンでは200ピクセル固定で動いてたけど、画面の幅の半分移動するのでいい気がした

全体表示ホットキー
Regroupにつけて便利だと言ってたやつをこちらにもつけた
Regroupでは全体表示からさらに全体表示をやるとカーソル位置の原寸表示だったけど今回は前回のビューに戻るようにした

----
つけたい機能
✅ダイアログのOK的ボタンを基本的にCmd+Enterで実行できるようにしたい
Regroupにあった「開いた時点でコンテンツの全体表示」
中央でないところにこざねを置いてて「あれ?消えた!?」ってなるから
✅スペースキーで全体表示
splitダイアログにreplaceボタン

ユーザページを作って過去の保存一覧
保存してないページを閉じようとしたら警告する?
✅拡大をマウスカーソル位置中心に

ユーザページでキーバインドや表示デザインを変更可能に
Keichoからのインポート
Scrapboxからのインポート
インデント箇条書きテキストのグループとしてのインポート
書き込み権限を絞った共有

つけたけどまだチュートリアルに入ってないもの
カーソルでの移動
グループの開閉
グループにタイトルをつける
付箋の分割
複製や更新にも使えるよ
Replaceついてからがいいな
フィードバック機能

---
次にやること
・scroll:body
・開いた時点で全体表示
・splitダイアログにreplaceボタンをつける
・ユーザページを作って作成した場の一覧表示
・ここまでで一旦ひと段落にしてチュートリアルに反映
・リリースするか、再度ユーザテスト

ユーザページは作ってみたらやるべきことが今の予想よりも膨れそうな気配あるな

不確実性の高いものを先にやる原則から考えると、上二つは金曜日にいろいろ会議がある合間にもできるけどユーザページ周りは頭を使う必要がありそうだからまとまった時間の取れる木曜の活用のために今着手すべきだな
画面を作り始める前に、まずそもそも現在、作ったユーザの情報を保存していないのでそこをやる必要がある
あー、タイトルをつける機能がないと無名の場の一覧になっちゃうのか
それはユーザページからでいいか
最初に追加したこざねの内容をタイトルの初期値にしよう

一覧の取得を検索でやるのかリスト自体をストアするか
検索で出来そうなので状態を複雑にしないためにまずは検索でやろう
db.collection("ba").where("writers", "array-contains", auth.currentUser.uid) したい
セキュリティルールを allow list: true にすればできるが、それは直接リクエストを投げると他人のbaを発見できてしまうので制限したい
できた
allow list: if request.auth.uid in resource.data.writer;

自分の作ったBaの一覧を取得できるようになった
次はユーザページを作ってそれを表示する

---
・✅scroll:body
・✅開いた時点で全体表示
・✅splitダイアログにreplaceボタンをつける



すごい雑だよね、これでいいのか。
書いた

これの文章を整理するのにKozanebaを使ったらこれのことを忘れてるのに気づいた
うーん、もう少し改善したい気持ち


選択範囲をクリックしてメニューを出し、閉じたあと選択範囲移動モードになってるバグ
fixed
選択範囲がドラッグで2倍?動く、スケール依存かな

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]