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

Migrate to Hugo #818

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Conversation

MichaelJRM
Copy link
Contributor

@MichaelJRM MichaelJRM commented Mar 5, 2024

Migrated from Jekyll to Hugo, everything is 1:1 except for some creative liberties :D
There is still some stuff to finish, I would appreciate any feedback.

Major features include

  • Blog searching is now integrated thanks to pagefind.
  • Everything is setup for allowing multiple languages, I've already translated most of the website to Portuguese but have not included those changes in this pr.

To test make sure you have the latest version of Hugo
Run make update-download-archive to generate the Godot archive cache, make serve to serve the website and make index-articles to index all the articles.

You can also just run make build and make serve.

Todo:

  • Discuss how translations will be handled
  • Discuss the new pagefind searching for the blog page
  • Discuss if quicklink should be included or not
  • Discuss what content should be included in RSS, currently I'm using the default Hugo settings
  • Update archetypes
  • Update readme

@MichaelJRM MichaelJRM marked this pull request as ready for review March 6, 2024 12:30
Copy link
Member

@coppolaemilio coppolaemilio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a couple comments (can't dedicate more time to it at the moment)

Comment on lines +37 to +38
3. Install the necessary dependencies: `bundle install`.
4. Build the site: `bundle exec jekyll build`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the readme needs to be updated as well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'll leave it as the last step

max-width: 24px;
max-height: 24px;

& .anchored-link:hover {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CSS nesting is still not supported by all browsers. Do we have a preprocessor in place until that happens?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's supported by all major browsers, what other browsers should I look for?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

17% of browsers are still not supporting it, we can't really make the jump yet: https://caniuse.com/css-nesting

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah somehow I thought it has 93% +
I've added postcss-preset-env with postcss to generate css compatible with all browsers :D

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately that requires for us to use npm, and one of the reasons why we kept everything in jekyll/scss was to not add more dependencies. So if Hugo doesn't have anything native I thing you should revert the css nesting and leave it as is.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reverted it :(
I really like using it, it's so much cleaner

Btw the archive generator and mirrorlist generator use javascript and currently it has 1 dependency to parse yaml, is that an issue? If so we could use json instead

assets/js/download-version.js Outdated Show resolved Hide resolved
@Calinou Calinou added enhancement topic:backend Issues and PRs related to the backend and the build system labels Mar 6, 2024
i18n/en.yaml Outdated Show resolved Hide resolved
@coppolaemilio
Copy link
Member

@MichaelJRM is there a way we can chat? maybe discord (emi_cpl) or send me an email at [email protected]

@Kissaki
Copy link
Contributor

Kissaki commented May 3, 2024

Is there something I can help with regarding this migration to Hugo?

Is the migration to Hugo merely a suggestion or something with consensus?

Discuss how translations will be handled

Is that necessary for the migration? I would try to keep the scope small of this PR, and not do any translations yet. If the URLs and content are retained it's not necessary, right?

Discuss what content should be included in RSS, currently I'm using the default Hugo settings

What does the Jekyll website provide? What changes?

Update archetypes

What do you intend to change?


Looking at the diff, wow, that's a lot of changes…

@MichaelJRM
Copy link
Contributor Author

I've been away for a while but I'll get back to this next week.

@coppolaemilio
Copy link
Member

@MichaelJRM sounds good! lets sync first, so we don't duplicate work or make it harder for you

@coppolaemilio
Copy link
Member

@MichaelJRM I've started testing things out and doing a Hugo build inside the current Jekyll site so we can slowly transition page by page. The main goal of this will be to bring i18n into the site, but instead of replacing all at once, I'll be focusing on individual pages first. Just wanted to loop you in just in case you are interested in helping out with this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement topic:backend Issues and PRs related to the backend and the build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants