This project is fully configurable from a config.json file.
A starter config file can be obtained by copying and renaming the
config.example.jsonfile.
For now (can change) the json structure is as follow:
structure: define the final structure of the README file.id: first part (static, element, games...) describe the category of the block, the last element describe the module responsible for the render
datas: The personal datas of the user.skills: should be in datas
The readme file is separated into small chunks that are called modules.
The structure of the file can be edited in the structure property of the config.json file.
The structure property is a list of modules, as follow:
Static modules are only calculated once (on first commit after start up), they are for informations that are not intended to change like your name, description...
Represents an html element.
{
"id": "static/element",
"data": {
"element": "h1",
"content": "👋 - Hi visitor"
}
}Represents a simple greeting as follow: <h3>I'm Firstname Lastname !</h3>
{
"id": "static/greeting",
// no data is required for this element, the datas taken from config.json under datas.perso.firstname
}Represents multiples lines, an alternative to avoid using multiple static/element.
{
"id": "static/lines",
"data": {
"field": "perso.description", // should be an array
"range": "1-2" // currently supports a single line ("3") or a simple range ("1-3"), not even a combination of the two.
// index for range starts at 1.
}
}Represents an unordered list such as:
<ul>
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
{
"id": "static/list",
"data": {
"field": "perso.facts" // should be an array
}
}Displays the list of socials in datas.perso.socials
{
"id": "static/socials",
"options": {
"align": "left" // position of the icons
}
}Displays the list of skills in skills
{
"id": "static/skills"
}Displays an image that triggers the / controller in the trigger module each time someone visits the readme page.
currently required for the followers module to work
{
"id": "static/trigger"
}Dislays the last followers.
{
"id": "dynamic/followers",
"options": {
"last": 3 // not working for now
}
},Displays the date of the last update with the duration of the generation at the end of the file.
{
"id": "dynamic/generated"
}Displays a gba game.
{
"id": "games/gba",
"data": {
"title": "Github plays pokemon"
},
"options": {
"scoreboard": false // not implemented
}
}Displays a minesweeper.
{
"id": "games/minesweeper",
"data": {
"title": "A classic Minesweeper",
"reset": "Reset Game" // Text for the reset button
},
"options": {
"gif": true, // gif of the progress of the game
}
},Display a chess game.
{
"id": "games/chess",
"data": {
"title": "A classic Chess",
"reset": "Reset Game" // Text for the reset button
},
"options": {
"reset": true // not implemented
}
}Displays a wordle game, reset each day at midnight.
{
"id": "games/wordle",
"data": {
"title": "A classic Wordle"
},
"options": {
"scoreboard": true // not implmented
}
}Displays the profile views image configured in datas.perso.vueCount
{
"id": "3rdParty/profileViews"
}