-
Notifications
You must be signed in to change notification settings - Fork 9
feat: added project section to template #58
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAdds a conditional Projects section to Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Renderer as Template Renderer
participant Template as resume.handlebars
participant CSS as style.css
User->>Renderer: Render resume with data
Renderer->>Template: Evaluate template
alt resume.projects.length > 0
Template->>Template: Loop over projects
alt project.url present
Template-->>User: Render project name as <link target="_blank">
Template->>CSS: Apply project classes
else
Template-->>User: Render project name as plain text
end
opt project.entity or dates
Template-->>User: Render entity and date range (date helper)
Template->>CSS: Use .project_date / .project_entity spacing
end
opt project.website
Template-->>User: Render project website link
end
opt description or highlights
Template-->>User: Render markdown description and highlights list
end
else
Template-->>User: Skip Projects section
end
Renderer-->>User: Return final HTML + CSS
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. 📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
🔇 Additional comments (3)
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
🧹 Nitpick comments (3)
style.css (1)
85-87
: Align project_date layout with existing split column rules (use width/margin-bottom instead of margin-right).Other sections (.work_date, .study_date, etc.) use width: 30% + margin-bottom for consistent multi-column layout inside .split. Using only margin-right for .project_date can cause misalignment/wrapping in narrow viewports.
Apply this minimal change to match existing layout conventions:
.project_date { - margin-right: 2em; + margin-bottom: 10px; + width: 30%; }Additionally, to keep the three project columns aligned like work/education, consider adding matching rules for the sibling elements:
/* New — mirrors .work_* layout */ .project_entity, .project_date, .project_website { margin-bottom: 10px; width: 30%; }And for visual consistency with Work/Volunteer sections, optionally add:
/* New — optional consistency with #work/#volunteer */ #projects { padding-bottom: 5px; border-bottom: 1px var(--separator-color) solid; } #projects .item { margin: 25px 0; }resume.handlebars (2)
254-258
: Render dates without a dangling hyphen when endDate is missing.This mirrors the Work section’s current approach but still yields “start - ” when endDate is absent. Simple guard avoids that.
- {{#if startDate}} - {{{date startDate}}} - {{{date endDate}}} - {{/if}} + {{#if startDate}} + {{#if endDate}} + {{{date startDate}}} - {{{date endDate}}} + {{else}} + {{{date startDate}}} + {{/if}} + {{/if}}
247-253
: Optional: Support more JSON Resume fields (roles/type) if present.The schema allows roles (array) and type; rendering them improves fidelity without impacting existing resumes.
Example insertion near entity:
{{#if roles.length}} <div class="project_roles"> {{#each roles}} <span class="role">{{.}}{{#unless @last}}, {{/unless}}</span> {{/each}} </div> {{/if}} {{#if type}} <div class="project_type"><em>{{type}}</em></div> {{/if}}I can send a follow-up patch including minimal CSS for .project_roles/.project_type if you’d like.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
resume.handlebars
(1 hunks)style.css
(1 hunks)
🔇 Additional comments (2)
resume.handlebars (2)
232-283
: Overall: Nice, schema-aligned Projects section with consistent conditional rendering.Good use of existing helpers (date, link, markdown) and class naming mirrors other sections. Once the small issues above are addressed, this will fit cleanly into the template.
239-244
: Avoid duplicating the project linkLines 239–244 and 260–264 in
resume.handlebars
render both a clickable project title and a separate website link. This is inconsistent with the Work/Volunteer sections, which render only one link. Choose one of the following patterns for consistency:• Option A — keep the title plain and show the link only in the
project_website
block (matches Work/Volunteer):- {{#if url}} - <a href="{{url}}" target="_blank">{{name}}</a> - {{else}} - {{name}} - {{/if}} + {{name}}• Option B — make the title itself the link and drop the separate
project_website
block:- {{#if url}} - <div class="project_website"> - {{{link url}}} - </div> - {{/if}} + {{!-- website link omitted because title is already the link --}}Or, if the
{{{link}}}
helper supports custom link text:<h3 class="project_name"> {{#if url}} {{{link url name}}} {{else}} {{name}} {{/if}} </h3>I wasn’t able to locate the implementation of the
{{{link}}}
helper in the codebase to confirm whether it already addstarget="_blank"
andrel="noopener noreferrer"
. If you choose Option B, please verify that helper emits the necessary attributes for external links.
f122bb7
to
f682e8f
Compare
Add missing projects section support.
Implements the
projects
section from the JSON Resume schema that was missing from the template.Tried to match the existing design as much as possible.
Summary by CodeRabbit