Skip to content
Open
Show file tree
Hide file tree
Changes from 178 commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
46e2a4c
UPDATE: components in financial page
OmarHG098 Aug 21, 2025
9772ddd
ADD: new paymment plans component
OmarHG098 Aug 21, 2025
c8b2159
Merge branch 'development' into revamp/finance-page
OmarHG098 Aug 21, 2025
5d83769
UPDATE: payment component
OmarHG098 Aug 21, 2025
f865d13
UPDATE: change component order
OmarHG098 Aug 21, 2025
16ec99d
ADD: template rule
OmarHG098 Aug 22, 2025
550c0b0
Merge branch 'breatheco-de:master' into revamp/finance-page
OmarHG098 Aug 22, 2025
980e1da
UPDATE: fiancial page components
OmarHG098 Aug 22, 2025
00a20be
feat: Add SafeReCAPTCHA wrapper to prevent crashes without GATSBY_CAP…
ArielCalisaya Aug 29, 2025
4decdad
(SafeReCAPTCHA): use forwardRef import directly from react
ArielCalisaya Aug 29, 2025
43a272e
updated landing "Job Guarantee"
ArielCalisaya Aug 29, 2025
8786caf
update content of apply page
ArielCalisaya Aug 31, 2025
bcce545
visual_fix(apply.us): update paragraph styling in header section
ArielCalisaya Aug 31, 2025
80f1c46
docs: fix punctuation in job guarantee text
ArielCalisaya Aug 31, 2025
bbfdaa8
UI fixes: update payment UI and content for better clarity
ArielCalisaya Sep 1, 2025
cee74be
style(PricesAndPayment): update background colors and layout spacing
ArielCalisaya Sep 2, 2025
69eb36e
Add React import in SafeReCAPTCHA component for consistency. Define i…
ArielCalisaya Sep 2, 2025
7efb953
Use direct React.forwardRef instead of importing forwardRef separately
ArielCalisaya Sep 2, 2025
c2fae59
Merge remote-tracking branch 'upstream/master' into development
ArielCalisaya Sep 2, 2025
1d5b289
Merge branch 'revamp/finance-page' of https://github.com/OmarHG098/we…
OmarHG098 Sep 2, 2025
74071b1
Improve right section content with clearer bullet points in spanish v…
ArielCalisaya Sep 2, 2025
6c49dc8
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 2, 2025
2c62b13
UPDATE: finance page
OmarHG098 Sep 2, 2025
6fbaebe
Add: Explaining Gatsby markdown processing behavior
ArielCalisaya Sep 2, 2025
48aa393
style: format SafeReCAPTCHA component and its usage
ArielCalisaya Sep 2, 2025
1231a89
Merge remote-tracking branch 'omar-changes/revamp/finance-page' into …
ArielCalisaya Sep 2, 2025
8f03463
Merge branch 'omar/financing-pages' into update/financing-page
ArielCalisaya Sep 2, 2025
d2cfd05
feat(WeTrust): add full background option for we_trust section
ArielCalisaya Sep 2, 2025
2792083
docs(landing): update job guarantee page content and structure
ArielCalisaya Sep 2, 2025
9877451
feat(WeTrust): add label support and improve responsive styling
ArielCalisaya Sep 2, 2025
7de27f4
feat(WeTrust): add bg_full field and improve box label styling
ArielCalisaya Sep 2, 2025
c734630
style(FaqCard): adjust width to 45rem for better responsiveness
ArielCalisaya Sep 2, 2025
bdc5bdb
feat(payment-plans): enhance payment options UI and content structure
ArielCalisaya Sep 3, 2025
b82d940
style: formatting and spacing in css and js files
ArielCalisaya Sep 3, 2025
ae35186
Add background wrapper and full-width support
ArielCalisaya Sep 3, 2025
355efba
improve code readability by removing unnecessary line breaks
ArielCalisaya Sep 3, 2025
4845914
feat: add double action CTA component with career consultation and ne…
ArielCalisaya Sep 3, 2025
6b9b5b9
feat(DoubleActionCTA): improve styling and update success messages
ArielCalisaya Sep 4, 2025
49bff95
feat(WeTrust): add label support and improve component styling
ArielCalisaya Sep 4, 2025
9388258
code formatting and readability across components
ArielCalisaya Sep 4, 2025
8accaf6
feat: improve button responsiveness in home template
ArielCalisaya Sep 4, 2025
4c036b5
styleformatting
ArielCalisaya Sep 4, 2025
da6bc9a
fix: change paragraph to paragraph_html in Header component
ArielCalisaya Sep 4, 2025
b1bb352
style(components): improve readability of Header component props form…
ArielCalisaya Sep 4, 2025
d76610d
Add DataTable component
ArielCalisaya Sep 4, 2025
2ee3b18
style: clean up code formatting and fix indentation
ArielCalisaya Sep 4, 2025
7c8f13e
fix(Sections): Unify conditional rendering pattern with dangerouslySe…
ArielCalisaya Sep 4, 2025
202296f
style(verify-node-version): standardize string quotes and improve err…
ArielCalisaya Sep 4, 2025
a1fd497
feat: node version verification script with dynamic command message
ArielCalisaya Sep 5, 2025
797d1bf
style: standardize string quotes in verify-node-version.js
ArielCalisaya Sep 5, 2025
8f161bb
feat: update payment plans and styling across components
ArielCalisaya Sep 5, 2025
6e699d9
Merge branch 'page/program-comparision' into merge/financing-page_and…
ArielCalisaya Sep 5, 2025
ce66c5a
feat(DataTable): enhance table component with icon support and styling
ArielCalisaya Sep 5, 2025
3bb2da1
style: fix indentation and formatting in financial and DataTable comp…
ArielCalisaya Sep 5, 2025
18a8875
feat(financial): add contact form component and translations
ArielCalisaya Sep 5, 2025
13d06e2
fix(financial): handle undefined data_table in financial template
ArielCalisaya Sep 5, 2025
697872e
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 5, 2025
41d6f64
Merge branch 'merge/financing-page_and_program-comparison' into devel…
ArielCalisaya Sep 5, 2025
264f89d
feat(DynamicForm): replace ContactForm with dynamic configurable form…
ArielCalisaya Sep 5, 2025
3f1cd22
style: format code
ArielCalisaya Sep 5, 2025
9352b5d
docs(program-comparison): update currency format from USD to $ symbol
ArielCalisaya Sep 6, 2025
5242a94
fix(verify-node-version): swap nvm install and switch version instruc…
ArielCalisaya Sep 6, 2025
7957b83
feat(ChooseYourProgram): add conditional rendering and container styles
ArielCalisaya Sep 6, 2025
54c10ef
feat(program-comparison): add choose program section to comparison page
ArielCalisaya Sep 6, 2025
4b6e9c3
feat(DataTable): add alternating row colors and clean up commented code
ArielCalisaya Sep 6, 2025
1c573dc
refactor(DataTable): extract table components and constants into sepa…
ArielCalisaya Sep 6, 2025
c3cfb84
style(DataTable): standardize string quotes and improve code formatting
ArielCalisaya Sep 6, 2025
a19c4ba
docs(DataTable): improve JSDoc comments with type definitions
ArielCalisaya Sep 6, 2025
ab71ab0
docs(DataTable): improve comments in constants file
ArielCalisaya Sep 6, 2025
0ae5291
style(DataTable): clean up formatting in constants file
ArielCalisaya Sep 6, 2025
d4d95da
feat(DataTable): add button variants and improve styling consistency
ArielCalisaya Sep 7, 2025
d3790a4
style(DataTable): fix formatting and indentation in constants and com…
ArielCalisaya Sep 7, 2025
c1c94a1
fix(actions): add error handling to form submission functions
ArielCalisaya Sep 8, 2025
7207ce2
formatting in actions.js
ArielCalisaya Sep 8, 2025
51d401b
refactor: remove DynamicForm component and related files
ArielCalisaya Sep 9, 2025
d721260
feat(Header): add color variant and text wrap support
ArielCalisaya Sep 10, 2025
b996079
feat(application): add application process page with stepper component
ArielCalisaya Sep 10, 2025
a20ee61
docs(DoubleActionCTA): update comment from Spanish to English
ArielCalisaya Sep 10, 2025
7355a30
feat(application-process): enhance stepper hover effects and add appl…
ArielCalisaya Sep 10, 2025
66ecfa0
style(Button): improve readability by breaking long lines in Button c…
ArielCalisaya Sep 10, 2025
7fc05c8
docs: fix formatting in job guarantee stats
ArielCalisaya Sep 10, 2025
446f1c3
feat(success-stories): update content and add rating reviews section
ArielCalisaya Sep 10, 2025
cabb2ae
update partner section titles in success stories
ArielCalisaya Sep 10, 2025
f4576b6
Add success stories title and description to testimonials components …
ArielCalisaya Sep 10, 2025
e926700
feat(success-stories): enhance success stories page with featured tes…
ArielCalisaya Sep 11, 2025
ad1cec6
code formatting and readability
ArielCalisaya Sep 11, 2025
5124c66
fix(Testimonials): filter testimonials with student_thumb
ArielCalisaya Sep 11, 2025
fcf06b5
refactor(testimonials): improve testimonial filtering and image handling
ArielCalisaya Sep 11, 2025
916e8b8
feat(application-process): add image to header
ArielCalisaya Sep 12, 2025
7353568
style: remove unnecessary parentheses around svg_image prop
ArielCalisaya Sep 12, 2025
2a0ae55
feat(testimonials): add james testimonial and improve layout
ArielCalisaya Sep 12, 2025
88b40cc
code formatting in success stories components
ArielCalisaya Sep 12, 2025
9b37ea2
Merge remote-tracking branch 'upstream/master'
ArielCalisaya Sep 12, 2025
88133a2
Merge branch 'master' into dev-2
ArielCalisaya Sep 12, 2025
795ae80
Merge branch 'development' into development
alesanchezr Sep 12, 2025
0c8c6c7
feat(financial): add custom CTA to financial pages and update transla…
ArielCalisaya Sep 12, 2025
a6b7cbd
code readability with consistent formatting
ArielCalisaya Sep 12, 2025
4c25117
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 12, 2025
85e8dd0
Merge branch 'development' of github.com:ArielCalisaya/website-v2 int…
ArielCalisaya Sep 12, 2025
2260bca
docs(testimonials): update student name and slug in us testimonials
ArielCalisaya Sep 12, 2025
3ac6af2
Merge 'upstream/development' into development and fix conflicts
ArielCalisaya Sep 15, 2025
13d58c7
formatting and trailing commas
ArielCalisaya Sep 15, 2025
fce89d5
fix: correct student name spelling and update testimonial content
ArielCalisaya Sep 15, 2025
e44ee70
refactor(cta): simplify financial page cta components and content
ArielCalisaya Sep 15, 2025
06ec254
style(DoubleActionCTA): improve code formatting and readability
ArielCalisaya Sep 15, 2025
0c85135
feat(prework): add prework page with content and styling
ArielCalisaya Sep 16, 2025
682efef
style: format prework.js with consistent quotes and spacing
ArielCalisaya Sep 16, 2025
c68aafc
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 16, 2025
e393f65
clean(DoubleActionCTA): remove unused lang prop
ArielCalisaya Sep 17, 2025
ecd59a1
feat(application-process): add DoubleActionCTA and hide global CTA
ArielCalisaya Sep 17, 2025
fc08689
refactor(DataTable): remove constants.js and consolidate styling
ArielCalisaya Sep 17, 2025
0754233
refactor: simplify table-components constants
ArielCalisaya Sep 17, 2025
bebdb8d
style(table-components): improve code formatting and readability
ArielCalisaya Sep 17, 2025
d91cd86
improve UI of CTA and background color
ArielCalisaya Sep 17, 2025
f88b74c
add description to choose program component
OmarHG098 Sep 17, 2025
2b62dfe
Merge pull request #1 from OmarHG098/patch-1
ArielCalisaya Sep 17, 2025
5d88c88
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 17, 2025
4957233
Merge branch 'development' into development
ArielCalisaya Sep 17, 2025
3ebe3f7
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya Sep 17, 2025
5f64f47
REFACTOR: double cta component uses static query, REFACTOR: location …
OmarHG098 Sep 17, 2025
724acd9
UPDATE: group 6617 image
OmarHG098 Sep 17, 2025
a5c898e
ADD: application process to index page
OmarHG098 Sep 17, 2025
49796d1
Merge pull request #2 from OmarHG098/updates/ariel-development
ArielCalisaya Sep 18, 2025
a2bb1eb
Merge remote-tracking branch 'upstream/development' into development
ArielCalisaya Sep 18, 2025
008b661
code formating
ArielCalisaya Sep 18, 2025
382fdd1
update awards page
ArielCalisaya Sep 18, 2025
48c5e50
code format
ArielCalisaya Sep 18, 2025
c5bed5c
feat(prework): refactor components and update content structure
ArielCalisaya Sep 22, 2025
5688709
style(components): code formatting and consistency
ArielCalisaya Sep 22, 2025
67df2ff
feat(navbar): add program comparison link in navbar and htmlTitle sup…
ArielCalisaya Sep 23, 2025
b77b1c7
style: code formatting and indentation in multiple components
ArielCalisaya Sep 23, 2025
6dd32dc
feat(partners): update partners page content
ArielCalisaya Sep 23, 2025
4837b37
style(partners): indentation and trailing whitespace in partners.js
ArielCalisaya Sep 23, 2025
43ad050
feat(partners): update partner content and UI components
ArielCalisaya Sep 24, 2025
9e3ede1
refactor(marquee): simplify marquee component and improve performance
ArielCalisaya Sep 24, 2025
5279b4e
Update index.js
alesanchezr Sep 24, 2025
78fc54f
feat(prework): update prework page content and styling
ArielCalisaya Sep 24, 2025
0e7110f
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya Sep 24, 2025
65b6f9c
Merge and fix conflicts
ArielCalisaya Sep 24, 2025
22d0788
feat(Landing): add hiring data variable and fix job guarantee formatting
ArielCalisaya Sep 24, 2025
fe97a9d
style(partners): adjust spacing and background in partners template
ArielCalisaya Sep 24, 2025
bf7256d
docs(navbar): update partner link title in navbar us yaml
ArielCalisaya Sep 24, 2025
68f83b8
ADD: tracking to cta button on succes-stories
OmarHG098 Sep 24, 2025
c71381d
docs(footer): update program names and add cybersecurity in footer
ArielCalisaya Sep 24, 2025
b98bcbe
feat(Partners): update styling and content structure
ArielCalisaya Sep 24, 2025
f999006
fix(WorkTogether): adjust spacing and visibility based on showImages …
ArielCalisaya Sep 24, 2025
cb111fe
style(prework): update styling and spacing for better visual consistency
ArielCalisaya Sep 24, 2025
8cc91a7
style(prework): adjust padding and margins for better spacing
ArielCalisaya Sep 25, 2025
918fb46
comment out unused video container section
ArielCalisaya Sep 25, 2025
35919e5
feat(partners): update partner images and testimonials text
ArielCalisaya Sep 25, 2025
2fda74e
UPDATE: Refactor DoubleActionCTA component
OmarHG098 Sep 25, 2025
be82216
REMOVE: Global DoubleActionCTA injection
OmarHG098 Sep 25, 2025
ff889ff
UPDATE: Add DoubleActionCTA to course templates
OmarHG098 Sep 25, 2025
96da277
REMOVE: hideGlobalCTA from page YAML files
OmarHG098 Sep 25, 2025
a439a3e
UPDATE: Data Science course name
OmarHG098 Sep 25, 2025
f8f3c7d
UPDATE: Template DoubleActionCTA integration
OmarHG098 Sep 25, 2025
6fec11c
docs: update prework page header images
ArielCalisaya Sep 25, 2025
e9fe7c8
Merge pull request #3 from OmarHG098/ariel-development
ArielCalisaya Sep 25, 2025
e766e4d
fix(prework): update page titles and button texts for better readability
ArielCalisaya Sep 26, 2025
b7ca7d9
style: adjust spacing and layout in components
ArielCalisaya Sep 26, 2025
ddad849
Merge remote-tracking branch 'origin/development' into development
ArielCalisaya Sep 26, 2025
568dba3
feat(staff): update staff job titles and add new team member
ArielCalisaya Sep 26, 2025
836b450
fix: update Spanish URLs in prework page to correct paths
ArielCalisaya Sep 26, 2025
f694b3d
feat(the-academy): update content and layout for academy pages
ArielCalisaya Sep 26, 2025
8d34073
style: replace single quotes with double quotes and remove console log
ArielCalisaya Sep 26, 2025
e9fd66d
chore: remove Macarena Rebolledo from staff data files
ArielCalisaya Sep 26, 2025
1be83df
docs: update credential statistics in US and ES locales
ArielCalisaya Sep 26, 2025
76974aa
feat(the-academy): update content and styling for academy pages
ArielCalisaya Sep 26, 2025
49229ea
feat(Badges): add bg_full prop to make background transparent
ArielCalisaya Sep 26, 2025
c6f1ffe
style(Badges): standardize quote usage in background prop
ArielCalisaya Sep 26, 2025
ef0ead6
feat(content): add links to prework pages in multiple course and land…
ArielCalisaya Sep 26, 2025
de45470
docs(blog): update blog page hero content
ArielCalisaya Sep 28, 2025
760392b
feat(staff): update staff images and linkedin url
ArielCalisaya Sep 28, 2025
7a7a4c0
feat(press): enhance press page with awards section and marquee anima…
ArielCalisaya Sep 30, 2025
1939855
style(components): improve code formatting and readability
ArielCalisaya Sep 30, 2025
39388d4
feat: update students and projects page content and styling
ArielCalisaya Sep 30, 2025
fbe84d0
fix: remove optional chaining from slug replacement
ArielCalisaya Sep 30, 2025
d93ef5b
docs(press): update press page heading to plural form
ArielCalisaya Sep 30, 2025
24b2f12
feat(utils): add flattenFormData utility for form processing
ArielCalisaya Sep 30, 2025
d347a18
style(utils): format code with consistent string quotes and line breaks
ArielCalisaya Sep 30, 2025
1b8f923
docs: update students and projects page header text
ArielCalisaya Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions .cursor/rules/all-template-rule.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
---
globs: src/templates/*
alwaysApply: false
---

### Rule: Template Architecture and YAML-Driven Rendering
- **Purpose**: Maximize flexibility via YAML configuration while minimizing direct code edits to ensure maintainable, readable code for AI systems and human developers.
- **Scope**: All files in `src/templates/` except foundational base templates (`_baseLayout.js`, `_baseLandingLayout.js`, `_baseBlogLayout.js`).
- **Exclusions**: Do not enforce these rules on `_base*` templates; they serve as shared dependencies.
- **Version**: v1.0, 2025-08-21

### 1) YAML-First Composition
- **Single source of truth**: All visual content, order, and most styling must come from YAML.
- **Components array (preferred)**: Templates SHOULD support a `components` array in their page YAML to describe page sections and order.
```yaml
components:
- name: "hero"
position: 1 #EXAMPLE
layout: "header"
heading: { text: "Title", font_size: ["40px","34px","30px","26px","22px"] }
sub_heading: { text: "Subtitle", style: '{"textAlign":"left"}' }

- name: "selling_points"
position: 3 #NON-SECUENCIAL NUMBERS TO ENSURE QUICK ADDITIONS
layout: "two_column"
proportions: [6, 6]
background: "veryLightBlue3" # resolves Color token or raw CSS color
left:
image: { src: "/images/example.png", style: '{"backgroundSize":"contain"}' }
right:
heading: { text: "Why us", style: '{"fontWeight":700}' }
sub_heading: { text: "Clear value" }
bullets:
item_style: ''
items:
- { text: "First point" }
- { text: "Second point" }
button: { text: "Learn more", path: "/path", background: "black", color: "white" }
```
- **Fallback support**: If a template historically uses named blocks (e.g., `two_column`, `iconogram`), continue to support them, but prioritize migration to `components`.
- **Language**: Pages should have `.us.yml` and `.es.yml` with mirrored keys when both languages exist.

### 2) Dynamic Component Management (landing_a.js as the model)
- **Registry-based rendering**: Use a layout registry (e.g., `landingSections`) that maps `layout` → React component.
- **Dynamic loop**: Render components by iterating the YAML `components` array sorted by `position`.
```javascript
// Pseudocode pattern for templates
import { landingSections } from "../components/Landing"; // shared registry

{yml.components
?.slice()
.sort((a, b) => (a.position || 0) - (b.position || 0))
.map((section, idx) => {
const layout = section.layout;
const Renderer = landingSections[layout];
if (!Renderer) return null; // Guard unknown layouts
return (
<Renderer
key={section.name || `${layout}-${idx}`}
yml={section}
session={session}
/>
);
})}
```
- **Props pass-through**: Prefer passing the entire section via `yml={section}` rather than reconstructing props in the template.
- **Avoid hardcoding**: Do not hardcode component ordering, margins, or colors; default these in components and allow YAML overrides.

### 3) Styling Standards (design system only)
- **Use design system**: Import from `components/Styling` and `components/Heading`.
- Typography: `H1..H5`, `Paragraph`, `Small`
- UI primitives: `Button`, `Anchor`, `Img`, `ImgV2`, `StyledBackgroundSection`
- Tokens: `Colors`
- **Inline style policy**:
- YAML may include a `style` field (JSON string) passed to `style` for per-page variations.
- Do not author ad-hoc style objects in templates; prefer component props and design tokens.
- **Color resolution**: Components must resolve color tokens as `Colors[value] || value` to accept both semantic tokens and raw CSS (e.g., `#F4F9FF`).
- **Variants**: Where applicable, implement object/function-based variants (see `styling-component` rule) instead of if/else chains.

### 4) GraphQL Query Standards
- **Minimize overfetch**: Query only the fields used by components.
- **Consistent keys**: Prefer `heading`, `sub_heading`, `bullets`, `content`, `button`, `image`, `background`, `proportions` across templates.
- **Language scoping**: Always filter by `fields.lang`.
- **Component-friendly queries**:
- With `components` arrays, query nested fields broadly enough for typical component props without page-specific coupling.
```graphql
# Example shape for a page with components
allPageYaml(filter: { fields: { file_name: { eq: $file_name }, lang: { eq: $lang } } }) {
edges {
node {
seo_title
components {
name
position
layout
background
proportions
left { image { src style shadow link } heading { text font_size style } sub_heading { text font_size style } bullets { item_style items { heading text icon icon_color } } content { text font_size style path } button { text color background hover_color path } boxes { icon title text } }
right { image { src style shadow link } heading { text font_size style } sub_heading { text font_size style } bullets { item_style items { heading text icon icon_color } } content { text font_size style path } button { text color background hover_color path } boxes { icon title text } }
}
}
}
}
```
- **Backwards compatibility**: If a template still uses named sections (e.g., `two_column`), include those fields until migrated.

### 5) Component Contracts
- **TwoColumn**:
- Accepts: `left`, `right`, `proportions`, `alignment`, `background`.
- Background: `background={Colors[background] || background}`.
- `left`/`right` accept: `image`, `heading`, `sub_heading`, `bullets`, `content`, `button`, `boxes`.
- Avoid hardcoded paddings/margins; expose YAML overrides (e.g., `gap_tablet`, `padding_tablet`).
- **Iconogram, PricesAndPayment, PaymentPlans, etc.**:
- Map props 1:1 with YAML keys.
- Gracefully handle missing optional fields.

### 6) Avoiding Hardcoded Values
- No hardcoded colors, copy, or component order in templates.
- Use `Colors` tokens; allow raw CSS fallback.
- Spacing defaults live in components; override via YAML when needed.

### 7) Error Tolerance and Defaults
- Guard against missing keys:
- Use `Array.isArray(...)` before `.map`.
- Render nothing for absent optional blocks.
- Provide sensible defaults for sizes/spaces.

### 8) Migration Guidance
- New templates SHOULD adopt the `components` array pattern (see `landing_a.js`).
- Existing templates MAY keep legacy sections but SHOULD migrate progressively.
- When adding a new layout type, update the shared registry and document the YAML shape.

### 9) Testing and Review
- All changes must pass `npm run test`.
- ESLint and accessibility checks must be green.
- Review checklist:
- No hardcoded values replaceable by YAML.
- GraphQL queries fetch only needed fields.
- Color tokens resolved correctly (`Colors[token] || token`).

### 10) Examples and Improvements (from landing_a.js)
- Use `components` ordering via `position` for predictable rendering.
- Pass entire section objects to components to reduce prop churn.
- Improvements to replicate across templates:
- Centralize the component registry for reuse.
- Normalize prop names across layouts (`heading`, `sub_heading`, `bullets`, `content`, `button`).
- Ensure every layout supports `background` consistently.

### Enforcement
- **Tools**: Code review, ESLint, CI checks.
- **Checks**:
- Templates render from YAML-driven inputs.
- No hardcoded values where YAML exists.
- GraphQL queries match component needs; no unused fields.
2 changes: 1 addition & 1 deletion .cursor/rules/component-consistency.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,4 @@ Standardize component structure and behavior for maintainability, scalability, a
**Note:**
- Link this file in the README or contributing guide for team visibility.
- Review this rule regularly to keep it relevant and up to date.
- **Failure to follow the Gatsby Node integration and YAML file requirements can result in time-consuming, preventable errors during build and deployment.**
- **Failure to follow the Gatsby Node integration and YAML file requirements can result in time-consuming, preventable errors during build and deployment.**
14 changes: 14 additions & 0 deletions gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,17 @@ exports.onCreateNode = ({ node, getNode, actions, ...rest }) => {
"ScholarshipProjectsYaml",
"ScholarshipSuccessCasesYaml",
"JobGuaranteeSmallYaml",
"PaymentPlansYaml",
"FaqYaml",
"AdmissionsStaffYaml",
"DoubleActionCtaYaml",
"DynamicFormYaml",
].includes(node.internal.type)
) {
let url = null;
if (node.internal.type == "MarkdownRemark") {
// IMPORTANT: Any /src/**/*.md file will attempt to be created as a page or blog post

// skip without formatting
if (!node.frontmatter) {
logger.error("Missing frontmatter on node: " + node.id);
Expand Down Expand Up @@ -777,6 +782,15 @@ exports.createSchemaCustomization = ({ actions }) => {
academies: [String]
slug: String
}
type CourseYamlCourse_instructorsInstructors {
image: File
}
type DataScienceYamlCourse_instructorsInstructors {
image: File
}
type EngineeringYamlCourse_instructorsInstructors {
image: File
}
`;
createTypes(typeDefs);
};
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@
"format"
],
"scripts": {
"start": "gatsby develop -H 0.0.0.0 -o",
"start": "node ./verify-node-version.js 'development server' && npm run clean && gatsby develop -H 0.0.0.0 -o",
"test": "sh ./src/test/test.sh",
"prompts": "sh ./src/prompt/prompt.sh",
"start:storybook": "start-storybook -p 9000 -c .storybook",
"build": "npm run test && node ./src/utils/makePagesDictionary.js && node ./src/test/test.redirect.js && node ./src/utils/makePostsDictionary.js && node ./src/utils/makeRedirectsDictionary.js && gatsby build",
"build": "node ./verify-node-version.js 'build process' && npm run test && node ./src/utils/makePagesDictionary.js && node ./src/test/test.redirect.js && node ./src/utils/makePostsDictionary.js && node ./src/utils/makeRedirectsDictionary.js && gatsby build",
"build:gatsby": "gatsby build",
"makeDictionaries": "node ./src/utils/makePagesDictionary.js && node ./src/utils/makeRedirectsDictionary.js",
"serve": "gatsby serve -o -p 8080",
Expand Down
2 changes: 1 addition & 1 deletion prompts/dates.prompt
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ For the program and syllabus: Cybersecurity PT 16wk we have the following upcomi
- Starting on October 15, 2025 on America/New_York timezone and cyber security pt-16 weeks schedule.
- Starting on November 17, 2025 on America/Mexico_City timezone and Lunes Miercoles y Viernes 1830 a 2130 MEX schedule.
For the program and syllabus: Full-Stack Software Developer FT - 9wks we have the following upcoming dates:
- Starting on October 27, 2025 on America/New_York timezone and Boca Code - Software Engineering FT schedule.
- Starting on October 27, 2025 on America/New_York timezone and Boca Code - Software Engineering FT schedule.
Loading