diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4c4df00..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea/**/* diff --git a/README.md b/README.md index d1a6aa3..8379331 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,69 @@ -
-

Hi šŸ‘‹, I'm LucasVbr

-

A passionate developer from France

-
+
-Profile Views freeCodeCamp points +# Hi šŸ‘‹, I'm LucasVbr +### A passionate developer from France - +
-

Connect with me:

-

CodePen Linkedin RootMe pydefis

+ +Profile Views +FreeCodeCamp Points -

Language and Tools:

-html5 css3 javascript pug sass typescript php java c python bash + + +- šŸ”­ I'm currently working on a new version of my portfolio +- 🌱 I'm currently learning **Symfony** +- šŸ“« How to reach me **vabre.lucas.pro@gmail.com** +- šŸ’» Here is my portfolio + + + +## Connect With Me: +CodePen +Linkedin +RootMe +PyDefis +FreeCodeCamp + + + +## Languages and Tools: +HTML5 +CSS3 +Javascript +pug +SASS +Typescript +PHP +Java +C +Python +Bash + +Bootstrap +Bulma +Symfony +Angular + +Figma +Git +MariaDB +SqlServer +MySql +PostgreSql +sqlite + +Android +Linux +Windows + +
-bootstrap bulma symfony angular +githubStats +mostUsedLanguages - - -figma git mariadb mssql mysql postgresql sqlite - - - - -android linux Windows - -
- github-stats
most-used-languages
-
\ No newline at end of file +
\ No newline at end of file diff --git a/data.json b/data.json new file mode 100644 index 0000000..f82cbd2 --- /dev/null +++ b/data.json @@ -0,0 +1,281 @@ +{ + "hi": { + "src": "https://raw.githubusercontent.com/iampavangandhi/iampavangandhi/master/gifs/Hi.gif", + "alt": "\uD83D\uDC4B", + "width": "50px" + }, + "badges": [ + { + "src": "https://komarev.com/ghpvc/?username=lucasvbr&label=Profile%20views&color=0e75b6&style=flat", + "alt": "Profile Views" + }, + { + "src": "https://img.shields.io/freecodecamp/points/lucasvbr?label=FreeCodeCamp%20points", + "alt": "FreeCodeCamp Points" + } + ], + "about": [ + [ + { + "type": "icon", + "content": "\uD83D\uDD2D" + }, + { + "type": "text", + "content": "I'm currently working on" + }, + { + "type": "a", + "href": "https://github.com/LucasVbr/Portfolio", + "content": "a new version of my portfolio" + } + ], + [ + { + "type": "icon", + "content": "\uD83C\uDF31" + }, + { + "type": "text", + "content": "I'm currently learning" + }, + { + "type": "text", + "isBold": true, + "content": "Symfony" + } + ], + [ + { + "type": "icon", + "content": "\uD83D\uDCEB" + }, + { + "type": "text", + "content": "How to reach me" + }, + { + "type": "text", + "isBold": true, + "content": "vabre.lucas.pro@gmail.com" + } + ], + [ + { + "type": "icon", + "content": "\uD83D\uDCBB" + }, + { + "type": "text", + "content": "Here is" + }, + { + "type": "a", + "href": "https://lucasvbr.github.io/Portfolio", + "content": "my portfolio" + } + ] + ], + "connectWithMe": [ + { + "href": "https://codepen.io/LucasVbr", + "src": "https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/codepen.svg", + "alt": "CodePen", + "width": "35px" + }, + { + "href": "https://www.linkedin.com/in/lucasvbr", + "src": "https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg", + "alt": "Linkedin", + "width": "35px" + }, + { + "href": "https://www.root-me.org/LucasVbr?lang=fr", + "src": "https://www.root-me.org/IMG/logo/siteon0.svg", + "alt": "RootMe", + "width": "35px" + }, + { + "href": "https://pydefis.callicode.fr/user/mhof/LucasVbr/bba98551173e6b21", + "src": "https://pydefis.callicode.fr/static/callicode-vsm.png", + "alt": "PyDefis", + "width": "35px" + }, + { + "href": "https://www.freecodecamp.org/LucasVbr", + "src": "https://d33wubrfki0l68.cloudfront.net/2f7693e1933ac514c960f51ceae72c91c6716eb2/b2efd/img/fcc_primary_small.svg", + "alt": "FreeCodeCamp", + "width": "35px" + } + ], + "languagesAndTools": [ + [ + { + "href": "https://www.w3.org/html/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original-wordmark.svg", + "alt": "HTML5", + "width": "35px" + }, + { + "href": "https://www.w3schools.com/css/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original-wordmark.svg", + "alt": "CSS3", + "width": "35px" + }, + { + "href": "https://developer.mozilla.org/en-US/docs/Web/JavaScript", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg", + "alt": "Javascript", + "width": "35px" + }, + { + "href": "https://pugjs.org", + "src": "https://cdn.worldvectorlogo.com/logos/pug.svg", + "alt": "pug", + "width": "35px" + }, + { + "href": "https://sass-lang.com", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/sass/sass-original.svg", + "alt": "SASS", + "width": "35px" + }, + { + "href": "https://www.typescriptlang.org/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg", + "alt": "Typescript", + "width": "35px" + }, + { + "href": "https://www.php.net", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/php/php-original.svg", + "alt": "PHP", + "width": "35px" + }, + { + "href": "https://www.java.com", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-original.svg", + "alt": "Java", + "width": "35px" + }, + { + "href": "https://www.cprogramming.com/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/c/c-original.svg", + "alt": "C", + "width": "35px" + }, + { + "href": "https://www.python.org", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original.svg", + "alt": "Python", + "width": "35px" + }, + { + "href": "https://www.gnu.org/software/bash/", + "src": "https://www.vectorlogo.zone/logos/gnu_bash/gnu_bash-icon.svg", + "alt": "Bash", + "width": "35px" + } + ], + [ + { + "href": "https://getbootstrap.com", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain-wordmark.svg", + "alt": "Bootstrap", + "width": "35px" + }, + { + "href": "https://bulma.io/", + "src": "https://raw.githubusercontent.com/gilbarbara/logos/804dc257b59e144eaca5bc6ffd16949752c6f789/logos/bulma.svg", + "alt": "Bulma", + "width": "35px" + }, + { + "href": "https://symfony.com", + "src": "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/symfony/symfony-original.svg", + "alt": "Symfony", + "width": "35px" + }, + { + "href": "https://angular.io", + "src": "https://angular.io/assets/images/logos/angular/angular.svg", + "alt": "Angular", + "width": "35px" + } + ], + [ + { + "href": "https://www.figma.com/", + "src": "https://www.vectorlogo.zone/logos/figma/figma-icon.svg", + "alt": "Figma", + "width": "35px" + }, + { + "href": "https://git-scm.com/", + "src": "https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg", + "alt": "Git", + "width": "35px" + }, + { + "href": "https://mariadb.org/", + "src": "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg", + "alt": "MariaDB", + "width": "35px" + }, + { + "href": "https://www.microsoft.com/en-us/sql-server", + "src": "https://www.svgrepo.com/show/303229/microsoft-sql-server-logo.svg", + "alt": "SqlServer", + "width": "35px" + }, + { + "href": "https://www.mysql.com/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/mysql/mysql-original-wordmark.svg", + "alt": "MySql", + "width": "35px" + }, + { + "href": "https://www.postgresql.org", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/postgresql/postgresql-original-wordmark.svg", + "alt": "PostgreSql", + "width": "35px" + }, + { + "href": "https://www.sqlite.org/", + "src": "https://www.vectorlogo.zone/logos/sqlite/sqlite-icon.svg", + "alt": "sqlite", + "width": "35px" + } + ], + [ + { + "href": "https://developer.android.com", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/android/android-original-wordmark.svg", + "alt": "Android", + "width": "35px" + }, + { + "href": "https://www.linux.org/", + "src": "https://raw.githubusercontent.com/devicons/devicon/master/icons/linux/linux-original.svg", + "alt": "Linux", + "width": "35px" + }, + { + "href": "https://developer.microsoft.com/fr-fr/windows/", + "src": "https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/windows8/windows8-original.svg", + "alt": "Windows", + "width": "35px" + } + ] + ], + "stats": [ + { + "src": "https://github-readme-stats.vercel.app/api?username=lucasvbr&show_icons=true&locale=en", + "alt": "githubStats" + }, + { + "src": "https://github-readme-stats.vercel.app/api/top-langs?username=lucasvbr&show_icons=true&locale=en&layout=compact", + "alt": "mostUsedLanguages" + } + ] +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..666a0c0 --- /dev/null +++ b/main.py @@ -0,0 +1,27 @@ +# coding: utf-8 + +__author__ = "LucasVbr" +__version__ = "3.0.0" + +from flask import render_template +import flask +import json + +TEMPLATE_FILE = "index.md.jinja" +DATA_FILE = "data.json" +OUTPUT_FILE = "README.md" + +app = flask.Flask('my app') + +if __name__ == "__main__": + # Get Data from JSON + with open(DATA_FILE) as file: + data = json.load(file) + + # Build from template and data + with app.app_context(): + rendered = render_template(TEMPLATE_FILE, data=data) + + # Generate Markdown file + with open(OUTPUT_FILE, "w", encoding="utf8") as file: + file.write(rendered) diff --git a/src/README.mustache b/src/README.mustache deleted file mode 100644 index d39ef13..0000000 --- a/src/README.mustache +++ /dev/null @@ -1,28 +0,0 @@ -
-

Hi šŸ‘‹, I'm LucasVbr

-

A passionate developer from France

-
- -{{#badges}}{{> image }} {{/badges}} - - - -

Connect with me:

-

{{#connect-with-me}}{{> linkOnImage}} {{/connect-with-me}}

- -

Language and Tools:

-{{#languages-and-tools}} -{{# languages }}{{> linkOnImage}} {{/languages}} -{{# frameworks }}{{> linkOnImage}} {{/frameworks}} -{{# tools }}{{> linkOnImage}} {{/tools}} -{{# os }}{{> linkOnImage}} {{/os}} -{{/languages-and-tools}} - -
- {{#stats}}{{>image}}
{{/stats}} -
\ No newline at end of file diff --git a/src/data.yaml b/src/data.yaml deleted file mode 100644 index ea02485..0000000 --- a/src/data.yaml +++ /dev/null @@ -1,176 +0,0 @@ -# General variables -imgSize: "35px" -email: "vabre.lucas.pro@gmail.com" -portfolio-url: "https://lucasvbr.github.io/Portfolio" - -# Sections -badges: - - - img: "https://komarev.com/ghpvc/?username=lucasvbr&label=Profile%20views&color=0e75b6&style=flat" - alt: "Profile Views" - - - img: "https://img.shields.io/freecodecamp/points/lucasvbr?label=FreeCodeCamp%20points" - alt: "freeCodeCamp points" - -working: - link: "https://github.com/LucasVbr/Portfolio" - text: "a new version of my portfolio" - -connect-with-me: - - codepen: - link: "https://codepen.io/LucasVbr" - img: "https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/codepen.svg" - alt: "CodePen" - - - linkedin: - link: "www.linkedin.com/in/lucasvbr" - img: "https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg" - alt: "Linkedin" - - - rootme: - link: "https://www.root-me.org/LucasVbr?lang=fr" - img: "https://www.root-me.org/IMG/logo/siteon0.svg" - alt: "RootMe" - - - pydefis: - link: "https://pydefis.callicode.fr/user/mhof/LucasVbr/bba98551173e6b21" - img: "https://pydefis.callicode.fr/static/callicode-vsm.png" - alt: "pydefis" - -languages-and-tools: - - languages: - - html5: - link: "https://www.w3.org/html/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original-wordmark.svg" - alt: "html5" - - - css3: - link: "https://www.w3schools.com/css/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original-wordmark.svg" - alt: "css3" - - - javascript: - link: "https://developer.mozilla.org/en-US/docs/Web/JavaScript" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg" - alt: "javascript" - - - pug: - link: "https://pugjs.org" - img: "https://cdn.worldvectorlogo.com/logos/pug.svg" - alt: "pug" - - - sass: - link: "https://sass-lang.com" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/sass/sass-original.svg" - alt: "sass" - - - typescript: - link: "https://www.typescriptlang.org/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg" - alt: "typescript" - - - php: - link: "https://www.php.net" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/php/php-original.svg" - alt: "php" - - - java: - link: "https://www.java.com" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/java/java-original.svg" - alt: "java" - - - c: - link: "https://www.cprogramming.com/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/c/c-original.svg" - alt: "c" - - - python: - link: "https://www.python.org" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/python/python-original.svg" - alt: "python" - - - bash: - link: "https://www.gnu.org/software/bash/" - img: "https://www.vectorlogo.zone/logos/gnu_bash/gnu_bash-icon.svg" - alt: "bash" - - - frameworks: - - bootstrap: - link: "https://getbootstrap.com" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain-wordmark.svg" - alt: "bootstrap" - - - bulma: - link: "https://bulma.io/" - img: "https://raw.githubusercontent.com/gilbarbara/logos/804dc257b59e144eaca5bc6ffd16949752c6f789/logos/bulma.svg" - alt: "bulma" - - - symfony: - link: "https://symfony.com" - img: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/symfony/symfony-original.svg" - alt: "symfony" - - - angular: - link: "https://angular.io" - img: "https://angular.io/assets/images/logos/angular/angular.svg" - alt: "angular" - - - tools: - - figma: - link: "https://www.figma.com/" - img: "https://www.vectorlogo.zone/logos/figma/figma-icon.svg" - alt: "figma" - - - git: - link: "https://git-scm.com/" - img: "https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg" - alt: "git" - - - mariadb: - link: "https://mariadb.org/" - img: "https://www.vectorlogo.zone/logos/mariadb/mariadb-icon.svg" - alt: "mariadb" - - - mssql: - link: "https://www.microsoft.com/en-us/sql-server" - img: "https://www.svgrepo.com/show/303229/microsoft-sql-server-logo.svg" - alt: "mssql" - - - mysql: - link: "https://www.mysql.com/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/mysql/mysql-original-wordmark.svg" - alt: "mysql" - - - postgresql: - link: "https://www.postgresql.org" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/postgresql/postgresql-original-wordmark.svg" - alt: "postgresql" - - - sqlite: - link: "https://www.sqlite.org/" - img: "https://www.vectorlogo.zone/logos/sqlite/sqlite-icon.svg" - alt: "sqlite" - - - os: - - android: - link: "https://developer.android.com" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/android/android-original-wordmark.svg" - alt: "android" - - - linux: - link: "https://www.linux.org/" - img: "https://raw.githubusercontent.com/devicons/devicon/master/icons/linux/linux-original.svg" - alt: "linux" - - - windows: - link: "https://developer.microsoft.com/fr-fr/windows/" - img: "https://raw.githubusercontent.com/devicons/devicon/1119b9f84c0290e0f0b38982099a2bd027a48bf1/icons/windows8/windows8-original.svg" - alt: "Windows" - -stats: - - github-stats: - img: "https://github-readme-stats.vercel.app/api?username=lucasvbr&show_icons=true&locale=en" - alt: "github-stats" - - most-used-languages: - img: "https://github-readme-stats.vercel.app/api/top-langs?username=lucasvbr&show_icons=true&locale=en&layout=compact" - alt: "most-used-languages" \ No newline at end of file diff --git a/src/image.mustache b/src/image.mustache deleted file mode 100644 index 851b1f2..0000000 --- a/src/image.mustache +++ /dev/null @@ -1 +0,0 @@ -{{ alt }} \ No newline at end of file diff --git a/src/link.mustache b/src/link.mustache deleted file mode 100644 index 5f2d646..0000000 --- a/src/link.mustache +++ /dev/null @@ -1 +0,0 @@ -{{ text }} \ No newline at end of file diff --git a/src/linkOnImage.mustache b/src/linkOnImage.mustache deleted file mode 100644 index 107823b..0000000 --- a/src/linkOnImage.mustache +++ /dev/null @@ -1 +0,0 @@ -{{ alt }} \ No newline at end of file diff --git a/templates/index.md.jinja b/templates/index.md.jinja new file mode 100644 index 0000000..c3157af --- /dev/null +++ b/templates/index.md.jinja @@ -0,0 +1,20 @@ +{%- from './macros/image.md.jinja' import img -%} +{%- from './macros/link.md.jinja' import a -%} + + +{%- include './sections/header.md.jinja' with context %} + + +{% include './sections/badges.md.jinja' with context %} + + +{% include './sections/about.md.jinja' with context %} + + +{% include './sections/connect-with-me.md.jinja' with context %} + + +{% include './sections/languages-and-tools.md.jinja' with context %} + + +{% include './sections/stats.md.jinja' with context %} diff --git a/templates/macros/image.md.jinja b/templates/macros/image.md.jinja new file mode 100644 index 0000000..65d61fa --- /dev/null +++ b/templates/macros/image.md.jinja @@ -0,0 +1,3 @@ +{% macro img(src, alt='image', width='') -%} + {{ alt }} +{%- endmacro %} \ No newline at end of file diff --git a/templates/macros/link.md.jinja b/templates/macros/link.md.jinja new file mode 100644 index 0000000..a403834 --- /dev/null +++ b/templates/macros/link.md.jinja @@ -0,0 +1,3 @@ +{% macro a(href, content) -%} + {{ content }} +{%- endmacro %} \ No newline at end of file diff --git a/templates/sections/about.md.jinja b/templates/sections/about.md.jinja new file mode 100644 index 0000000..8160079 --- /dev/null +++ b/templates/sections/about.md.jinja @@ -0,0 +1,15 @@ +{% for element in data.about -%} +- + {%- for part in element -%} + {{ " " }} + {%- if part.type == "icon" or part.type == "text" -%} + {%- if part.isBold -%}**{%- endif -%} + {{ part.content }} + {%- if part.isBold -%}**{%- endif -%} + {%- elif part.type == "a" -%} + {{ a(part.href, part.content) }} + {%- else -%} + {{"Error: No type found"}} + {%- endif -%} + {%- endfor %} +{% endfor %} \ No newline at end of file diff --git a/templates/sections/badges.md.jinja b/templates/sections/badges.md.jinja new file mode 100644 index 0000000..c0cfae5 --- /dev/null +++ b/templates/sections/badges.md.jinja @@ -0,0 +1,3 @@ +{% for badge in data.badges -%} + {{ img(badge.src, badge.alt) }} +{% endfor %} \ No newline at end of file diff --git a/templates/sections/connect-with-me.md.jinja b/templates/sections/connect-with-me.md.jinja new file mode 100644 index 0000000..bb36a68 --- /dev/null +++ b/templates/sections/connect-with-me.md.jinja @@ -0,0 +1,4 @@ +## Connect With Me: +{% for image in data.connectWithMe -%} + {{ a(image.href, img(image.src, image.alt, image.width)) }} +{% endfor %} \ No newline at end of file diff --git a/templates/sections/header.md.jinja b/templates/sections/header.md.jinja new file mode 100644 index 0000000..2491ceb --- /dev/null +++ b/templates/sections/header.md.jinja @@ -0,0 +1,6 @@ +
+ +# Hi {{ img(data.hi.src, data.hi.alt, data.hi.width) }}, I'm LucasVbr +### A passionate developer from France + +
\ No newline at end of file diff --git a/templates/sections/languages-and-tools.md.jinja b/templates/sections/languages-and-tools.md.jinja new file mode 100644 index 0000000..461850b --- /dev/null +++ b/templates/sections/languages-and-tools.md.jinja @@ -0,0 +1,6 @@ +## Languages and Tools: +{% for images in data.languagesAndTools -%} +{% for image in images -%} + {{ a(image.href, img(image.src, image.alt, image.width)) }} +{% endfor %} +{% endfor -%} \ No newline at end of file diff --git a/templates/sections/stats.md.jinja b/templates/sections/stats.md.jinja new file mode 100644 index 0000000..d36a20d --- /dev/null +++ b/templates/sections/stats.md.jinja @@ -0,0 +1,7 @@ +
+ +{% for image in data.stats -%} + {{ img(image.src, image.alt) }} +{% endfor %} + +
\ No newline at end of file