del fdossema.com
This commit is contained in:
parent
73cbdc9b2a
commit
9705aa3713
fdossena.com
BebasNeue.ttfLato-Black.ttfLato-Bold.ttfRoboto300.ttfRoboto400.ttfbasic.css?20190711.cssbasic.css?20190711origbebasneue.woffcampaign-icon.pngfb.pnggplus.pnghome_basic.css?20170604.cssindex.html?p=home.frag.htmlindex.html?p=home.frag.origlato-black.wofflato-bold.woffmenu.pngphoto_home.jpgprint.css?20170306.cssroboto300.woffroboto400.woffrobots.txttw.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,475 +0,0 @@
|
||||
/*
|
||||
FONTS
|
||||
*/
|
||||
@font-face {
|
||||
font-family: BebasNeue;
|
||||
src: url("bebasneue.woff") format("woff"), url("BebasNeue.ttf") format("ttf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-black.woff') format('woff'),url('Lato-Black.ttf') format('truetype');
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-bold.woff') format('woff'),url('Lato-Bold.ttf') format('truetype');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
/*@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-light.woff') format('woff'),url('Lato-Light.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-regular.woff') format('woff'),url('Lato-Regular.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url("roboto300.woff") format('woff'), url("Roboto300.ttf") format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url("roboto400.woff") format('woff'), url("Roboto400.ttf") format('truetype');
|
||||
}
|
||||
/*
|
||||
HEADINGS, TITLES
|
||||
*/
|
||||
h1,h2,h3,h4,h5,h6{
|
||||
font-family:'Lato', sans-serif;
|
||||
color:#FFFFFF;
|
||||
margin:1.7em 0 0.5em 0;
|
||||
font-weight:900;
|
||||
line-height:1em;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
h1{
|
||||
font-size:2.5em;
|
||||
}
|
||||
h2{
|
||||
font-size:2.1em;
|
||||
}
|
||||
h3{
|
||||
font-size:2em;
|
||||
}
|
||||
h4{
|
||||
font-size:1.7em;
|
||||
}
|
||||
h5{
|
||||
font-size:1.5em;
|
||||
}
|
||||
h6{
|
||||
font-size:1.3em;
|
||||
}
|
||||
/*
|
||||
UTILS
|
||||
*/
|
||||
div.clear{
|
||||
clear:both;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
height:0 !important;
|
||||
overflow:hidden;
|
||||
}
|
||||
iframe{
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
overflow:hidden;
|
||||
}
|
||||
.clickOverlay{
|
||||
display:block;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height:100%;
|
||||
color:rgba(0,0,0,0);
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
cursor:pointer;
|
||||
z-index:99;
|
||||
}
|
||||
span.bold{
|
||||
font-weight:400;
|
||||
}
|
||||
#resp_test{
|
||||
width:0;
|
||||
position:fixed;
|
||||
z-index:0;
|
||||
}
|
||||
/*
|
||||
BASIC PAGE STYLING AND POSITIONING
|
||||
*/
|
||||
html,body{
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
color:#FFFFFF;
|
||||
font-weight:300;
|
||||
font-family:'Roboto',sans-serif;
|
||||
line-height:1.55;
|
||||
overflow-x:hidden;
|
||||
}
|
||||
html{
|
||||
overflow-y:scroll;
|
||||
}
|
||||
body{
|
||||
background-color:#0d0d24;
|
||||
font-size:0.9em;
|
||||
}
|
||||
#fragment{
|
||||
margin-top:6.2em;
|
||||
}
|
||||
/*
|
||||
NAV MENU
|
||||
*/
|
||||
#nav{
|
||||
background-color:#FFEEEE;
|
||||
background:linear-gradient(10deg, #EEDDDD 0%, #FFEEEE 100%);
|
||||
box-shadow:0 0 1em rgba(0,0,0,0.3);
|
||||
position:fixed;
|
||||
top:0;
|
||||
width:100%; height:4.2em;
|
||||
z-index:3;
|
||||
text-align:right;
|
||||
z-index:999;
|
||||
-webkit-touch-callout:none;
|
||||
-webkit-user-select:none;
|
||||
-moz-user-select:none;
|
||||
-ms-user-select:none;
|
||||
user-select:none !important;
|
||||
}
|
||||
#logo{
|
||||
font-size:1.95em;
|
||||
line-height:2.17em;
|
||||
font-family:'Lato', sans-serif;
|
||||
color:#000000;
|
||||
opacity:0.77;
|
||||
display:inline-block;
|
||||
width:auto;
|
||||
margin-right:2em;
|
||||
float:left;
|
||||
font-weight:900;
|
||||
text-transform:uppercase;
|
||||
letter-spacing:-0.01em;
|
||||
}
|
||||
#nav a{
|
||||
margin:0;
|
||||
padding:0;
|
||||
height:100%;
|
||||
line-height:4.25em;
|
||||
display:inline-block;
|
||||
text-align:center;
|
||||
color:#000000 !important;
|
||||
padding-left:1em;
|
||||
padding-right:1em;
|
||||
text-decoration:none !important;
|
||||
font-family:'Lato', sans-serif;
|
||||
font-size:1em;
|
||||
font-weight:900;
|
||||
text-decoration:none !important;
|
||||
transition: background-color 0.2s;
|
||||
text-transform:uppercase;
|
||||
letter-spacing:-0.03em;
|
||||
}
|
||||
#nav a:hover{
|
||||
background-color:rgba(0,5,20,0.3);
|
||||
}
|
||||
#nav a:active{
|
||||
background-color:rgba(0,5,20,0.4);
|
||||
}
|
||||
/*
|
||||
FOOTER
|
||||
*/
|
||||
#footer{
|
||||
margin-top:10em;
|
||||
padding:2em 0;
|
||||
background-color:#203b47;
|
||||
box-shadow:0 0 1em rgba(0,0,0,0.6);
|
||||
font-weight:400;
|
||||
}
|
||||
/*
|
||||
PAGE CONTENT AND STYLE
|
||||
*/
|
||||
div.stripe{
|
||||
width:100%;
|
||||
display:block;
|
||||
clear:both;
|
||||
position:relative;
|
||||
}
|
||||
div.content{
|
||||
width:95%;
|
||||
max-width:70em;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
clear:both;
|
||||
position:relative;
|
||||
}
|
||||
div.section{
|
||||
clear:both;
|
||||
}
|
||||
p{
|
||||
text-align:justify;
|
||||
margin:0.8em 0;
|
||||
padding:0;
|
||||
clear:both;
|
||||
color:rgba(255,255,255,0.92);
|
||||
}
|
||||
a{
|
||||
color:#FFFFFF;
|
||||
font-weight:400;
|
||||
text-decoration:underline;
|
||||
cursor:pointer !important;
|
||||
}
|
||||
h2 a{
|
||||
text-decoration:none;
|
||||
}
|
||||
h2 a:hover, h2 a:active{
|
||||
text-decoration:underline;
|
||||
}
|
||||
img.icon, img.articleIcon{
|
||||
float:left;
|
||||
display:inline-block;
|
||||
width:6em;
|
||||
height:auto;
|
||||
margin:0 1em 0.1em 0;
|
||||
cursor:pointer;
|
||||
}
|
||||
a.downloadButton{
|
||||
display:inline-block;
|
||||
font-size:1.32em;
|
||||
padding:0.3em 0.75em;
|
||||
margin:0.5em 0.8em 0.5em 0;
|
||||
border:0.1em solid #FFFFFF;
|
||||
border-radius:0.12em;
|
||||
transition: all 0.2s;
|
||||
text-decoration:none;
|
||||
font-weight:400;
|
||||
}
|
||||
a.downloadButton:hover, a.downloadButton:focus, a.downloadButton:active{
|
||||
color:#000000 !important;
|
||||
background-color:#FFFFFF !important;
|
||||
font-weight:400;
|
||||
}
|
||||
a.downloadButton > *{
|
||||
margin-bottom:0.35rem;
|
||||
}
|
||||
a.downloadButton > div.small{
|
||||
font-size:0.67em;
|
||||
line-height:1em;
|
||||
font-weight:300;
|
||||
}
|
||||
/*
|
||||
ARTICLE LIST
|
||||
*/
|
||||
span.date{
|
||||
margin-left:1em;
|
||||
display:inline-block;
|
||||
float:right;
|
||||
color:#AAAAAA;
|
||||
}
|
||||
div.compactList{
|
||||
margin:1em 0;
|
||||
}
|
||||
div.compactList div.stripe{
|
||||
padding:0.4em 0;
|
||||
margin-bottom:1em;
|
||||
}
|
||||
div.basicArticleEntry{
|
||||
position:relative;
|
||||
}
|
||||
div.basicArticleEntry h2{
|
||||
margin:0 0 0.4em 0;
|
||||
}
|
||||
div.description{
|
||||
display:inline;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
/*
|
||||
COMMENTS
|
||||
*/
|
||||
#article_comments textarea{
|
||||
background-color:rgba(255,255,255,0.7);
|
||||
width:100%;
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
resize: vertical;
|
||||
overflow:auto;
|
||||
}
|
||||
#article_comments input[type="text"]{
|
||||
background-color:rgba(255,255,255,0.7);
|
||||
display:block;
|
||||
border:none;
|
||||
margin-bottom:0.5em;
|
||||
}
|
||||
#article_comments textarea:focus, #article_comments textarea:active, #article_comments input[type="text"]:focus, #article_comments input[type="text"]:active{
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
#article_comments input[type="button"]{
|
||||
display:block;
|
||||
min-width:8em;
|
||||
margin:0.5em 0 0 auto;
|
||||
}
|
||||
#article_comments .loading{
|
||||
width:3em;
|
||||
height:3em;
|
||||
}
|
||||
#article_comments div.commentsArea{
|
||||
margin-top:0.2em;
|
||||
}
|
||||
#article_comments div.comment{
|
||||
padding:0.6em 0;
|
||||
margin-bottom:0.3em;
|
||||
border-bottom:1px solid #606060;
|
||||
font-size:1em;
|
||||
}
|
||||
#disqus_thread{
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
padding:1em;
|
||||
}
|
||||
#disqus_thread a{
|
||||
color:#000000;
|
||||
}
|
||||
/*
|
||||
SHARE LINKS
|
||||
*/
|
||||
a.share{
|
||||
display:inline-block;
|
||||
width:2em;height:2em;
|
||||
background-size:100% 100%;
|
||||
margin:0.15em;
|
||||
vertical-align:middle;
|
||||
}
|
||||
.share_fb{
|
||||
background-image:url('fb.png');
|
||||
}
|
||||
.share_tw{
|
||||
background-image:url('tw.png');
|
||||
}
|
||||
.share_gplus{
|
||||
background-image:url('gplus.png');
|
||||
}
|
||||
input[type="text"].share{
|
||||
display:inline-block;
|
||||
margin:0.2em;
|
||||
width:8em;
|
||||
height:1.5em;
|
||||
}
|
||||
/*
|
||||
MUH RESPONSIVE
|
||||
*/
|
||||
@media all and (min-width:180em){
|
||||
body{
|
||||
font-size:0.9vw;
|
||||
}
|
||||
}
|
||||
@media all and (min-width:150em){
|
||||
body{
|
||||
font-size:0.65vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:72em) and (min-width:50em){
|
||||
div.content{
|
||||
width:95%;
|
||||
}
|
||||
#nav div.content{
|
||||
width:100%;
|
||||
}
|
||||
#logo{
|
||||
margin-left:0.5em;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 50em){
|
||||
html,body{
|
||||
overflow-x:hidden;
|
||||
}
|
||||
#nav{
|
||||
box-shadow:0 0 0.5em rgba(0,0,0,0.4);
|
||||
text-align:center;
|
||||
font-size:0.8em;
|
||||
margin-bottom:1em;
|
||||
overflow:hidden;
|
||||
max-height:4.2em; height:auto;
|
||||
transition:max-height 0.4s ease-out;
|
||||
}
|
||||
#nav a{
|
||||
font-size:1.2em;
|
||||
letter-spacing:0;
|
||||
display:block !important;
|
||||
}
|
||||
#nav.expanded{
|
||||
max-height:30em;
|
||||
}
|
||||
#fragment{
|
||||
margin-top:5em;
|
||||
}
|
||||
#nav a, #logo{
|
||||
width:100%;
|
||||
height:auto;
|
||||
padding:0;
|
||||
}
|
||||
#logo{
|
||||
background:url('menu.png');
|
||||
background-repeat:no-repeat;
|
||||
background-size: auto 2.17em;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
#nav a{
|
||||
border-top:1px solid rgba(0,0,0,0.3);
|
||||
clear:both;
|
||||
line-height:2.5em;
|
||||
}
|
||||
div.content{
|
||||
max-width:95%;
|
||||
}
|
||||
#nav div.content{
|
||||
max-width:100%;
|
||||
width:100%;
|
||||
}
|
||||
.resp_hidden{
|
||||
display:none !important;
|
||||
}
|
||||
#resp_test{
|
||||
width:1em;
|
||||
}
|
||||
a.downloadButton{
|
||||
display:block;
|
||||
margin:0.5em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 50em){
|
||||
.resp_only{
|
||||
display:none !important;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 30em){
|
||||
a.downloadButton{
|
||||
font-size:1em;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 25em){
|
||||
#nav{
|
||||
font-size:0.7em;
|
||||
}
|
||||
#page{
|
||||
top:2.95em;
|
||||
height:calc(100vh - 2.5em);
|
||||
}
|
||||
}
|
@ -1,475 +0,0 @@
|
||||
/*
|
||||
FONTS
|
||||
*/
|
||||
@font-face {
|
||||
font-family: BebasNeue;
|
||||
src: url("bebasneue.woff") format("woff"), url("BebasNeue.ttf") format("ttf");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-black.woff') format('woff'),url('Lato-Black.ttf') format('truetype');
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-bold.woff') format('woff'),url('Lato-Bold.ttf') format('truetype');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
/*@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-light.woff') format('woff'),url('Lato-Light.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Lato';
|
||||
src: url('lato-regular.woff') format('woff'),url('Lato-Regular.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}*/
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url("roboto300.woff") format('woff'), url("Roboto300.ttf") format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url("roboto400.woff") format('woff'), url("Roboto400.ttf") format('truetype');
|
||||
}
|
||||
/*
|
||||
HEADINGS, TITLES
|
||||
*/
|
||||
h1,h2,h3,h4,h5,h6{
|
||||
font-family:'Lato', sans-serif;
|
||||
color:#FFFFFF;
|
||||
margin:1.7em 0 0.5em 0;
|
||||
font-weight:900;
|
||||
line-height:1em;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
h1{
|
||||
font-size:2.5em;
|
||||
}
|
||||
h2{
|
||||
font-size:2.1em;
|
||||
}
|
||||
h3{
|
||||
font-size:2em;
|
||||
}
|
||||
h4{
|
||||
font-size:1.7em;
|
||||
}
|
||||
h5{
|
||||
font-size:1.5em;
|
||||
}
|
||||
h6{
|
||||
font-size:1.3em;
|
||||
}
|
||||
/*
|
||||
UTILS
|
||||
*/
|
||||
div.clear{
|
||||
clear:both;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
height:0 !important;
|
||||
overflow:hidden;
|
||||
}
|
||||
iframe{
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
overflow:hidden;
|
||||
}
|
||||
.clickOverlay{
|
||||
display:block;
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
width:100%;
|
||||
height:100%;
|
||||
color:rgba(0,0,0,0);
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
cursor:pointer;
|
||||
z-index:99;
|
||||
}
|
||||
span.bold{
|
||||
font-weight:400;
|
||||
}
|
||||
#resp_test{
|
||||
width:0;
|
||||
position:fixed;
|
||||
z-index:0;
|
||||
}
|
||||
/*
|
||||
BASIC PAGE STYLING AND POSITIONING
|
||||
*/
|
||||
html,body{
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
color:#FFFFFF;
|
||||
font-weight:300;
|
||||
font-family:'Roboto',sans-serif;
|
||||
line-height:1.55;
|
||||
overflow-x:hidden;
|
||||
}
|
||||
html{
|
||||
overflow-y:scroll;
|
||||
}
|
||||
body{
|
||||
background-color:#0d0d24;
|
||||
font-size:0.9em;
|
||||
}
|
||||
#fragment{
|
||||
margin-top:6.2em;
|
||||
}
|
||||
/*
|
||||
NAV MENU
|
||||
*/
|
||||
#nav{
|
||||
background-color:#FFEEEE;
|
||||
background:linear-gradient(10deg, #EEDDDD 0%, #FFEEEE 100%);
|
||||
box-shadow:0 0 1em rgba(0,0,0,0.3);
|
||||
position:fixed;
|
||||
top:0;
|
||||
width:100%; height:4.2em;
|
||||
z-index:3;
|
||||
text-align:right;
|
||||
z-index:999;
|
||||
-webkit-touch-callout:none;
|
||||
-webkit-user-select:none;
|
||||
-moz-user-select:none;
|
||||
-ms-user-select:none;
|
||||
user-select:none !important;
|
||||
}
|
||||
#logo{
|
||||
font-size:1.95em;
|
||||
line-height:2.17em;
|
||||
font-family:'Lato', sans-serif;
|
||||
color:#000000;
|
||||
opacity:0.77;
|
||||
display:inline-block;
|
||||
width:auto;
|
||||
margin-right:2em;
|
||||
float:left;
|
||||
font-weight:900;
|
||||
text-transform:uppercase;
|
||||
letter-spacing:-0.01em;
|
||||
}
|
||||
#nav a{
|
||||
margin:0;
|
||||
padding:0;
|
||||
height:100%;
|
||||
line-height:4.25em;
|
||||
display:inline-block;
|
||||
text-align:center;
|
||||
color:#000000 !important;
|
||||
padding-left:1em;
|
||||
padding-right:1em;
|
||||
text-decoration:none !important;
|
||||
font-family:'Lato', sans-serif;
|
||||
font-size:1em;
|
||||
font-weight:900;
|
||||
text-decoration:none !important;
|
||||
transition: background-color 0.2s;
|
||||
text-transform:uppercase;
|
||||
letter-spacing:-0.03em;
|
||||
}
|
||||
#nav a:hover{
|
||||
background-color:rgba(0,5,20,0.3);
|
||||
}
|
||||
#nav a:active{
|
||||
background-color:rgba(0,5,20,0.4);
|
||||
}
|
||||
/*
|
||||
FOOTER
|
||||
*/
|
||||
#footer{
|
||||
margin-top:10em;
|
||||
padding:2em 0;
|
||||
background-color:#203b47;
|
||||
box-shadow:0 0 1em rgba(0,0,0,0.6);
|
||||
font-weight:400;
|
||||
}
|
||||
/*
|
||||
PAGE CONTENT AND STYLE
|
||||
*/
|
||||
div.stripe{
|
||||
width:100%;
|
||||
display:block;
|
||||
clear:both;
|
||||
position:relative;
|
||||
}
|
||||
div.content{
|
||||
width:95%;
|
||||
max-width:70em;
|
||||
margin-left:auto;
|
||||
margin-right:auto;
|
||||
clear:both;
|
||||
position:relative;
|
||||
}
|
||||
div.section{
|
||||
clear:both;
|
||||
}
|
||||
p{
|
||||
text-align:justify;
|
||||
margin:0.8em 0;
|
||||
padding:0;
|
||||
clear:both;
|
||||
color:rgba(255,255,255,0.92);
|
||||
}
|
||||
a{
|
||||
color:#FFFFFF;
|
||||
font-weight:400;
|
||||
text-decoration:underline;
|
||||
cursor:pointer !important;
|
||||
}
|
||||
h2 a{
|
||||
text-decoration:none;
|
||||
}
|
||||
h2 a:hover, h2 a:active{
|
||||
text-decoration:underline;
|
||||
}
|
||||
img.icon, img.articleIcon{
|
||||
float:left;
|
||||
display:inline-block;
|
||||
width:6em;
|
||||
height:auto;
|
||||
margin:0 1em 0.1em 0;
|
||||
cursor:pointer;
|
||||
}
|
||||
a.downloadButton{
|
||||
display:inline-block;
|
||||
font-size:1.32em;
|
||||
padding:0.3em 0.75em;
|
||||
margin:0.5em 0.8em 0.5em 0;
|
||||
border:0.1em solid #FFFFFF;
|
||||
border-radius:0.12em;
|
||||
transition: all 0.2s;
|
||||
text-decoration:none;
|
||||
font-weight:400;
|
||||
}
|
||||
a.downloadButton:hover, a.downloadButton:focus, a.downloadButton:active{
|
||||
color:#000000 !important;
|
||||
background-color:#FFFFFF !important;
|
||||
font-weight:400;
|
||||
}
|
||||
a.downloadButton > *{
|
||||
margin-bottom:0.35rem;
|
||||
}
|
||||
a.downloadButton > div.small{
|
||||
font-size:0.67em;
|
||||
line-height:1em;
|
||||
font-weight:300;
|
||||
}
|
||||
/*
|
||||
ARTICLE LIST
|
||||
*/
|
||||
span.date{
|
||||
margin-left:1em;
|
||||
display:inline-block;
|
||||
float:right;
|
||||
color:#AAAAAA;
|
||||
}
|
||||
div.compactList{
|
||||
margin:1em 0;
|
||||
}
|
||||
div.compactList div.stripe{
|
||||
padding:0.4em 0;
|
||||
margin-bottom:1em;
|
||||
}
|
||||
div.basicArticleEntry{
|
||||
position:relative;
|
||||
}
|
||||
div.basicArticleEntry h2{
|
||||
margin:0 0 0.4em 0;
|
||||
}
|
||||
div.description{
|
||||
display:inline;
|
||||
width:auto;
|
||||
}
|
||||
|
||||
/*
|
||||
COMMENTS
|
||||
*/
|
||||
#article_comments textarea{
|
||||
background-color:rgba(255,255,255,0.7);
|
||||
width:100%;
|
||||
border:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
resize: vertical;
|
||||
overflow:auto;
|
||||
}
|
||||
#article_comments input[type="text"]{
|
||||
background-color:rgba(255,255,255,0.7);
|
||||
display:block;
|
||||
border:none;
|
||||
margin-bottom:0.5em;
|
||||
}
|
||||
#article_comments textarea:focus, #article_comments textarea:active, #article_comments input[type="text"]:focus, #article_comments input[type="text"]:active{
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
#article_comments input[type="button"]{
|
||||
display:block;
|
||||
min-width:8em;
|
||||
margin:0.5em 0 0 auto;
|
||||
}
|
||||
#article_comments .loading{
|
||||
width:3em;
|
||||
height:3em;
|
||||
}
|
||||
#article_comments div.commentsArea{
|
||||
margin-top:0.2em;
|
||||
}
|
||||
#article_comments div.comment{
|
||||
padding:0.6em 0;
|
||||
margin-bottom:0.3em;
|
||||
border-bottom:1px solid #606060;
|
||||
font-size:1em;
|
||||
}
|
||||
#disqus_thread{
|
||||
background-color:#FFFFFF;
|
||||
color:#000000;
|
||||
padding:1em;
|
||||
}
|
||||
#disqus_thread a{
|
||||
color:#000000;
|
||||
}
|
||||
/*
|
||||
SHARE LINKS
|
||||
*/
|
||||
a.share{
|
||||
display:inline-block;
|
||||
width:2em;height:2em;
|
||||
background-size:100% 100%;
|
||||
margin:0.15em;
|
||||
vertical-align:middle;
|
||||
}
|
||||
.share_fb{
|
||||
background-image:url('fb.png');
|
||||
}
|
||||
.share_tw{
|
||||
background-image:url('tw.png');
|
||||
}
|
||||
.share_gplus{
|
||||
background-image:url('gplus.png');
|
||||
}
|
||||
input[type="text"].share{
|
||||
display:inline-block;
|
||||
margin:0.2em;
|
||||
width:8em;
|
||||
height:1.5em;
|
||||
}
|
||||
/*
|
||||
MUH RESPONSIVE
|
||||
*/
|
||||
@media all and (min-width:180em){
|
||||
body{
|
||||
font-size:0.9vw;
|
||||
}
|
||||
}
|
||||
@media all and (min-width:150em){
|
||||
body{
|
||||
font-size:0.65vw;
|
||||
}
|
||||
}
|
||||
@media all and (max-width:72em) and (min-width:50em){
|
||||
div.content{
|
||||
width:95%;
|
||||
}
|
||||
#nav div.content{
|
||||
width:100%;
|
||||
}
|
||||
#logo{
|
||||
margin-left:0.5em;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 50em){
|
||||
html,body{
|
||||
overflow-x:hidden;
|
||||
}
|
||||
#nav{
|
||||
box-shadow:0 0 0.5em rgba(0,0,0,0.4);
|
||||
text-align:center;
|
||||
font-size:0.8em;
|
||||
margin-bottom:1em;
|
||||
overflow:hidden;
|
||||
max-height:4.2em; height:auto;
|
||||
transition:max-height 0.4s ease-out;
|
||||
}
|
||||
#nav a{
|
||||
font-size:1.2em;
|
||||
letter-spacing:0;
|
||||
display:block !important;
|
||||
}
|
||||
#nav.expanded{
|
||||
max-height:30em;
|
||||
}
|
||||
#fragment{
|
||||
margin-top:5em;
|
||||
}
|
||||
#nav a, #logo{
|
||||
width:100%;
|
||||
height:auto;
|
||||
padding:0;
|
||||
}
|
||||
#logo{
|
||||
background:url('menu.png');
|
||||
background-repeat:no-repeat;
|
||||
background-size: auto 2.17em;
|
||||
background-attachment: fixed;
|
||||
}
|
||||
#nav a{
|
||||
border-top:1px solid rgba(0,0,0,0.3);
|
||||
clear:both;
|
||||
line-height:2.5em;
|
||||
}
|
||||
div.content{
|
||||
max-width:95%;
|
||||
}
|
||||
#nav div.content{
|
||||
max-width:100%;
|
||||
width:100%;
|
||||
}
|
||||
.resp_hidden{
|
||||
display:none !important;
|
||||
}
|
||||
#resp_test{
|
||||
width:1em;
|
||||
}
|
||||
a.downloadButton{
|
||||
display:block;
|
||||
margin:0.5em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 50em){
|
||||
.resp_only{
|
||||
display:none !important;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 30em){
|
||||
a.downloadButton{
|
||||
font-size:1em;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 25em){
|
||||
#nav{
|
||||
font-size:0.7em;
|
||||
}
|
||||
#page{
|
||||
top:2.95em;
|
||||
height:calc(100vh - 2.5em);
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Before ![]() (image error) Size: 3.5 KiB |
Binary file not shown.
Before ![]() (image error) Size: 232 B |
Binary file not shown.
Before ![]() (image error) Size: 573 B |
@ -1,40 +0,0 @@
|
||||
#bigAss{
|
||||
font-family:'Lato',sans-serif;
|
||||
font-size:2.5em;
|
||||
line-height:0.82em;
|
||||
margin:0.15em 0 0.5em 0;
|
||||
text-transform:uppercase;
|
||||
}
|
||||
#basicImage{
|
||||
float:right;
|
||||
width:20em;
|
||||
height:auto;
|
||||
margin-left:0.5em;
|
||||
margin-bottom:0.5em;
|
||||
}
|
||||
|
||||
#sections{
|
||||
margin-top:1.5em;
|
||||
text-align:center;
|
||||
padding:0.2em 0;
|
||||
}
|
||||
#sections a{
|
||||
margin-right:0.8em;
|
||||
display:inline-block;
|
||||
font-size:1.23em;
|
||||
font-family:'Lato';
|
||||
transition:all 0.2s;
|
||||
}
|
||||
#sections a:hover{
|
||||
text-shadow: 0 0 0.6em #ffffff;
|
||||
transition:all 0.2s;
|
||||
}
|
||||
|
||||
@media all and (max-width:50em){
|
||||
#basicImage{
|
||||
display:block;
|
||||
float:none;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
}
|
@ -1,391 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Home - Federico Dossena</title>
|
||||
<meta name="description" content="Home page" />
|
||||
<meta name="keywords" content="adolfintel,federico dossena,dosse91,dosse91214" />
|
||||
<meta name="author" content="Federico Dossena" />
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, minimum-scale=1, maximum-scale=1" />
|
||||
<meta property="og:site_name" content="Federico Dossena"/>
|
||||
<meta property="og:image" content="https://fdossena.com/campaign-icon.png" />
|
||||
<meta property="og:title" content="Home" />
|
||||
<meta property="og:description" content="Home page" />
|
||||
<meta name="theme-color" content="#144e66"/>
|
||||
<link rel="stylesheet" type="text/css" href="basic.css%3F20190711.css" />
|
||||
<link rel="icon" href="https://fdossena.com/favicon.ico" />
|
||||
<script type="text/javascript">
|
||||
String.prototype.isBlank=function(){
|
||||
return !this || /^\s*$/.test(this);
|
||||
}
|
||||
if(!Function.prototype.bind){
|
||||
Function.prototype.bind=function(oThis){
|
||||
if (typeof this !== "function") throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
|
||||
var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP && oThis? this: oThis,aArgs.concat(Array.prototype.slice.call(arguments)));};
|
||||
fNOP.prototype=this.prototype;
|
||||
fBound.prototype=new fNOP();
|
||||
return fBound;
|
||||
};
|
||||
}
|
||||
window.I=function(i){return document.getElementById(i);};
|
||||
function escapeCode(s){
|
||||
return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/\n/g,'<br/>').replace(/\t/g,'  ').replace(/\s/g,' ');
|
||||
}
|
||||
function loadText(target,url,onDone,noEscape){
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4&&xhr.status==200){
|
||||
target.innerHTML=noEscape?xhr.responseText:escapeCode(xhr.responseText);
|
||||
try{if(onDone)onDone();}catch(e){}
|
||||
}
|
||||
}.bind(this);
|
||||
xhr.open("GET",url,true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
//check browser and redirect to full mode if compatible
|
||||
function gotoFull(){
|
||||
if(localStorage.noSwitch)return;
|
||||
document.location.href="index.php"+(document.location.search.isBlank()?"":document.location.search);
|
||||
}
|
||||
if(window.XMLHttpRequest&&window.JSON&&window.localStorage&&!!window.HTMLCanvasElement&&document.createElement("div").style.animationName!==undefined&&document.createElement("div").style.flex!==undefined){ //any browser with XHR, JSON, localStorage, Canvas, CSS Animation
|
||||
gotoFull();
|
||||
}else{
|
||||
loadText(document.createElement("span"),"fetch_frag_info.php?p=home.frag&random="+Math.random(),null,true);}
|
||||
|
||||
function isMobile(){
|
||||
return I("resp_test").offsetWidth>0;
|
||||
}
|
||||
function isDesktop(){
|
||||
return I("resp_test").offsetWidth==0;
|
||||
}
|
||||
function isBasicMode(){
|
||||
return true;
|
||||
}
|
||||
function onFragUnload(){}
|
||||
function loadFragment(url,pushState){
|
||||
onFragUnload();
|
||||
url=unescape(url);
|
||||
document.location.href="basic.php?p="+url;
|
||||
}
|
||||
function showNav(){
|
||||
I("nav").style.display='';
|
||||
}
|
||||
function hideNav(){
|
||||
I("nav").style.display='none';
|
||||
}
|
||||
function showPage(){
|
||||
I("fragment").style.display='';
|
||||
}
|
||||
function hidePage(){
|
||||
I("fragment").style.display='none';
|
||||
}
|
||||
function openLightbox(imgUrl){
|
||||
window.open(imgUrl,"_blank");
|
||||
}
|
||||
function closeLightbox(){}
|
||||
function flash(color){}
|
||||
|
||||
function highlight(target,lang,escape){
|
||||
target.className="code hljs lang-"+lang;
|
||||
if(!I("hljs_load")){
|
||||
setTimeout(function(){ //delay loading so ie6 doesn't crash
|
||||
var d=document.createElement("link");
|
||||
d.id="hljs_load"
|
||||
d.rel="stylesheet";
|
||||
d.href="HLJS/ai.css";
|
||||
I("fragment").appendChild(d);}
|
||||
,100);
|
||||
}
|
||||
//hljs not applied, just basic styling
|
||||
if(escape)target.innerHTML=escapeCode(target.innerHTML);
|
||||
}
|
||||
function createCommentsForm(id,container){
|
||||
container.innerHTML="Comments are temporarily disabled thanks to some losers who have nothing better to do than to spam a random dude's website";
|
||||
return;
|
||||
var f=document.createElement("form");
|
||||
var e=document.createElement("input");
|
||||
e.name="email";
|
||||
e.type="text";
|
||||
e.value="Email (optional, private)";
|
||||
var eclick=function(){if(e.clicked) return; e.value=""; e.clicked=true;}
|
||||
e.addEventListener('click',eclick);
|
||||
f.appendChild(e);
|
||||
var t=document.createElement("textarea");
|
||||
t.name="text";
|
||||
t.rows=4;
|
||||
t.setAttribute("placeholder","Type a comment here...");
|
||||
f.appendChild(t);
|
||||
var b=document.createElement("input");
|
||||
b.type="button";
|
||||
b.value="Post";
|
||||
f.appendChild(b);
|
||||
container.appendChild(f);
|
||||
var c=document.createElement("div");
|
||||
c.className="commentsArea";
|
||||
container.appendChild(c);
|
||||
b.onclick=function(){sendComment(id,t,e,c);};
|
||||
loadComments(id,c);
|
||||
}
|
||||
function loadComments(id,container){
|
||||
container.innerHTML="";
|
||||
var d=document.createElement("d");
|
||||
d.className="loading";
|
||||
container.appendChild(d);
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4){
|
||||
if(xhr.status==200){
|
||||
container.innerHTML="";
|
||||
try{
|
||||
if(parseInt(xhr.responseText)==1){container.innerHTML="Server error"; return;}
|
||||
}catch(e){}
|
||||
try{
|
||||
var comments=eval('('+xhr.responseText+')'); //JSON.parse did not exist in 2001
|
||||
for(var i=0;i<comments.length;i++){
|
||||
var d=document.createElement("div");
|
||||
d.className="comment";
|
||||
d.innerHTML=comments[i];
|
||||
container.appendChild(d);
|
||||
}
|
||||
}catch(e){
|
||||
container.innerHTML="Couldn't load comments ("+e+")";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.open("GET","getComments.php?id="+id+"&r="+Math.random(),true);
|
||||
xhr.send();
|
||||
}
|
||||
var sending=false;
|
||||
function sendComment(id,t,e,commentsArea){
|
||||
if(t.value.isBlank()||sending){ return;}
|
||||
sending=true;
|
||||
var text=t.value;
|
||||
var email="";
|
||||
if(e.clicked) email=e.value;
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4){
|
||||
sending=false;
|
||||
if(xhr.status==200){
|
||||
try{
|
||||
if(parseInt(xhr.responseText)==1){return;}
|
||||
}catch(e){alert("An error occurred, please try again"); return;}
|
||||
t.value="";
|
||||
loadComments(id,commentsArea);
|
||||
}
|
||||
}
|
||||
}
|
||||
var params="";
|
||||
params+="id="+encodeURIComponent(id)+"&text="+encodeURIComponent(text)+"&email="+encodeURIComponent(email)+"&r="+Math.random();
|
||||
xhr.open("POST","postComment.php",true);
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.setRequestHeader("Content-length", params.length);
|
||||
xhr.setRequestHeader("Connection", "close");
|
||||
xhr.send(params);
|
||||
}
|
||||
|
||||
function showLoading(){
|
||||
I("fragment").innerHTML="";
|
||||
}
|
||||
function showError(err){
|
||||
loadFragment("error.frag?e="+err);
|
||||
}
|
||||
function setBackgroundCfg(cfg){}
|
||||
function toggleNavExp(){
|
||||
//in mobile view, toggles the menu
|
||||
var nav=I("nav");
|
||||
if(nav.className.isBlank()) nav.className='expanded'; else nav.className='';
|
||||
}
|
||||
setInterval(function(){
|
||||
try{
|
||||
var iframes=I("fragment").getElementsByTagName("iframe");
|
||||
for(var i=0;i<iframes.length;i++){
|
||||
var x=iframes[i];
|
||||
x.style.height=x.contentDocument.getElementsByTagName("body")[0].clientHeight+"px";
|
||||
}
|
||||
}catch(e){}
|
||||
},50);
|
||||
</script>
|
||||
<!--[if lt IE 8]>
|
||||
<script type="text/javascript">
|
||||
setInterval(function(){
|
||||
//this apparently useless piece of code fixes image stretching on IE6/7
|
||||
try{
|
||||
var imgs=I("fragment").getElementsByTagName("img");
|
||||
for(var i=0;i<imgs.length;i++){
|
||||
var x=imgs[i];
|
||||
if(!x.complete) continue;
|
||||
var p=x.parentNode;
|
||||
var d=document.createElement("div");
|
||||
p.replaceChild(d,x);
|
||||
p.replaceChild(x,d);
|
||||
}
|
||||
}catch(e){}
|
||||
},1000);
|
||||
</script>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
.basic_hide{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" type="text/css" href="basic_overrides_ie.css?20170222" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="print.css%3F20170306.css" media="print"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav" onClick="toggleNavExp()">
|
||||
<html><body><div class="content">
|
||||
<div id="logo">Federico Dossena</div>
|
||||
<a onclick="loadFragment('home.frag');return false;" href="index.html%3Fp=home.frag.html">Home</a>
|
||||
<a onclick="loadFragment('articles.php?s=1');return false;" href="https://fdossena.com/?p=articles.php?s=1">Projects</a>
|
||||
<a onclick="loadFragment('articles.php?s=4');return false;" href="https://fdossena.com/?p=articles.php?s=4">Blog</a>
|
||||
<a onclick="loadFragment('about.frag');return false;" href="https://fdossena.com/?p=about.frag">About me</a>
|
||||
</div>
|
||||
</div>
|
||||
<img id="campaign-icon" src="campaign-icon.png" />
|
||||
<script type="text/javascript">
|
||||
I("campaign-icon").style.display="none";
|
||||
</script>
|
||||
<div id="fragment">
|
||||
<div class="basic">
|
||||
<html><body><div>
|
||||
<link rel="stylesheet" id="cssref" href="home_basic.css%3F20170604.css">
|
||||
<div class="stripe">
|
||||
<div id="outerGradient">
|
||||
<div class="content">
|
||||
<div id="innerGradient">
|
||||
<div id="introArea" style="animation:fadeIn 0.6s linear;">
|
||||
<div> </div>
|
||||
<div id="bigAss">
|
||||
Federico Dossena's Website
|
||||
</div>
|
||||
<div id="introText">
|
||||
<img id="basicImage" class="blockImg" src="photo_home.jpg">
|
||||
Hello and welcome! I'm Federico Dossena, a young software developer living in Italy near Milano.<br>
|
||||
This is my personal website and portfolio: here you will find my projects, my blog and something about myself.<br>
|
||||
Most of my work is open source. I hope you find something useful. Enjoy your stay!
|
||||
</div>
|
||||
<div id="sections">
|
||||
<a onclick="loadFragment('articles.php?s=1');return false;" href="https://fdossena.com/?p=articles.php?s=1">Projects</a>
|
||||
<a onclick="loadFragment('articles.php?s=4');return false;" href="https://fdossena.com/?p=articles.php?s=4">Blog</a>
|
||||
<a onclick="loadFragment('about.frag');return false;" href="https://fdossena.com/?p=about.frag">About me</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="photoArea"> </div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stripe">
|
||||
<div class="content">
|
||||
<div id="featArea">
|
||||
<h2>Featured article</h2>
|
||||
<div id="_featuredPost_"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var ua=navigator.userAgent;
|
||||
try{
|
||||
if(11 == ua.match( /(MSIE |Trident.*rv[ :])([0-9]+)/ )[ 2 ] ){
|
||||
//ie11 flexbox is broken, so we remove min-height as a workaround
|
||||
I("innerGradient").style.minHeight="auto";
|
||||
}
|
||||
}catch(e){}
|
||||
if(!isBasicMode()) I("cssref").href=I("cssref").href.replace("_basic.css",".css");
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="basic_only">
|
||||
<div class="stripe">
|
||||
<div class="content" style="border-bottom:none">
|
||||
<h2>Unsupported browser!</h2>
|
||||
<p>
|
||||
You are using an old or unsupported browser, so the site is in Basic mode, which provides only limited functionality and doesn't look very good.<br>
|
||||
Consider updating it as soon as possible to something more modern like <a href="http://www.firefox.com" target="_blank">Mozilla Firefox</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="footer">
|
||||
<html><body><div class="content">
|
||||
©2015-2022 Federico Dossena, all rights reserved. <a onclick="loadFragment('privacy/index.frag');return false;" href="https://fdossena.com/?p=privacy/index.frag">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var oldC=I("_comments_");
|
||||
if(oldC)oldC.id="article_comments";
|
||||
var c=I("article_comments");
|
||||
if(c)createCommentsForm('home.frag',c);
|
||||
var s=I("_share_");
|
||||
if(s){
|
||||
url=document.location.href;
|
||||
s.innerHTML="";
|
||||
var eurl=encodeURIComponent(url);
|
||||
var a=document.createElement("a");
|
||||
a.className="share share_fb";
|
||||
a.target="_blank";
|
||||
a.href="https://www.facebook.com/sharer/sharer.php?u="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("a");
|
||||
a.className="share share_tw";
|
||||
a.target="_blank";
|
||||
a.href="https://twitter.com/home?status="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("a");
|
||||
a.className="share share_gplus";
|
||||
a.target="_blank";
|
||||
a.href="https://plus.google.com/share?url="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("input");
|
||||
a.type="text";
|
||||
a.className="share share_link";
|
||||
a.value=url;
|
||||
a.onclick=a.select;
|
||||
s.appendChild(a);
|
||||
}
|
||||
var aTitle=I("_articleTitle_");
|
||||
if(aTitle)aTitle.id="article_title";
|
||||
aTitle=I("article_title");
|
||||
if(aTitle){
|
||||
aTitle.innerHTML="Home";
|
||||
}
|
||||
var latest=I("_latestPost_");
|
||||
if(latest){
|
||||
var xlp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xlp.onreadystatechange=function(){
|
||||
if(xlp.readyState==4){
|
||||
if(xlp.status==200){
|
||||
latest.innerHTML=xlp.responseText;
|
||||
}
|
||||
}
|
||||
}
|
||||
xlp.open("GET","articles.php?lastPost=true&random="+Math.random());
|
||||
xlp.send();
|
||||
}
|
||||
var featured=I("_featuredPost_");
|
||||
if(featured){
|
||||
var xlp2=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xlp2.onreadystatechange=function(){
|
||||
if(xlp2.readyState==4){
|
||||
if(xlp2.status==200){
|
||||
featured.innerHTML=xlp2.responseText;
|
||||
}
|
||||
}
|
||||
}
|
||||
xlp2.open("GET","articles.php?lastPost=featured&forceBasicMode=true&random="+Math.random());
|
||||
xlp2.send();
|
||||
}
|
||||
</script>
|
||||
<div id="resp_test"> </div>
|
||||
</body>
|
||||
</html>
|
@ -1,391 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Home - Federico Dossena</title>
|
||||
<meta name="description" content="Home page" />
|
||||
<meta name="keywords" content="adolfintel,federico dossena,dosse91,dosse91214" />
|
||||
<meta name="author" content="Federico Dossena" />
|
||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, minimum-scale=1, maximum-scale=1" />
|
||||
<meta property="og:site_name" content="Federico Dossena"/>
|
||||
<meta property="og:image" content="https://fdossena.com/campaign-icon.png" />
|
||||
<meta property="og:title" content="Home" />
|
||||
<meta property="og:description" content="Home page" />
|
||||
<meta name="theme-color" content="#144e66"/>
|
||||
<link rel="stylesheet" type="text/css" href="basic.css?20190711" />
|
||||
<link rel="icon" href="favicon.ico" />
|
||||
<script type="text/javascript">
|
||||
String.prototype.isBlank=function(){
|
||||
return !this || /^\s*$/.test(this);
|
||||
}
|
||||
if(!Function.prototype.bind){
|
||||
Function.prototype.bind=function(oThis){
|
||||
if (typeof this !== "function") throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
|
||||
var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP && oThis? this: oThis,aArgs.concat(Array.prototype.slice.call(arguments)));};
|
||||
fNOP.prototype=this.prototype;
|
||||
fBound.prototype=new fNOP();
|
||||
return fBound;
|
||||
};
|
||||
}
|
||||
window.I=function(i){return document.getElementById(i);};
|
||||
function escapeCode(s){
|
||||
return s.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/\n/g,'<br/>').replace(/\t/g,'  ').replace(/\s/g,' ');
|
||||
}
|
||||
function loadText(target,url,onDone,noEscape){
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4&&xhr.status==200){
|
||||
target.innerHTML=noEscape?xhr.responseText:escapeCode(xhr.responseText);
|
||||
try{if(onDone)onDone();}catch(e){}
|
||||
}
|
||||
}.bind(this);
|
||||
xhr.open("GET",url,true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
//check browser and redirect to full mode if compatible
|
||||
function gotoFull(){
|
||||
if(localStorage.noSwitch)return;
|
||||
document.location.href="index.php"+(document.location.search.isBlank()?"":document.location.search);
|
||||
}
|
||||
if(window.XMLHttpRequest&&window.JSON&&window.localStorage&&!!window.HTMLCanvasElement&&document.createElement("div").style.animationName!==undefined&&document.createElement("div").style.flex!==undefined){ //any browser with XHR, JSON, localStorage, Canvas, CSS Animation
|
||||
gotoFull();
|
||||
}else{
|
||||
loadText(document.createElement("span"),"fetch_frag_info.php?p=home.frag&random="+Math.random(),null,true);}
|
||||
|
||||
function isMobile(){
|
||||
return I("resp_test").offsetWidth>0;
|
||||
}
|
||||
function isDesktop(){
|
||||
return I("resp_test").offsetWidth==0;
|
||||
}
|
||||
function isBasicMode(){
|
||||
return true;
|
||||
}
|
||||
function onFragUnload(){}
|
||||
function loadFragment(url,pushState){
|
||||
onFragUnload();
|
||||
url=unescape(url);
|
||||
document.location.href="basic.php?p="+url;
|
||||
}
|
||||
function showNav(){
|
||||
I("nav").style.display='';
|
||||
}
|
||||
function hideNav(){
|
||||
I("nav").style.display='none';
|
||||
}
|
||||
function showPage(){
|
||||
I("fragment").style.display='';
|
||||
}
|
||||
function hidePage(){
|
||||
I("fragment").style.display='none';
|
||||
}
|
||||
function openLightbox(imgUrl){
|
||||
window.open(imgUrl,"_blank");
|
||||
}
|
||||
function closeLightbox(){}
|
||||
function flash(color){}
|
||||
|
||||
function highlight(target,lang,escape){
|
||||
target.className="code hljs lang-"+lang;
|
||||
if(!I("hljs_load")){
|
||||
setTimeout(function(){ //delay loading so ie6 doesn't crash
|
||||
var d=document.createElement("link");
|
||||
d.id="hljs_load"
|
||||
d.rel="stylesheet";
|
||||
d.href="HLJS/ai.css";
|
||||
I("fragment").appendChild(d);}
|
||||
,100);
|
||||
}
|
||||
//hljs not applied, just basic styling
|
||||
if(escape)target.innerHTML=escapeCode(target.innerHTML);
|
||||
}
|
||||
function createCommentsForm(id,container){
|
||||
container.innerHTML="Comments are temporarily disabled thanks to some losers who have nothing better to do than to spam a random dude's website";
|
||||
return;
|
||||
var f=document.createElement("form");
|
||||
var e=document.createElement("input");
|
||||
e.name="email";
|
||||
e.type="text";
|
||||
e.value="Email (optional, private)";
|
||||
var eclick=function(){if(e.clicked) return; e.value=""; e.clicked=true;}
|
||||
e.addEventListener('click',eclick);
|
||||
f.appendChild(e);
|
||||
var t=document.createElement("textarea");
|
||||
t.name="text";
|
||||
t.rows=4;
|
||||
t.setAttribute("placeholder","Type a comment here...");
|
||||
f.appendChild(t);
|
||||
var b=document.createElement("input");
|
||||
b.type="button";
|
||||
b.value="Post";
|
||||
f.appendChild(b);
|
||||
container.appendChild(f);
|
||||
var c=document.createElement("div");
|
||||
c.className="commentsArea";
|
||||
container.appendChild(c);
|
||||
b.onclick=function(){sendComment(id,t,e,c);};
|
||||
loadComments(id,c);
|
||||
}
|
||||
function loadComments(id,container){
|
||||
container.innerHTML="";
|
||||
var d=document.createElement("d");
|
||||
d.className="loading";
|
||||
container.appendChild(d);
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4){
|
||||
if(xhr.status==200){
|
||||
container.innerHTML="";
|
||||
try{
|
||||
if(parseInt(xhr.responseText)==1){container.innerHTML="Server error"; return;}
|
||||
}catch(e){}
|
||||
try{
|
||||
var comments=eval('('+xhr.responseText+')'); //JSON.parse did not exist in 2001
|
||||
for(var i=0;i<comments.length;i++){
|
||||
var d=document.createElement("div");
|
||||
d.className="comment";
|
||||
d.innerHTML=comments[i];
|
||||
container.appendChild(d);
|
||||
}
|
||||
}catch(e){
|
||||
container.innerHTML="Couldn't load comments ("+e+")";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
xhr.open("GET","getComments.php?id="+id+"&r="+Math.random(),true);
|
||||
xhr.send();
|
||||
}
|
||||
var sending=false;
|
||||
function sendComment(id,t,e,commentsArea){
|
||||
if(t.value.isBlank()||sending){ return;}
|
||||
sending=true;
|
||||
var text=t.value;
|
||||
var email="";
|
||||
if(e.clicked) email=e.value;
|
||||
var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xhr.onreadystatechange=function(){
|
||||
if(xhr.readyState==4){
|
||||
sending=false;
|
||||
if(xhr.status==200){
|
||||
try{
|
||||
if(parseInt(xhr.responseText)==1){return;}
|
||||
}catch(e){alert("An error occurred, please try again"); return;}
|
||||
t.value="";
|
||||
loadComments(id,commentsArea);
|
||||
}
|
||||
}
|
||||
}
|
||||
var params="";
|
||||
params+="id="+encodeURIComponent(id)+"&text="+encodeURIComponent(text)+"&email="+encodeURIComponent(email)+"&r="+Math.random();
|
||||
xhr.open("POST","postComment.php",true);
|
||||
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
|
||||
xhr.setRequestHeader("Content-length", params.length);
|
||||
xhr.setRequestHeader("Connection", "close");
|
||||
xhr.send(params);
|
||||
}
|
||||
|
||||
function showLoading(){
|
||||
I("fragment").innerHTML="";
|
||||
}
|
||||
function showError(err){
|
||||
loadFragment("error.frag?e="+err);
|
||||
}
|
||||
function setBackgroundCfg(cfg){}
|
||||
function toggleNavExp(){
|
||||
//in mobile view, toggles the menu
|
||||
var nav=I("nav");
|
||||
if(nav.className.isBlank()) nav.className='expanded'; else nav.className='';
|
||||
}
|
||||
setInterval(function(){
|
||||
try{
|
||||
var iframes=I("fragment").getElementsByTagName("iframe");
|
||||
for(var i=0;i<iframes.length;i++){
|
||||
var x=iframes[i];
|
||||
x.style.height=x.contentDocument.getElementsByTagName("body")[0].clientHeight+"px";
|
||||
}
|
||||
}catch(e){}
|
||||
},50);
|
||||
</script>
|
||||
<!--[if lt IE 8]>
|
||||
<script type="text/javascript">
|
||||
setInterval(function(){
|
||||
//this apparently useless piece of code fixes image stretching on IE6/7
|
||||
try{
|
||||
var imgs=I("fragment").getElementsByTagName("img");
|
||||
for(var i=0;i<imgs.length;i++){
|
||||
var x=imgs[i];
|
||||
if(!x.complete) continue;
|
||||
var p=x.parentNode;
|
||||
var d=document.createElement("div");
|
||||
p.replaceChild(d,x);
|
||||
p.replaceChild(x,d);
|
||||
}
|
||||
}catch(e){}
|
||||
},1000);
|
||||
</script>
|
||||
<![endif]-->
|
||||
<style type="text/css">
|
||||
.basic_hide{
|
||||
display:none;
|
||||
}
|
||||
</style>
|
||||
<!--[if lt IE 9]>
|
||||
<link rel="stylesheet" type="text/css" href="basic_overrides_ie.css?20170222" />
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="print.css?20170306" media="print"/>
|
||||
</head>
|
||||
<body>
|
||||
<div id="nav" onClick="toggleNavExp()">
|
||||
<html><body><div class="content">
|
||||
<div id="logo">Federico Dossena</div>
|
||||
<a onclick="loadFragment('home.frag');return false;" href="/?p=home.frag">Home</a>
|
||||
<a onclick="loadFragment('articles.php?s=1');return false;" href="/?p=articles.php?s=1">Projects</a>
|
||||
<a onclick="loadFragment('articles.php?s=4');return false;" href="/?p=articles.php?s=4">Blog</a>
|
||||
<a onclick="loadFragment('about.frag');return false;" href="/?p=about.frag">About me</a>
|
||||
</div>
|
||||
</div>
|
||||
<img id="campaign-icon" src="campaign-icon.png" />
|
||||
<script type="text/javascript">
|
||||
I("campaign-icon").style.display="none";
|
||||
</script>
|
||||
<div id="fragment">
|
||||
<div class="basic">
|
||||
<html><body><div>
|
||||
<link rel="stylesheet" id="cssref" href="home_basic.css?20170604">
|
||||
<div class="stripe">
|
||||
<div id="outerGradient">
|
||||
<div class="content">
|
||||
<div id="innerGradient">
|
||||
<div id="introArea" style="animation:fadeIn 0.6s linear;">
|
||||
<div> </div>
|
||||
<div id="bigAss">
|
||||
Federico Dossena's Website
|
||||
</div>
|
||||
<div id="introText">
|
||||
<img id="basicImage" class="blockImg" src="photo_home.jpg">
|
||||
Hello and welcome! I'm Federico Dossena, a young software developer living in Italy near Milano.<br>
|
||||
This is my personal website and portfolio: here you will find my projects, my blog and something about myself.<br>
|
||||
Most of my work is open source. I hope you find something useful. Enjoy your stay!
|
||||
</div>
|
||||
<div id="sections">
|
||||
<a onclick="loadFragment('articles.php?s=1');return false;" href="/?p=articles.php?s=1">Projects</a>
|
||||
<a onclick="loadFragment('articles.php?s=4');return false;" href="/?p=articles.php?s=4">Blog</a>
|
||||
<a onclick="loadFragment('about.frag');return false;" href="/?p=about.frag">About me</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="photoArea"> </div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stripe">
|
||||
<div class="content">
|
||||
<div id="featArea">
|
||||
<h2>Featured article</h2>
|
||||
<div id="_featuredPost_"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var ua=navigator.userAgent;
|
||||
try{
|
||||
if(11 == ua.match( /(MSIE |Trident.*rv[ :])([0-9]+)/ )[ 2 ] ){
|
||||
//ie11 flexbox is broken, so we remove min-height as a workaround
|
||||
I("innerGradient").style.minHeight="auto";
|
||||
}
|
||||
}catch(e){}
|
||||
if(!isBasicMode()) I("cssref").href=I("cssref").href.replace("_basic.css",".css");
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="basic_only">
|
||||
<div class="stripe">
|
||||
<div class="content" style="border-bottom:none">
|
||||
<h2>Unsupported browser!</h2>
|
||||
<p>
|
||||
You are using an old or unsupported browser, so the site is in Basic mode, which provides only limited functionality and doesn't look very good.<br>
|
||||
Consider updating it as soon as possible to something more modern like <a href="http://www.firefox.com" target="_blank">Mozilla Firefox</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="footer">
|
||||
<html><body><div class="content">
|
||||
©2015-2022 Federico Dossena, all rights reserved. <a onclick="loadFragment('privacy/index.frag');return false;" href="/?p=privacy/index.frag">Privacy Policy</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var oldC=I("_comments_");
|
||||
if(oldC)oldC.id="article_comments";
|
||||
var c=I("article_comments");
|
||||
if(c)createCommentsForm('home.frag',c);
|
||||
var s=I("_share_");
|
||||
if(s){
|
||||
url=document.location.href;
|
||||
s.innerHTML="";
|
||||
var eurl=encodeURIComponent(url);
|
||||
var a=document.createElement("a");
|
||||
a.className="share share_fb";
|
||||
a.target="_blank";
|
||||
a.href="https://www.facebook.com/sharer/sharer.php?u="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("a");
|
||||
a.className="share share_tw";
|
||||
a.target="_blank";
|
||||
a.href="https://twitter.com/home?status="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("a");
|
||||
a.className="share share_gplus";
|
||||
a.target="_blank";
|
||||
a.href="https://plus.google.com/share?url="+eurl;
|
||||
s.appendChild(a);
|
||||
a=document.createElement("input");
|
||||
a.type="text";
|
||||
a.className="share share_link";
|
||||
a.value=url;
|
||||
a.onclick=a.select;
|
||||
s.appendChild(a);
|
||||
}
|
||||
var aTitle=I("_articleTitle_");
|
||||
if(aTitle)aTitle.id="article_title";
|
||||
aTitle=I("article_title");
|
||||
if(aTitle){
|
||||
aTitle.innerHTML="Home";
|
||||
}
|
||||
var latest=I("_latestPost_");
|
||||
if(latest){
|
||||
var xlp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xlp.onreadystatechange=function(){
|
||||
if(xlp.readyState==4){
|
||||
if(xlp.status==200){
|
||||
latest.innerHTML=xlp.responseText;
|
||||
}
|
||||
}
|
||||
}
|
||||
xlp.open("GET","articles.php?lastPost=true&random="+Math.random());
|
||||
xlp.send();
|
||||
}
|
||||
var featured=I("_featuredPost_");
|
||||
if(featured){
|
||||
var xlp2=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
|
||||
xlp2.onreadystatechange=function(){
|
||||
if(xlp2.readyState==4){
|
||||
if(xlp2.status==200){
|
||||
featured.innerHTML=xlp2.responseText;
|
||||
}
|
||||
}
|
||||
}
|
||||
xlp2.open("GET","articles.php?lastPost=featured&forceBasicMode=true&random="+Math.random());
|
||||
xlp2.send();
|
||||
}
|
||||
</script>
|
||||
<div id="resp_test"> </div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before ![]() (image error) Size: 267 B |
Binary file not shown.
Before ![]() (image error) Size: 283 KiB |
@ -1,55 +0,0 @@
|
||||
html,body{
|
||||
background-color:#FFFFFF;
|
||||
}
|
||||
html,body,a,p,h1,h2,h3,h4,h5,h6{
|
||||
color:#000000;
|
||||
}
|
||||
div.articleEntry > div.details *{
|
||||
color:#FFFFFF;
|
||||
}
|
||||
#background,#nav,.oldFragment{
|
||||
display:none;
|
||||
}
|
||||
#page{
|
||||
position:relative;
|
||||
height:auto;
|
||||
overflow-y:auto;
|
||||
margin-top:0;
|
||||
top:0;
|
||||
}
|
||||
#fragment{
|
||||
position:relative;
|
||||
animation:none;
|
||||
margin-top:0;
|
||||
opacity:1;
|
||||
}
|
||||
div.content{
|
||||
max-width:95%;
|
||||
}
|
||||
code, .code, div.code{
|
||||
background-color:#CCCCCC;
|
||||
color:#000000;
|
||||
white-space:normal !important;
|
||||
word-wrap:break-word;
|
||||
overflow:hidden !important;
|
||||
}
|
||||
a.downloadButton{
|
||||
border-color:#000000;
|
||||
}
|
||||
#lightbox,#lbimg{
|
||||
position:relative;
|
||||
height:auto;
|
||||
background:none;
|
||||
}
|
||||
div.flashFx{
|
||||
display:none;
|
||||
}
|
||||
#footer{
|
||||
display:none;
|
||||
}
|
||||
#article_comments > form{
|
||||
display:none;
|
||||
}
|
||||
#commentsArea *{
|
||||
color:#000000;
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
User-agent: *
|
||||
Sitemap: http://www.fdossena.com/sitemap.php
|
||||
Disallow: /_STATS
|
Binary file not shown.
Before ![]() (image error) Size: 354 B |
Loading…
Reference in New Issue
Block a user