generated at
@yanma
scrapbox-card-bubble辺りを試用した感想を書いていただいてありがとうございます。参考になりますtakker
いくつかコメントを書かせていただきます。
もし気に障ってしまったら申し訳ないです
時間に余裕があるときに読んでいただけたらと思います
わからない箇所や文章が変な箇所があればお気軽にご指摘ください
コメントありがとうございます! 参考になりますyanma
scrapbox_project同士を繋げられない件はyanmaにとってScrapboxに対するほとんど唯一の不満で、なんとか解消されないかなあといつも考えています。これ以外の部分はとても気に入っているので、なんとか運用でカバーできないかなと思います。
/yanma/Public projectの取り扱い#604dc5cadb62ad000037e052は、この目的に対してはnot for meというのが今の結論です。
yanmaにとってnot for meなだけで、全ユーザーを代表している意見ではないことに注意して下さいね。
インラインでコメントしていきます。
コメントありがとうございます!takker
(メールとかなら返信遅れてすみませんと書くべきところですが、時間を超越したいのであえて書かないでおきます)

マウスオーバーではなく関連ページリストに表示する方法は申し訳ないですが採用しないつもりです
動的にリストが組み変わるので、下手に独自のDOMを追加したくない
未検証です。もしかしたら想定より簡単にできるかも
ここに抵抗を感じるのは正しい感覚と思いますyanma
Scrapboxの根幹に近い部分なのでUserScriptで横からいじるのはやめたほうが良い
ある時点で実現できてもScrapbox側の実装が変わると動かなくなってしまうと思う
Notaの中の人にプレゼンし、本家にマージしてもらうというアプローチを目指す手は一応あるがハードル高い
daiizさんルートは難易度高すぎますね……takker
根幹の機能なので、動かなくなるとすごく困る
/scrapboxlab/類似したタイトルのページを関連ページとして表示するscriptを参考にcodingすれば、出来ないこともなさそうですtakker
関連ページリストまでスクロールするのが面倒
はい、ここは設計思想なのでtakkerさんが決めたら良いと思いますyanma
了解ですtakker
yanmaさんは関連ページリストをメインに使っていらっしゃるようですねtakker
標準機能なんだから、当然といえば当然ですね
このあたりも配慮できればより使いやすくなると思うのですが、ドッグフーディング出来ないので難しいですね……
takkerがあまりほしいと思わないので、ドッグフーディング出来ない

CSSについては……すみません。雑に書いたまま放置してしまっています……
いい加減直したいです
(わざと本家から変更した部分もあります)
ここは誤解がありそうなので補足したいですyanma
takkerさんにCSSをメンテほしいという意図は実は含まれていませんでした
yanmaが納得行く形にするにはある程度カスタマイズする必要があるけど、それはyanma側で処理するべき
で、それを本家のアップデートにも追従し続けるコストが残るなあという予感がここにある
Shadow DOMでCSSをカプセル化してあるので、実を言うと本家のCSSが変更されてもあまり影響を受けなかったりしますtakker
なるほど。文意がわかりましたtakker

二箇所とはどことどこを示していますか?
1 hop link以外はscrapbox-card-bubbleですべて吹き出し表示できるので、見る場所は一箇所 (というより該当リンク)だけで済むはずです
ページ下の関連ページリストと吹き出しの二箇所ですyanma
yanmaは本文を見ずに2 hop linkを索引的に眺めることがあります
例: 本文が長くてリンクを探すのが面倒なときなど
この視点はありませんでしたtakker
「本文が長いと関連ページリストまでスクロールするのが面倒」だと思っていたのでtakker
でもよくよく考えてみると、関連ページリストまでスクロールして2 hop linkを索引的に眺めるのはtakkerもやっているような……
なので、多分関連ページリストを眺めて、そこになかったら吹き出しを探すという動線ができてしまうなあという意味でした。
なるほどtakker
最初から吹き出しを探すように矯正することは多分できるんですが、別の問題を引き起こします。
索引的に使えるという関連ページリストのメリットが失われる
1 hop linkは下、2-hop linkは吹き出しとなり、UIの整合性も失われる
1 hop linkの吹き出し方法はすでに考えていますtakker
ScrapBubbleに実装しました

使っていらっしゃっているのは多分/takker/関連ページリストを吹き出し表示するUserScriptのほうですね
ですね。初代の方でしたyanma

scrapbox-text-bubbleに、project nameを無視してページをpreviewする機能をつける予定です
e.g.
project public のあるページに [link] をがあるとする
予め指定したproject listが public , private , another だとする
[link] をhoverしたとき
1. [/public/link] が存在すれば、それをpreviewする
2. [/public/link] が存在しなかったら、予め指定したproject listから同名のページを探す
最初に [/private/link] 探してpreviewする
[/private/link] がなかったら、 [/another/link] を探す
……
project public のページにある [/private/link] をhoverしたときは、 [/private/link] を優先的にpreviewする
なければ public , another の順にページを探す
2021-04-14 20:56:09 実装しました
クラッカーyanma
ただ、/yanma/Public projectの取り扱い#604dc5cadb62ad000037e05bかつ [/public/page_Y] が存在する状態で [page_Y] をhoverしたときに、 [/public/page_Y] ではなく [/private/page_Y] を表示させるように設定するのは困難です
private から移動してきたページ」という情報が欠落するので、判断できない
これは頑張れば実装できると思うのですが、やりたいのは「リンクをマウスオーバー→該当ページを探してクリック」ではなく、「リンクをクリックしたらprivate/publicを意識することなく該当ページに飛ぶ」なので解決しないと思いますyanma
むむ、それは確かにややこしいですねtakker
技術的に出来ないことはなさそうですが、やり方があまりにも汚くなりそうです……
<a class='page-link'> のevent handler onClick をScrapboxが再描画されるたびに乗っ取る

このindent blockの主旨が↓だとして書かせていただきます (誤読でしたらすみません)
関連ページリストと比べた場合、クリックが「マウスオーバー→該当を目視サーチ→クリック」になって思考をブロックしてしまうのが欠点である
ここが欠点になる理由がよくわかりません
関連ページリストの場合でも、「関連ページリストまでスクロール→該当を目視サーチ→クリック」というほぼ同じ手順を踏みます
吹き出し表示ではなく、関連ページリストで外部projectのカードを
(↑なぜか文章が途中で終わっていることに気づいたけど、何を書こうとしたのか忘れた)takker
@yanma#604f7faadb62ad000007edc6あたりのことが頭にありますyanma
yanmaさんの使い方として、関連ページリストを閲覧するという行為が自然に(無意識に)出来ているため、思考をブロックすることがない、ということですねtakker
あと、スマートフォンなどのタッチUI端末でScrapboxを見ることが結構あるんですが、マウスオーバーとの相性が悪いので結局Scrapbox標準の関連ページリストで我慢することになりそうで、そうするとスマホでは関連ページリスト、PCでは吹き出しといった動線の分岐が起きて思考をブロックしそう、という予感もありました。
これは実は解決策を考えていますtakker
e.g. リンクをスワイプしたらmobileでも吹き出しを表示する
といっても無理矢理感は否めませんな……

総論として、takkerさん手が早いので力技で解決できちゃう部分は多いと思うんですが、この問題UserScriptで頑張るにはちょっと問題のサイズが大きすぎるのと、問題の位置がScrapboxの心臓に近すぎるという印象を個人的には持っていますyanma
なので、/forum-jp/非公開projectのうち、特定ページだけを公開するなどの経路でScrapbox開発陣を説得する方が筋の良いアプローチなのではないかと思います。
う、やはりdaiizさんルートになりますか……takker
でもプレゼンとかやったことないし説明下手くそだし(言い訳)
つい最近、増井俊之さんの発表で説得の話がありましたね
わかる問題の位置がScrapboxの心臓に近すぎるtakker

個人プロジェクトをpublicで持っている人が結構多くて、自分もやりたいなあと思うようになってきた
わかる、同じこと思ってますyosideryosideryosidererniogitakkerdnin
public projectを使うようになった動機はこれが大きかったですtakker
共感得られて嬉しいyanmayanmayanma
kuuoteさんの記事初見だったんですが、わかるマンでした

最近、公開するページに #not-private みたいな公開タグをつけたページを定期的に自動でimportする公開用projectを作ろうと試みていますyosider
POSTでimportするのだとFile Too Largeというエラーになってしまうので、Google Cloud Functions+puppeteerでなんとかやろうと試み中
関連ページリストが膨大すぎるのが原因でした
公開するページには全部同じタグがついているので、ページ数の2乗のオーダーでデータ量が増えてゆく…
page.relatedPages = [] みたいなことをすればエラーにならなくなった
ちょっとまってscrapbox json dataに関連ページリスト情報は必要ないですよtakker
何も考えず取ってきたpage dataをそのままimportに投げてたyosider
わーおtakker
1000 pagesくらい一度にimportしてもFile Too Largeなんて出たことないから変だなと思ったらそういうことか
GUIでならimportできるっぽい?ので
ついでにprivate projectで削除した公開ページをpublic projectでも削除する
私も次善の策はexport/importかなあと思ってますyanma
作っては見たもののあれはやっぱり良くないなyosider
最近(yosiderの環境では)妙に重い気がするし
jsonデータの作成までscriptでやって、importは手動でやるとかすればどうだろう?takker
もし成功したら井戸端に共有していただけると嬉しいです
了解ですyosider
google cloud functionsなのでクレカやら住所やら登録しないといけないのがつらいところ
登録は必要ですが無料範囲内のはずです
tadatakkeryanma
おおおさすがです!yanma