del fdossema.com

This commit is contained in:
tierce (Thierry Fenasse) 2022-06-20 19:08:02 +02:00
parent 73cbdc9b2a
commit 9705aa3713
Signed by: tierce
GPG Key ID: 56BF2A3A07DDEB1F
23 changed files with 0 additions and 1830 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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);
}
}

View File

@ -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

View File

@ -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;
}
}

View File

@ -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,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\n/g,'<br/>').replace(/\t/g,'&emsp;&emsp;').replace(/\s/g,'&nbsp;');
}
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">&nbsp;</div>
</body>
</html>

View File

@ -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,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\n/g,'<br/>').replace(/\t/g,'&emsp;&emsp;').replace(/\s/g,'&nbsp;');
}
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">&nbsp;</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

View File

@ -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.

View File

@ -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