@yanma
いくつかコメントを書かせていただきます。
もし気に障ってしまったら申し訳ないです
時間に余裕があるときに読んでいただけたらと思います
わからない箇所や文章が変な箇所があればお気軽にご指摘ください
コメントありがとうございます! 参考になります
インラインでコメントしていきます。
コメントありがとうございます!
(メールとかなら返信遅れてすみませんと書くべきところですが、
時間を超越したいのであえて書かないでおきます)
マウスオーバーではなく
関連ページリストに表示する方法は申し訳ないですが採用しないつもりです
動的にリストが組み変わるので、下手に独自のDOMを追加したくない
未検証です。もしかしたら想定より簡単にできるかも
ここに抵抗を感じるのは正しい感覚と思います
Scrapboxの根幹に近い部分なのでUserScriptで横からいじるのはやめたほうが良い
ある時点で実現できてもScrapbox側の実装が変わると動かなくなってしまうと思う
Notaの中の人にプレゼンし、本家にマージしてもらうというアプローチを目指す手は一応あるがハードル高い
さんルートは難易度高すぎますね……
根幹の機能なので、動かなくなるとすごく困る
関連ページリストまでスクロールするのが面倒
はい、ここは設計思想なので
さんが決めたら良いと思います
了解です
標準機能なんだから、当然といえば当然ですね
このあたりも配慮できればより使いやすくなると思うのですが、
ドッグフーディング出来ないので難しいですね……
CSSについては……すみません。雑に書いたまま放置してしまっています……
いい加減直したいです
(わざと本家から変更した部分もあります)
ここは誤解がありそうなので補足したいです
さんにCSSをメンテほしいという意図は実は含まれていませんでした
が納得行く形にするにはある程度カスタマイズする必要があるけど、それは
側で処理するべき
で、それを本家のアップデートにも追従し続けるコストが残るなあという予感がここにある
Shadow DOMでCSSをカプセル化してあるので、実を言うと本家のCSSが変更されてもあまり影響を受けなかったりします
。文意がわかりました
二箇所とはどことどこを示していますか?
ページ下の関連ページリストと吹き出しの二箇所です
例: 本文が長くてリンクを探すのが面倒なときなど
この視点はありませんでした
「本文が長いと関連ページリストまでスクロールするのが面倒」だと思っていたので
でもよくよく考えてみると、関連ページリストまでスクロールして
2 hop linkを索引的に眺めるのは
もやっているような……
なので、多分関連ページリストを眺めて、そこになかったら吹き出しを探すという動線ができてしまうなあという意味でした。
最初から吹き出しを探すように矯正することは多分できるんですが、別の問題を引き起こします。
索引的に使えるという関連ページリストのメリットが失われる
ですね。初代の方でした
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 実装しました
「 private
から移動してきたページ」という情報が欠落するので、判断できない
これは頑張れば実装できると思うのですが、やりたいのは「リンクをマウスオーバー→該当ページを探してクリック」ではなく、「リンクをクリックしたらprivate/publicを意識することなく該当ページに飛ぶ」なので解決しないと思います
むむ、それは確かにややこしいですね
技術的に出来ないことはなさそうですが、やり方があまりにも汚くなりそうです……
<a class='page-link'>
のevent handler onClick
をScrapboxが再描画されるたびに乗っ取る
このindent blockの主旨が↓だとして書かせていただきます (誤読でしたらすみません)
関連ページリストと比べた場合、クリックが「マウスオーバー→該当を目視サーチ→クリック」になって思考をブロックしてしまうのが欠点である
ここが欠点になる理由がよくわかりません
関連ページリストの場合でも、「関連ページリストまでスクロール→該当を目視サーチ→クリック」というほぼ同じ手順を踏みます
吹き出し表示ではなく、関連ページリストで外部projectのカードを
(↑なぜか文章が途中で終わっていることに気づいたけど、何を書こうとしたのか忘れた)
さんの使い方として、関連ページリストを閲覧するという行為が自然に(無意識に)出来ているため、思考をブロックすることがない、ということですね
あと、スマートフォンなどのタッチUI端末でScrapboxを見ることが結構あるんですが、マウスオーバーとの相性が悪いので結局Scrapbox標準の関連ページリストで我慢することになりそうで、そうするとスマホでは関連ページリスト、PCでは吹き出しといった動線の分岐が起きて思考をブロックしそう、という予感もありました。
これは実は解決策を考えています
e.g. リンクをスワイプしたらmobileでも吹き出しを表示する
といっても無理矢理感は否めませんな……
総論として、
さん手が早いので力技で解決できちゃう部分は多いと思うんですが、この問題UserScriptで頑張るにはちょっと問題のサイズが大きすぎるのと、問題の位置がScrapboxの心臓に近すぎるという印象を個人的には持っています
う、やはり
さんルートになりますか……
でもプレゼンとかやったことないし説明下手くそだし(言い訳)
つい最近、
さんの発表で説得の話がありましたね
問題の位置がScrapboxの心臓に近すぎる
個人プロジェクトをpublicで持っている人が結構多くて、自分もやりたいなあと思うようになってきた
public projectを使うようになった動機はこれが大きかったです
さんの記事初見だったんですが、
でした
関連ページリストが膨大すぎるのが原因でした
公開するページには全部同じタグがついているので、ページ数の2乗のオーダーでデータ量が増えてゆく…
page.relatedPages = []
みたいなことをすればエラーにならなくなった
何も考えず取ってきたpage dataをそのままimportに投げてた
わーお
GUIでならimportできるっぽい?ので
ついでにprivate projectで削除した公開ページをpublic projectでも削除する
私も次善の策はexport/importかなあと思ってます
作っては見たもののあれはやっぱり良くないな
最近(
の環境では)妙に重い気がするし
jsonデータの作成までscriptでやって、importは手動でやるとかすればどうだろう?
もし成功したら井戸端に共有していただけると嬉しいです
了解です
google cloud functionsなのでクレカやら住所やら登録しないといけないのがつらいところ
登録は必要ですが無料範囲内のはずです
おおおさすがです!