mirror of
https://github.com/lxsang/antd-web-apps
synced 2024-11-19 18:08:21 +01:00
finish the info client
This commit is contained in:
parent
0869ca9bf5
commit
f94d2ffa50
11
Makefile
Normal file
11
Makefile
Normal file
@ -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
|
11
blog/index.html
Normal file
11
blog/index.html
Normal file
@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Blog</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
<body>
|
||||
<h1>Under maintenance</h1>
|
||||
</body>
|
||||
</html>
|
10
grs/Makefile
Normal file
10
grs/Makefile
Normal file
@ -0,0 +1,10 @@
|
||||
BUILDDIR = ../build/grs
|
||||
|
||||
copyfiles = font-awesome.css fonts images showdown.min.js ubuntu-regular.css mainsite.css hermit-light.css
|
||||
|
||||
main:
|
||||
- mkdir $(BUILDDIR)
|
||||
cp -rf $(copyfiles) $(BUILDDIR)
|
||||
- cd $(BUILDDIR) && ln -s ../os/resources/themes/antos/fonts/ ./gfonts && ln -s ../os/scripts/ ./gscripts
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
2337
grs/font-awesome.css
vendored
Normal file
2337
grs/font-awesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
BIN
grs/fonts/FuturaNewBold.woff
Normal file
BIN
grs/fonts/FuturaNewBold.woff
Normal file
Binary file not shown.
BIN
grs/fonts/FuturaNewDemi.woff
Normal file
BIN
grs/fonts/FuturaNewDemi.woff
Normal file
Binary file not shown.
BIN
grs/fonts/FuturaNewLight.woff
Normal file
BIN
grs/fonts/FuturaNewLight.woff
Normal file
Binary file not shown.
BIN
grs/fonts/FuturaNewLightOblique.woff
Normal file
BIN
grs/fonts/FuturaNewLightOblique.woff
Normal file
Binary file not shown.
12
grs/hermit-light.css
Executable file
12
grs/hermit-light.css
Executable file
@ -0,0 +1,12 @@
|
||||
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on August 6, 2017 */
|
||||
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'HermitLight';
|
||||
src: url('gfonts/hermit-light-webfont.woff2') format('woff2'),
|
||||
url('gfonts/hermit-light-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
BIN
grs/images/mrsang.png
Normal file
BIN
grs/images/mrsang.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
84
grs/mainsite.css
Normal file
84
grs/mainsite.css
Normal file
@ -0,0 +1,84 @@
|
||||
#layout{
|
||||
width:100%;
|
||||
font-family: "Ubuntu";
|
||||
font-size: 14px;
|
||||
/*margin:0 auto;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
color: #414339;*/
|
||||
}
|
||||
#top{
|
||||
background-color: #2c2c2c;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
text-align: center;
|
||||
|
||||
height: 50px;
|
||||
}
|
||||
#top ul{
|
||||
padding:0;
|
||||
margin: 0;
|
||||
padding-top: 16px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: row;
|
||||
list-style: none;
|
||||
}
|
||||
#top ul li{
|
||||
/*float: left;*/
|
||||
padding-left:10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
#top ul li i{
|
||||
margin-right: 3px;
|
||||
}
|
||||
#top ul li a{
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
}
|
||||
#top ul li a:hover{
|
||||
border-bottom: 1px dashed white;
|
||||
}
|
||||
#bottom{
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
height: 20px;
|
||||
text-align: center;
|
||||
color:#878887;
|
||||
font-size: 12px;
|
||||
width: 100%;
|
||||
padding:5px;
|
||||
border-top: 1px solid #878887;
|
||||
}
|
||||
#container{
|
||||
margin-top: 50px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-direction: row;
|
||||
}
|
||||
#container img{
|
||||
max-height: 250px;
|
||||
}
|
||||
#vcard {
|
||||
margin-left: 20px;
|
||||
}
|
||||
#vcard p.greeting{
|
||||
font-size: 30px;
|
||||
color: #414339;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
#vcard p.dedicate{
|
||||
color: #414339;
|
||||
/*font-family: "HermitLight";
|
||||
text-align: justify;
|
||||
*/
|
||||
font-size: 16px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
line-height: 1.6;
|
||||
width: 500px;
|
||||
|
||||
}
|
3
grs/showdown.min.js
vendored
Normal file
3
grs/showdown.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
39
grs/ubuntu-regular.css
Executable file
39
grs/ubuntu-regular.css
Executable file
@ -0,0 +1,39 @@
|
||||
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on August 6, 2017 */
|
||||
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Ubuntu';
|
||||
src: url('gfonts/ubuntu-regular-webfont.woff2') format('woff2'),
|
||||
url('gfonts/ubuntu-regular-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Ubuntu';
|
||||
src: url('gfonts/ubuntu-bold-webfont.woff2') format('woff2'),
|
||||
url('gfonts/ubuntu-bold-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Ubuntu';
|
||||
src: url('gfonts/ubuntu-bolditalic-webfont.woff2') format('woff2'),
|
||||
url('gfonts/ubuntu-bolditalic-webfont.woff') format('woff');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Ubuntu';
|
||||
src: url('gfonts/ubuntu-italic-webfont.woff2') format('woff2'),
|
||||
url('gfonts/ubuntu-italic-webfont.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
|
||||
}
|
41
index.html
Normal file
41
index.html
Normal file
@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Xuan Sang LE, personal site</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="grs/ubuntu-regular.css" />
|
||||
<link rel="stylesheet" type="text/css" href="grs/font-awesome.css" />
|
||||
<link rel="stylesheet" type="text/css" href="grs/mainsite.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id = "layout">
|
||||
<div id = "top">
|
||||
<ul>
|
||||
<li ><i class = "fa fa-address-card"></i><a href="https://info.lxsang.me" target="_blank">Porfolio</a></li>
|
||||
<li><i class = "fa fa-newspaper-o"></i><a href="https://blog.lxsang.me" target="_blank">Blog</a></li>
|
||||
<li><i class = "fa fa-paper-plane"></i>Contact</li>
|
||||
<li > <i class = "fa fa-globe"></i><a href = "https://os.lxsang.me" target="_blank">Web OS</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id = "center">
|
||||
<div id = "container">
|
||||
<img src = "grs/images/mrsang.png" ></img>
|
||||
<div id = "vcard">
|
||||
<p class = "greeting">Hi, I'm <b>Xuan Sang LE</b></p>
|
||||
<p class = "dedicate">
|
||||
<span class="fa fa-quote-left"></span>
|
||||
<span>
|
||||
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.
|
||||
</span>
|
||||
<span class="fa fa-quote-right"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id = "bottom">
|
||||
Powered by antd, (c) 2017 - 2018 Xuan Sang LE
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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)/*
|
327
info/index.ls
327
info/index.ls
@ -1,14 +1,22 @@
|
||||
<?lua
|
||||
<?lua
|
||||
std.html()
|
||||
local user = "mrsang"
|
||||
local die = function(m)
|
||||
echo(m)
|
||||
debug.traceback=nil
|
||||
error("Permission denied")
|
||||
end
|
||||
std.html()
|
||||
local user = "mrsang"
|
||||
local db = require("db.model").get("mrsang","user",nil)
|
||||
local sectionByCID = function(id)
|
||||
local db = require("db.model").get(user,"cv_sections",nil)
|
||||
if db == nil then die("Cannot get the cv_sections table") end
|
||||
local cond = { exp = { ["="] = { cid = id } } , order = { start = "DESC" } }
|
||||
local data, a = db:find(cond)
|
||||
db:close()
|
||||
return data, a
|
||||
end
|
||||
local db = require("db.model").get(user,"user",nil)
|
||||
if db == nil then die("cannot get db data") end
|
||||
local data = db:getAll()
|
||||
local data, a = db:getAll()
|
||||
db:close()
|
||||
if data == nil or data[0] == nil then die("Cannot fetch user info") end
|
||||
data = data[0]
|
||||
@ -16,12 +24,15 @@
|
||||
<html>
|
||||
<head>
|
||||
<!--script type="text/javascript" src="../os/scripts/jquery-3.2.1.min.js"></script-->
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script type="text/javascript" src="rst/showdown.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="style.css" />
|
||||
<link rel="stylesheet" type="text/css" href="font-awesome.css" />
|
||||
<link rel="stylesheet" type="text/css" href="rst/font-awesome.css" />
|
||||
<title>Porfolio</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="layout">
|
||||
<div class="layout">
|
||||
|
||||
<div class = "cv-content">
|
||||
<h1>
|
||||
<span class="name"><?=data.fullname?></span>
|
||||
<span class="cv">Curriculum Vitae</span>
|
||||
@ -34,217 +45,147 @@
|
||||
<span class="fa fa-envelope-o"></span>
|
||||
<span class="text"><?=data.email?></span>
|
||||
<span class="fa fa-globe"></span>
|
||||
<span class="text"><?=data.url?></span>
|
||||
<span class="text"><a href ="<?=data.url?>"><?=data.url?></a></span>
|
||||
</p>
|
||||
<p class="shortbio">
|
||||
<span class="fa fa-quote-left"></span>
|
||||
<span><?=data.shortbiblio?></span>
|
||||
<span class="fa fa-quote-right"></span>
|
||||
</p>
|
||||
<div class="container">
|
||||
<h1>Education</h1>
|
||||
<?lua
|
||||
-- query the the sections list
|
||||
db = require("db.model").get(user,"cv_cat",nil)
|
||||
if db == nil then die("Cannot get the cv_cat table") end
|
||||
local cond = { exp = { ["="] = { pid = 0 } }, order = { name = "ASC" } }
|
||||
data, a = db:find(cond)
|
||||
if data then
|
||||
for k, idx in pairs(a) do
|
||||
local cat = data[idx]
|
||||
cond = { exp = { ["="] = { pid = cat.id } }, order = { name = "ASC" } }
|
||||
local children, b = db:find(cond)
|
||||
if children and #children > 0 then -- we have the sub childrent
|
||||
?>
|
||||
<div class="container" id = "<?='toc'..idx?>">
|
||||
<h1><?=cat.name:gsub("^%d+%.","")?></h1>
|
||||
<?lua
|
||||
for l, j in pairs(b) do
|
||||
local child = children[j]
|
||||
?>
|
||||
<div class="sub-container">
|
||||
<h2>Academic Qualifications</h2>
|
||||
|
||||
<h2><?=child.name:gsub("^%d+%.","")?></h2>
|
||||
<?lua
|
||||
local entries, c = sectionByCID(child.id)
|
||||
if entries then
|
||||
for m, k in pairs(c) do
|
||||
local entry = entries[k]
|
||||
?>
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Universite de Bretagne Occidental</span>
|
||||
<?lua if entry.title ~= "" then ?>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title"><?=entry.title?></span>
|
||||
<?lua end ?>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
<span class="location"><?=entry.location?></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>PhD in computer science</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Universite de Bretagne Occidental</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>PhD in computer science</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Universite de Bretagne Occidental</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>PhD in computer science</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="sub-container">
|
||||
<h2>Notable Projects</h2>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">PHD Project (Ongoing)</span>
|
||||
<span class= "title-optional">
|
||||
Software/FPGA Co-design for Edge-computing: Promoting Object-oriented Design
|
||||
<span><?=entry.subtitle?></span>
|
||||
<span class="date">
|
||||
<?lua
|
||||
if entry["start"]:match("^20%d.*") and entry['end']:match("^20%d.*") then
|
||||
echo(entry.start.."-"..entry['end'])
|
||||
end
|
||||
?>
|
||||
</span>
|
||||
<span class="location"></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span></span>
|
||||
<span class="date">At: Mines-Télécom, Mines Douai and ENSTA Bretagne, France</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
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?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?lua
|
||||
end
|
||||
end
|
||||
?>
|
||||
</div>
|
||||
<?lua
|
||||
end
|
||||
?>
|
||||
</div>
|
||||
<?lua
|
||||
else
|
||||
?>
|
||||
<div class="container" id="<?='toc'..idx?>">
|
||||
<h1><?=cat.name:gsub("^%d+%.","")?></h1>
|
||||
<?lua
|
||||
local entries, c = sectionByCID(cat.id)
|
||||
if entries then
|
||||
for m, k in pairs(c) do
|
||||
local entry = entries[k]
|
||||
?>
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Master 2 project (Internship)</span>
|
||||
<span class= "title-optional">
|
||||
Optimization by parallelization of the 3d elastic free form deformation algorithm
|
||||
</span>
|
||||
<span class="location"></span>
|
||||
<?lua if entry.title ~= "" then ?>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title"><?=entry.title?></span>
|
||||
<?lua end ?>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location"><?=entry.location?></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span></span>
|
||||
<span class="date">At: Mines-Télécom, Mines Douai and ENSTA Bretagne, France</span>
|
||||
<span><?=entry.subtitle?></span>
|
||||
<span class="date">
|
||||
<?lua
|
||||
if entry["start"]:match("^20%d.*") and entry['end']:match("^20%d.*") then
|
||||
echo(entry.start.."-"..entry['end'])
|
||||
end
|
||||
?>
|
||||
</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
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?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<?lua
|
||||
end
|
||||
end
|
||||
echo ("</div>")
|
||||
end
|
||||
end
|
||||
db:close()
|
||||
end
|
||||
?>
|
||||
<div class = "container">
|
||||
<h1 style="margin:0;"></h1>
|
||||
<p style="text-align:right; padding:0; margin:0;color:#878887;">Powered by antd server, (C) 2017-2018 Xuan Sang LE</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="container">
|
||||
<h1>Previous employment</h1>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">ENSTA Bretagne</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>3 years CDD</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">ENSTA Bretagne</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>3 years CDD</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">ENSTA Bretagne</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location">Brest, France</span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span>3 years CDD</span>
|
||||
<span class="date">2014-2017</span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Working as researcher, partition in the research of the application of object-oriented design methodology in embedded systems.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<h1>Technical and Personal skills</h1>
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Programming language</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location"></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span></span>
|
||||
<span class="date"></span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Programming language</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location"></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span></span>
|
||||
<span class="date"></span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class= "entry">
|
||||
<p>
|
||||
<span class= "fa fa-bookmark"></span>
|
||||
<span class= "title">Programming language</span>
|
||||
<span class= "title-optional"></span>
|
||||
<span class="location"></span>
|
||||
</p>
|
||||
<div class="entry-short-des">
|
||||
<span></span>
|
||||
<span class="date"></span>
|
||||
</div>
|
||||
<div class="entry-description">
|
||||
Proficient in: C, C++, Pharo (Smalltalk), Python, Ruby, Java, PHP, Lua, Shell script, VHDL, HTML, Javascript, CSS. Also basic ability with: Assembly, Matlab.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class = "cv-toc">
|
||||
<ul>
|
||||
<?lua
|
||||
if data then
|
||||
for k, idx in pairs(a) do
|
||||
local cat = data[idx]
|
||||
?>
|
||||
<li><a href="#<?='toc'..idx?>"><?=cat.name:gsub("^%d+%.","")?></a></li>
|
||||
<?lua
|
||||
end
|
||||
end
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
window.onload = function()
|
||||
{
|
||||
var els = document.getElementsByClassName("entry-description");
|
||||
var converter = new showdown.Converter();
|
||||
for(var i in els)
|
||||
{
|
||||
var text = els[i].innerHTML;
|
||||
var html = converter.makeHtml(text);
|
||||
els[i].innerHTML = html;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user