facebook / docusaurus

Easy to maintain open source documentation websites.
https://docusaurus.io
MIT License
55.66k stars 8.34k forks source link

MLH Fellowship 2020 Ideas List #2267

Closed yangshun closed 3 years ago

yangshun commented 4 years ago

Note that all the projects listed here are targeting Docusaurus 2.

New Themes and Theme Gallery

Difficulty: Medium

Description: Docusaurus 2 introduces the concepts of themes and we have created an entirely new CSS framework from scratch based on Docusaurus 1's theme. Some users will want to use their own CSS, for e.g. Bootstrap. Hence we want to add support for themes based on the popular CSS frameworks out there (e.g. Bootstrap, Bulma). It'd also be nice to have a gallery where we can showcase the themes.

edit: https://github.com/facebook/docusaurus/issues/3522


Docusaurus Debug Dashboard

Difficulty: Medium

Description: A dashboard page that could be accessed during development to show the available routes for a Docusaurus site and also the list of swizzled components. This helps users to easily identify problems in a Docusaurus set up and enhances the user/developer experience. For example, a user can access http://localhost:3000/__docusaurus/debug to see helpful debug information.

This is similar to http://localhost:3000/rails/info/routes in Rails, see the docs.

Bonus points if we can swizzle components from the UI!

Edit: done


Docusaurus 1 to 2 Migration Command

Create a CLI command that can be run on Docusaurus 1 projects to easily move them to Docusaurus 2! There will still be some manual tweaking involved but at least it can help to get the trivial stuff out of the way.

This tool will essentially be a programmatic version of our migration guide.

Edit: done but can be improved here: https://github.com/facebook/docusaurus/issues/3520


Docusaurus Doctor

Difficulty: Hard

Description: A command that can be used to check for common issues or recommend best practices within a Docusaurus website, for e.g. finding broken page paths, finding broken image paths, flagging unused assets, etc. Alternatively, these checks can be in the form of new ESLint rules/static analysis.

edit: not sure it's needed anymore?


Offline Search

Difficulty: Hard

Description: Docusaurus uses Algolia as the default search service but internal docs cannot leverage on Algolia, which requires that a website be public. It could be possible to use lunr.js to build an index of the content and add search as a built-in feature to a Docusaurus website. This project is inspired by our Canny Feedback board.

edit: pending PR: https://github.com/facebook/docusaurus/pull/3153


Integrate Build Size Bot

Difficulty: Easy

Integrate build size bot (or alternatives) to run on PRs to detect size regressions whenever changes are made to the repository. Example of Next.js PR

edit: https://github.com/facebook/docusaurus/issues/3521


Keyboard Shortcuts

Edit slorber => https://github.com/facebook/docusaurus/issues/3020

yangshun commented 4 years ago

Docusaurus wasn't selected for Google Summer of Code 2020. I guess we can keep this open as the ideas are still useful

yangshun commented 4 years ago

Repurposing this list to be MLH Fellowship instead of GSoC.

slorber commented 4 years ago

Dynamic Social Cards

Edit: moved to https://github.com/facebook/docusaurus/issues/2968

teikjun commented 4 years ago

Hi @yangshun, @anshulrgoyal and I are thinking of working on Docusaurus 1 to 2 Migration Command. May I ask for a quick estimate for the difficulty level and priority level of this issue? (Edit: We got a reply from Joel already, thanks!)

gedeagas commented 4 years ago

Dynamic Social Cards

Moved to https://github.com/facebook/docusaurus/issues/2968

Interesting idea, i have somewhat simmilar project like this. https://og.agas.dev/**Contoh**%20Self%20Hosted%20Image%20Overlay%20Server.png?footer=Agastya%20Darma&md=1&imageUrl=https%3A%2F%2Fimages.unsplash.com%2Fphoto-1480796927426-f609979314bd%3Fixlib%3Drb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1950&q=80.png&fbclid=IwAR0Um7zFu-Q33nBhh2IeloEV4M-0ZLuL6bONoiQ4UL0ok3BnFQi9XQn7X-c.

is anyone working on this?

slorber commented 4 years ago

Hi,

I've created a dedicated issue for dynamic social cards here: https://github.com/facebook/docusaurus/issues/2968

@Drewbi wants to work on this already

anshulrgoyal commented 4 years ago

Hi, For the migration tool should we create a separate tool like docusaurus-migrate or we add it to the existing package?. I think the new tool will be better.

yangshun commented 4 years ago

I'd say a new package within this repo under the @docusaurus/ scope. We don't want code to be all over the place otherwise it becomes hard to keep track and also enable publishing permissions. We'll also be the maintainers of it moving forward.

slorber commented 4 years ago

I think the question was more if we integrate the migration as part of the existing cli, or if we create a dedicated cli for the migration. (in all case it stays on this repo).

I think it would be better to create a new package like "@docusaurus/migrate", because it's likely to be run one time with npx, and after the user don't need it anymore, so including this to core cli system is not very useful. It's a bit similar to "@docusaurus/init"

yangshun commented 4 years ago

Oh yes I fully agree. @docusaurus/migrate sounds good (hopefully we don't need it for a 2 to 3 migration hehe

anshulrgoyal commented 4 years ago

I want to work on the search feature.

JoelMarcey commented 3 years ago

@yangshun, @slorber -- which of these are actually completed? Thanks!

slorber commented 3 years ago

@JoelMarcey

Done:

Pending:

Not started:

slorber commented 3 years ago

Meta issue for the MLH 2nd batch tasks: https://github.com/facebook/docusaurus/issues/3527

Let's close this one for now

sarthakkundra commented 3 years ago

@yangshun Any plans of applying Docusaurus to GSoC 2021?

yangshun commented 3 years ago

We would try I guess.

On Wed, Nov 25, 2020, 6:20 AM Sarthak kundra notifications@github.com wrote:

@yangshun https://github.com/yangshun Any plans of applying Docusaurus to GSoC 2021?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/facebook/docusaurus/issues/2267#issuecomment-733266249, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKBCHIDS7HIRVJKX5XGIFTSRQWURANCNFSM4KQNTCZQ .

sarthakkundra commented 3 years ago

D2 has definitely matured a lot since the last application so I'm thinking it'll be worth a shot.

sarthakkundra commented 3 years ago

@yangshun if you're trying for GSoC 2021 I believe you will be brainstorming about possible projects. Contributing here for some time now and I think I might have some ideas. Should I create issues for them or mail someone?

yangshun commented 3 years ago

For maximum visibility sake, creating new issues would be good so that even if we don't apply for GSoC or don't get selected for it, others can still pick them up.