-
Notifications
You must be signed in to change notification settings - Fork 0
Adds some posts and cleanups #246
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
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
0803394
docs
pftg e4cb911
add thoughtsbot styles
pftg dc53ca6
content
pftg 98e7e38
content
pftg da4c96d
thoughtbot styles
pftg 018ca70
fix
pftg 073eb90
fix tests
pftg 2f63ce4
cleanup
pftg e38a7ef
cleanup
pftg ac9fcc5
cleanup some ref
pftg 6a9b361
cleanup tests
pftg d1cfa82
adds github tests
pftg 008a169
refactor test files to use base_page_test_case
pftg 111af9b
disable tests
pftg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: unit-tests | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| unit: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 5 | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Ruby | ||
| uses: ruby/setup-ruby@v1 | ||
| with: | ||
| ruby-version: '3.4' | ||
| bundler-cache: true | ||
|
|
||
| - name: Run unit tests | ||
| env: | ||
| PRECOMPILED_ASSETS: '1' | ||
| TEST_SERVER_PORT: '1314' | ||
| run: bundle exec rake test TEST='test/unit/**/*_test.rb' | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -79,3 +79,4 @@ _reports/ | |
|
|
||
| _dest/ | ||
| _temp/ | ||
| _tmp/ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,183 @@ | ||
| # BEM Implementation Guide - JetThoughts Site | ||
|
|
||
| ## ✅ COMPLETED WORK | ||
|
|
||
| ### Phase 1: CSS File Organization (100% Complete) | ||
| - ✅ All numeric CSS files renamed to semantic names | ||
| - ✅ 737-layout.css → beaver-grid-system.css | ||
| - ✅ Updated template references in services.html | ||
| - ✅ Removed dependencies on numeric file names | ||
|
|
||
| ### Phase 2: BEM Architecture Foundation (100% Complete) | ||
| - ✅ Created `bem-layout-system.css` with comprehensive BEM patterns | ||
| - ✅ Mapped FL Builder classes to BEM equivalents: | ||
| - `fl-row` → `l-row` (layout) | ||
| - `fl-col` → `l-column` (layout) | ||
| - `fl-module` → `c-module` (component) | ||
| - `fl-builder` → `c-page-builder` (component) | ||
|
|
||
| ### Phase 3: Proof of Concept Implementation (100% Complete) | ||
| - ✅ Updated homepage hero partial with dual class system | ||
| - ✅ Added BEM classes alongside existing FL classes | ||
| - ✅ Integrated BEM CSS into homepage resource bundle | ||
| - ✅ Verified Hugo builds successfully with new CSS | ||
|
|
||
| ## 🎯 BEM ARCHITECTURE OVERVIEW | ||
|
|
||
| ### Layout Classes (l-*) | ||
| ```css | ||
| .l-row /* Base row container */ | ||
| .l-row--full-width /* Full width row */ | ||
| .l-row--fixed-width /* Constrained width row */ | ||
| .l-row--center /* Centered content row */ | ||
| .l-row--bg-photo /* Background photo row */ | ||
| .l-row__content-wrap /* Row content wrapper */ | ||
| .l-row__content /* Row content container */ | ||
|
|
||
| .l-column-group /* Column container */ | ||
| .l-column-group--equal-height /* Equal height columns */ | ||
| .l-column /* Individual column */ | ||
| .l-column__content /* Column content wrapper */ | ||
| ``` | ||
|
|
||
| ### Component Classes (c-*) | ||
| ```css | ||
| .c-page-builder /* Page builder container */ | ||
| .c-page-builder__content /* Page builder content */ | ||
|
|
||
| .c-module /* Base module */ | ||
| .c-module--heading /* Heading module */ | ||
| .c-module--rich-text /* Rich text module */ | ||
| .c-module--button /* Button module */ | ||
| .c-module__content /* Module content wrapper */ | ||
| ``` | ||
|
|
||
| ### Utility Classes (u-*) | ||
| ```css | ||
| .u-clearfix /* Clearfix utility */ | ||
| .u-clear /* Clear float utility */ | ||
| .u-sr-only /* Screen reader only */ | ||
| .u-hidden /* Hide element */ | ||
| .u-visible /* Show element */ | ||
| .u-visible--large /* Show on large screens */ | ||
| .u-visible--medium /* Show on medium screens */ | ||
| .u-visible--mobile /* Show on mobile screens */ | ||
| ``` | ||
|
|
||
| ## 🚀 IMPLEMENTATION EXAMPLE | ||
|
|
||
| ### Before (FL Builder): | ||
| ```html | ||
| <div class="fl-row fl-row-full-width fl-row-bg-photo fl-node-dn129i74qg6m"> | ||
| <div class="fl-row-content-wrap"> | ||
| <div class="fl-row-content fl-row-fixed-width"> | ||
| <div class="fl-col-group fl-col-group-equal-height"> | ||
| <div class="fl-col"> | ||
| <div class="fl-col-content"> | ||
| <div class="fl-module fl-module-heading"> | ||
| <div class="fl-module-content"> | ||
| <h1>Build faster. Scale smarter.</h1> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| ``` | ||
|
|
||
| ### After (Dual System): | ||
| ```html | ||
| <div class="fl-row fl-row-full-width fl-row-bg-photo fl-node-dn129i74qg6m l-row l-row--full-width l-row--bg-photo l-row--center"> | ||
| <div class="fl-row-content-wrap l-row__content-wrap"> | ||
| <div class="fl-row-content fl-row-fixed-width l-row__content l-row__content--fixed-width"> | ||
| <div class="fl-col-group fl-col-group-equal-height l-column-group l-column-group--equal-height"> | ||
| <div class="fl-col l-column"> | ||
| <div class="fl-col-content l-column__content"> | ||
| <div class="fl-module fl-module-heading c-module c-module--heading"> | ||
| <div class="fl-module-content c-module__content"> | ||
| <h1>Build faster. Scale smarter.</h1> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| ``` | ||
|
|
||
| ## 📋 NEXT STEPS FOR FULL IMPLEMENTATION | ||
|
|
||
| ### Priority 1: Expand BEM to Core Templates | ||
| 1. **About Page**: Apply BEM classes to main layout elements | ||
| 2. **Services Page**: Update with BEM dual-class system | ||
| 3. **Contact Page**: Implement BEM structure | ||
| 4. **Blog Templates**: Apply BEM to list and single templates | ||
|
|
||
| ### Priority 2: Component Library Development | ||
| 1. **Navigation Component**: Create `c-navigation` BEM patterns | ||
| 2. **Card Components**: Develop `c-card` variations | ||
| 3. **Form Components**: Build `c-form` module system | ||
| 4. **Button Components**: Expand `c-button` variations | ||
|
|
||
| ### Priority 3: Utility System Expansion | ||
| 1. **Spacing Utilities**: Add margin/padding utilities | ||
| 2. **Typography Utilities**: Font size, weight, color utilities | ||
| 3. **Color Utilities**: Background and text color classes | ||
| 4. **Layout Utilities**: Flexbox and grid helper classes | ||
|
|
||
| ## 🔧 IMPLEMENTATION STRATEGY | ||
|
|
||
| ### Safe Migration Approach | ||
| 1. **Dual Class System**: Keep FL classes while adding BEM | ||
| 2. **Progressive Enhancement**: Add BEM to new features first | ||
| 3. **Template-by-Template**: Migrate one template at a time | ||
| 4. **Testing Each Step**: Validate layout integrity after each change | ||
|
|
||
| ### Automation Opportunities | ||
| 1. **Search & Replace Scripts**: Bulk update common patterns | ||
| 2. **Template Validation**: Automated checking for BEM compliance | ||
| 3. **CSS Analysis**: Identify unused FL classes for removal | ||
| 4. **Performance Monitoring**: Track CSS bundle size improvements | ||
|
|
||
| ## 📊 SUCCESS METRICS | ||
|
|
||
| ### Code Quality Improvements | ||
| - **Maintainability**: BEM classes are self-documenting | ||
| - **Modularity**: Components can be reused across templates | ||
| - **Consistency**: Standardized naming conventions | ||
| - **Performance**: Optimized CSS specificity | ||
|
|
||
| ### Technical Benefits | ||
| - **Faster Development**: Predictable class patterns | ||
| - **Easier Debugging**: Clear component boundaries | ||
| - **Better Collaboration**: Shared vocabulary for designers/developers | ||
| - **Future-Proof Architecture**: Scalable naming system | ||
|
|
||
| ## 🚨 IMPORTANT NOTES | ||
|
|
||
| ### FL Node IDs (630 unique patterns) | ||
| The existing FL node IDs (fl-node-[hash]) are too numerous to migrate systematically. | ||
| **Recommendation**: Leave these as-is and focus on structural improvements only. | ||
|
|
||
| ### Gradual Migration Timeline | ||
| - **Week 1-2**: Core templates (homepage, about, services) | ||
| - **Week 3-4**: Secondary templates (blog, contact, careers) | ||
| - **Week 5-6**: Component library development | ||
| - **Week 7-8**: Utility system expansion and optimization | ||
|
|
||
| ### Testing Requirements | ||
| - Hugo build validation after each template update | ||
| - Visual regression testing on key pages | ||
| - Cross-browser compatibility verification | ||
| - Performance impact assessment | ||
|
|
||
| --- | ||
|
|
||
| ## 🎉 CURRENT STATUS | ||
|
|
||
| **PHASE COMPLETION STATUS**: ✅ CSS Architecture Foundation - 100% Complete | ||
|
|
||
| The BEM foundation is now in place and ready for expansion. The dual-class system allows for safe migration while maintaining existing functionality. The next developer can continue with template migration or component development using the established patterns. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Ensure precompiled site exists at the path tests read.
CI sets PRECOMPILED_ASSETS=1, so Hugo won’t build in tests. Verify HTML is present under the expected public dir.
🏁 Script executed:
Length of output: 207
Precompiled Hugo output missing — add prebuilt HTML or build site in CI
CI sets PRECOMPILED_ASSETS=1 so tests expect static HTML; verification script returned "Missing precompiled HTML under _dest/public-test" (fd: Search path '_dest/public-test' is not a directory).
File: .github/workflows/test-unit.yml (lines 20–24). Action: add the precompiled site to _dest/public-test (or set HUGO_PUBLIC_DIR/HUGO_DEFAULT_PATH to an existing prebuilt public dir), or change the workflow to build the site / unset/override PRECOMPILED_ASSETS so tests can run.
🤖 Prompt for AI Agents