2021/01/03
2021/01/02←2021/01/03→2021/01/04
kuuote.icon
進捗出した
https://gyazo.com/8a871ccf0956382ddde6aa46ee59e373
テキストエディタを作った経験などないのでとても苦労した
自力で実装してて思ったけどAPI提供してくれてるScrapboxえらいなー
色々とReactの外に引っ張り出すの大変だったはず
自分の実装がクソな可能性の方が高い
/icons/すごーい.iconyosider.icontakker.icon
Scrapboxの本文のCSS、white-space: pre-wrapになっているがwhite-space: break-spacesの方が正しいのではないかという気がする
ほとんどの人はしないだろうけど空白を大量に入れまくるとpre-wrapだと要素の外にはみ出す
Chromiumで確認している
類似実装作るために観察していて気付いた
こういうのってforum-jpに書いたら検討してくれるのだろうか
このくらいなら検討してくれるかも
ただ/customize/ScrapboxのStreamページでの文字選択を可能にするUserCSSのようにCSSで対応できる案件だと、実装してもらえるかは微妙
なるほど、ある程度は自分でやってくれって感じか
まあ後から(覚えてたら)やっておこう
yosider.icon
PopupMenu.addButtonしたボタンを取得する
location記法
こんな感じで日記ページから切り出してくのいいですねtakker.icon
ほんとは自分もやりたいんだけどめんどくさがっている
やってみた
自分のプロジェクトでも、日記というよりタイトルを決めずに書くのに日記ページを使ってますyosider.icon
まあすぐに切り出さなくても、他のページからリンクがつながったら切り出すのでもいいと思う
ただ切り出さないとタイトルから中身を推測できないんですよね……takker.icon
お?なんか日記ページがリンクされたぞ?→中身を見てみる→同じ話題があるな→よし、新しいページにしよう、みたいなyosider.icon
中身を開いてリンク箇所までスクロールするのをめんどくさがってしまうんです……takker.icon
/icons/たしかに.icon 特に長いページだとある
リンク先へスクロールする機能で解決した?yosider.icon
かもtakker.icon
複数のprojectを透過的に扱うUserScriptでそのへんをなんとかできる機能を実装する予定です
リンクサジェストを使えないので、すでにあるのに見逃してしまいやすいかも
これが大きいですtakker.icon
takker.icon
UserScriptをOFFにしてScrapboxを開く機能を作った
/takker/UserScriptをoffにして開く
URLに?noscript=trueを渡すとOFFになる
window.open()などで大量にscrapboxのタブを開くときに便利
すんばら!dnin.iconyosider.icon
Page Historyを取得するAPIを見つけた!!!
/api/page-snapshots/:projectName/:pageId
てっきり/api/commits/:projectName/:pageIdを使っているものかと思ったが、全然別のAPIだった
stream用APIもあった
/api/stream/:projectName/
コネクション張るとStreamingしてくれるのかなと思ったけど全然そんなことなかったkuuote.icon
現時点でのStreamのデータが取れるのか
割と巨大な物が降ってくるので叩くのほどほどにしといた方がよさそう
POST系のAPIはなさそうですね
その代わりとして、ScrapboxのSlack通知がある
developperのnetwork画面からStreamを更新する通信を見つけられないかと思ったらだめだった
何もnetwork画面に表示されない
どういう通信をしているんだろう?
WebSocketはでないはず
WebSocketって中身見れないんだ
単に自分が方法知らないだけかもしれない
HackMDもそうだった
いろいろあるなあ
CSRFというのを初めて知った
/forum-jp/プロジェクトの削除にもう一段階確認が欲しい#5ff19a86d2fe83000074ee39
ログイン状態を使用した攻撃手段?
UserScriptからprojectを削除できることがわかってしまった……
dnin.icon
Private Projectで「閉店」で検索してた
去年はいろんな店が閉店してしまった
用例.jp
2021/01/02←2021/01/03→2021/01/04