-
Notifications
You must be signed in to change notification settings - Fork 152
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
Upgrade website to Docsy 0.10.0 and Hugo 0.134 #531
base: master
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: SayakMukhopadhyay The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Welcome @SayakMukhopadhyay! |
bc6daa3
to
2910be9
Compare
…w and update node
2910be9
to
e640339
Compare
bba8ab8
to
dce4971
Compare
The biggest "change" in this upgrade is the fact that Bootstrap was updated to v5 by Docsy. This has led to changes to stylistic elements, mostly padding, margins, text sizes and some colours. I will try to document some of them here. (Left is the current site and right is the PR site)
These are all that I have found out. I am not too sure if there is a need to make the upgrade look pixel-accurate to the current site. Also, I have another branch that adds some changes that might need more discussion. These changes include
If the maintainers agree with the above changes, I will include them in this PR. |
…ying over and override only the properties that are required
/assign @SayakMukhopadhyay |
Thank you so much!! This will take awhile to review, sorry. |
Alright, I will bring in those changes from the other branch to make it easier to review. The config file will contain commented properties which are not needed but I have kept them for now to make it easier to review the YAML->TOML change. I can remove them before merging this PR once the format change itself is reviewed. |
This is amazing! Thank you so much. As mentioned, we'll need some time to review all this but, I greatly appreciate the time, effort, and energy. |
I have tried to make the commits as atomic as possible so if any changes are required, we can drop those commits. |
@@ -0,0 +1,11 @@ | |||
$secondary: #303030; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we set $primary
too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The value of $primary
has been the same as docsy and so I didn't change it
site
$primary: #30638E; |
If the primary colour needs to be changed, we can set the $primary
and maybe others too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should use #326CE5
- see https://github.com/kubernetes/kubernetes/blob/master/logo/colors.md
If we don't use that already, oops, let's get a small PR merged so that we do, and then rebase / adapt this one.
I checked and we seem to use #3176D9
. Maybe that's what early Docsy defaults to? I guess that's $primary-light
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I can't figure out where we use #3176D9
. I checked and it cannot be $primary-light
as it lightens $primary
by 75% which is practically white when $primary
is #3063de
.
@SayakMukhopadhyay an aside: if you'd be willing to work on part of the equivalent change for https://k8s.io/, I can make time to pair up with you on that. I'm |
dependencies: | ||
npm ci | ||
cd themes/docsy/ && npm i |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need adapting for make container-server
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the Makefile
needs to be updated. The dependencies
target itself is ok but needs to be added as dependencies on docker-server
, container-server
and production-build
. I have not added them as I wanted to know the sentiment regarding overhauling the Makefile
. There is a lot of repetition (like git submodule update --init --recursive --depth 1) that can be moved to its own target and used as a dependency. Let me know if its ok to do that and I will make the changes to this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where possible, split out refactorings like that into their own (separate, smaller) PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which is why I haven't made any changes to the Makefile. The dependencies
target though is necessary for the latest Docsy and it was needed to get the preview-build
target to work and will be needed for the other targets. Essentially, that command creates 2 folders inside themes
, FortAwesome
and twbs
.
hugo.yaml
Outdated
desc: Discussion and help from your fellow users | ||
- name: Twitter | ||
url: 'https://twitter.com/K8sContributors' | ||
icon: fa-brands fa-x-twitter # Updated the bird icon to the X icon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Omit this comment, but once you have, comment on this line in your own PR to call out the change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have removed the comment from the file. Where do you want me to recomment? I have already called out this change in the last line of this PR's description.
Also, what about the other properties that I have commented in hugo.yaml
. I have kept those properties commented on to get some feedback, should I remove those properties altogether or should I uncomment them.
Could we add that front matter via the generator? Maybe in a separate PR (which I'd prefer to merge ahead of this one) |
I plan to work on it but I was thinking of doing it in a separate PR as the current workaround works for now. |
This PR updates Docsy to the latest version available and makes it compatible to use with the latest Hugo.
In details, the following are the changes:
package.json
to the latestautoprefixer
andpostcss-cli
and addedpostcss
which is needed bypostcss-cli
now.NODE_VERSION = 20.16.0
env var to force netlify to use the current LTS of Node.js as older versions won't be able to compile native code in some of the dependencies. (If this value is configured on the infra side, we should look into either updating the value there and remove it from here, or remove it from infra and keep it here.)preview-build
target to get the CI in the PR to work)head.html
: it was the same as the theme except without the_internal/google_news.html
template. This template has since been removed.navbar.htm
l: it was the same as the theme except removing the minification of the navbar logo due to Hugo not havingtdewolff/minify >= 2.7.3
. The latest Hugo hasv2.20.37
so that removal is not needed.sidebar-html
: it was the same as the theme except wrapping anor
conditional method withcond
method to work with newer versions of Hugo which Docsy was not supporting. The latest Docsy version does support the latest version of Hugo and this wrapping is no longer needed.docs
&layout
: this layout was an exact copy from the theme with the only difference being thepage-meta-lastmod.html
partial was removed in the override. But the partial itself doesn't activate unless both.GitInfo
andSite.Params.github_repo
are truthy, which is not, hence the override is not needed.events
: this layout was unnecessary as all the content files in theevents
folder are usingtype: docs
in its front matter and so theevents
layout will never be used. And anyway,docs
layout andevents
layout were exactly the same.calendar
: updated to the currentdocs
layout provided by the theme while keeping the customization of including some scripts.community
: updated to the currentdocs
layout provided by the theme as it was the same before. (The only reason this layout is needed is because all generated files incontent/en/community
doesn't contain thetype
orlayout
in its front matter and thus will default totype: page
if acommunity
layout is not created.)resources
: updated to the currentdocs
layout provided by the theme as it was the same before. (The only reason this layout is needed is because of a generated filecontent/en/resource/release/index.md
which doesn't contain thetype
orlayout
in its front matter and thus will default totype: page
if aresources
layout is not created.)_variables.scss
has been updated from the theme. This change is introduced by docsy updating to bootstrap 5 in 0.7.0. This change introduces multiple changes to the default layout, including margins, padding, colors, font sizes among others._variables.scss
has been replace by_variables_project.scss
which is the recommended way to customize the variables of Docsy. This file only lists the properties that need to be customized and not everything in Docsy's_variables.scss
_styles_project.scss
has been added to include the CSS to make the copyright statement visible. This is the file that all customisations should go to.