Skip to content
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

Devhints 2.0 migration plan #996

Open
rstacruz opened this issue Jan 20, 2019 · 11 comments
Open

Devhints 2.0 migration plan #996

rstacruz opened this issue Jan 20, 2019 · 11 comments

Comments

@rstacruz
Copy link
Owner

rstacruz commented Jan 20, 2019

(I'm still writing this document - more info to follow!)

New Devhints is coming <3

Over the next few weeks/months, Devhints will be transitioned from it's aging Jekyll setup to a more modern stack built with Gatsby and Node.js.

What are we trying to solve?

  • 😢 Jekyll is slow.
    Devhints today uses Jekyll to generate the website, since it's the default (and only) generator for GitHub Pages. However, it's been long since Devhints has outgrown Jekyll. It takes a long time to start a development server due to the sheer amount of files to be processed. Changing files are quite slow, too, due to the same reason.

  • 😲 The Git repository is very messy.
    The Git repository now hosts the cheatsheets themselves, along with the Jekyll theme, and all the other build artifacts like vendor.js.map. This makes it very hard to navigate, and git greping around is very messy.

Changes: Cleaner repos!

  • ✌️ There will be 2 repositories: one for sheets, one for code.
    The main repo, cheatsheets, will host nothing but Markdown files for the cheatsheets themselves. The supporting files are now in devhints-engine.
  • Sheets will now be in sheets/ and not /.

Changes: Cleaner code!

  • Sheets will now be formatted through prettier.
    This should get us some consistent formatting of Markdown files.

  • CSS classes will now be using rehype-decorate instead of Kramdown. This will make Devhints's Markdown files be written in a standard [Common Mark] format, without any backward-incompatible syntax constructed.

New code

  • rstacruz/devhints-engine
    This is the "engine" that powers the website, written in Gatsby. The sheets are still going to be stored and maintained in cheatsheets, but all the JavaScript and CSS that builds the website will be in devhints-engine. This repo is publically-accessible right now, do check it out.

  • rstacruz/cheatsheets-ng
    For now, this is a fork of cheatsheets with the content updated with the new format. It's private right now (so no one stumbles upon it by mistake), and I update it manually as cheatsheet is updated. When we launch 2.0, I'll push the contents of cheatsheets-ng into cheatsheets :)

Migration plan

  • TBD

Beyond 2.0

  • A redesign of Devhints is in the works. (...)

Maintenance plans

  • (...welcome new maintainers)

  • (...implement stalebot)

@rstacruz rstacruz pinned this issue Jan 20, 2019
@Kreijstal
Copy link

I discovered this project today, how exciting!

@Kreijstal
Copy link

I just had this idea: Wouldn't it be cool if there was something like wikis but for github, everyone has write access but you can add/remove permissions to certain files.

@kevin-lindsay-1
Copy link

kevin-lindsay-1 commented Jan 28, 2019

@Kreijstal That sounds interesting, and less of a hassle to wait for PRs to be reviewed. Perhaps one could implement an automated system wherein once you've had a few PRs accepted, the individual is automatically granted the permissions of a reviewer.

@borekb
Copy link

borekb commented Feb 12, 2019

I'd love Devhints integration with tldr one day.

@d0vi
Copy link

d0vi commented Feb 13, 2019

If it is posible, get #321 solved would be great!

@qoomon
Copy link
Contributor

qoomon commented Feb 28, 2019

@d0vi I've just created a PR #1023 to solve the favicon issue #321

@BosEriko
Copy link
Contributor

Is this still happening? Any way I can help?

@Kreyren
Copy link
Contributor

Kreyren commented Dec 14, 2019

The Git repository is very messy.
The Git repository now hosts the cheatsheets themselves, along with the Jekyll theme, and all the other build artifacts like vendor.js.map. This makes it very hard to navigate, and git greping around is very messy.

Referencing: #1294

@Kreyren
Copy link
Contributor

Kreyren commented Dec 14, 2019

(...implement stalebot)

Referencing: RXT067#2 (Github doesn't allow this without set up authentification -> can't make a merge request)

EDIT: Why stalebot? Rather implement a better project management to handle all the issues

@Kreyren
Copy link
Contributor

Kreyren commented Dec 14, 2019

Jekyll is slow.
Devhints today uses Jekyll to generate the website, since it's the default (and only) generator for GitHub Pages. However, it's been long since Devhints has outgrown Jekyll. It takes a long time to start a development server due to the sheer amount of files to be processed. Changing files are quite slow, too, due to the same reason.

Referencing: #1295 seems to be pretty fast on my end

EDIT: did you file this in jekyll?

@Kreyren

This comment has been minimized.

@rstacruz rstacruz unpinned this issue Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants