[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"content:legacy:page:\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph":3,"content:legacy:navigation":933,"content:legacy:surround:\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph":1262,"content:related-articles:Brightly decorate your GitHub Graph":1265},{"id":4,"title":5,"body":6,"category":886,"description":916,"duration":917,"extension":918,"icon":919,"image":920,"meta":923,"modifiedAt":919,"navigation":274,"path":924,"publishedAt":925,"seo":926,"sitemap":927,"stem":928,"tags":929,"updatedAt":931,"__hash__":932},"posts\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph.md","Brightly decorate your GitHub Graph",{"type":7,"value":8,"toc":912},"minimark",[9,14,29,33,908],[10,11,13],"h2",{"id":12},"motivation","🌟 Motivation",[15,16,17,18,28],"p",{},"In the past I was searching for good libraries of npm and I stumbled upon a library called ",[19,20,24],"a",{"href":21,"rel":22},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fsimple-git",[23],"nofollow",[25,26,27],"strong",{},"simple-git",". This is a library that runs git commands on nodejs. And then I immediately thought of the contributions chart on github, is there a way to make this chart green? And so this article was born.",[10,30,32],{"id":31},"️-setup","🏗️ Setup",[34,35,36,41,166,170,177,189,193,200,870,874,877,889,892,905],"steps",{},[37,38,40],"h4",{"id":39},"_1-initial-nodejs-project-and-install-dependencies","1. Initial Nodejs project and install dependencies",[42,43,44,87,114,140],"code-group",{},[45,46,52],"pre",{"className":47,"code":48,"filename":49,"language":50,"meta":51,"style":51},"language-bash shiki shiki-themes github-light github-dark","npm init\nnpm install jsonfile moment random simple-git\n","npm","bash","",[53,54,55,67],"code",{"__ignoreMap":51},[56,57,60,63],"span",{"class":58,"line":59},"line",1,[56,61,49],{"class":62},"sScJk",[56,64,66],{"class":65},"sZZnC"," init\n",[56,68,70,72,75,78,81,84],{"class":58,"line":69},2,[56,71,49],{"class":62},[56,73,74],{"class":65}," install",[56,76,77],{"class":65}," jsonfile",[56,79,80],{"class":65}," moment",[56,82,83],{"class":65}," random",[56,85,86],{"class":65}," simple-git\n",[45,88,91],{"className":47,"code":89,"filename":90,"language":50,"meta":51,"style":51},"yarn init\nyarn add jsonfile moment random simple-git\n","yarn",[53,92,93,99],{"__ignoreMap":51},[56,94,95,97],{"class":58,"line":59},[56,96,90],{"class":62},[56,98,66],{"class":65},[56,100,101,103,106,108,110,112],{"class":58,"line":69},[56,102,90],{"class":62},[56,104,105],{"class":65}," add",[56,107,77],{"class":65},[56,109,80],{"class":65},[56,111,83],{"class":65},[56,113,86],{"class":65},[45,115,118],{"className":47,"code":116,"filename":117,"language":50,"meta":51,"style":51},"pnpm init\npnpm add jsonfile moment random simple-git\n","pnpm",[53,119,120,126],{"__ignoreMap":51},[56,121,122,124],{"class":58,"line":59},[56,123,117],{"class":62},[56,125,66],{"class":65},[56,127,128,130,132,134,136,138],{"class":58,"line":69},[56,129,117],{"class":62},[56,131,105],{"class":65},[56,133,77],{"class":65},[56,135,80],{"class":65},[56,137,83],{"class":65},[56,139,86],{"class":65},[45,141,144],{"className":47,"code":142,"filename":143,"language":50,"meta":51,"style":51},"bun init\nbun add jsonfile moment random simple-git\n","bun",[53,145,146,152],{"__ignoreMap":51},[56,147,148,150],{"class":58,"line":59},[56,149,143],{"class":62},[56,151,66],{"class":65},[56,153,154,156,158,160,162,164],{"class":58,"line":69},[56,155,143],{"class":62},[56,157,105],{"class":65},[56,159,77],{"class":65},[56,161,80],{"class":65},[56,163,83],{"class":65},[56,165,86],{"class":65},[37,167,169],{"id":168},"_2-fake-data","2. Fake data",[15,171,172,173,176],{},"Create a file named ",[53,174,175],{},"data.json"," at the root of the project to store changes when committing new code.",[45,178,182],{"className":179,"code":180,"filename":175,"language":181,"meta":51,"style":51},"language-json shiki shiki-themes github-light github-dark","add something here\n","json",[53,183,184],{"__ignoreMap":51},[56,185,186],{"class":58,"line":59},[56,187,180],{"class":188},"sVt8B",[37,190,192],{"id":191},"_3-insert-script","3. Insert script",[15,194,195,196,199],{},"Create a javascript file name ",[53,197,198],{},"index.js"," with the following content at the root of the project.",[45,201,205],{"className":202,"code":203,"filename":198,"language":204,"meta":51,"style":51},"language-js shiki shiki-themes github-light github-dark","import jsonfile from 'jsonfile';\nimport moment from 'moment';\nimport simpleGit from 'simple-git';\nimport random from 'random';\n\nconst path = '.\u002Fdata.json';\n\nfunction isValidDate(date) {\n  const startDate = moment('2019-01-01');\n  const endDate = moment('2024-12-13');\n  return date.isBetween(startDate, endDate, null, '[]');\n}\n\nasync function markCommit(date) {\n  const data = { date: date.toISOString() };\n  await jsonfile.writeFile(path, data);\n\n  const git = simpleGit();\n  await git.add([path]);\n  await git.commit(date.toISOString(), { '-d': date.toISOString() });\n}\n\nasync function makeCommits(n) {\n  const git = simpleGit();\n\n  for (let i = 0; i \u003C n; i++) {\n    const randomDays = random.int(0, 6);\n    const randomWeeks = random.int(0, 54 * 4);\n\n    const randomDate = moment('2019-01-01')\n      .add(randomDays, 'days')\n      .add(randomWeeks, 'weeks');\n\n    if (isValidDate(randomDate)) {\n      console.log(`Creating commit: ${randomDate.toISOString()}`);\n      await markCommit(randomDate);\n    } else {\n      console.log(`Invalid date: ${randomDate.toISOString()}, skipping...`);\n    }\n  }\n\n  console.log('Pushing all commits...');\n  await git.push();\n}\n\nmakeCommits(50000);\n","js",[53,206,207,225,239,254,269,276,294,299,318,339,358,384,390,395,413,432,447,452,468,482,511,516,521,538,551,556,591,620,651,656,675,691,706,711,725,755,766,778,803,809,815,820,835,847,852,857],{"__ignoreMap":51},[56,208,209,213,216,219,222],{"class":58,"line":59},[56,210,212],{"class":211},"szBVR","import",[56,214,215],{"class":188}," jsonfile ",[56,217,218],{"class":211},"from",[56,220,221],{"class":65}," 'jsonfile'",[56,223,224],{"class":188},";\n",[56,226,227,229,232,234,237],{"class":58,"line":69},[56,228,212],{"class":211},[56,230,231],{"class":188}," moment ",[56,233,218],{"class":211},[56,235,236],{"class":65}," 'moment'",[56,238,224],{"class":188},[56,240,242,244,247,249,252],{"class":58,"line":241},3,[56,243,212],{"class":211},[56,245,246],{"class":188}," simpleGit ",[56,248,218],{"class":211},[56,250,251],{"class":65}," 'simple-git'",[56,253,224],{"class":188},[56,255,257,259,262,264,267],{"class":58,"line":256},4,[56,258,212],{"class":211},[56,260,261],{"class":188}," random ",[56,263,218],{"class":211},[56,265,266],{"class":65}," 'random'",[56,268,224],{"class":188},[56,270,272],{"class":58,"line":271},5,[56,273,275],{"emptyLinePlaceholder":274},true,"\n",[56,277,279,282,286,289,292],{"class":58,"line":278},6,[56,280,281],{"class":211},"const",[56,283,285],{"class":284},"sj4cs"," path",[56,287,288],{"class":211}," =",[56,290,291],{"class":65}," '.\u002Fdata.json'",[56,293,224],{"class":188},[56,295,297],{"class":58,"line":296},7,[56,298,275],{"emptyLinePlaceholder":274},[56,300,302,305,308,311,315],{"class":58,"line":301},8,[56,303,304],{"class":211},"function",[56,306,307],{"class":62}," isValidDate",[56,309,310],{"class":188},"(",[56,312,314],{"class":313},"s4XuR","date",[56,316,317],{"class":188},") {\n",[56,319,321,324,327,329,331,333,336],{"class":58,"line":320},9,[56,322,323],{"class":211},"  const",[56,325,326],{"class":284}," startDate",[56,328,288],{"class":211},[56,330,80],{"class":62},[56,332,310],{"class":188},[56,334,335],{"class":65},"'2019-01-01'",[56,337,338],{"class":188},");\n",[56,340,342,344,347,349,351,353,356],{"class":58,"line":341},10,[56,343,323],{"class":211},[56,345,346],{"class":284}," endDate",[56,348,288],{"class":211},[56,350,80],{"class":62},[56,352,310],{"class":188},[56,354,355],{"class":65},"'2024-12-13'",[56,357,338],{"class":188},[56,359,361,364,367,370,373,376,379,382],{"class":58,"line":360},11,[56,362,363],{"class":211},"  return",[56,365,366],{"class":188}," date.",[56,368,369],{"class":62},"isBetween",[56,371,372],{"class":188},"(startDate, endDate, ",[56,374,375],{"class":284},"null",[56,377,378],{"class":188},", ",[56,380,381],{"class":65},"'[]'",[56,383,338],{"class":188},[56,385,387],{"class":58,"line":386},12,[56,388,389],{"class":188},"}\n",[56,391,393],{"class":58,"line":392},13,[56,394,275],{"emptyLinePlaceholder":274},[56,396,398,401,404,407,409,411],{"class":58,"line":397},14,[56,399,400],{"class":211},"async",[56,402,403],{"class":211}," function",[56,405,406],{"class":62}," markCommit",[56,408,310],{"class":188},[56,410,314],{"class":313},[56,412,317],{"class":188},[56,414,416,418,421,423,426,429],{"class":58,"line":415},15,[56,417,323],{"class":211},[56,419,420],{"class":284}," data",[56,422,288],{"class":211},[56,424,425],{"class":188}," { date: date.",[56,427,428],{"class":62},"toISOString",[56,430,431],{"class":188},"() };\n",[56,433,435,438,441,444],{"class":58,"line":434},16,[56,436,437],{"class":211},"  await",[56,439,440],{"class":188}," jsonfile.",[56,442,443],{"class":62},"writeFile",[56,445,446],{"class":188},"(path, data);\n",[56,448,450],{"class":58,"line":449},17,[56,451,275],{"emptyLinePlaceholder":274},[56,453,455,457,460,462,465],{"class":58,"line":454},18,[56,456,323],{"class":211},[56,458,459],{"class":284}," git",[56,461,288],{"class":211},[56,463,464],{"class":62}," simpleGit",[56,466,467],{"class":188},"();\n",[56,469,471,473,476,479],{"class":58,"line":470},19,[56,472,437],{"class":211},[56,474,475],{"class":188}," git.",[56,477,478],{"class":62},"add",[56,480,481],{"class":188},"([path]);\n",[56,483,485,487,489,492,495,497,500,503,506,508],{"class":58,"line":484},20,[56,486,437],{"class":211},[56,488,475],{"class":188},[56,490,491],{"class":62},"commit",[56,493,494],{"class":188},"(date.",[56,496,428],{"class":62},[56,498,499],{"class":188},"(), { ",[56,501,502],{"class":65},"'-d'",[56,504,505],{"class":188},": date.",[56,507,428],{"class":62},[56,509,510],{"class":188},"() });\n",[56,512,514],{"class":58,"line":513},21,[56,515,389],{"class":188},[56,517,519],{"class":58,"line":518},22,[56,520,275],{"emptyLinePlaceholder":274},[56,522,524,526,528,531,533,536],{"class":58,"line":523},23,[56,525,400],{"class":211},[56,527,403],{"class":211},[56,529,530],{"class":62}," makeCommits",[56,532,310],{"class":188},[56,534,535],{"class":313},"n",[56,537,317],{"class":188},[56,539,541,543,545,547,549],{"class":58,"line":540},24,[56,542,323],{"class":211},[56,544,459],{"class":284},[56,546,288],{"class":211},[56,548,464],{"class":62},[56,550,467],{"class":188},[56,552,554],{"class":58,"line":553},25,[56,555,275],{"emptyLinePlaceholder":274},[56,557,559,562,565,568,571,574,577,580,583,586,589],{"class":58,"line":558},26,[56,560,561],{"class":211},"  for",[56,563,564],{"class":188}," (",[56,566,567],{"class":211},"let",[56,569,570],{"class":188}," i ",[56,572,573],{"class":211},"=",[56,575,576],{"class":284}," 0",[56,578,579],{"class":188},"; i ",[56,581,582],{"class":211},"\u003C",[56,584,585],{"class":188}," n; i",[56,587,588],{"class":211},"++",[56,590,317],{"class":188},[56,592,594,597,600,602,605,608,610,613,615,618],{"class":58,"line":593},27,[56,595,596],{"class":211},"    const",[56,598,599],{"class":284}," randomDays",[56,601,288],{"class":211},[56,603,604],{"class":188}," random.",[56,606,607],{"class":62},"int",[56,609,310],{"class":188},[56,611,612],{"class":284},"0",[56,614,378],{"class":188},[56,616,617],{"class":284},"6",[56,619,338],{"class":188},[56,621,623,625,628,630,632,634,636,638,640,643,646,649],{"class":58,"line":622},28,[56,624,596],{"class":211},[56,626,627],{"class":284}," randomWeeks",[56,629,288],{"class":211},[56,631,604],{"class":188},[56,633,607],{"class":62},[56,635,310],{"class":188},[56,637,612],{"class":284},[56,639,378],{"class":188},[56,641,642],{"class":284},"54",[56,644,645],{"class":211}," *",[56,647,648],{"class":284}," 4",[56,650,338],{"class":188},[56,652,654],{"class":58,"line":653},29,[56,655,275],{"emptyLinePlaceholder":274},[56,657,659,661,664,666,668,670,672],{"class":58,"line":658},30,[56,660,596],{"class":211},[56,662,663],{"class":284}," randomDate",[56,665,288],{"class":211},[56,667,80],{"class":62},[56,669,310],{"class":188},[56,671,335],{"class":65},[56,673,674],{"class":188},")\n",[56,676,678,681,683,686,689],{"class":58,"line":677},31,[56,679,680],{"class":188},"      .",[56,682,478],{"class":62},[56,684,685],{"class":188},"(randomDays, ",[56,687,688],{"class":65},"'days'",[56,690,674],{"class":188},[56,692,694,696,698,701,704],{"class":58,"line":693},32,[56,695,680],{"class":188},[56,697,478],{"class":62},[56,699,700],{"class":188},"(randomWeeks, ",[56,702,703],{"class":65},"'weeks'",[56,705,338],{"class":188},[56,707,709],{"class":58,"line":708},33,[56,710,275],{"emptyLinePlaceholder":274},[56,712,714,717,719,722],{"class":58,"line":713},34,[56,715,716],{"class":211},"    if",[56,718,564],{"class":188},[56,720,721],{"class":62},"isValidDate",[56,723,724],{"class":188},"(randomDate)) {\n",[56,726,728,731,734,736,739,742,745,747,750,753],{"class":58,"line":727},35,[56,729,730],{"class":188},"      console.",[56,732,733],{"class":62},"log",[56,735,310],{"class":188},[56,737,738],{"class":65},"`Creating commit: ${",[56,740,741],{"class":188},"randomDate",[56,743,744],{"class":65},".",[56,746,428],{"class":62},[56,748,749],{"class":65},"()",[56,751,752],{"class":65},"}`",[56,754,338],{"class":188},[56,756,758,761,763],{"class":58,"line":757},36,[56,759,760],{"class":211},"      await",[56,762,406],{"class":62},[56,764,765],{"class":188},"(randomDate);\n",[56,767,769,772,775],{"class":58,"line":768},37,[56,770,771],{"class":188},"    } ",[56,773,774],{"class":211},"else",[56,776,777],{"class":188}," {\n",[56,779,781,783,785,787,790,792,794,796,798,801],{"class":58,"line":780},38,[56,782,730],{"class":188},[56,784,733],{"class":62},[56,786,310],{"class":188},[56,788,789],{"class":65},"`Invalid date: ${",[56,791,741],{"class":188},[56,793,744],{"class":65},[56,795,428],{"class":62},[56,797,749],{"class":65},[56,799,800],{"class":65},"}, skipping...`",[56,802,338],{"class":188},[56,804,806],{"class":58,"line":805},39,[56,807,808],{"class":188},"    }\n",[56,810,812],{"class":58,"line":811},40,[56,813,814],{"class":188},"  }\n",[56,816,818],{"class":58,"line":817},41,[56,819,275],{"emptyLinePlaceholder":274},[56,821,823,826,828,830,833],{"class":58,"line":822},42,[56,824,825],{"class":188},"  console.",[56,827,733],{"class":62},[56,829,310],{"class":188},[56,831,832],{"class":65},"'Pushing all commits...'",[56,834,338],{"class":188},[56,836,838,840,842,845],{"class":58,"line":837},43,[56,839,437],{"class":211},[56,841,475],{"class":188},[56,843,844],{"class":62},"push",[56,846,467],{"class":188},[56,848,850],{"class":58,"line":849},44,[56,851,389],{"class":188},[56,853,855],{"class":58,"line":854},45,[56,856,275],{"emptyLinePlaceholder":274},[56,858,860,863,865,868],{"class":58,"line":859},46,[56,861,862],{"class":62},"makeCommits",[56,864,310],{"class":188},[56,866,867],{"class":284},"50000",[56,869,338],{"class":188},[37,871,873],{"id":872},"_4-action","4. Action",[15,875,876],{},"Initialize the git repo (if empty), skip this step if you already have a git repo.",[45,878,880],{"className":47,"code":879,"language":50,"meta":51,"style":51},"git init\n",[53,881,882],{"__ignoreMap":51},[56,883,884,887],{"class":58,"line":59},[56,885,886],{"class":62},"git",[56,888,66],{"class":65},[15,890,891],{},"Run the script to create commit.",[45,893,895],{"className":47,"code":894,"language":50,"meta":51,"style":51},"node index.js\n",[53,896,897],{"__ignoreMap":51},[56,898,899,902],{"class":58,"line":59},[56,900,901],{"class":62},"node",[56,903,904],{"class":65}," index.js\n",[15,906,907],{},"Finally, push code to remote then enjoy the result.",[909,910,911],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":51,"searchDepth":69,"depth":69,"links":913},[914,915],{"id":12,"depth":69,"text":13},{"id":31,"depth":69,"text":32},"Impress viewers by sleek profile with just 40 lines of code","3","md",null,{"src":921,"alt":922},"https:\u002F\u002Fraw.githubusercontent.com\u002Ffullstack-core\u002Fblog\u002Frefs\u002Fheads\u002Fmain\u002Fblog\u002Fcover\u002Fbrightly-decorate-your-github-graph.webp","GitHub Graph",{},"\u002Fposts\u002Fgit\u002Fbrightly-decorate-graph","2024-12-24",{"title":5,"description":916},{"loc":924,"lastmod":925},"posts\u002Fgit\u002Fbrightly-decorate-graph",[886,930],"github","2026-09-21T22:25:07+07:00","gDP7Z4nDr1nsPQ-OVILqr3dRIZUU3GPwuxMD64Q4MyM",[934,1082,1190,1205],{"title":935,"icon":936,"path":937,"stem":938,"children":939,"page":950},"Posts","fluent-color:data-bar-vertical-ascending-24","\u002Fposts","posts",[940,951,969,992,1002,1016,1026,1036,1046,1072],{"title":941,"icon":942,"redirect":943,"path":944,"stem":945,"children":946,"page":950},"Database","material-icon-theme:database","\u002Fposts\u002Fdatabase\u002Freplication-strategy","\u002Fposts\u002Fdatabase","posts\u002Fdatabase",[947],{"title":948,"path":943,"stem":949,"icon":919},"Database Replication strategy in large systems","posts\u002Fdatabase\u002Freplication-strategy",false,{"title":952,"icon":953,"redirect":954,"path":955,"stem":956,"children":957,"page":950},"Docker","vscode-icons:file-type-docker2","\u002Fposts\u002Fdocker\u002Fdocker-commands","\u002Fposts\u002Fdocker","posts\u002Fdocker",[958,961,965],{"title":959,"path":954,"stem":960,"icon":919},"Docker commands essentials","posts\u002Fdocker\u002Fdocker-commands",{"title":962,"path":963,"stem":964,"icon":919},"Some useful Dockerfile templates","\u002Fposts\u002Fdocker\u002Fdockerfile-templates","posts\u002Fdocker\u002Fdockerfile-templates",{"title":966,"path":967,"stem":968,"icon":919},"Setup Docker environment on Windows","\u002Fposts\u002Fdocker\u002Fsetup-docker-on-window","posts\u002Fdocker\u002Fsetup-docker-on-window",{"title":970,"icon":971,"redirect":924,"path":972,"stem":973,"children":974,"page":950},"Git & GitHub","material-icon-theme:git","\u002Fposts\u002Fgit","posts\u002Fgit",[975,976,980,984,988],{"title":5,"path":924,"stem":928,"icon":919},{"title":977,"path":978,"stem":979,"icon":919},"Download a specific folder on GitHub repository","\u002Fposts\u002Fgit\u002Fdownload-specific-folder","posts\u002Fgit\u002Fdownload-specific-folder",{"title":981,"path":982,"stem":983,"icon":919},"Syncing Git Tags across to other repositories","\u002Fposts\u002Fgit\u002Fsyncing-tags-across-repositories","posts\u002Fgit\u002Fsyncing-tags-across-repositories",{"title":985,"path":986,"stem":987,"icon":919},"Unlocking GitHub Achievement badges","\u002Fposts\u002Fgit\u002Funlocking-achievement-badges","posts\u002Fgit\u002Funlocking-achievement-badges",{"title":989,"path":990,"stem":991,"icon":919},"Essential Git commands every developer should master","\u002Fposts\u002Fgit\u002Fuseful-commands-like-pro","posts\u002Fgit\u002Fuseful-commands-like-pro",{"title":993,"icon":994,"redirect":995,"path":996,"stem":997,"children":998,"page":950},"Golang","material-icon-theme:go","\u002Fposts\u002Fgolang\u002Foptimizing-performance-with-pgo","\u002Fposts\u002Fgolang","posts\u002Fgolang",[999],{"title":1000,"path":995,"stem":1001,"icon":919},"Optimizing Performance in Go Applications with PGO","posts\u002Fgolang\u002Foptimizing-performance-with-pgo",{"title":1003,"icon":1004,"redirect":1005,"path":1006,"stem":1007,"children":1008,"page":950},"JavaScript","vscode-icons:file-type-js","\u002Fposts\u002Fjavascript\u002F9-lines-of-tips","\u002Fposts\u002Fjavascript","posts\u002Fjavascript",[1009,1012],{"title":1010,"path":1005,"stem":1011,"icon":919},"9 lines of JavaScript replace 50 lines of code","posts\u002Fjavascript\u002F9-lines-of-tips",{"title":1013,"path":1014,"stem":1015,"icon":919},"Javascript Promises - Specific functions and use cases","\u002Fposts\u002Fjavascript\u002Fpromises-cheatsheet","posts\u002Fjavascript\u002Fpromises-cheatsheet",{"title":1017,"icon":1018,"redirect":1019,"path":1020,"stem":1021,"children":1022,"page":950},"Node","material-icon-theme:nodejs-alt","\u002Fposts\u002Fnodejs\u002Fevent-loop","\u002Fposts\u002Fnodejs","posts\u002Fnodejs",[1023],{"title":1024,"path":1019,"stem":1025,"icon":919},"Secret about Event Loop flow in Nodejs","posts\u002Fnodejs\u002Fevent-loop",{"title":1027,"icon":1028,"redirect":1029,"path":1030,"stem":1031,"children":1032,"page":950},"Nuxt","vscode-icons:file-type-nuxt","\u002Fposts\u002Fnuxt\u002Fenable-pwa-in-nuxt","\u002Fposts\u002Fnuxt","posts\u002Fnuxt",[1033],{"title":1034,"path":1029,"stem":1035,"icon":919},"Enable PWA and Service Worker in Nuxt","posts\u002Fnuxt\u002Fenable-pwa-in-nuxt",{"title":1037,"icon":1038,"redirect":1039,"path":1040,"stem":1041,"children":1042,"page":950},"Performance","emojione:rocket","\u002Fposts\u002Fperformance\u002Fbackground-image-injection-problem","\u002Fposts\u002Fperformance","posts\u002Fperformance",[1043],{"title":1044,"path":1039,"stem":1045,"icon":919},"Background-Image injection problem in UX","posts\u002Fperformance\u002Fbackground-image-injection-problem",{"title":1047,"icon":1048,"redirect":1049,"path":1050,"stem":1051,"children":1052,"page":950},"Tutorial","fluent-color:book-open-lightbulb-24","\u002Fposts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers","\u002Fposts\u002Ftutorial","posts\u002Ftutorial",[1053,1056,1060,1064,1068],{"title":1054,"path":1049,"stem":1055,"icon":919},"Classification and functionality of the servers","posts\u002Ftutorial\u002Fclassification-and-functionality-of-the-servers",{"title":1057,"path":1058,"stem":1059,"icon":919},"What is the difference between localhost and 127.0.0.1?","\u002Fposts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1","posts\u002Ftutorial\u002Fdifferent-between-localhost-and-127-0-0-1",{"title":1061,"path":1062,"stem":1063,"icon":919},"8 essential network protocols every programmer should know","\u002Fposts\u002Ftutorial\u002Fessential-network-protocols","posts\u002Ftutorial\u002Fessential-network-protocols",{"title":1065,"path":1066,"stem":1067,"icon":919},"Pre rels in header link tag - SEO technique enhancement","\u002Fposts\u002Ftutorial\u002Fpre-rels-in-header-link-tag","posts\u002Ftutorial\u002Fpre-rels-in-header-link-tag",{"title":1069,"path":1070,"stem":1071,"icon":919},"Better code with SOLID principles","\u002Fposts\u002Ftutorial\u002Fwhat-is-solid","posts\u002Ftutorial\u002Fwhat-is-solid",{"title":1073,"icon":1074,"redirect":1075,"path":1076,"stem":1077,"children":1078,"page":950},"UI\u002FUX","devicon:figma","\u002Fposts\u002Fuiux\u002Fcommon-button-mistake","\u002Fposts\u002Fuiux","posts\u002Fuiux",[1079],{"title":1080,"path":1075,"stem":1081,"icon":919},"Common Button Mistake in UI\u002FUX","posts\u002Fuiux\u002Fcommon-button-mistake",{"title":1083,"icon":1084,"path":1085,"stem":1086,"children":1087,"page":950},"Cheatsheets","fluent-color:paw-16","\u002Fcheatsheets","cheatsheets",[1088,1093,1098,1101,1106,1109,1114,1118,1123,1128,1133,1138,1143,1148,1152,1156,1161,1166,1170,1175,1180,1185],{"title":1089,"path":1090,"stem":1091,"icon":1092},"Bash","\u002Fcheatsheets\u002Fbash","cheatsheets\u002Fbash","material-icon-theme:powershell",{"title":1094,"path":1095,"stem":1096,"icon":1097},"CSS","\u002Fcheatsheets\u002Fcss","cheatsheets\u002Fcss","vscode-icons:file-type-css2",{"title":952,"path":1099,"stem":1100,"icon":953},"\u002Fcheatsheets\u002Fdocker","cheatsheets\u002Fdocker",{"title":1102,"path":1103,"stem":1104,"icon":1105},"Git","\u002Fcheatsheets\u002Fgit","cheatsheets\u002Fgit","devicon:git",{"title":993,"path":1107,"stem":1108,"icon":994},"\u002Fcheatsheets\u002Fgo","cheatsheets\u002Fgo",{"title":1110,"path":1111,"stem":1112,"icon":1113},"HTML","\u002Fcheatsheets\u002Fhtml","cheatsheets\u002Fhtml","material-icon-theme:html",{"title":1003,"path":1115,"stem":1116,"icon":1117},"\u002Fcheatsheets\u002Fjavascript","cheatsheets\u002Fjavascript","material-icon-theme:javascript",{"title":1119,"path":1120,"stem":1121,"icon":1122},"Latex","\u002Fcheatsheets\u002Flatex","cheatsheets\u002Flatex","material-icon-theme:latexmk",{"title":1124,"path":1125,"stem":1126,"icon":1127},"Linux","\u002Fcheatsheets\u002Flinux","cheatsheets\u002Flinux","devicon:linux",{"title":1129,"path":1130,"stem":1131,"icon":1132},"Markdown","\u002Fcheatsheets\u002Fmarkdown","cheatsheets\u002Fmarkdown","material-icon-theme:markdown",{"title":1134,"path":1135,"stem":1136,"icon":1137},"Mongo","\u002Fcheatsheets\u002Fmongo","cheatsheets\u002Fmongo","devicon:mongodb",{"title":1139,"path":1140,"stem":1141,"icon":1142},"Nest","\u002Fcheatsheets\u002Fnest","cheatsheets\u002Fnest","material-icon-theme:nest",{"title":1144,"path":1145,"stem":1146,"icon":1147},"Next","\u002Fcheatsheets\u002Fnext","cheatsheets\u002Fnext","logos:nextjs-icon",{"title":1017,"path":1149,"stem":1150,"icon":1151},"\u002Fcheatsheets\u002Fnode","cheatsheets\u002Fnode","material-icon-theme:nodejs",{"title":1027,"path":1153,"stem":1154,"icon":1155},"\u002Fcheatsheets\u002Fnuxt","cheatsheets\u002Fnuxt","material-icon-theme:nuxt",{"title":1157,"path":1158,"stem":1159,"icon":1160},"React","\u002Fcheatsheets\u002Freact","cheatsheets\u002Freact","material-icon-theme:react",{"title":1162,"path":1163,"stem":1164,"icon":1165},"Redis","\u002Fcheatsheets\u002Fredis","cheatsheets\u002Fredis","vscode-icons:folder-type-redis-opened",{"title":1167,"path":1168,"stem":1169,"icon":942},"SQL","\u002Fcheatsheets\u002Fsql","cheatsheets\u002Fsql",{"title":1171,"path":1172,"stem":1173,"icon":1174},"Typescript","\u002Fcheatsheets\u002Ftypescript","cheatsheets\u002Ftypescript","material-icon-theme:typescript",{"title":1176,"path":1177,"stem":1178,"icon":1179},"Vercel","\u002Fcheatsheets\u002Fvercel","cheatsheets\u002Fvercel","vscode-icons:file-type-light-vercel",{"title":1181,"path":1182,"stem":1183,"icon":1184},"Vue","\u002Fcheatsheets\u002Fvue","cheatsheets\u002Fvue","material-icon-theme:vue",{"title":1186,"path":1187,"stem":1188,"icon":1189},"Windows","\u002Fcheatsheets\u002Fwindow","cheatsheets\u002Fwindow","material-icon-theme:folder-windows",{"title":1191,"icon":1192,"path":1193,"stem":1194,"children":1195,"page":950},"Prompts","fluent-color:bot-sparkle-24","\u002Fprompts","prompts",[1196],{"title":1197,"path":1198,"stem":1199,"children":1200,"page":950},"Image Generation","\u002Fprompts\u002Fimage-generation","prompts\u002Fimage-generation",[1201],{"title":1202,"path":1203,"stem":1204,"icon":1192},"Futuristic Cloud Workspace","\u002Fprompts\u002Fimage-generation\u002Ffuturistic-cloud-workspace","prompts\u002Fimage-generation\u002Ffuturistic-cloud-workspace",{"title":1206,"icon":1207,"path":1208,"stem":1209,"children":1210,"page":950},"Interviews","lucide:messages-square","\u002Finterviews","interviews",[1211,1215,1220,1223,1227,1232,1237,1242,1247,1252,1257],{"title":1212,"path":1213,"stem":1214,"icon":1207},"Behavioral Engineering","\u002Finterviews\u002Fbehavioral-engineering","interviews\u002Fbehavioral-engineering",{"title":1216,"path":1217,"stem":1218,"icon":1219},"DevOps and Cloud","\u002Finterviews\u002Fdevops-cloud","interviews\u002Fdevops-cloud","logos:docker-icon",{"title":1110,"path":1221,"stem":1222,"icon":1113},"\u002Finterviews\u002Fhtml","interviews\u002Fhtml",{"title":1003,"path":1224,"stem":1225,"icon":1226},"\u002Finterviews\u002Fjavascript","interviews\u002Fjavascript","logos:javascript",{"title":1228,"path":1229,"stem":1230,"icon":1231},"Node.js and API Design","\u002Finterviews\u002Fnodejs-api","interviews\u002Fnodejs-api","logos:nodejs-icon",{"title":1233,"path":1234,"stem":1235,"icon":1236},"Software Testing","\u002Finterviews\u002Fsoftware-testing","interviews\u002Fsoftware-testing","lucide:flask-conical",{"title":1238,"path":1239,"stem":1240,"icon":1241},"SQL and Databases","\u002Finterviews\u002Fsql-databases","interviews\u002Fsql-databases","lucide:database",{"title":1243,"path":1244,"stem":1245,"icon":1246},"System Design","\u002Finterviews\u002Fsystem-design","interviews\u002Fsystem-design","lucide:network",{"title":1248,"path":1249,"stem":1250,"icon":1251},"TypeScript","\u002Finterviews\u002Ftypescript","interviews\u002Ftypescript","logos:typescript-icon",{"title":1253,"path":1254,"stem":1255,"icon":1256},"Vue and Nuxt","\u002Finterviews\u002Fvue-nuxt","interviews\u002Fvue-nuxt","logos:nuxt-icon",{"title":1258,"path":1259,"stem":1260,"icon":1261},"Web Security","\u002Finterviews\u002Fweb-security","interviews\u002Fweb-security","lucide:shield-check",[1263,1264],{"title":966,"path":967,"stem":968,"children":-1},{"title":977,"path":978,"stem":979,"children":-1},[1266,1274,1282],{"path":990,"title":989,"description":1267,"image":1268,"category":886,"tags":1271,"duration":1272,"publishedAt":1273,"_path":990},"Master Git like a pro with these powerful commands for commit management, branch operations, and workflow optimization",{"src":1269,"alt":1270},"https:\u002F\u002Fwww.matillion.com\u002Fuploads\u002Fcards\u002F_1200x630_crop_center-center_82_none\u002FBlog-GIT-Part3.png","Essential_Git_commands_image",[886,930],"5","2025-08-05",{"path":982,"title":981,"description":1275,"image":1276,"category":886,"tags":1279,"duration":1280,"publishedAt":1281,"_path":982},"Learn how to synchronize Git tags between multiple repositories effortlessly.",{"src":1277,"alt":1278},"https:\u002F\u002Fmedia.licdn.com\u002Fdms\u002Fimage\u002Fv2\u002FD4E12AQGPhWyP7Rc1sw\u002Farticle-cover_image-shrink_720_1280\u002Farticle-cover_image-shrink_720_1280\u002F0\u002F1729234511193?e=2147483647&v=beta&t=nRMwzDEvPjm0UJ_TW9cP9gQF4_kfB0HbJh3a5lrVA3M","Syncing_Git_Tags_image",[886,930],"1","2025-07-11",{"path":986,"title":985,"description":1283,"image":1284,"category":886,"tags":1287,"duration":617,"publishedAt":1288,"_path":986},"A comprehensive guide to get achievement badges on your GitHub profile!",{"src":1285,"alt":1286},"https:\u002F\u002Frepository-images.githubusercontent.com\u002F634841108\u002F401fc2d0-ee6e-4a75-aabf-e63330221642","GitHub_Achievements_image",[886,930],"2025-07-07"]