index-shop/create-og-image.html

74 lines
2.4 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Generate OG Image</title>
<style>
#canvas-container {
display: none;
}
canvas {
border: 1px solid #ccc;
}
#preview {
margin-top: 20px;
}
#preview img {
max-width: 600px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<h1>Générer l'image Open Graph</h1>
<p>Cette page génère une image 1200x630px avec le logo Index pour les partages sociaux.</p>
<button onclick="generateImage()">Générer l'image</button>
<div id="canvas-container">
<canvas id="canvas" width="1200" height="630"></canvas>
</div>
<div id="preview"></div>
<script>
function generateImage() {
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
// Fond blanc
ctx.fillStyle = '#ffffff';
ctx.fillRect(0, 0, 1200, 630);
// Charger et dessiner le logo SVG
const img = new Image();
img.onload = function() {
// Centrer le logo
const logoWidth = 400;
const logoHeight = (this.height / this.width) * logoWidth;
const x = (1200 - logoWidth) / 2;
const y = (630 - logoHeight) / 2 - 50;
ctx.drawImage(img, x, y, logoWidth, logoHeight);
// Ajouter le texte en dessous
ctx.fillStyle = '#000000';
ctx.font = '24px sans-serif';
ctx.textAlign = 'center';
ctx.fillText('Boutique de Index, ONG d\'investigation indépendante', 600, 500);
// Convertir en PNG et afficher
canvas.toBlob(function(blob) {
const url = URL.createObjectURL(blob);
const preview = document.getElementById('preview');
preview.innerHTML = `
<h2>Aperçu</h2>
<img src="${url}" alt="OG Image Preview">
<p><a href="${url}" download="og-logo.png">Télécharger og-logo.png</a></p>
<p>Placez ce fichier dans <code>/assets/og-logo.png</code></p>
`;
});
};
img.src = 'assets/index-logo.svg';
}
</script>
</body>
</html>