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

2023 Redesign CSS Updates #852

Draft
wants to merge 41 commits into
base: 2023-redesign
Choose a base branch
from
Draft

Conversation

KyraAssaad
Copy link
Contributor

No description provided.

michielbdejong and others added 30 commits December 20, 2023 09:42
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
For website development
Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
VirginiaBalseiro and others added 8 commits February 8, 2024 10:54
* WIP: refactor HTML/CSS

Co-authored-by: Sarven Capadisli <info@csarven.ca>

* HTML corrections / alignment for index, about

* consolidate stylesheets, minor fixes

* Update homepage img alt for article

* Minor

* Remark for-developers

* Remark for-organizations

* Add contact possibilities for orgs

* Update pod-provider and research-institution blocks

* borders, minor CSS changes

* Use details for whole video figcaption

* Minor

* CSS fixes, WIP

* Add Terms

* Minor

* Update community

* Use /about

* Add redirects file

* Add some DOAP about Solid Project

* Remove unused reference

* Add ethicsPolicy to Solid CoC

* WIP styles for community page, mobile

* Minor

* CSS fixes

* Adjustments to events details margin/padding

* Padding, lists styles

* Padding

* Update hosted-pod-services listing markup

* Update events markup

* Hide dt in hosted-pod-services

* fix about page file extension, inline widths, image alt text and role

* Adjust font-size in pod providers list

* Update alt/role

* Minor

---------

Co-authored-by: Sarven Capadisli <info@csarven.ca>
Copy link
Contributor

@TallTed TallTed left a comment

Choose a reason for hiding this comment

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

Noticed an internal inconsistency....

for-developers.html Outdated Show resolved Hide resolved
Copy link
Member

@csarven csarven left a comment

Choose a reason for hiding this comment

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

Most of these classes are unnecessary and litters the HTML. Styling the existing HTML can be done without changing the HTML.

Taking an example: class="subpage". If the idea is to have unique styles for h1 or h2 on "subpages", then simply use a higher up selector that differentiates between the "subpage" documents and the "homepage" or whatever. For something like that, one would normally style e.g., h1 for all documents and the unique one for #homepage h1 without having to introduce a single line of additional HTML or overly limited CSS.

Same idea goes for styling the anchors, or a paragraph of a particular section (following a particular heading), or particular lists, or dare I say the heading(s) of an article or section, or whatever.

Surely this is not to dismiss any use of the class attribute, but as mentioned elsewhere, actual improvements to the website and the structure/semantics in HTML (and the CSS thereafter) should be guided by a proper IA document detailing the atomic components and their categorisation, the relationship between significant units of information, among other things on the website. Without it, it is rather random, and hard to ensure consistency by different contributors.

@KyraAssaad
Copy link
Contributor Author

Sarven, I'm not a frontend developer. I am just trying to make improvements the way I know how, given the diversity of my background and experience. I am trying to get the styles correct from the design. I welcome your improvements to my improvements. But right now the way the CSS is structured, as a contributor I find it extremely difficult to parse and it is unlike any CSS I have interacted with before. So my work is going to be messy and not perfect, but it's going to get the site in a state where it accurately reflects the designs. Please feel free to make code suggestions that I can incorporate.

Co-authored-by: Ted Thibodeau Jr <tthibodeau@openlinksw.com>
@csarven
Copy link
Member

csarven commented Feb 28, 2024

Kyra, I've pushed two commits that retains the HTML and re-applies your intended design changes (in this PR). Please have a look.


The current CSS may indeed be limited or "extremely difficult to parse" but that's mostly due to the accuracy of the HTML it is relying upon. As mentioned numerous times now, to get the HTML right (and the CSS thereafter), it needs to follow some clear documentation on the semantics/structure of the components on the site. There are obvious limitations to reverse-engineering a static visual design (i.e., 5 pages) into something coherent, and there is more to the site ( #842 ) that meets the eye. There are inconsistencies in the design itself, and that translates to inconsistencies in the HTML, and the mess that you are unfortunately dealing with in CSS. That's an issue for all of us.

Some concrete concerns were raised in #836 (comment) in addition to the initial design reviews. I hear your concerns and hope that you are also hearing mine.

@KyraAssaad
Copy link
Contributor Author

Thank you @csarven, your HTML updates are helpful.

As mentioned numerous times now, to get the HTML right (and the CSS thereafter), it needs to follow some clear documentation on the semantics/structure of the components on the site. There are obvious limitations to reverse-engineering a static visual design (i.e., 5 pages) into something coherent, and there is more to the site ( #842 ) that meets the eye. There are inconsistencies in the design itself, and that translates to inconsistencies in the HTML, and the mess that you are unfortunately dealing with in CSS. That's an issue for all of us.

I hear your concerns and I agree with the comments raised. Let me see if I can address them:

It would be useful to have a style guide to ensure that the design is consistent, reproducible, and reusable.

@gisellewenban is working on producing this.

It is important to have a sitemap of all URLs under solidproject.org to ensure there is a record of everything, as well as the intended level of persistence for each resource. We will create an issue to track and introduce in later PRs.

I believe I can get a sitemap of all the current URLs, but I would appreciate your help on filling out the other details you mentioned, as you have more expertise in that domain than I do.

We did not have mobile designs, so we decided on layout that made sense.

@gisellewenban and I are working on these as well.

It would be useful to have a documentation of all components that are reused across the site's webpages, as well as structure (field/value) for each significant unit of information.

I believe we will be able to include documentation of the reused components in the style guide, but I'm not sure how to identify the structure, I'd appreciate your help on that as well.

cc @VirginiaBalseiro

@csarven
Copy link
Member

csarven commented Mar 5, 2024

I'll try to be brief about the (recurring / reusable) components here. Examples may serve best to classify certain things:

As I look at the content and the design, there is some notion about "feature" or "see also". I'd consider them as significant in and themselves. Their view/presentation (or even behaviour if need be) may be different slightly on some level but looking at it purely from the point of content/structure, they're are essentially the same. Some features/see alsos have very similar structure, links, images, etc for what they're intended for.

Typically the structure of articles and sections in these documents follow some hierarchy. Most of the pages that I've observed seem to have a single top-level heading (h1) for what the document (the article) is about. Everything else follows that. So, a design consideration is to signal information along these lines:

  • which pages have a single h1? how are they designed (e.g., specify font or layout information)? which kinds of pages may have variations on those?
  • how are the pages with multiple articles or (sub)sections are designed?
  • what kind of recurring "aside"s are there across the pages?
  • what kinds of item listings are there? how about definitions lists?
  • what kind of short descriptions may be after a heading before subsections?
  • what kind of pages are there (e.g., compare index, about, community, for-developers .. ) - put that into context with all the assets on the website: Add sitemap section to website strategy #856

(not an exhaustive list)

Even providing a default for those things helps to put the base structure and design in place. It is then really easy to spot errors or follow up on variations that are desired.

Another example regarding short descriptions on pages is something that confused me, and I think we all ran into trying to solve that in HTML and/or CSS without actually having a specific - explainable - answer for by looking at the visual design itself. For instance, compare the short descriptions (or subheadings or subtitles) for the following: index, about, for-organizations, community. It is unclear from the point of the structure where they sit. They can be part of a top level header but it could be very well different. For instance, when I was looking at the about page, I've initially included the two paragraphs (aside: doap:shortdesc) that follow the heading as part of the general description (aside: doap:description) of the about page. It was possible to style this just fine and still have the possibility for non-repeating machine-readable information. But then when we got into the PRs updating the styles, it became clear that perhaps that information should actually be outside of the general description. What I'm asking for here is not about how it should look but rather the intended structure of the document. Writing CSS is trivial if HTML is stable/flexible.

There are other examples but I don't want to hash them out. Perhaps one more: see how "Developer Tutorials" section and list looks in for-developers. Compare that to the section and list for "Available Solid Server implementations". The signal/information we need from all this is how or why are those things the same or different. Otherwise, everything just boils down to having something very custom and unique and can only be interpreted from the static visual information that's provided - which I find to be limited.

@michielbdejong michielbdejong force-pushed the 2023-redesign branch 2 times, most recently from cbb57a9 to 1d56403 Compare May 2, 2024 07:28
@csarven csarven mentioned this pull request May 8, 2024
@michielbdejong
Copy link
Contributor

Is this still incomplete?

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 this pull request may close these issues.

None yet

5 participants