This projet use ParcelJS as build tool.
It is made from scratch, some libraries are used for hidden commands :
pif
canvas-confetti.rm -rf /
fireworks-js.
First you need to install dependencies with
npm install
- To run in dev mode :
npm run dev
- To build for production :
npm run build
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
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"
]
}
Display a table, this object requires two fields :
headers
: Headers of the arrayrows
: 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"
]
]
}
Just display text contained in value
.
{
"command": "find . -type f -print | xargs grep \"hobby\"",
"responseType": "text",
"value": "Bonsoir"
}
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\"",
"}"
]
}
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 casedark
/light
to swith app theme,get cv
to download my resume, ...commandsList
: This is the main array used for autocompletion, it storescustomCommands
and commands that are listed in thecommands.json
file.
- Image from vector_corp on Freepik