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

Why Kubernetes Website CSS Needs Improvement: What Should be Done and How it Should be Done #46315

Open
mboukhalfa opened this issue May 11, 2024 · 2 comments
Labels
area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@mboukhalfa
Copy link
Member

mboukhalfa commented May 11, 2024

This is an Enhancement Request

During my recent work on issue #45077 and pull request #46042, I've noticed several issues with the CSS and styling on the Kubernetes website. This issue aims to outline these concerns, propose a clear plan for improvement and initiate a discussion to gather experienced and interested individuals to collaborate on enhancing the website's CSS and styling.

Why Kubernetes Website CSS Needs Improvement:

  1. Outdated Docsy Version: Kubernetes is currently using the oldest available version of Docsy (v0.2.0) among 12 releases. Being so outdated, it lacks maintainer support and misses out on newer features and fixes. Updating to a newer Docsy version (e.g., v0.10.0) would guarantees support.

    website/.gitmodules

    Lines 1 to 4 in 9484b67

    [submodule "themes/docsy"]
    path = themes/docsy
    url = https://github.com/google/docsy.git
    branch = v0.2.0

  2. Bootstrap Dependency: While Docsy is intended to package Bootstrap, Kubernetes also relies on a local Bootstrap version, introducing complexity and leading to potential conflicts and maintenance issues.
    https://github.com/kubernetes/website/blob/release-1.29/static/css/bootstrap-4.3.1.min.css
    https://github.com/kubernetes/website/blob/release-1.29/static/css/bootstrap-5.3.2.min.css

  3. Excessive Custom CSS: There is a significant amount of custom CSS, which goes against the intended purpose of using Docsy and issues with styling end up being addressed within Kubernetes repositories instead of upstream in Docsy. For instance, We initially wanted to report an issue with Right-to-Left (RTL) support directly to Docsy Docsy RTL issue #1442, and focus on localizing content. However, extensive debugging revealed the issue stemmed from our custom styling. Consequently, I opened related styling issues in both Kubernetes k8s RTL issue and Google repositories Docsy RTL issue #1442, resulting in multiple hard-to-track issues.

  4. Custom CSS Practices: Some custom CSS practices, such as adding the logo as a background to a <a> element, deviate from best practices and may pose maintenance challenges. For instance, in pull request #46042, when I modified some Bootstrap classes, the logo's position deviated from the expected outcome, necessitating further adjustments.

    <a class="navbar-brand img-fluid" href="{{ .Site.Home.RelPermalink }}"></a>

    .navbar-brand {
    position: absolute;
    width: 45px;
    height: 44px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("/images/favicon.png");
    }

  5. Lack of Dedicated Web Development Team: While attempting to address issues like RTL support, limited support and review were available. For example, when seeking assistance through channels like Kubernetes Slack channel, we received no positive reactions. Establishing a dedicated team responsible for web development aspects, with periodic meetings and clear responsibilities, could greatly improve collaboration and support and prevent the introduction of bad CSS and JS code.

What Should be Done
TBD

How it Should be Done
TBD

@mboukhalfa mboukhalfa added the kind/feature Categorizes issue or PR as related to a new feature. label May 11, 2024
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label May 11, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

SIG Docs takes a lead on issue triage for this website, but any Kubernetes member can accept issues by applying the triage/accepted label.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@Aaina26
Copy link
Contributor

Aaina26 commented May 20, 2024

/area web-development

@k8s-ci-robot k8s-ci-robot added the area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes label May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

3 participants