Generate README.md with Deno and nunjucks

This commit is contained in:
Lucàs
2022-08-10 22:46:55 +02:00
parent d0f6d8db78
commit 8c511cc002
9 changed files with 207 additions and 68 deletions
Vendored
BIN
View File
Binary file not shown.
+40 -68
View File
@@ -1,72 +1,44 @@
<section>
<h1>Hello there ! <img src="./img/Hi.gif" alt="Hi" width="50"/></h1>
<p>
I'm Lucàs, a passionate developer from
<img src="https://camo.githubusercontent.com/810c0059ec880d3bf22c12f8ecd24d39ae1c9ee5d294cd397e6f414738d9cdd8/68747470733a2f2f63646e2d69636f6e732d706e672e666c617469636f6e2e636f6d2f3531322f3139372f3139373536302e706e67" alt="France Image Icon" width="12" height="12"/>
<b>Rodez, France</b>.
</p>
</section>
<section>
<h3>I code with</h3>
<img src="https://img.shields.io/static/v1?label=&message=DataGrip&color=%23df2020&logo=datagrip&logoColor=white" alt="DataGrip">
<img src="https://img.shields.io/static/v1?label=&message=FileZilla&color=%23df2020&logo=filezilla&logoColor=white" alt="FileZilla">
<img src="https://img.shields.io/static/v1?label=&message=GitHub&color=%23df2020&logo=github&logoColor=white" alt="GitHub">
<img src="https://img.shields.io/static/v1?label=&message=Handlebars.js&color=%23df2020&logo=handlebarsdotjs&logoColor=white" alt="Handlebars.js">
<img src="https://img.shields.io/static/v1?label=&message=IntelliJ+IDEA&color=%23df2020&logo=intellijidea&logoColor=white" alt="IntelliJIdea">
<img src="https://img.shields.io/static/v1?label=&message=JetBrains&color=%23df2020&logo=jetbrains&logoColor=white" alt="JetBrains">
<img src="https://img.shields.io/static/v1?label=&message=Jinja&color=%23df2020&logo=jinja&logoColor=white" alt="Jinja">
<img src="https://img.shields.io/static/v1?label=&message=JSON&color=%23df2020&logo=json&logoColor=white" alt="Json">
<img src="https://img.shields.io/static/v1?label=&message=Markdown&color=%23df2020&logo=markdown&logoColor=white" alt="Markdown">
<img src="https://img.shields.io/static/v1?label=&message=PhpStorm&color=%23df2020&logo=phpstorm&logoColor=white" alt="PhpStorm">
<img src="https://img.shields.io/static/v1?label=&message=PyCharm&color=%23df2020&logo=pycharm&logoColor=white" alt="PyCharm">
<img src="https://img.shields.io/static/v1?label=&message=Symfony&color=%23df2020&logo=symfony&logoColor=white" alt="Symfony">
<img src="https://img.shields.io/static/v1?label=&message=Git&color=%23df3e20&logo=git&logoColor=white" alt="Git">
<img src="https://img.shields.io/static/v1?label=&message=Pug&color=%23df4420&logo=pug&logoColor=white" alt="Pug">
<img src="https://img.shields.io/static/v1?label=&message=HTML5&color=%23df4920&logo=html5&logoColor=white" alt="HTML5">
<img src="https://img.shields.io/static/v1?label=&message=Figma&color=%23df4b20&logo=figma&logoColor=white" alt="Figma">
<img src="https://img.shields.io/static/v1?label=&message=GitLab&color=%23df5f20&logo=gitlab&logoColor=white" alt="GitLab">
<img src="https://img.shields.io/static/v1?label=&message=Composer&color=%23df7220&logo=composer&logoColor=white" alt="Composer">
<img src="https://img.shields.io/static/v1?label=&message=diagrams.net&color=%23df8a20&logo=diagramsdotnet&logoColor=white" alt="diagrams.net">
<img src="https://img.shields.io/static/v1?label=&message=Linux&color=%23dfaf20&logo=linux&logoColor=white" alt="Linux">
<img src="https://img.shields.io/static/v1?label=&message=JavaScript&color=%23dfca20&logo=javascript&logoColor=white" alt="JavaScript">
<img src="https://img.shields.io/static/v1?label=&message=GNU+Bash&color=%235bdf20&logo=gnubash&logoColor=white" alt="GNU Bash">
<img src="https://img.shields.io/static/v1?label=&message=Android&color=%2320df75&logo=android&logoColor=white" alt="Android">
<img src="https://img.shields.io/static/v1?label=&message=Android+Studio&color=%2320df75&logo=androidstudio&logoColor=white" alt="Android Studio">
<img src="https://img.shields.io/static/v1?label=&message=Bulma&color=%2320dfc3&logo=bulma&logoColor=white" alt="Bulma">
<img src="https://img.shields.io/static/v1?label=&message=MariaDB&color=%2320b3df&logo=mariadb&logoColor=white" alt="MariaDB">
<img src="https://img.shields.io/static/v1?label=&message=Java&color=%2320b2df&logo=java&logoColor=white" alt="Java">
<img src="https://img.shields.io/static/v1?label=&message=SQLite&color=%2320a2df&logo=sqlite&logoColor=white" alt="SQLite">
<img src="https://img.shields.io/static/v1?label=&message=Visual+Studio+Code&color=%232092df&logo=visualstudiocode&logoColor=white" alt="Visual Studio Code">
<img src="https://img.shields.io/static/v1?label=&message=CSS3&color=%23208edf&logo=css3&logoColor=white)" alt="CSS3">
<img src="https://img.shields.io/static/v1?label=&message=MySQL&color=%23208ddf&logo=mysql&logoColor=white" alt="MySQL">
<img src="https://img.shields.io/static/v1?label=&message=Windows&color=%23208bdf&logo=windows&logoColor=white" alt="Windows">
<img src="https://img.shields.io/static/v1?label=&message=Python&color=%232088df&logo=python&logoColor=white" alt="Python">
<img src="https://img.shields.io/static/v1?label=&message=C&color=%23207adf&logo=c&logoColor=white" alt="C">
<img src="https://img.shields.io/static/v1?label=&message=PostgreSQL&color=%232050df&logo=postgresql&logoColor=white" alt="PostgreSQL">
<img src="https://img.shields.io/static/v1?label=&message=PHP&color=%23202cdf&logo=php&logoColor=white" alt="PHP">
<img src="https://img.shields.io/static/v1?label=&message=Insomnia&color=%236020df&logo=insomnia&logoColor=white" alt="Insomnia">
<img src="https://img.shields.io/static/v1?label=&message=Bootstrap&color=%236d20df&logo=bootstrap&logoColor=white" alt="Bootstrap">
<img src="https://img.shields.io/static/v1?label=&message=Angular&color=%23df204a&logo=angular&logoColor=white" alt="Angular">
</section>
<section> # Hi, I'm Lucàs! 👋
<h3>Where to find me</h3>
<a href="https://github.com/LucasVbr">
<img src="https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white" alt="GitHub">
</a>
<a href="https://www.linkedin.com/in/lucasvbr">
<img src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="LinkedIn">
</a>
<a href="https://www.freecodecamp.org/LucasVbr">
<img src="https://img.shields.io/badge/freecodecamp-27273D?style=for-the-badge&logo=freecodecamp&logoColor=white" alt="FreeCodeCamp">
</a>
</section>
<hr> ## 🚀 About Me
I&#39;m a passionate developer from 🇫🇷 **Albi, France**.
<section align="center"> ## 🔗 Links
<img src="https://komarev.com/ghpvc/?username=lucasvbr&amp;label=Profile%20views&amp;color=0e75b6&amp;style=flat" alt="Profile Views"> [![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge&amp;logo=ko-fi&amp;logoColor=white)](https://lucasvbr.github.io/Portfolio)
<img src="https://img.shields.io/freecodecamp/points/lucasvbr?label=FreeCodeCamp%20points" alt="FreeCodeCamp Points"> [![linkedin](https://img.shields.io/badge/linkedin-0e76a8?style=for-the-badge&amp;logo=linkedin&amp;logoColor=white)](https://www.linkedin.com/in/lucasvbr)
<img src="https://img.shields.io/badge/-made%20with%20%E2%9D%A4%EF%B8%8F-red" alt="Made with love"> [![freecodecamp](https://img.shields.io/badge/freecodecamp-0a0a23?style=for-the-badge&amp;logo=freecodecamp&amp;logoColor=white)](https://www.freecodecamp.org/LucasVbr)
</section>
## 🛠 Skills
![Angular](https://img.shields.io/static/v1?label=&amp;message=Angular&amp;color=%23df204a&amp;logo=angular&amp;logoColor=white)
![Symfony](https://img.shields.io/static/v1?label=&amp;message=Symfony&amp;color=%23df2020&amp;logo=symfony&amp;logoColor=white)
![Git](https://img.shields.io/static/v1?label=&amp;message=Git&amp;color=%23df3e20&amp;logo=git&amp;logoColor=white)
![HTML5](https://img.shields.io/static/v1?label=&amp;message=HTML5&amp;color=%23df4920&amp;logo=html5&amp;logoColor=white)
![Figma](https://img.shields.io/static/v1?label=&amp;message=Figma&amp;color=%23df4b20&amp;logo=figma&amp;logoColor=white)
![JavaScript](https://img.shields.io/static/v1?label=&amp;message=JavaScript&amp;color=%23dfca20&amp;logo=javascript&amp;logoColor=white)
![Bash](https://img.shields.io/static/v1?label=&amp;message=GNU+Bash&amp;color=%235bdf20&amp;logo=gnubash&amp;logoColor=white)
![Android](https://img.shields.io/static/v1?label=&amp;message=Android&amp;color=%2320df75&amp;logo=android&amp;logoColor=white)
![Bulma](https://img.shields.io/static/v1?label=&amp;message=Bulma&amp;color=%2320dfc3&amp;logo=bulma&amp;logoColor=white)
![MariaDB](https://img.shields.io/static/v1?label=&amp;message=MariaDB&amp;color=%2320b3df&amp;logo=mariadb&amp;logoColor=white)
![Java](https://img.shields.io/static/v1?label=&amp;message=Java&amp;color=%2320b2df&amp;logo=java&amp;logoColor=white)
![SQLite](https://img.shields.io/static/v1?label=&amp;message=SQLite&amp;color=%2320a2df&amp;logo=sqlite&amp;logoColor=white)
![CSS3](https://img.shields.io/static/v1?label=&amp;message=CSS3&amp;color=%23208edf&amp;logo=css3&amp;logoColor=white)
![MySQL](https://img.shields.io/static/v1?label=&amp;message=MySQL&amp;color=%23208ddf&amp;logo=mysql&amp;logoColor=white)
![Python](https://img.shields.io/static/v1?label=&amp;message=Python&amp;color=%232088df&amp;logo=python&amp;logoColor=white)
![C](https://img.shields.io/static/v1?label=&amp;message=C&amp;color=%23207adf&amp;logo=c&amp;logoColor=white)
![PostgreSQL](https://img.shields.io/static/v1?label=&amp;message=PostgreSQL&amp;color=%232050df&amp;logo=postgresql&amp;logoColor=white)
![PHP](https://img.shields.io/static/v1?label=&amp;message=PHP&amp;color=%23202cdf&amp;logo=php&amp;logoColor=white)
![Bootstrap](https://img.shields.io/static/v1?label=&amp;message=Bootstrap&amp;color=%236d20df&amp;logo=bootstrap&amp;logoColor=white)
---
<center>
![Profile views](https://komarev.com/ghpvc/?username=lucasvbr&amp;amp;label=Profile%20views&amp;amp;color=0e75b6&amp;amp;style=flat)
![FreeCodeCamp Points](https://img.shields.io/freecodecamp/points/lucasvbr?label=FreeCodeCamp%20points)
![Made with love](https://img.shields.io/badge/-made%20with%20%E2%9D%A4%EF%B8%8F-red)
</center>
+1
View File
@@ -0,0 +1 @@
deno run --allow-write --allow-read src/core.ts
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

+119
View File
@@ -0,0 +1,119 @@
{
"name": "Lucàs",
"about": "I'm a passionate developer from 🇫🇷 **Albi, France**.",
"links": [
{
"href": "https://lucasvbr.github.io/Portfolio",
"img": {
"src": "https://img.shields.io/badge/my_portfolio-000?style=for-the-badge&logo=ko-fi&logoColor=white",
"alt": "portfolio"
}
},
{
"href": "https://www.linkedin.com/in/lucasvbr",
"img": {
"src": "https://img.shields.io/badge/linkedin-0e76a8?style=for-the-badge&logo=linkedin&logoColor=white",
"alt": "linkedin"
}
},
{
"href": "https://www.freecodecamp.org/LucasVbr",
"img": {
"src": "https://img.shields.io/badge/freecodecamp-0a0a23?style=for-the-badge&logo=freecodecamp&logoColor=white",
"alt": "freecodecamp"
}
}
],
"skills": [
{
"src": "https://img.shields.io/static/v1?label=&message=Angular&color=%23df204a&logo=angular&logoColor=white",
"alt": "Angular"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Symfony&color=%23df2020&logo=symfony&logoColor=white",
"alt": "Symfony"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Git&color=%23df3e20&logo=git&logoColor=white",
"alt": "Git"
},
{
"src": "https://img.shields.io/static/v1?label=&message=HTML5&color=%23df4920&logo=html5&logoColor=white",
"alt": "HTML5"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Figma&color=%23df4b20&logo=figma&logoColor=white",
"alt": "Figma"
},
{
"src": "https://img.shields.io/static/v1?label=&message=JavaScript&color=%23dfca20&logo=javascript&logoColor=white",
"alt": "JavaScript"
},
{
"src": "https://img.shields.io/static/v1?label=&message=GNU+Bash&color=%235bdf20&logo=gnubash&logoColor=white",
"alt": "Bash"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Android&color=%2320df75&logo=android&logoColor=white",
"alt": "Android"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Bulma&color=%2320dfc3&logo=bulma&logoColor=white",
"alt": "Bulma"
},
{
"src": "https://img.shields.io/static/v1?label=&message=MariaDB&color=%2320b3df&logo=mariadb&logoColor=white",
"alt": "MariaDB"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Java&color=%2320b2df&logo=java&logoColor=white",
"alt": "Java"
},
{
"src": "https://img.shields.io/static/v1?label=&message=SQLite&color=%2320a2df&logo=sqlite&logoColor=white",
"alt": "SQLite"
},
{
"src": "https://img.shields.io/static/v1?label=&message=CSS3&color=%23208edf&logo=css3&logoColor=white",
"alt": "CSS3"
},
{
"src": "https://img.shields.io/static/v1?label=&message=MySQL&color=%23208ddf&logo=mysql&logoColor=white",
"alt": "MySQL"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Python&color=%232088df&logo=python&logoColor=white",
"alt": "Python"
},
{
"src": "https://img.shields.io/static/v1?label=&message=C&color=%23207adf&logo=c&logoColor=white",
"alt": "C"
},
{
"src": "https://img.shields.io/static/v1?label=&message=PostgreSQL&color=%232050df&logo=postgresql&logoColor=white",
"alt": "PostgreSQL"
},
{
"src": "https://img.shields.io/static/v1?label=&message=PHP&color=%23202cdf&logo=php&logoColor=white",
"alt": "PHP"
},
{
"src": "https://img.shields.io/static/v1?label=&message=Bootstrap&color=%236d20df&logo=bootstrap&logoColor=white",
"alt": "Bootstrap"
}
],
"badges": [
{
"src": "https://komarev.com/ghpvc/?username=lucasvbr&amp;label=Profile%20views&amp;color=0e75b6&amp;style=flat",
"alt": "Profile views"
},
{
"src": "https://img.shields.io/freecodecamp/points/lucasvbr?label=FreeCodeCamp%20points",
"alt": "FreeCodeCamp Points"
},
{
"src": "https://img.shields.io/badge/-made%20with%20%E2%9D%A4%EF%B8%8F-red",
"alt": "Made with love"
}
]
}
+8
View File
@@ -0,0 +1,8 @@
{% macro a(src, alt) -%}
[{{ alt }}]({{ src }})
{%- endmacro %}
{% macro img(src, alt) -%}
!{{ a(src, alt) }}
{%- endmacro %}
+25
View File
@@ -0,0 +1,25 @@
{% from "model/macro.njk" import a, img with context %}
# Hi, I'm {{ name }}! 👋
## 🚀 About Me
{{ about }}
## 🔗 Links
{% for link in links -%}
{{ a(link.href, img(link.img.src, link.img.alt)) }}
{% endfor %}
## 🛠 Skills
{% for skill in skills -%}
{{ img(skill.src, skill.alt) }}
{% endfor %}
---
<center>
{% for badge in badges -%}
{{ img(badge.src, badge.alt) }}
{% endfor %}
</center>
+5
View File
@@ -0,0 +1,5 @@
{
"template": "model/template.njk",
"data": "model/data.json",
"output": "README.md"
}
+9
View File
@@ -0,0 +1,9 @@
import denjucks from "https://deno.land/x/denjucks/mod.js";
let { template, data, output } = JSON.parse(await Deno.readTextFile("src/config.json"));
template = await Deno.readTextFile(template);
data = JSON.parse(await Deno.readTextFile(data));
const result = denjucks.renderString(template, data);
await Deno.writeTextFile(output, result);