{"id":890,"date":"2025-12-31T13:45:10","date_gmt":"2025-12-31T13:45:10","guid":{"rendered":"https:\/\/giornalemotori.com\/en\/?page_id=890"},"modified":"2026-01-01T12:05:07","modified_gmt":"2026-01-01T12:05:07","slug":"formula-1-archive","status":"publish","type":"page","link":"https:\/\/giornalemotori.com\/en\/formula-1-archive\/","title":{"rendered":"Formula 1 archive"},"content":{"rendered":"<div id=\"tdi_1\" class=\"tdc-zone\"><div class=\"tdc_zone tdi_2  wpb_row td-pb-row\"  >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_2{\r\n                    min-height: 0;\r\n                }\n<\/style><div id=\"tdi_3\" class=\"tdc-row\"><div class=\"vc_row tdi_4  wpb_row td-pb-row\" >\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_4,\r\n                .tdi_4 .tdc-columns{\r\n                    min-height: 0;\r\n                }.tdi_4,\r\n\t\t\t\t.tdi_4 .tdc-columns{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_4 .tdc-columns{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_4:before,\r\n\t\t\t\t.tdi_4:after{\r\n\t\t\t\t    display: table;\r\n\t\t\t\t}\n<\/style><div class=\"vc_column tdi_6  wpb_column vc_column_container tdc-column td-pb-span12\">\n<style scoped>\n\/* custom css - generated by TagDiv Composer *\/\n\n\/* custom css - generated by TagDiv Composer *\/\n.tdi_6{\r\n                    vertical-align: baseline;\r\n                }.tdi_6 > .wpb_wrapper,\r\n\t\t\t\t.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    display: block;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .tdc-elements{\r\n\t\t\t\t    width: 100%;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper > .vc_row_inner{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t}.tdi_6 > .wpb_wrapper{\r\n\t\t\t\t    width: auto;\r\n\t\t\t\t    height: auto;\r\n\t\t\t\t}\n<\/style><div class=\"wpb_wrapper\" ><div class=\"td_block_wrap td_block_title tdi_7 td-pb-border-top td_block_template_2 td-fix-index\"  data-td-block-uid=\"tdi_7\" >\n<style>\n.td_block_template_2.widget > ul > li {\r\n                margin-left: 0 !important;\r\n            }\r\n            \r\n            .td_block_template_2 .td-block-title {\r\n                font-size: 17px;\r\n                font-weight: 500;\r\n                margin-top: 0;\r\n                margin-bottom: 16px;\r\n                line-height: 31px;\r\n                text-align: left;\r\n            }\r\n            .td_block_template_2 .td-block-title > * {\r\n                color: var(--td_text_header_color, #000);\r\n            }\r\n            .td_block_template_2 .td-related-title a {\r\n                padding: 0 20px 0 0;\r\n            }\r\n            @media (max-width: 767px) {\r\n                .td_block_template_2 .td-related-title a {\r\n                    font-size: 15px;\r\n                }\r\n            }\r\n            .td_block_template_2 .td-related-title .td-cur-simple-item {\r\n                color: var(--td_theme_color, #4db2ec);\r\n            }\n\/* inline tdc_css att - generated by TagDiv Composer *\/\n\n.tdi_7{\npadding-top:35px !important;\n}\n\n<\/style>\n<style>\n\/* custom css - generated by TagDiv Composer *\/\nbody .tdi_7 .td-block-title a,\r\n\t\t\t\tbody .tdi_7 .td-block-title span{\r\n\t\t\t\t\tfont-size:35px !important;\r\n\t\t\t\t}body .tdi_7 .td-block-title{\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t}body .tdi_7.td_block_template_4 .td-block-title > *:before,\r\n\t\t\t\tbody .tdi_7.td_block_template_17 .td-block-title:after,\r\n\t\t\t\tbody .tdi_7.td_block_template_13 .td-block-subtitle,\r\n\t\t\t\tbody .tdi_7.td_block_template_9 .td-block-title:after{\r\n\t\t\t\t    right: 0;\r\n\t\t\t\t    left: 0;\r\n\t\t\t\t}body .tdi_7.td_block_template_5 .td-block-title > *{\r\n\t\t\t\t    border-width: 0 0 0 4px;\r\n\t\t\t\t}body .tdi_7.td_block_template_8 .td-block-title > *{\r\n\t\t\t\t\tpadding-left: 20px;\r\n\t\t\t\t\tpadding-right: 20px;\r\n\t\t\t\t}body .tdi_7.td_block_template_12 .td-block-title{\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t}\n<\/style><div class=\"td-block-title-wrap\"><h4 class=\"td-block-title\"><span class=\"td-pulldown-size\">FORMULA 1 ARCHIVE<\/span><\/h4><\/div><\/div><div class=\"wpb_wrapper td_block_wrap vc_raw_html tdi_9 \"><div class=\"td-fix-index\"><style>\r\n:root{\r\n  --accent:#d4002b;\r\n  --card:#fff;\r\n  --muted:#666;\r\n  --gold:#f5c400;\r\n  --purple:#8e44ad;\r\n}\r\n\r\n.f1-container{\r\n  max-width:1400px;\r\n  margin:0 auto;\r\n  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;\r\n}\r\n\r\n.f1-card{\r\n  background:var(--card);\r\n  border-radius:12px;\r\n  padding:18px;\r\n  box-shadow:0 2px 8px rgba(0,0,0,.1);\r\n}\r\n\r\n.f1-header{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:16px;\r\n  flex-wrap:wrap;\r\n  margin-bottom:16px;\r\n}\r\n\r\n.f1-card h1{margin:0;font-size:1.25rem}\r\n.f1-card h2{margin:0 0 10px 0}\r\n\r\n.f1-controls{\r\n  display:flex;\r\n  gap:8px;\r\n  align-items:center;\r\n  flex-wrap:wrap;\r\n}\r\n\r\n.f1-card select{\r\n  padding:8px 10px;\r\n  border-radius:8px;\r\n  border:1px solid #ccc;\r\n}\r\n\r\n.f1-card button{\r\n  background:var(--accent);\r\n  color:#fff;\r\n  border:0;\r\n  padding:8px 12px;\r\n  border-radius:9px;\r\n  cursor:pointer;\r\n}\r\n\r\n.f1-tables{\r\n  display:grid;\r\n  grid-template-columns:1fr 1fr;\r\n  gap:16px;\r\n  margin-top:16px;\r\n}\r\n\r\n.f1-card table{\r\n  width:100%;\r\n  border-collapse:collapse;\r\n  font-size:.93rem;\r\n}\r\n\r\n.f1-card thead th{\r\n  padding:10px 8px;\r\n  border-bottom:2px solid #ddd;\r\n  text-align:left;\r\n}\r\n\r\n.f1-card tbody tr{border-bottom:1px solid #e0e0e0}\r\n.f1-card td{padding:8px}\r\n\r\n.f1-small{font-size:.82rem}\r\n.f1-muted{color:var(--muted)}\r\n\r\n.f1-badge{\r\n  padding:2px 6px;\r\n  border-radius:6px;\r\n  font-size:.72rem;\r\n  font-weight:600;\r\n}\r\n\r\n.f1-badge.gold{background:var(--gold)}\r\n.f1-badge.purple{background:var(--purple);color:#fff}\r\n.f1-badge.triple{\r\n  background:linear-gradient(135deg,#d4002b,#000);\r\n  color:#fff;\r\n}\r\n\r\n@media(max-width:900px){\r\n  .f1-tables{grid-template-columns:1fr}\r\n}\r\n\r\n\/* Uniforma altezza testo colonne Pole, FL e Vincitore *\/\r\n.f1-card table td:nth-child(4),\r\n.f1-card table td:nth-child(5),\r\n.f1-card table td:nth-child(6) {\r\n  font-size: 0.9rem;\r\n  line-height: 1.4;\r\n}\r\n\r\n\/* Allinea anche badge e strong *\/\r\n.f1-card table td strong,\r\n.f1-card table td .f1-badge {\r\n  font-size: inherit;\r\n  line-height: inherit;\r\n  vertical-align: middle;\r\n}\r\n\r\n#season-title {\r\n  font-size: 1.2rem;\r\n  font-weight: 700;\r\n  vertical-align: middle;\r\n}\r\n<\/style>\r\n\r\n<div class=\"f1-container\">\r\n  <div class=\"f1-card\">\r\n\r\n    <div class=\"f1-header\">\r\n      <div>\r\n        <h1><span id=\"season-title\" class=\"f1-small f1-muted\"><\/span><\/h1>\r\n      <\/div>\r\n      <div class=\"f1-controls\">\r\n        <label class=\"f1-small f1-muted\">Stagione<\/label>\r\n        <select id=\"year-select\"><\/select>\r\n        <button id=\"reload-btn\">Load<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"messages\" class=\"f1-small f1-muted\"><\/div>\r\n\r\n    <div class=\"f1-card\" style=\"margin-bottom:16px\">\r\n      <h2>Grands prix<\/h2>\r\n      <div id=\"calendar-wrap\"><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"f1-tables\">\r\n      <div class=\"f1-card\">\r\n        <h2>World Drivers' Championship standings<\/h2>\r\n        <div id=\"drivers-table-wrap\"><\/div>\r\n      <\/div>\r\n      <div class=\"f1-card\">\r\n        <h2>World Constructors' Championship standings<\/h2>\r\n        <div id=\"constructors-table-wrap\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\nconst baseJsonPath='\/en\/wp-content\/uploads\/f1-standings\/';\r\nconst startYear=1950;\r\nconst endYear=new Date().getFullYear();\r\n\r\nconst yearSelect=document.getElementById('year-select');\r\nconst seasonTitle=document.getElementById('season-title');\r\nconst driversWrap=document.getElementById('drivers-table-wrap');\r\nconst constructorsWrap=document.getElementById('constructors-table-wrap');\r\nconst calendarWrap=document.getElementById('calendar-wrap');\r\nconst messages=document.getElementById('messages');\r\n\r\nfunction esc(s){\r\n  return String(s||'').replace(\/[&<>]\/g,m=>({'&':'&amp;','<':'&lt;','>':'&gt;'}[m]));\r\n}\r\n\r\nfunction slugify(s){\r\n  return String(s||'').toLowerCase().replace(\/ \/g,'-');\r\n}\r\n\r\n\/\/ FORMATO DATA BRITANNICO DD\/MM\/YYYY\r\nfunction formatDate(dateStr){\r\n  if(!dateStr) return '';\r\n  const d=new Date(dateStr);\r\n  const day = String(d.getDate()).padStart(2,'0');\r\n  const month = String(d.getMonth()+1).padStart(2,'0'); \/\/ Mesi da 0\r\n  const year = d.getFullYear();\r\n  return `${day}\/${month}\/${year}`;\r\n}\r\n\r\nfor(let y=endYear;y>=startYear;y--){\r\n  const o=document.createElement('option');\r\n  o.value=y;\r\n  o.textContent=y;\r\n  yearSelect.appendChild(o);\r\n}\r\nyearSelect.value=endYear;\r\n\r\nfunction table(container,cols,rows){\r\n  if(!rows || !rows.length){\r\n    container.innerHTML='<div class=\"f1-small f1-muted\">Nessun dato<\/div>';\r\n    return;\r\n  }\r\n  let h='<table><thead><tr>';\r\n  h+=cols.map(c=>`<th>${c.l}<\/th>`).join('');\r\n  h+='<\/tr><\/thead><tbody>';\r\n  rows.forEach(r=>{\r\n    h+='<tr>'+cols.map(c=>`<td>${c.r?c.r(r):(r[c.k]||'')}<\/td>`).join('')+'<\/tr>';\r\n  });\r\n  h+='<\/tbody><\/table>';\r\n  container.innerHTML=h;\r\n}\r\n\r\nasync function loadSeason(y){\r\n  messages.textContent='Caricamento...';\r\n  try{\r\n    const res=await fetch(baseJsonPath+'standings-'+y+'.json',{cache:'no-store'});\r\n    if(!res.ok) throw new Error();\r\n\r\n    const d=await res.json();\r\n    seasonTitle.textContent=d.season||y;\r\n\r\n    table(calendarWrap,[\r\n      {l:'#',k:'round'},\r\n      {l:'GP',r:r=>esc(r.raceName)},\r\n      {l:'Date',r:r=>formatDate(r.date)},\r\n      {l:'Pole',r:r=>`<strong>${esc(r.pole)}<\/strong>`},\r\n      {l:'FL',r:r=>`<span class=\"f1-badge purple\">${esc(r.fastestLap)}<\/span>`},\r\n      {l:'Winner',r:r=>{\r\n        const isPV=r.winner===r.pole;\r\n        const isTC=r.winner===r.pole && r.winner===r.fastestLap;\r\n        let b='';\r\n        if(isPV) b+=' <span class=\"f1-badge gold\">P+V<\/span>';\r\n        if(isTC) b+=' <span class=\"f1-badge triple\">TC<\/span>';\r\n        return `<strong>${esc(r.winner)}<\/strong>${b}`;\r\n      }}\r\n    ],d.raceCalendar||[]);\r\n\r\n    table(driversWrap,[\r\n      {l:'Pos',k:'position'},\r\n      {l:'Driver',r:r=>`<a href=\"\/piloti\/${slugify(r.driver)}\/\"><strong>${esc(r.driver)}<\/strong><\/a>`},\r\n      {l:'Team',r:r=>`<a href=\"\/team\/${slugify(r.team)}\/\">${esc(r.team)}<\/a>`},\r\n      {l:'Points',k:'points'},\r\n      {l:'Wins',k:'wins'}\r\n    ],d.driversStandings);\r\n\r\n    table(constructorsWrap,[\r\n      {l:'Pos',k:'position'},\r\n      {l:'Team',r:r=>`<a href=\"\/team\/${slugify(r.constructor)}\/\"><strong>${esc(r.constructor)}<\/strong><\/a>`},\r\n      {l:'Points',k:'points'},\r\n      {l:'Wins',k:'wins'}\r\n    ],d.constructorsStandings);\r\n\r\n    messages.textContent='';\r\n  }catch(e){\r\n    messages.textContent='Errore nel caricamento dei dati';\r\n  }\r\n}\r\n\r\nyearSelect.onchange=()=>loadSeason(yearSelect.value);\r\ndocument.getElementById('reload-btn').onclick=()=>loadSeason(yearSelect.value);\r\nloadSeason(yearSelect.value);\r\n\r\n})();\r\n<\/script>\r\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-890","page","type-page","status-publish"],"_links":{"self":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages\/890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/comments?post=890"}],"version-history":[{"count":8,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages\/890\/revisions"}],"predecessor-version":[{"id":926,"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/pages\/890\/revisions\/926"}],"wp:attachment":[{"href":"https:\/\/giornalemotori.com\/en\/wp-json\/wp\/v2\/media?parent=890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}