AtCoderProblems icon indicating copy to clipboard operation
AtCoderProblems copied to clipboard

Twitterのコンテントカードが常に同じ

Open garasubo opened this issue 5 years ago • 5 comments

Twitterで人に自分のつくったバーチャルコンテストを勧めたかったのですが、タイトルが常に"AtCoder Problems"に固定されていてバチャを勧めているように見えなかったので、ちゃんとコンテストの名前になるとうれしいと思いました 他のページについても同じようなことが言えるかもしれないです。

garasubo avatar May 07 '20 10:05 garasubo

これは server-side rendering しなければ解決できなさそうです… Twitter や Facebook はクライアントサイドの JavaScript を実行しないので、react-helmet の meta tag はカードに反映しません。

https://github.com/geelen/react-snapshot このようなライブラリーもあるけどバーチャルコンテストのページには使えないでしょう。

southball avatar May 25 '20 09:05 southball

サーバーサイドレンダリングをスマートにするとなると、HTMLのテンプレートエンジンが欲しいところですが、現状だとあまりいいものがないっぽいですね。 一番有力なのはrenderっぽいんですけど、nightlyを要求してくるのが厳しいところです。

garasubo avatar Jun 26 '20 08:06 garasubo

最近Teraというライブラリを見つけました。actixのexampleにも使われているので、テンプレートエンジンを使うならばこれですかね

https://github.com/Keats/tera/

garasubo avatar Nov 05 '20 14:11 garasubo

最近Next.jsというフレームワークを触って、かなりいい感じだと思うのでこれを使うのもありな気がしてきました。 Reactで書かれたコンポーネントをサーバーサイドレンダリング(SSR)して提供できるので、全体的なユーザーエクスペリエンスの向上にもつながると思われます。Static Generationにも対応しているので、トップのダッシュボードなんかは都度SSRするのではなくキャッシュしたものを提供することもできます。

ただし、これをするとRouterコンポーネントを置き換えることになるので、URLが変更される破壊的変更になってしまう、という副作用はあります。その他の変更量もそれなりになるかも。 また、どこでホストするの?という問題もあります。AWSでもサポートしているようですが、VercelというこのNext.jsを開発しているところの無料枠でホストするのも選択肢になりうるかなあと思います。

garasubo avatar Mar 03 '21 13:03 garasubo

Next.js 何もわからないんですけど勉強するいい機会かもしれないですね

kenkoooo avatar Mar 04 '21 08:03 kenkoooo