Skip to content

Conversation

@karlikpj
Copy link
Contributor

@karlikpj karlikpj commented Nov 5, 2025

Closes 5070
Closes 5025

Pull Request Details

Add description

Closes #

Author PR Checklist

Items that the author of the PR is responsible for checking before submitted the PR.

General:

  • I have reviewed the acceptance criteria defined in the ticket and ensured the work has been completed.
  • The commit message passes all quality commit message standards.
  • Unit tests have been updated or created to reflect any javascript changes.
  • Storybook scenarios have been updated or created to reflect any html/css/js changes.

Accessibility:

  • WCAG 2.1 Level AA requirements have been met.

Development:

  • Any new or updated javascript code has 100% unit test coverage.
  • New or updated breakpoints have regression images.
  • Breaking changes have been thoroughly documented in the PR.

Product Reviewer PR Checklist

Items the product team is responsible for reviewing.

General:

  • There are no unexpected or unapproved regression image changes.

  • Functionality of interactive elements meet the acceptance criteria.
  • The product is visually and functionally the same across the different browsers.

Accessibility:

  • AxeDev Tools: there are no new or outstanding accessibility issues introduced in this PR.
  • Lighthouse: scores have not noticeably decreased during this PR.
  • Wave: there are no new errors or contrast errors introduced in this PR.

Design Reviewer PR Checklist

Items the design team is responsible for reviewing. 


General:

  • New or updated features introduced in this PR are developed mobile-first.
  • Breakpoint changes and regression images match those breakpoints.
  • This PR has been tested in all supported browsers at all breakpoints.

Developer Reviewer PR Checklist

Items the development team is responsible for reviewing.

General:

  • New code passes code quality standards set by industry standards.
  • The expected Storybook stories have been added or updated for the new or updated feature.
  • The expected unit tests have been added or updated for the new or updated feature.

Accessibility:

  • VoiceOver: Described content matches with what was expected.
  • Keyboard navigation: new or updated features and content are navigable via the keyboard.

@github-actions
Copy link

github-actions bot commented Nov 5, 2025

@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch 12 times, most recently from c47ef16 to 83bbb05 Compare November 12, 2025 21:29
@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch 10 times, most recently from c61f767 to 2829efc Compare November 17, 2025 13:44
Copy link
Member

@bryanpizzillo bryanpizzillo left a comment

Choose a reason for hiding this comment

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

Ok, a few things to get you started.

On over all note - the whole blog post is not a BEM element. So all the sub components (Categories, archives, etc) should be their own BEM elements. I noted about the blog post items below, but remember Categories and archives ARE ALSO FOR SERIES. So they should be something like cgdp-blog-archive and cgdp-blog-categories and definitely NOT cgdp-blog-post__categories.

This is good example for @andyvanavery31 why I had said we should mock both the blog post and series. So you should really add series to this as the templates are shared.

<main id="main-content" class="contentzone">
<div>
<article>
<div class="resize-content">
Copy link
Member

Choose a reason for hiding this comment

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

Instead of going through the HTML with what to keep and what to kill here is what the content should be like... I followed the work that was done for all the other inner pages.

<article>
  <h1 class="nci-heading-h1">{title}</h1>
  {{ NEW - Subscribe and Byline/date }}
  <div class="cgdp-inner-content-area">
	{{ field_image_article }}
	{{ field_intro_text }}
    <div class="cgdpl>
       <div class="contentzone">
          <div id="cgvBody">
            {{body}}
          </div>
       </div>
    </div>
  </div>
  <footer class="cgdp-article-footer">
		{{ field_citation }}
		{{ field_related_resources }}
      {{ NEW - PAGER HERE }}
		{{ public_use }}
	</footer> 
</article>

Also, nothing should be cgdp-blog-post. We are not going that crazy... The 2 styles we follow for custom bits are:

  1. Fields can be cgdp-field-<field_name> e.g., cgdp-field-intro-text. This is used when a field is on its own.
  2. Make a new BEM block like the Press Release Title Block. In this case the Page Title had a subtitle, and the dates appeared at the top, and the there is a weird contact us box.
    • You probably should take this approach for the subscribe/byline/date. The title should be able to stay in the template as I have it above -- PR title got junk above it, thus could not hang out on its own. So maybe, IDK, cgdp-blog-post-info as you BEM element to hold the subscribe link and byline/date.

Templates -

import footer from './blog-footer';

const html = `
<main id="main-content" class="contentzone">
Copy link
Member

Choose a reason for hiding this comment

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

I am iffy on <main> being here or in the main template. It should probably go into the thing you are using for the 2 columns, wrapping the left column where this is placed.

@@ -0,0 +1,29 @@
const footer = `
Copy link
Member

Choose a reason for hiding this comment

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

See my notes in blog-content that apply to the footer area. But:

  • The footer class is cgdp-article-footer
  • public use already exists and you should follow its classes
  • I also noted on the ticket that the comp is missing citations and related resources.
  • The pager should be something like cgdp-blog-post-pager (it is its own BEM element) (Also do you need the clearfix as this will be outside of .cgdpl??)

import imageLead from './img/hug.jpg';

export const leadImage = `
<div data-entity-embed-display="view_mode:media.image_display_article_medium" class="embedded-entity align-right">
Copy link
Member

Choose a reason for hiding this comment

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

So this is the old stuff. It needs to be the new image. I am going to assume the cgdp-image HTML you have below is correct, but this needs to be wrapped with the HTML in the field_image_article template I linked above. (TL;DR; <div class="cgdp-field-image-article"> should replace the <div data-entity-embed... you have above.

@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch 5 times, most recently from 5cd8449 to ababc45 Compare November 18, 2025 13:40
@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch 13 times, most recently from 8944af9 to fb24d45 Compare November 21, 2025 16:42
@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch 9 times, most recently from ee9e1f1 to 9afaa9b Compare December 4, 2025 13:48
Closes #5025
Closes #5070
@karlikpj karlikpj force-pushed the ticket/5025-blog-post-mock-html branch from 9afaa9b to 217dbab Compare December 4, 2025 16:02
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.

3 participants