Giter VIP home page Giter VIP logo

vue-resume-component's Introduction

This package is WIP - it's functionally working, but customisations aren't implemented.

Logo

vue-resume-component

demo npm npm bundle size GitHub

A resume / CV component for Vue.js and Nuxt.js.

I wouldn't recommend to use this package if you want a bullet proof CV as it uses some new technologies.

Usage

Installation

$ npm install vue-resume-component
$ yarn add vue-resume-component

Data

You can find the latest data structure in demo/mock (a detailed documentation will be added later). It's recommended to use four different files ((learn more about this)[#structure]):

JSONs are just working out of the box, you could also include them in data in the same component where you add vue-resume-component. You also could think about consume data from Firebase or something completely different.

Example

Vue.js example

<template>
  <resume
     :segments="segments"
     :skills="skills"
     :information="information"
     :settings="settings"
  />
</template>

<script>
import resume from 'vue-resume-component'
// Data
import segments from '@/content/cv/segments.json'
import skills from '@/content/cv/skills.json'
import information from '@/content/cv/information.json'
import settings from '@/content/cv/settings.json'
export default {
   components: {
      resume,
   },
   data() {
      return {
         segments,
         skills,
         information,
         settings,
      }
   },
}
</script>

Nuxt.js Example

The only difference is that the component is wrapped in <client-only>.

<template>
   <client-only>
      <resume
         :segments="segments"
         :skills="skills"
         :information="information"
         :settings="settings"
      />
   </client-only>
</template>

<script>
import resume from 'vue-resume-component'
// Data
import segments from '@/content/cv/segments.json'
import skills from '@/content/cv/skills.json'
import information from '@/content/cv/information.json'
import settings from '@/content/cv/settings.json'
export default {
   components: {
      resume,
   },
   data() {
      return {
         segments,
         skills,
         information,
         settings,
      }
   },
}
</script>

Idea

This is a component which can be implemented in existing websites or as standalone solution, e.g. with Nuxt.

Structure

  1. Segments - All the basic stuff for a CV: Education, Work, Voluntary, Side Projects, …
  2. Skills - Lists of stuff you are capable of: Programming, Language, Soft Skills, …
  3. Information - Content which isn't part of segments and skills: Name, Image, Logo, Links, …
  4. Settings - You can style, define orders (as it is, alphabetically, per date) or what you want to display.

Technologies

This component is using:

Roadmap

  • Enable all customizations from settings
  • Allow print to PDF
  • Add docu with vuepress
  • Provide example configs (currently visible in demo/mock)
  • Add different demos
  • Provide ready to clone nuxt/content repo with Deploy to Vercel & Netlify button
  • Add tests
  • Add configurable dark mode

Development

Basic setup

  1. Install Vue CLI 3 (more details).
  2. Run vue serve --open src/components/Resume.vue - won't work until you provide mock data as defaults for the props.

Test environment

  1. This repo contains a complete Vue setup to test the package locally. This uses yalc to install the package locally.
  2. Start localhost with npm run serve in dev.
  3. Execute npm run publish:local in the root directory, which will cause a build and yalc publish.
  4. After this you can hard reload your localhost to see the changes, hot reload isn't working every time.
  5. If you want to deploy your changes locally, start over at 3..

Helpful Links

vue-resume-component's People

Contributors

dependabot[bot] avatar lukaharambasic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.