- - Universite de Bretagne Occidental + + + =entry.title?> + - Brest, France + =entry.location?>
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a67e251 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +BUILDDIR = ./build +projs = grs info +copyfiles = index.html +main: copy + for f in $(projs); do make -C "$${f}" ; done + +copy: + cp -rf $(copyfiles) $(BUILDDIR) + +clean: + for f in $(projs); do rm -r $(BUILDDIR)/"$${f}"; done \ No newline at end of file diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 0000000..34c9cf3 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,11 @@ + + +
+[^\r]+?<\/pre>)/gm,function(g,A){var e=A;return e=e.replace(/^ /gm,"¨0"),e=e.replace(/¨0/g,"")}),C.subParser("makehtml.hashBlock")("","gim"),g=e.converter._dispatch("makehtml.hashPreCodeTags.after",g,A,e)}),C.subParser("makehtml.headers",function(g,A,e){"use strict";function I(g){var I,r;if(A.customizedHeaderId){var t=g.match(/\{([^{]+?)}\s*$/);t&&t[1]&&(g=t[1])}return I=g,r=C.helper.isString(A.prefixHeaderId)?A.prefixHeaderId:!0===A.prefixHeaderId?"section-":"",A.rawPrefixHeaderId||(I=r+I),I=A.ghCompatibleHeaderId?I.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():A.rawHeaderId?I.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():I.replace(/[^\w]/g,"").toLowerCase(),A.rawPrefixHeaderId&&(I=r+I),e.hashLinkCounts[I]?I=I+"-"+e.hashLinkCounts[I]++:e.hashLinkCounts[I]=1,I}g=e.converter._dispatch("makehtml.headers.before",g,A,e);var r=isNaN(parseInt(A.headerLevelStart))?1:parseInt(A.headerLevelStart),t=A.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,a=A.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;g=(g=g.replace(t,function(g,t){var a=C.subParser("makehtml.spanGamut")(t,A,e),n=A.noHeaderId?"":' id="'+I(t)+'"',o="\n"+g+"\n",A,e)}),g=e.converter._dispatch("makehtml.blockQuotes.after",g,A,e)}),C.subParser("makehtml.codeBlocks",function(g,A,e){"use strict";g=e.converter._dispatch("makehtml.codeBlocks.before",g,A,e);return g=(g+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,function(g,I,r){var t=I,a=r,n="\n";return t=C.subParser("makehtml.outdent")(t,A,e),t=C.subParser("makehtml.encodeCode")(t,A,e),t=C.subParser("makehtml.detab")(t,A,e),t=t.replace(/^\n+/g,""),t=t.replace(/\n+$/g,""),A.omitExtraWLInCodeBlocks&&(n=""),t="",C.subParser("makehtml.hashBlock")(t,A,e)+a}),g=g.replace(/¨0/,""),g=e.converter._dispatch("makehtml.codeBlocks.after",g,A,e)}),C.subParser("makehtml.codeSpans",function(g,A,e){"use strict";return void 0===(g=e.converter._dispatch("makehtml.codeSpans.before",g,A,e))&&(g=""),g=g.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(g,I,r,t){var a=t;return a=a.replace(/^([ \t]*)/g,""),a=a.replace(/[ \t]*$/g,""),a=C.subParser("makehtml.encodeCode")(a,A,e),a=I+""+t+n+"
"+a+"
",a=C.subParser("makehtml.hashHTMLSpans")(a,A,e)}),g=e.converter._dispatch("makehtml.codeSpans.after",g,A,e)}),C.subParser("makehtml.completeHTMLDocument",function(g,A,e){"use strict";if(!A.completeHTMLDocument)return g;g=e.converter._dispatch("makehtml.completeHTMLDocument.before",g,A,e);var C="html",I="\n",r="",t='\n',a="",n="";void 0!==e.metadata.parsed.doctype&&(I="\n","html"!==(C=e.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==C||(t=''));for(var o in e.metadata.parsed)if(e.metadata.parsed.hasOwnProperty(o))switch(o.toLowerCase()){case"doctype":break;case"title":r=""+e.metadata.parsed.title+" \n";break;case"charset":t="html"===C||"html5"===C?'\n':'\n';break;case"language":case"lang":a=' lang="'+e.metadata.parsed[o]+'"',n+='\n';break;default:n+='\n'}return g=I+"\n\n"+r+t+n+"\n\n"+g.trim()+"\n\n",g=e.converter._dispatch("makehtml.completeHTMLDocument.after",g,A,e)}),C.subParser("makehtml.detab",function(g,A,e){"use strict";return g=e.converter._dispatch("makehtml.detab.before",g,A,e),g=g.replace(/\t(?=\t)/g," "),g=g.replace(/\t/g,"¨A¨B"),g=g.replace(/¨B(.+?)¨A/g,function(g,A){for(var e=A,C=4-e.length%4,I=0;I/g,">"),g=e.converter._dispatch("makehtml.encodeAmpsAndAngles.after",g,A,e)}),C.subParser("makehtml.encodeBackslashEscapes",function(g,A,e){"use strict";return g=e.converter._dispatch("makehtml.encodeBackslashEscapes.before",g,A,e),g=g.replace(/\\(\\)/g,C.helper.escapeCharactersCallback),g=g.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,C.helper.escapeCharactersCallback),g=e.converter._dispatch("makehtml.encodeBackslashEscapes.after",g,A,e)}),C.subParser("makehtml.encodeCode",function(g,A,e){"use strict";return g=e.converter._dispatch("makehtml.encodeCode.before",g,A,e),g=g.replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,C.helper.escapeCharactersCallback),g=e.converter._dispatch("makehtml.encodeCode.after",g,A,e)}),C.subParser("makehtml.escapeSpecialCharsWithinTagAttributes",function(g,A,e){"use strict";return g=(g=e.converter._dispatch("makehtml.escapeSpecialCharsWithinTagAttributes.before",g,A,e)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,function(g){return g.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,C.helper.escapeCharactersCallback)}),g=g.replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,function(g){return g.replace(/([\\`*_~=|])/g,C.helper.escapeCharactersCallback)}),g=e.converter._dispatch("makehtml.escapeSpecialCharsWithinTagAttributes.after",g,A,e)}),C.subParser("makehtml.githubCodeBlocks",function(g,A,e){"use strict";return A.ghCodeBlocks?(g=e.converter._dispatch("makehtml.githubCodeBlocks.before",g,A,e),g+="¨0",g=g.replace(/(?:^|\n)(```+|~~~+)([^\s`~]*)\n([\s\S]*?)\n\1/g,function(g,I,r,t){var a=A.omitExtraWLInCodeBlocks?"":"\n";return t=C.subParser("makehtml.encodeCode")(t,A,e),t=C.subParser("makehtml.detab")(t,A,e),t=t.replace(/^\n+/g,""),t=t.replace(/\n+$/g,""),t=" ",t=C.subParser("makehtml.hashBlock")(t,A,e),"\n\n¨G"+(e.ghCodeBlocks.push({text:g,codeblock:t})-1)+"G\n\n"}),g=g.replace(/¨0/,""),e.converter._dispatch("makehtml.githubCodeBlocks.after",g,A,e)):g}),C.subParser("makehtml.hashBlock",function(g,A,e){"use strict";return g=e.converter._dispatch("makehtml.hashBlock.before",g,A,e),g=g.replace(/(^\n+|\n+$)/g,""),g="\n\n¨K"+(e.gHtmlBlocks.push(g)-1)+"K\n\n",g=e.converter._dispatch("makehtml.hashBlock.after",g,A,e)}),C.subParser("makehtml.hashCodeTags",function(g,A,e){"use strict";g=e.converter._dispatch("makehtml.hashCodeTags.before",g,A,e);return g=C.helper.replaceRecursiveRegExp(g,function(g,I,r,t){var a=r+C.subParser("makehtml.encodeCode")(I,A,e)+t;return"¨C"+(e.gHtmlSpans.push(a)-1)+"C"},""+t+a+"
]*>","
","gim"),g=e.converter._dispatch("makehtml.hashCodeTags.after",g,A,e)}),C.subParser("makehtml.hashElement",function(g,A,e){"use strict";return function(g,A){var C=A;return C=C.replace(/\n\n/g,"\n"),C=C.replace(/^\n/,""),C=C.replace(/\n+$/g,""),C="\n\n¨K"+(e.gHtmlBlocks.push(C)-1)+"K\n\n"}}),C.subParser("makehtml.hashHTMLBlocks",function(g,A,e){"use strict";g=e.converter._dispatch("makehtml.hashHTMLBlocks.before",g,A,e);var I=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],r=function(g,A,C,I){var r=g;return-1!==C.search(/\bmarkdown\b/)&&(r=C+e.converter.makeHtml(A)+I),"\n\n¨K"+(e.gHtmlBlocks.push(r)-1)+"K\n\n"};A.backslashEscapesHTMLTags&&(g=g.replace(/\\<(\/?[^>]+?)>/g,function(g,A){return"<"+A+">"}));for(var t=0;t]*>)","im"),o="<"+I[t]+"\\b[^>]*>",s=""+I[t]+">";-1!==(a=C.helper.regexIndexOf(g,n));){var i=C.helper.splitAtIndex(g,a),l=C.helper.replaceRecursiveRegExp(i[1],r,o,s,"im");if(l===i[1])break;g=i[0].concat(l)}return g=g.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,C.subParser("makehtml.hashElement")(g,A,e)),g=C.helper.replaceRecursiveRegExp(g,function(g){return"\n\n¨K"+(e.gHtmlBlocks.push(g)-1)+"K\n\n"},"^ {0,3}\x3c!--","--\x3e","gm"),g=g.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,C.subParser("makehtml.hashElement")(g,A,e)),g=e.converter._dispatch("makehtml.hashHTMLBlocks.after",g,A,e)}),C.subParser("makehtml.hashHTMLSpans",function(g,A,e){"use strict";function C(g){return"¨C"+(e.gHtmlSpans.push(g)-1)+"C"}return g=e.converter._dispatch("makehtml.hashHTMLSpans.before",g,A,e),g=g.replace(/<[^>]+?\/>/gi,function(g){return C(g)}),g=g.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(g){return C(g)}),g=g.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(g){return C(g)}),g=g.replace(/<[^>]+?>/gi,function(g){return C(g)}),g=e.converter._dispatch("makehtml.hashHTMLSpans.after",g,A,e)}),C.subParser("makehtml.unhashHTMLSpans",function(g,A,e){"use strict";g=e.converter._dispatch("makehtml.unhashHTMLSpans.before",g,A,e);for(var C=0;C ]*>\\s* ]*>","^ {0,3}
\\s*
"),n+="
",r.push(n))}for(t=r.length,a=0;a]*>/.test(s)&&(i=!0)}r[a]=s}return g=r.join("\n"),g=g.replace(/^\n+/g,""),g=g.replace(/\n+$/g,""),e.converter._dispatch("makehtml.paragraphs.after",g,A,e)}),C.subParser("makehtml.runExtension",function(g,A,e,C){"use strict";if(g.filter)A=g.filter(A,C.converter,e);else if(g.regex){var I=g.regex;I instanceof RegExp||(I=new RegExp(I,"g")),A=A.replace(I,g.replace)}return A}),C.subParser("makehtml.spanGamut",function(g,A,e){"use strict";return g=e.converter._dispatch("smakehtml.panGamut.before",g,A,e),g=C.subParser("makehtml.codeSpans")(g,A,e),g=C.subParser("makehtml.escapeSpecialCharsWithinTagAttributes")(g,A,e),g=C.subParser("makehtml.encodeBackslashEscapes")(g,A,e),g=C.subParser("makehtml.images")(g,A,e),g=C.subParser("makehtml.anchors")(g,A,e),g=C.subParser("makehtml.autoLinks")(g,A,e),g=C.subParser("makehtml.simplifiedAutoLinks")(g,A,e),g=C.subParser("makehtml.emoji")(g,A,e),g=C.subParser("makehtml.underline")(g,A,e),g=C.subParser("makehtml.italicsAndBold")(g,A,e),g=C.subParser("makehtml.strikethrough")(g,A,e),g=C.subParser("makehtml.ellipsis")(g,A,e),g=C.subParser("makehtml.hashHTMLSpans")(g,A,e),g=C.subParser("makehtml.encodeAmpsAndAngles")(g,A,e),A.simpleLineBreaks?/\n\n¨K/.test(g)||(g=g.replace(/\n+/g,"
\n")):g=g.replace(/ +\n/g,"
\n"),g=e.converter._dispatch("makehtml.spanGamut.after",g,A,e)}),C.subParser("makehtml.strikethrough",function(g,A,e){"use strict";return A.strikethrough&&(g=(g=e.converter._dispatch("makehtml.strikethrough.before",g,A,e)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(g,I){return function(g){return A.simplifiedAutoLink&&(g=C.subParser("makehtml.simplifiedAutoLinks")(g,A,e)),""+g+""}(I)}),g=e.converter._dispatch("makehtml.strikethrough.after",g,A,e)),g}),C.subParser("makehtml.stripLinkDefinitions",function(g,A,e){"use strict";var I=function(g,I,r,t,a,n,o){return I=I.toLowerCase(),r.match(/^data:.+?\/.+?;base64,/)?e.gUrls[I]=r.replace(/\s/g,""):e.gUrls[I]=C.subParser("makehtml.encodeAmpsAndAngles")(r,A,e),n?n+o:(o&&(e.gTitles[I]=o.replace(/"|'/g,""")),A.parseImgDimensions&&t&&a&&(e.gDimensions[I]={width:t,height:a}),"")};return g=(g+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,I),g=g.replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,I),g=g.replace(/¨0/,"")}),C.subParser("makehtml.tables",function(g,A,e){"use strict";function I(g){return/^:[ \t]*--*$/.test(g)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(g)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(g)?' style="text-align:center;"':""}function r(g,I){var r="";return g=g.trim(),(A.tablesHeaderId||A.tableHeaderId)&&(r=' id="'+g.replace(/ /g,"_").toLowerCase()+'"'),g=C.subParser("makehtml.spanGamut")(g,A,e),""+g+" \n"}function t(g,I){return""+C.subParser("makehtml.spanGamut")(g,A,e)+" \n"}function a(g){var a,n=g.split("\n");for(a=0;a\n\n\n",I=0;I\n";for(var r=0;r\n"}return e+=" \n\n"}(l,u)}if(!A.tables)return g;return g=e.converter._dispatch("makehtml.tables.before",g,A,e),g=g.replace(/\\(\|)/g,C.helper.escapeCharactersCallback),g=g.replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,a),g=g.replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,a),g=e.converter._dispatch("makehtml.tables.after",g,A,e)}),C.subParser("makehtml.underline",function(g,A,e){"use strict";return A.underline?(g=e.converter._dispatch("makehtml.underline.before",g,A,e),g=A.literalMidWordUnderscores?g.replace(/\b_?__(\S[\s\S]*)___?\b/g,function(g,A){return""+A+""}):g.replace(/_?__(\S[\s\S]*?)___?/g,function(g,A){return/\S$/.test(A)?""+A+"":g}),g=g.replace(/(_)/g,C.helper.escapeCharactersCallback),g=e.converter._dispatch("makehtml.underline.after",g,A,e)):g}),C.subParser("makehtml.unescapeSpecialChars",function(g,A,e){"use strict";return g=e.converter._dispatch("makehtml.unescapeSpecialChars.before",g,A,e),g=g.replace(/¨E(\d+)E/g,function(g,A){var e=parseInt(A);return String.fromCharCode(e)}),g=e.converter._dispatch("makehtml.unescapeSpecialChars.after",g,A,e)}),C.Converter=function(g){"use strict";function e(g,e){if(e=e||null,C.helper.isString(g)){if(g=C.helper.stdExtName(g),e=g,C.extensions[g])return console.warn("DEPRECATION WARNING: "+g+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(g,e){"function"==typeof g&&(g=g(new C.Converter));C.helper.isArray(g)||(g=[g]);var I=A(g,e);if(!I.valid)throw Error(I.error);for(var r=0;r/g,"\\$1>"),A=A.replace(/^#/gm,"\\#"),A=A.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),A=A.replace(/^( {0,3}\d+)\./gm,"$1\\."),A=A.replace(/^( {0,3})([+-])/gm,"$1\\$2"),A=A.replace(/]([\s]*)\(/g,"\\]$1\\("),A=A.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}(g);if(8===g.nodeType)return"\x3c!--"+g.data+"--\x3e\n\n";if(1!==g.nodeType)return"";switch(g.tagName.toLowerCase()){case"h1":t||(a=I(g,1)+"\n\n");break;case"h2":t||(a=I(g,2)+"\n\n");break;case"h3":t||(a=I(g,3)+"\n\n");break;case"h4":t||(a=I(g,4)+"\n\n");break;case"h5":t||(a=I(g,5)+"\n\n");break;case"h6":t||(a=I(g,6)+"\n\n");break;case"p":t||(a=function(g){var e="";if(g.hasChildNodes())for(var C=g.childNodes,I=C.length,r=0;r "+e.split("\n").join("\n> ")}(g)+"\n\n");break;case"hr":t||(a="---\n\n");break;case"ol":t||(a=e(g,"ol")+"\n\n");break;case"ul":t||(a=e(g,"ul")+"\n\n");break;case"precode":t||(a=function(g){var A=g.getAttribute("language"),e=g.getAttribute("precodenum");return"```"+A+"\n"+n[e]+"\n```"}(g)+"\n\n");break;case"pre":t||(a=function(g){var A=g.getAttribute("prenum");return""+n[A]+"
"}(g)+"\n\n");break;case"table":t||(a=function(g){var A,e,I="",t=[[],[]],a=g.querySelectorAll("thead>tr>th"),n=g.querySelectorAll("tbody>tr");for(A=0;Ah&&(h=m)}for(A=0;A",g.hasAttribute("title")&&(e+=' "'+g.getAttribute("title")+'"'),e+=")"}return e}(g);break;case"img":a=function(g){var A="";g.hasAttribute("src")&&(A+="!["+g.getAttribute("alt")+"](",A+="<"+g.getAttribute("src")+">",g.hasAttribute("width")&&g.hasAttribute("height")&&(A+=" ="+g.getAttribute("width")+"x"+g.getAttribute("height")),g.hasAttribute("title")&&(A+=' "'+g.getAttribute("title")+'"'),A+=")");return A}(g);break;default:a=g.outerHTML+"\n\n"}return a}function e(g,e){var C="";if(!g.hasChildNodes())return"";for(var I=g.childNodes,r=I.length,t=g.getAttribute("start")||1,a=0;a [ \t]+,">¨NBSP;<");var a=C.helper.document.createElement("div");a.innerHTML=g;var n=function(g){for(var A=g.querySelectorAll("pre"),e=[],I=0;I'}else e.push(A[I].innerHTML),A[I].innerHTML="",A[I].setAttribute("prenum",I.toString());return e}(a);t(a);for(var o=a.childNodes,s="",i=0;i
+
+
+ Xuan Sang LE, personal site
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hi, I'm Xuan Sang LE
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
+
+
+
+
+
+
+
+ Powered by antd, (c) 2017 - 2018 Xuan Sang LE
+
+
+
+
\ No newline at end of file
diff --git a/info/Makefile b/info/Makefile
index cfae1d4..878ef7e 100644
--- a/info/Makefile
+++ b/info/Makefile
@@ -5,6 +5,6 @@ copyfiles = index.ls style.css
main:
- mkdir $(BUILDDIR)
cp -rf $(copyfiles) $(BUILDDIR)
- cd $(BUILDDIR) && ln -s ../gresources .rst
+ - cd $(BUILDDIR) && ln -s ../grs ./rst
clean:
rm -rf $(BUILDDIR)/*
\ No newline at end of file
diff --git a/info/index.ls b/info/index.ls
index e3fba90..f6f497e 100644
--- a/info/index.ls
+++ b/info/index.ls
@@ -1,14 +1,22 @@
-
-
+
-
+
+ Porfolio
-
+
+
+
=data.fullname?>
Curriculum Vitae
@@ -34,217 +45,147 @@
=data.email?>
- =data.url?>
+ =data.url?>
=data.shortbiblio?>
-
- Education
+ 0 then -- we have the sub childrent
+?>
+
+ =cat.name:gsub("^%d+%.","")?>
+
- Academic Qualifications
-
+ =child.name:gsub("^%d+%.","")?>
+
-
- Universite de Bretagne Occidental
+
+
+ =entry.title?>
+
- Brest, France
+ =entry.location?>
- PhD in computer science
- 2014-2017
-
-
-
-
-
-
-
-
- Universite de Bretagne Occidental
-
- Brest, France
-
-
- PhD in computer science
- 2014-2017
-
-
-
-
-
-
-
-
- Universite de Bretagne Occidental
-
- Brest, France
-
-
- PhD in computer science
- 2014-2017
-
-
-
-
-
-
-
-
- Notable Projects
-
-
-
-
- PHD Project (Ongoing)
-
- Software/FPGA Co-design for Edge-computing: Promoting Object-oriented Design
+ =entry.subtitle?>
+
+
-
-
-
-
- At: Mines-Télécom, Mines Douai and ENSTA Bretagne, France
- Working as a PhD student, my research focuses on the application of the object-oriented design methodol- ogy in embedded systems. The work mainly focuses on: (1) the use of object-oriented design principles on hardware design, especially on FPGA design. (2) The implementation of an object oriented and distributed platform for edge-computing on hybrid (SW/HW) sensor network, based on a Virtual Machine (Smalltalk) solution. The goal facilitates the development, deployment and maintenance of distributed applications on that hybrid and reconfigurable system. This project is a collaboration between ENSTA Bretagne and École des Mines de Douai.
+ =entry.content?>
-
+
+
+
+
+
+
+ =cat.name:gsub("^%d+%.","")?>
+
-
- Master 2 project (Internship)
-
- Optimization by parallelization of the 3d elastic free form deformation algorithm
-
-
+
+
+ =entry.title?>
+
+
+ =entry.location?>
-
- At: Mines-Télécom, Mines Douai and ENSTA Bretagne, France
+ =entry.subtitle?>
+
+
+
- Working as a PhD student, my research focuses on the application of the object-oriented design methodol- ogy in embedded systems. The work mainly focuses on: (1) the use of object-oriented design principles on hardware design, especially on FPGA design. (2) The implementation of an object oriented and distributed platform for edge-computing on hybrid (SW/HW) sensor network, based on a Virtual Machine (Smalltalk) solution. The goal facilitates the development, deployment and maintenance of distributed applications on that hybrid and reconfigurable system. This project is a collaboration between ENSTA Bretagne and École des Mines de Douai.
+ =entry.content?>
-
-
-
-
-
+ ")
+ end
+ end
+ db:close()
+ end
+ ?>
+
+
+ Powered by antd server, (C) 2017-2018 Xuan Sang LE
-
-
-
- Previous employment
-
-
-
-
- ENSTA Bretagne
-
- Brest, France
-
-
- 3 years CDD
- 2014-2017
-
-
- Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
-
-
-
-
-
-
- ENSTA Bretagne
-
- Brest, France
-
-
- 3 years CDD
- 2014-2017
-
-
- Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
-
-
-
-
-
-
- ENSTA Bretagne
-
- Brest, France
-
-
- 3 years CDD
- 2014-2017
-
-
- Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
-
-
-
-
-
-
-
- Technical and Personal skills
-
-
-
- Programming language
-
-
-
-
-
-
-
-
- Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
-
-
-
-
-
-
- Programming language
-
-
-
-
-
-
-
-
- Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
-
-
-
-
-
-
- Programming language
-
-
-
-
-
-
-
-
- Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
-
-
-
-
-
+
+
+
+ - =cat.name:gsub("^%d+%.","")?>
+
+
+
+
+
\ No newline at end of file
diff --git a/info/style.css b/info/style.css
index bc932cf..b6da6c5 100644
--- a/info/style.css
+++ b/info/style.css
@@ -24,7 +24,10 @@
width:800px;
font-family: "FuturaNormal";
text-align: justify;
- margin:0 auto;
+ margin:0 auto;
+ display: flex;
+ flex-direction: row-reverse;
+ /*color: #414339;*/
}
h1 {
font-size: 25px;
@@ -37,9 +40,35 @@ h1 .name{
border-right: 2px solid #878887;
padding-right: 10px;
}
-
+.cv-toc{
+ display: block;
+ text-align: right;
+ min-width: 180px;
+ margin-top: 135px;
+ margin-right: 10px;
+ border-right: 1px dashed #878887;
+}
+.cv-toc ul{
+ margin: 0;
+ padding:0;
+ padding-right: 10px;
+ list-style: none;
+}
+.cv-toc ul a{
+ color:#414339;
+ text-decoration: none;
+ display: inline-block;
+ padding-bottom: 3px;
+}
+.cv-toc ul a:hover{
+ border-bottom: 1px dashed #878887;
+}
+.cv-content{
+ display: block;
+}
h1 .cv{
color:#878887;
+ padding-left: 10px;
}
.coordination {
@@ -84,11 +113,13 @@ h1 .cv{
}
.entry .location{
float:right;
- font-family: "FuturaBold";
+ font-family: "FuturaItalic";
+ color: #662702;
}
.entry-short-des{
font-family: "FuturaItalic";
padding-left: 13px;
+ margin-bottom: 5px;
}
.entry-short-des span.date{
float:right;