|
1 | 1 | <script> |
2 | | - export let title = "FormulaCode"; |
| 2 | + export let title = |
| 3 | + "FormulaCode: LLM Agent Benchmark for Python Code Optimization"; |
3 | 4 | export let description = |
4 | | - "FormulaCode is the first large-scale analysis of the holistic ability of LLM agents to optimize codebases."; |
| 5 | + "FormulaCode is a continually updated benchmark evaluating LLM coding agents on real-world Python code optimization. 957 performance bottlenecks from 70+ scientific Python repositories, each paired with expert patches and community-maintained performance workloads."; |
5 | 6 | export let url = "https://formulacode.org/"; |
6 | 7 | export let keywords = |
7 | | - "Code Optimization, Large Language Models, LLMs, AI Agents, Software Performance, Machine Learning, AI Research"; |
| 8 | + "code optimization benchmark, LLM agent benchmark, Python performance benchmark, AI coding agents, code performance dataset, agentic optimization, LLM evaluation, software engineering benchmark, code optimization dataset, FormulaCode"; |
| 9 | + export let ogType = "website"; |
8 | 10 | export let preloadFont = []; |
| 11 | +
|
| 12 | + // JSON-LD structured data: pass an array of plain JS objects. Each is |
| 13 | + // serialized into its own <script type="application/ld+json"> tag. |
| 14 | + export let jsonLd = []; |
| 15 | +
|
| 16 | + // Strip trailing slash so we don't render "https://formulacode.org//" in |
| 17 | + // canonical / og:url. SvelteKit's trailingSlash: "always" guarantees the |
| 18 | + // trailing slash on the input. |
| 19 | + $: canonicalUrl = (url || "https://formulacode.org/").replace(/\/+$/, "/"); |
| 20 | + $: ogImage = "https://formulacode.org/assets/images/formula-code-banner.png"; |
9 | 21 | </script> |
10 | 22 |
|
11 | 23 | <svelte:head> |
12 | 24 | <title>{title}</title> |
13 | 25 | <meta name="description" content={description} /> |
14 | 26 | <meta name="author" content="Atharva Sehgal" /> |
| 27 | + <meta name="keywords" content={keywords} /> |
15 | 28 | <meta name="news_keywords" content={keywords} /> |
16 | 29 |
|
17 | 30 | <meta property="og:title" content={title} /> |
18 | 31 | <meta property="og:site_name" content="FormulaCode" /> |
19 | | - <meta property="og:url" content={url} /> |
| 32 | + <meta property="og:url" content={canonicalUrl} /> |
20 | 33 | <meta property="og:description" content={description} /> |
21 | | - <meta property="og:type" content="article" /> |
| 34 | + <meta property="og:type" content={ogType} /> |
22 | 35 | <meta property="og:locale" content="en_US" /> |
23 | 36 |
|
24 | | - <meta |
25 | | - property="og:image" |
26 | | - content="{url}assets/images/formula-code-banner.png" |
27 | | - /> |
| 37 | + <meta property="og:image" content={ogImage} /> |
28 | 38 | <meta |
29 | 39 | property="og:image:alt" |
30 | | - content="FormulaCode Data Analysis Logo and Banner" |
| 40 | + content="FormulaCode benchmark — agentic optimization on large codebases" |
31 | 41 | /> |
32 | 42 | <meta property="og:image:type" content="image/png" /> |
33 | 43 | <meta property="og:image:width" content="1200" /> |
34 | 44 | <meta property="og:image:height" content="630" /> |
35 | 45 |
|
36 | 46 | <meta name="twitter:card" content="summary_large_image" /> |
37 | | - <meta name="twitter:site" content="https://formulacode.org/" /> |
| 47 | + <meta name="twitter:site" content="@atharvas" /> |
38 | 48 | <meta name="twitter:creator" content="@atharvas" /> |
39 | 49 | <meta name="twitter:title" content={title} /> |
40 | 50 | <meta name="twitter:description" content={description} /> |
41 | | - <meta |
42 | | - name="twitter:image:src" |
43 | | - content="{url}assets/images/formula-code-banner.png" |
44 | | - /> |
| 51 | + <meta name="twitter:image" content={ogImage} /> |
45 | 52 | <meta |
46 | 53 | name="twitter:image:alt" |
47 | | - content="FormulaCode Data Analysis Logo and Banner" |
| 54 | + content="FormulaCode benchmark — agentic optimization on large codebases" |
48 | 55 | /> |
49 | 56 |
|
50 | | - <meta name="robots" content="max-image-preview:large" /> |
| 57 | + <meta name="robots" content="index,follow,max-image-preview:large" /> |
| 58 | + <meta name="googlebot" content="index,follow,max-image-preview:large" /> |
51 | 59 | <meta name="theme-color" content="#ffffff" /> |
52 | 60 | <meta name="color-scheme" content="light" /> |
53 | 61 |
|
54 | | - <link rel="canonical" href="{url}/" /> |
| 62 | + <link rel="canonical" href={canonicalUrl} /> |
55 | 63 |
|
56 | 64 | <!-- Google Fonts preconnect (the actual font CSS is imported from |
57 | 65 | variables.css; Lexend + Lexend Deca + Roboto Mono). --> |
|
61 | 69 | {#each preloadFont as href} |
62 | 70 | <link rel="preload" {href} as="font" type="font/woff2" crossorigin /> |
63 | 71 | {/each} |
| 72 | + |
| 73 | + {#each jsonLd as item} |
| 74 | + {@html `<script type="application/ld+json">${JSON.stringify(item)}<\/script>`} |
| 75 | + {/each} |
64 | 76 | </svelte:head> |
0 commit comments