fresh-standard / fresh-themes

Multiformat themes and skins for your technical résumé/CV.
MIT License
194 stars 63 forks source link

Projects partial doesn't match the FRESH schema #30

Closed evanplaice closed 8 years ago

evanplaice commented 8 years ago

I'm currently implementing an Angular2 version of one of the 'modern' template to use with a resume generated with HackMyResume (latest). I hit a stopping point when I reached the 'projects' section.

format: FRESH@0.3.0 version: 0.1.0

Schema:

 "projects": [
    {
      "title": "Awesome Project #1",
      "category": "FOSS",
      "url": "http://project-page.org",
      "repo": "https://project-repo.com",
      "media": [],
      "role": "Contributor",
      "summary": "A summary of your role on the project. Can include **Markdown** and inline <strong>HTML</strong> formatting.",
      "description": "A description of the project. Can include **Markdown** and inline <strong>HTML</strong> formatting.",
      "highlights": [],
      "keywords": []
    }
  ],

Partial:

{{#section 'projects'}}
<hr>
<section id="projects">
  {{#> header-projects }}
    {{> header-icon _title="PROJECTS" _section="projects" _hdricon=(lookup . '_icon') }}
  {{/header-projects}}
  {{#each r.projects }}
    {{#> body-projects }}
    <div>
    <h3>{{#if role}}<em>{{camelCase role }}</em>,{{/if}}
    {{#if url}}
    <a href="{{{ url }}}">{{ title }}</a>
    {{else}}
    {{ title }}
    {{/if}}
    </h3>
    {{#if start}}<span class="tenure">{{dateRange .}}</span>{{/if}}
    {{{ summary }}}
    {{> highlights }}
    {{#if keywords}}<span class="keywords">{{#each keywords}}{{{ . }}} {{/each}}</span>{{/if}}    
    </div>
    {{/body-projects }}
  {{/each}}
</section>
{{/section}}
Status API Training Shop Blog About Pricing
evanplaice commented 8 years ago

I have stumbled on many examples where this a mismatch between template<->schema making this issue too specific to be useful.

I think it would be more useful to address this from a global perspective. Revise the schema, then update the templates to match the schema piecemeal.

hacksalot commented 8 years ago

Thanks @evanplaice sorry for the delay (busy weekend). Quick question, what version of HMR / FRESCA / fresh-themes are you using? The latest dev of HMR is a few dozen commits ahead of master and the same for the other projects. The latest version of the schema should be in sync with the latest themes version, but both will need a couple more refactorings at least before dropping the -beta or 0.x designator.

evanplaice commented 8 years ago

@hacksalot No worries. Good things take time, especially in OSS.

That makes sense... I've been using master branch of this repo as a reference. The main 'pain point' I'm experiencing is the lack of consistency.

If I work off of resume-starter the inconsistencies aren't very significant and could be corrected with a handful of patches.

If I work off of FRESCA the differences are very significant. Many new sections have been added; ex. disposition, governance, extracurricular, affiliation.

Basically, my intent is to re-implement FRESH resume + templates as an embeddable Angular2 web component. The end result being that users can import the web component and use it directly in a webpage.

Usage:

<ng2-fresh-resume [data]="resume" [theme]="modern"></ng2-fresh-resume>

Here's an example from my personal website. The code can be found here under the 'app/resume' feature. This will likely be moved to a separate project once I establish a good structure for reuse.

evanplaice commented 8 years ago

@hacksalot If you'd like, I can start posting issues outlining the changes required. They can be prioritized in 3 groups:

  1. missing partials
  2. partials that required revision
  3. templates updates to match the new schema
hacksalot commented 8 years ago

@evanplaice Feel free to submit issues / PRs as needed until this use case is ironed out, it is one we'd like to support. More shortly re: above suggested changes but in general, looks good.