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

unify layout handling, create better defaults, improve cascade and naming specificity, add test cases for layout changes/dev #50

Merged
merged 62 commits into from
Aug 13, 2024

Conversation

possumbilities
Copy link
Contributor

@possumbilities possumbilities commented Jul 24, 2024

Description

Many of the changes required a cascade of changes in order to fully implement, in addition to the need to create new test cases, hence the size of it. I also inadvertently fixed things as a side effect with other necessary changes.

“If you wish to make an apple pie from scratch, you must first invent the universe”
--Carl Sagan

  • vocabulary.css line count was 2837, now 2057 | 27.5% line count reduction
  • fixes [Feature] Improve height of Aside container (or children) #13
  • fixes [Bug] main content header background :before pseudo element breaks bounds of site and stretches horizontally infinitely, on larger viewports #14
  • fixes [Bug] story vs authored-post vs raw article component labelling and structural mismatches #20 (this has been collapsed into the singular/plural component of post and posts, so that it could provide shared rulesets and better defaults)
    • archive-page
    • blog-post
    • default-page
    • person-page
    • program-index
    • program-page
    • search-index
  • fixes [Bug] The use of uppercase styling on the page headings makes them harder to read, could present accessibility and readability issues #24
  • fixes [Functionality] provide left and right sidebar arrangements #25 (does not provide any new contexts with its use, but new layout approach now allows for contexts to be built that can have left or right sidebars.)
  • fixes [Functionality] Revise CSS rule scoping to be more compartmentalized and enable less hyper localization to the Index Project (creativecommons.org) #31
    • the cascade now generally flows towards specificity more smoothly, and compartmentalizes page-level contexts much better, while letting components have general baselines that apply across a broader area of use.
  • adds a new tests directory to the specimens for scaffolded test case use in development
    • adds the grid layout test case (with associated grid-test.css file for explicit layout marker definitions)
      • shows current track bounds on grid for various layout "stops" when absent sidebar
    • adds the grid-sidebar layout test case (with associated grid-test.css file for explicit layout marker definitions)
      • shows current track bounds on grid for various layout "stops" when sidebar present
    • adds the kitchensink layout test case
      • this provides a default page context with every possible component that could appear within the content composition area for better testing of layout, rhythm, display, etc.
  • the overall page layout now follows a grid based scheme for any page context, with a vertical rhythm of track stops that adhere to the current layout behaviors vocabulary provides; this means we can now modify the layouts more uniformly in behavior and display across contexts as needed.
  • relevant responsive contexts have been updated to align with new layout mechanics
  • page heading h1 is now uniformly centered on all layouts to move the layout to a center bounded baseline rhythm as the default. This improves flow, creates less layout shift, less abrupt title placement changes, and allows negative space to be balanced, rather than overtly heavy on one side in several places. We can still do non-centered alignment (such as the person-page header area), when it has adequate balance and flow.
  • header & footer
    • footer license svg graphics paths corrected across all specimens
    • footer vocabulary.js path corrected across all specimens
    • footer and header have improved specificity placement within vocabulary.css
  • sidebar area now has an explicit class of sidebar for better css targetting.
  • post/s
    • use of the posts component now nests the post components within a ul for better semantics, where appropriate.
    • documentation for post component (plural and singular) has been updated to reflect semantics, structure, and naming
    • .posts variant of .related is now better implemented
    • .posts variant of .featured is now better implemented, replacing the former use-case of .highlight
  • blog-index
    • now has a proper heading element for the "featured posts" section, improves accessibility and semantics.
    • use of the pseudo-semantic featured class is now properly applied to only the "featured posts" area.
    • post headings are now all h3
    • page context's more button changed nested placement to be more semantic, moved from footer into last posts component listing as last child.
  • blog-post, bottom posts now uses the pseudo-semantic related class, for "related posts" delineation.
  • default-page context is now classless which is more appropriate since its supposed to represent the "default" applied styled when no body class context is utilized.
  • search-index post/posts semantics improved, layout adjusted
  • team-index added and styled closing aside
  • person-page semantics improved, layout adjusted

Technical details

Core work affects not only the vocabulary.css file, but also the semantic html within these contexts:

  • archive-page
  • blog-post
  • blog-index
  • default-page
  • person-page
  • program-index
  • program-page
  • search-index
  • team-index

Tests

page-level contexts

scaffold test-case specimens

documentation

Checklist

  • My pull request has a descriptive title (not a vague title like Update index.md).
  • My pull request targets the default branch of the repository (main or master).
  • My commit messages follow best practices.
  • My code follows the established code style of the repository.
  • I added or updated tests for the changes I made (if applicable).
  • I added or updated documentation (if applicable).
  • I tried running the project locally and verified that there are no
    visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Copy link

netlify bot commented Jul 24, 2024

Deploy Preview for vocabulary-docs ready!

Name Link
🔨 Latest commit a71857c
🔍 Latest deploy log https://app.netlify.com/sites/vocabulary-docs/deploys/66b67ef6ca43af00080a3aa8
😎 Deploy Preview https://deploy-preview-50--vocabulary-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@possumbilities possumbilities marked this pull request as ready for review August 9, 2024 21:00
@possumbilities possumbilities requested review from a team as code owners August 9, 2024 21:00
@possumbilities possumbilities requested review from shailee-m and zackkrida and removed request for a team, shailee-m and zackkrida August 9, 2024 21:00
Copy link
Member

@Shafiya-Heena Shafiya-Heena left a comment

Choose a reason for hiding this comment

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

Approving this based on the best of my knowledge. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment