-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
リンクカードを実装 #8139
base: main
Are you sure you want to change the base?
リンクカードを実装 #8139
Conversation
0eaf7d4
to
783adac
Compare
このPRに最新のmainを取り込みました。 git pull --rebase origin feature/introduce-of-link-card をお願いします。 このブランチにプルリクを送りました。 デザイン以外にJSに手を入れてるので、それらを確認の上(コードを読んだり、動作を確認したり)、OKだったらこのブランチにマージしてくださいー もし、修正が必要なときは、
もしくは、
どちらかでお願いします。 |
@machida |
b3f1aba
to
c3954c8
Compare
?なんかコミットの履歴がおかしい 一旦手元のブランチ git branch -D feature/introduce-of-link-card |
4ff3c5f
to
7ca62e1
Compare
これを貼り付けると、GとIだけがリンクカードになります。 |
@machida |
@machida |
7ca62e1
to
7a9b10f
Compare
@machida Iの時だけリンクカードを生成するようにコードを変更しました。合わせてフィクスチャも変更しています。 ZENNのリンクカード実装がほとんどそのまま使えたのでそのまま使っています。(FBCの仕様に合わせて改変を加えています) 今回実装するリンクカードの仕様として「マークダウンにネストした状態でもリンクカードを生成する」となっていますが、これはdetailsだけ許容する形としています。 ところでリンクカードの前後に中身のない空のpタグが表示されてしまい、いまだ原因が掴めません... リンクカードの前後に謎のpタグが入ってしまう現状説明このようにリンクカードを展開すると 私見、試してみたことなどtokensの配列としては"paragraph_open", "html_inline", "paragraph_close"となっており、余計なpタグが入る余地はないと思うのですが... 確認してみたところ、リンクカードの対象となるToken(tokens[i])の前のpタグはどうやらtokens[i - 1]のようです。 こちらアドバイスなどいただけたらと思います🙇♂️ |
@mousu-a markdownの仕様に従ってmarkdown記法からHTMLを生成したときに発生してるのかもです。もしかしたら、pの開始タグだけ生成されてしまって、それをChromeがHTMLの矛盾を無くすために無理やりpを閉じている、とかかもしれないです。念のためFFとSafariでも確認してみるといいです。もしかしたら別のHTMLになっているかもです。 そのまま実装したらリンクカードがpで囲われてしまうのを、そのpを生成しないという機能も付けてるので、それとのバッティングなどもあるかも? で、僕もその辺の問題がうまく解決出来なかったんですよねー。なので、Iのときだけリンクカードにするというのは、そこまで優先度は高くないので、今回の件が解決ができなかったら、前のコードでレビューを出してしまって大丈夫です。 ただ、変なHTMLに変換されないようにしたいので、コードを戻してもその点はチェックをお願いしたいです。 |
@machida 正確には、Markdown-it プラグインを適用する時に元となったa要素(の親であるp要素)を なぜリンクカードの前後に空のpタグが出力されてしまっていたのかコードのコメントにも書いてありますが、 お手すきの際にご確認をお願いいたします🙇♂️ すみません、余計なdiffが混じってしまいました。ここは本質的な変更には関係ありません。 |
@mousu-a @[card](https://esa.io/)
@[card](https://www.yahoo.co.jp/)
@[card](https://bootcamp.fjord.jp/) このように、文章の最後がリンクカード記法になっている場合、最後のリンクカード記法がリンクカードに変換されませんでした。 @[card](https://esa.io/)
@[card](https://www.yahoo.co.jp/)
@[card](https://bootcamp.fjord.jp/)
aaaaa 上記だと変換されます。 デザインやクラス名を少し修正しました。 |
@machida |
@mousu-a調査よろしくお願いします。そこ以外の動作はバッチリでした👍 |
788ae1f
to
7920338
Compare
@machida バグ3つ以上リンクカードが生成されるとき、最後のリンクカードだけ生成されていませんでした。 原因リンクカードを生成する際、 解決for文を使うことにより、 すみません、rebaseしたのでこちらをお願いいたします🙇♂️ |
確認しました!! @[card](https://bootcamp.fjord.jp/articles/146)あ @[card](https://bootcamp.fjord.jp/articles/146) あ 上記のとき、「あ」が無視されリンクカードが生成されてしまいました。 |
@machida |
@mousu-a 了解です!よろしくお願いしますー🙏 |
Markdown-itはasyncに対応していないため、このPluginではあくまでリンクカードの目印を残すに留めている。
インラインでリンクカードが展開されないようにした
7920338
to
f5a7e93
Compare
@machida 以下行った変更です。
|
@machida 聞きたいこと今からでもそのように(全てのマークダウンにネストできるように)修正した方がいいでしょうか?(修正の手間はそれほどかかりません) また、その際修正する考え方としては、"p要素にネストしていなければ基本的にはリンクカードは展開する"という形で良かったでしょうか? |
@mousu-a liの中で展開してもinvalidにはなりません。なので、もしliの中でだけリンクカードが使えたら助かります。でも、全く優先度は高くなく、見た目も見にくくなりそうなので、それが大変な作業だったら今回は含めなくてもOKです。 対応が可能だった場合はデザインもそれに対応する必要があるので言ってください〜 |
@machida |
@machida |
@mousu-a 了解です!その仕様でいきましょう👍 では、それでレビューに進めてくださいー |
@machida |
Issue
概要
リンクカードを実装
変更確認方法
feature/introduce-of-link-card
をローカルに取り込むi.
git fetch origin pull/8139/head:feature/introduce-of-link-card
ii.
git checkout feature/introduce-of-link-card
rails db:seed
でテストデータを作成foreman start -f Procfile.dev
でローカルサーバーを立ち上げるkomagata
、パスワードtesttest
でログインを行う(誰でもいいです)Screenshot
スクリーンショットは動きが固まった後で追加します🙇♂️