yew icon indicating copy to clipboard operation
yew copied to clipboard

Build Yew website with Yew

Open ranile opened this issue 2 years ago • 10 comments

Currently, yew.rs is built using Docusaurus, which uses React. It was used because at the time Yew did not have a way to render page to HTML files (SSG). This has now been resolved for the most part.

https://yew.rs should be built using Yew. It would be better to build a documentation engine like Docusaurus, then use it to build the website. But that's a huge undertaking that I'm not sure if anyone is willing to take on right now

ranile avatar Jul 16 '22 19:07 ranile

I wouldn't mind helping. I've contributed to abridge a lot, I've made my own site with Yew, and now I'm helping maintain Trunk. It would be a task probably spanning a few months for me, but I am receptive.

Would the scope be a verbatim 1:1 clone?

simbleau avatar Jul 23 '22 18:07 simbleau

I wouldn't mind helping out on this. I don't have enough experience with Yew to take a leading role, but I'd be happy to contribute.

bnheise avatar Jul 25 '22 02:07 bnheise

This would be a pretty big chore, to be honest. Not sure if this could be done by 1 person in a reasonable timeframe.

This project would require several pieces:

  • Static pages (e.g. Homepage) | Easy
  • Theme switching Language switching support | Medium/Easy
  • Documentation templating | Medium
  • A blog engine | Medium/Hard
  • Search indexing | Hard

But honestly, I'd prefer the Blog was removed. It adds a lot of complexity (RSS/Tagging/Categories/Retrieval API/etc.) and it was never used meaningfully and currently serves no purpose. @hamza1311 might have more opinions.

I would probably be most willing to help with the CI/CD since I am currently maintaining Trunk and would like to see an official Trunk GitHub Action be used to deploy (to GitHub Pages). Otherwise, I'd be most interested in the search engine because this seems to be the most difficult thing to replicate correctly and there aren't many good choices for WASM search engines, imho.

simbleau avatar Jul 25 '22 02:07 simbleau

I think I would be pretty comfortable to put together some static pages. I think I could probably get an i18n solution up and running as well.

bnheise avatar Jul 27 '22 00:07 bnheise

Was perhaps thinking it may be worth it to make a Yew version of Docusaurus, because trunkrs.dev needs a makeover too, and I wouldn't mind leading the project more if it meant I could makeover Trunk (which I help maintain).

simbleau avatar Jul 27 '22 00:07 simbleau

I think the mammoth part is porting the mdx format. Docusaurus allows one to embed and use react components written directly in the docs. It would be incredible (in effect and effort) to have that for yew components.

WorldSEnder avatar Jul 27 '22 01:07 WorldSEnder

I'd probably defer to a visual alternative, not a functional alternative. That seems out of scope.

simbleau avatar Jul 27 '22 01:07 simbleau

To put in my two cents, I think building a documentation generator is out of scope for this task. If that were the requirement, then having the documentation website built in Yew would very likely not happen for years to come. Rather than choosing the solution that we want (a documentation engine made from Yew) let's just choose good enough and just make the website using Yew without a documentation engine. What's most important is the proof of Yew's capabilities by building its own site with itself. Sure it'll result in more maintenance work to update things, but it's still way less work than building and maintaining a documentation engine.

bnheise avatar Aug 04 '22 01:08 bnheise

I think the mammoth part is porting the mdx format. Docusaurus allows one to embed and use react components written directly in the docs. It would be incredible (in effect and effort) to have that for yew components.

It's not that hard if we can convert yew components to custom elements.

I agree that building a documentation engine is a huge undertaking. We should, however, prefer to keep the website we make as easily adaptable for others as possible

ranile avatar Aug 21 '22 13:08 ranile

@hamza1311 I have an example of converting a yew component to a custom element for another project I was working on. It's a pretty simple process. Check it out here: https://github.com/bnheise/lfr_rust_custom_element/blob/main/src/lib.rs

bnheise avatar Aug 22 '22 01:08 bnheise

I am learning rust, and I was very familiar with react before,If anything I could help, please let me know

brahmachen avatar Dec 09 '22 10:12 brahmachen

I created viz.rs docs website. It built with Yew.

Here is the repo: https://github.com/viz-rs/viz-rs.github.io.

fundon avatar Dec 10 '22 16:12 fundon

That’s pretty good work and faithful to the current design of yew.rs.

I’d support forking that and using it as a baseline.

From: Fangdun Tsai @.> Date: Saturday, December 10, 2022 at 11:10 To: yewstack/yew @.> Cc: simbleau @.>, Comment @.> Subject: Re: [yewstack/yew] Build Yew website with Yew (Issue #2779)

I created viz.rshttps://viz.rs docs website. It built with Yewhttps://yew.rs/.

Here is the repo: https://github.com/viz-rs/viz-rs.github.io.

— Reply to this email directly, view it on GitHubhttps://github.com/yewstack/yew/issues/2779#issuecomment-1345296622, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALPBK5I46CQM27YFMXN6S2LWMSTPVANCNFSM53YR4ZSQ. You are receiving this because you commented.Message ID: @.***>

simbleau avatar Dec 10 '22 16:12 simbleau