フォーラム作り

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

こういう時、守破離だと思う

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

作った

Q: チーム利用は考えているか?

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ボタンをつける

image

/help-jp/リリースノート2021

/kozaneba-forum-jp/ユーザテストに協力いただける方を募集しています これの文章を整理するのにKozanebaを使ったらこれのことを忘れてるのに気づいた

選択範囲をクリックしてメニューを出し、閉じたあと選択範囲移動モードになってるバグ

  • fixed 選択範囲がドラッグで2倍?動く、スケール依存かな