Son CV dans un terminal web en Javascript! https://terminal-cv.gregandev.fr
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
terminal-cv/README.md

2.6 KiB

Resume Terminal

About

This projet use ParcelJS as build tool. It is made from scratch, the only library used is for an hidden command pif canvas-confetti.

Run the project

First you need to install dependencies with npm install

  • To run in dev mode : npm run dev
  • To build for production : npm run build

Usage

commands.json

File commands.json contain all commands that just needs to display simple data and doesn't need a JS actions.

For now, there are 4 possible type of steps :

  • list
  • text
  • code
  • table

responseType = list

To display a bullet list, the value field is an array of string.

{
  "command": "whois adautry",
  "responseType": "list",
  "value": [
    "A 27 years old full stack developper",
    "3 years of experiences",
    "Living in Nantes"
  ]
}

responseType = table

Display a table, this object requires two fields :

  • headers: Headers of the array
  • rows: Array containing rows
{
  "command": "whereis experiences",
  "responseType": "table",
  "headers": [
    "Date",
    "Client",
    "Description",
    "Tech"
  ],
  "rows": [
    [
      "2021",
      "La Poste",
      "Internal tool to schedule techniciens on interventions.",
      "Angular 11, Spring Boot/Batch, Genetic algorithm"
    ],
    [
      "2020",
      "DSI",
      "Maintenance of a timesheet internal tool. Development of plugins for our ProjeQtor instance.",
      "Symfony, Angular 8"
    ]
  ]
}

responseType = text

Just display text contained in value.

{
    "command": "find . -type f -print | xargs grep \"hobby\"",
    "responseType": "text",
    "value": "Bonsoir"
}

responseType = code

Display code between pre tag, value is an array of string, each string is a line.

{
    "command": "curl https://adautry.fr/user/03101994",
    "responseType": "code",
    "value": [
      "{",
      "   \"name\":\"Antoine DAUTRY\",",
      "   \"job\":\"Fullstack developper\",",
      "   \"experience\":\"3 years\",",
      "   \"city\":\"Nantes\"",
      "}"
    ]
}

Customs commands

In the app.js file you can see multiple arrays that stores commands :

  • hiddenCommands: Commands that are not use in autocompletion (easter egg commands for example)
  • customCommands: Commands that needs a specials JS treatments, in my case dark/light to swith app theme, get cv to download my resume, ...
  • commandsList: This is the main array used for autocompletion, it stores customCommands and commands that are listed in the commands.json file.