Add SEO headers to the stats website and a link from the website (#1652)

* Add SEO headers to the stats website and a link from the website

* Add some content

* Fix builds

* Change message
This commit is contained in:
Pedro Piñera Buendía 2020-08-11 19:17:03 +02:00 committed by GitHub
parent c10aa60b33
commit e41809e913
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 444 additions and 198 deletions

View File

@ -1,3 +1,7 @@
{
"recommendations": ["blodwynn.featurehighlight", "silvenon.mdx"]
"recommendations": [
"blodwynn.featurehighlight",
"silvenon.mdx",
"bradlc.vscode-tailwindcss"
]
}

78
stats/components/head.tsx Normal file
View File

@ -0,0 +1,78 @@
import NextHead from 'next/head'
const Head = () => {
const description =
'Insights about how people use Tuist to help make informed decision and prioritize future work on Tuist.'
const title = `Tuist Statistics`
return (
<NextHead>
<title>{title}</title>
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
<meta name="description" content={description} data-rh="true" />
<meta property="og:title" content={title} key="title" />
<meta property="og:description" content={description} data-rh="true" />
<meta data-rh="true" name="twitter:creator" content="@tuistio" />
<meta data-rh="true" name="twitter:card" content="summary" />
<meta data-rh="true" name="twitter:site" content="@tuistio" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png" />
<link
rel="apple-touch-icon"
sizes="114x114"
href="/apple-icon-114x114.png"
/>
<link
rel="apple-touch-icon"
sizes="120x120"
href="/apple-icon-120x120.png"
/>
<link
rel="apple-touch-icon"
sizes="144x144"
href="/apple-icon-144x144.png"
/>
<link
rel="apple-touch-icon"
sizes="152x152"
href="/apple-icon-152x152.png"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="/apple-icon-180x180.png"
/>
<link
rel="icon"
type="image/png"
sizes="192x192"
href="/android-icon-192x192.png"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="96x96"
href="/favicon-96x96.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/favicon-16x16.png"
/>
<link rel="manifest" href="/manifest.json" />
<meta name="msapplication-TileColor" content="#ffffff" />
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png" />
<meta name="theme-color" content="#ffffff" />
</NextHead>
)
}
export default Head

3
stats/next.config.js Normal file
View File

@ -0,0 +1,3 @@
// next.config.js
const withImages = require('next-images')
module.exports = withImages()

View File

@ -8,7 +8,9 @@
"start": "next start"
},
"dependencies": {
"@tailwindcss/typography": "^0.2.0",
"next": "^9.5.1",
"next-images": "^1.4.1",
"react": "^16.13.1",
"react-dom": "^16.13.1"
},

View File

@ -1,190 +1,226 @@
import Head from '../components/head'
function HomePage() {
return (
<div className="relative py-16 bg-white overflow-hidden">
<div className="hidden lg:block lg:absolute lg:inset-y-0 lg:h-full lg:w-full">
<div className="relative h-full text-lg max-w-prose mx-auto">
<svg
className="absolute top-12 left-full transform translate-x-32"
width={404}
height={384}
fill="none"
viewBox="0 0 404 384"
>
<defs>
<pattern
id="74b3fd99-0a6f-4271-bef2-e80eeafdf357"
x={0}
y={0}
width={20}
height={20}
patternUnits="userSpaceOnUse"
>
<rect
x={0}
y={0}
width={4}
height={4}
className="text-gray-200"
fill="currentColor"
/>
</pattern>
</defs>
<rect
width={404}
height={384}
fill="url(#74b3fd99-0a6f-4271-bef2-e80eeafdf357)"
/>
</svg>
<svg
className="absolute top-1/2 right-full transform -translate-y-1/2 -translate-x-32"
width={404}
height={384}
fill="none"
viewBox="0 0 404 384"
>
<defs>
<pattern
id="f210dbf6-a58d-4871-961e-36d5016a0f49"
x={0}
y={0}
width={20}
height={20}
patternUnits="userSpaceOnUse"
>
<rect
x={0}
y={0}
width={4}
height={4}
className="text-gray-200"
fill="currentColor"
/>
</pattern>
</defs>
<rect
width={404}
height={384}
fill="url(#f210dbf6-a58d-4871-961e-36d5016a0f49)"
/>
</svg>
<svg
className="absolute bottom-12 left-full transform translate-x-32"
width={404}
height={384}
fill="none"
viewBox="0 0 404 384"
>
<defs>
<pattern
id="d3eb07ae-5182-43e6-857d-35c643af9034"
x={0}
y={0}
width={20}
height={20}
patternUnits="userSpaceOnUse"
>
<rect
x={0}
y={0}
width={4}
height={4}
className="text-gray-200"
fill="currentColor"
/>
</pattern>
</defs>
<rect
width={404}
height={384}
fill="url(#d3eb07ae-5182-43e6-857d-35c643af9034)"
/>
</svg>
</div>
</div>
<div>
<Head />
<div className="relative py-16 bg-white overflow-hidden max-w-screen-lg mx-auto">
<div className="relative px-4 sm:px-6 lg:px-8">
<div className="text-lg max-w-prose mx-auto mb-6">
<p className="text-base text-center leading-6 text-indigo-600 font-semibold tracking-wide uppercase">
Stats
<div className="flex justify-center mb-16">
<a href="https://tuist.io">
<img src="/logo.svg" />
</a>
</div>
<p className="text-base text-center leading-6 text-blue-600 font-semibold tracking-wide uppercase">
Tuist Stats
</p>
<h1 className="mt-2 mb-8 text-3xl text-center leading-8 font-extrabold tracking-tight text-gray-900 sm:text-4xl sm:leading-10">
Learn about how people use Tuist
Insights about how people use Tuist
</h1>
<p className="text-xl text-gray-500 leading-8">
Aliquet nec orci mattis amet quisque ullamcorper neque, nibh sem. At
arcu, sit dui mi, nibh dui, diam eget aliquam. Quisque id at vitae
feugiat egestas ac. Diam nulla orci at in viverra scelerisque eget.
Eleifend egestas fringilla sapien.
<p className="text-center text-gray-700 leading-8 prose-lg">
To prioritize the work and make the right decisions, it's
important to <b>back our decisions with data</b>. For that reason,
we collect anonymous data and present it on this website for us
and for the users of the tool.
</p>
<p className="text-center text-yellow-700 leading-8 prose-lg">
Please note that this website is currently work-in-progress so the
data presented is fake at the moment.
</p>
<div className="mt-10">
<h1 className="mt-2 mb-8 text-3xl text-center leading-8 font-bold tracking-tight text-gray-900 sm:text-4xl sm:leading-10">
Workflows
</h1>
<div>
<h3 className="text-lg leading-6 font-medium text-gray-900">
Last 30 days
</h3>
<div className="mt-5 grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3">
<div className="bg-white overflow-hidden shadow rounded-lg">
<div className="px-4 py-5 sm:p-6">
<div className="flex items-center">
<div className="flex-shrink-0 bg-blue-500 rounded-md p-3">
<svg
className="h-6 w-6 text-white"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"
/>
</svg>
</div>
<div className="prose prose-lg text-gray-500 mx-auto">
<p>
Faucibus commodo massa rhoncus, volutpat. <strong>Dignissim</strong>{" "}
sed <strong>eget risus enim</strong>. Mattis mauris semper sed amet
vitae sed turpis id. Id dolor praesent donec est. Odio penatibus
risus viverra tellus varius sit neque erat velit. Faucibus commodo
massa rhoncus, volutpat. Dignissim sed eget risus enim.{" "}
<a href="#">Mattis mauris semper</a> sed amet vitae sed turpis id.
</p>
<ul>
<li>Quis elit egestas venenatis mattis dignissim.</li>
<li>
Cras cras lobortis vitae vivamus ultricies facilisis tempus.
</li>
<li>Orci in sit morbi dignissim metus diam arcu pretium.</li>
</ul>
<p>
Quis semper vulputate aliquam venenatis egestas sagittis quisque
orci. Donec commodo sit viverra aliquam porttitor ultrices gravida
eu. Tincidunt leo, elementum mattis elementum ut nisl, justo, amet,
mattis. Nunc purus, diam commodo tincidunt turpis. Amet, duis sed
elit interdum dignissim.
</p>
<h2>From beginner to expert in 30 days</h2>
<p>
Id orci tellus laoreet id ac. Dolor, aenean leo, ac etiam consequat
in. Convallis arcu ipsum urna nibh. Pharetra, euismod vitae interdum
mauris enim, consequat vulputate nibh. Maecenas pellentesque id sed
tellus mauris, ultrices mauris. Tincidunt enim cursus ridiculus mi.
Pellentesque nam sed nullam sed diam turpis ipsum eu a sed convallis
diam.
</p>
<blockquote>
<p>
Sagittis scelerisque nulla cursus in enim consectetur quam. Dictum
urna sed consectetur neque tristique pellentesque. Blandit amet,
sed aenean erat arcu morbi.
</p>
</blockquote>
<p>
Faucibus commodo massa rhoncus, volutpat. Dignissim sed eget risus
enim. Mattis mauris semper sed amet vitae sed turpis id. Id dolor
praesent donec est. Odio penatibus risus viverra tellus varius sit
neque erat velit.
</p>
<figure>
<figcaption>
Sagittis scelerisque nulla cursus in enim consectetur quam.
</figcaption>
</figure>
<h3>Everything you need to get up and running</h3>
<p>
Purus morbi dignissim senectus mattis <a href="#">adipiscing</a>.
Amet, massa quam varius orci dapibus volutpat cras. In amet eu
ridiculus leo sodales cursus tristique. Tincidunt sed tempus ut
viverra ridiculus non molestie. Gravida quis fringilla amet eget dui
tempor dignissim. Facilisis auctor venenatis varius nunc, congue
erat ac. Cras fermentum convallis quam.
</p>
<p>
Faucibus commodo massa rhoncus, volutpat. Dignissim sed eget risus
enim. Mattis mauris semper sed amet vitae sed turpis id. Id dolor
praesent donec est. Odio penatibus risus viverra tellus varius sit
neque erat velit.
</p>
<div className="ml-5 w-0 flex-1">
<dl>
<dt className="text-sm leading-5 font-medium text-gray-500 truncate">
Projects generated
</dt>
<dd className="flex items-baseline">
<div className="text-2xl leading-8 font-semibold text-gray-900">
71897
</div>
<div className="ml-2 flex items-baseline text-sm leading-5 font-semibold text-green-600">
<svg
className="self-center flex-shrink-0 h-5 w-5 text-green-500"
fill="currentColor"
viewBox="0 0 20 20"
>
<path
fillRule="evenodd"
d="M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z"
clipRule="evenodd"
/>
</svg>
<span className="sr-only">Increased by</span>
122
</div>
</dd>
</dl>
</div>
</div>
</div>
);
<div className="bg-gray-50 px-4 py-4 sm:px-6">
<div className="text-sm leading-5">
<a
href="#"
className="font-medium text-blue-600 hover:text-blue-500 transition ease-in-out duration-150"
>
View all
</a>
</div>
</div>
</div>
<div className="bg-white overflow-hidden shadow rounded-lg">
<div className="px-4 py-5 sm:p-6">
<div className="flex items-center">
<div className="flex-shrink-0 bg-blue-500 rounded-md p-3">
<svg
className="h-6 w-6 text-white"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76"
/>
</svg>
</div>
<div className="ml-5 w-0 flex-1">
<dl>
<dt className="text-sm leading-5 font-medium text-gray-500 truncate">
Focused projects
</dt>
<dd className="flex items-baseline">
<div className="text-2xl leading-8 font-semibold text-gray-900">
50922
</div>
<div className="ml-2 flex items-baseline text-sm leading-5 font-semibold text-green-600">
<svg
className="self-center flex-shrink-0 h-5 w-5 text-green-500"
fill="currentColor"
viewBox="0 0 20 20"
>
<path
fillRule="evenodd"
d="M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z"
clipRule="evenodd"
/>
</svg>
<span className="sr-only">Increased by</span>
300
</div>
</dd>
</dl>
</div>
</div>
</div>
<div className="bg-gray-50 px-4 py-4 sm:px-6">
<div className="text-sm leading-5">
<a
href="#"
className="font-medium text-blue-600 hover:text-blue-500 transition ease-in-out duration-150"
>
View all
</a>
</div>
</div>
</div>
<div className="bg-white overflow-hidden shadow rounded-lg">
<div className="px-4 py-5 sm:p-6">
<div className="flex items-center">
<div className="flex-shrink-0 bg-blue-500 rounded-md p-3">
<svg
className="h-6 w-6 text-white"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
/>
</svg>
</div>
<div className="ml-5 w-0 flex-1">
<dl>
<dt className="text-sm leading-5 font-medium text-gray-500 truncate">
Scaffolds
</dt>
<dd className="flex items-baseline">
<div className="text-2xl leading-8 font-semibold text-gray-900">
24300
</div>
<div className="ml-2 flex items-baseline text-sm leading-5 font-semibold text-red-600">
<svg
className="self-center flex-shrink-0 h-5 w-5 text-red-500"
fill="currentColor"
viewBox="0 0 20 20"
>
<path
fillRule="evenodd"
d="M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z"
clipRule="evenodd"
/>
</svg>
<span className="sr-only">Decreased by</span>
24
</div>
</dd>
</dl>
</div>
</div>
</div>
<div className="bg-gray-50 px-4 py-4 sm:px-6">
<div className="text-sm leading-5">
<a
href="#"
className="font-medium text-blue-600 hover:text-blue-500 transition ease-in-out duration-150"
>
View all
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
)
}
export default HomePage;
export default HomePage

View File

@ -1,3 +1,3 @@
module.exports = {
plugins: ["tailwindcss", "postcss-preset-env"],
};
plugins: ['tailwindcss', 'postcss-preset-env'],
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
stats/public/apple-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
stats/public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

38
stats/public/logo.svg Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="151px" height="151px" viewBox="0 0 151 151" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 53.2 (72643) - https://sketchapp.com -->
<title>Icon</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="4.42758392%" x2="50%" y2="96.2307907%" id="linearGradient-1">
<stop stop-color="#57C5FA" offset="0%"></stop>
<stop stop-color="#0C6DD1" offset="100%"></stop>
</linearGradient>
</defs>
<g id="New-website" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Main" transform="translate(-644.000000, -76.000000)">
<g id="Header">
<g id="Icon" transform="translate(644.000000, 76.000000)">
<rect id="Rectangle" fill="url(#linearGradient-1)" x="0" y="0" width="150.528" height="150.528" rx="27.048"></rect>
<g id="Group-2" stroke-width="1" transform="translate(26.460000, 30.870000)">
<g id="Group" transform="translate(48.216000, 0.000000)" fill-rule="nonzero" stroke="#FFFFFF" stroke-width="2.94">
<path d="M0.844646035,87.7355558 L0.844646035,-2.84217094e-14" id="Path"></path>
<path d="M1.09285677,88.1947457 L22.4615444,5.586" id="Path-2"></path>
<path d="M0.800645041,88.4316741 L42.4425085,19.0217991" id="Path-3"></path>
<path d="M0.906698718,88.5038809 L49.1543523,39.69" id="Path-4"></path>
<path d="M0.294,89.67 L40.3834876,65.856" id="Path-5"></path>
</g>
<g id="Group" transform="translate(25.137000, 44.835000) scale(-1, 1) translate(-25.137000, -44.835000) " fill-rule="nonzero" stroke="#FFFFFF" stroke-width="2.94">
<path d="M1.72664603,87.7355558 L1.72664603,-2.84217094e-14" id="Path"></path>
<path d="M1.97485677,88.1947457 L23.3435444,5.586" id="Path-2"></path>
<path d="M1.68264504,88.4316741 L43.3245085,19.0217991" id="Path-3"></path>
<path d="M1.78869872,88.5038809 L50.0363523,39.69" id="Path-4"></path>
<path d="M0.294,89.67 L41.2654876,65.856" id="Path-5"></path>
</g>
<rect id="Rectangle" fill="#FFFFFF" fill-rule="nonzero" x="33.222" y="84.966" width="31.458" height="2.646"></rect>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,41 @@
{
"name": "App",
"icons": [
{
"src": "\/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -4,5 +4,5 @@ module.exports = {
extend: {},
},
variants: {},
plugins: [],
plugins: [require('@tailwindcss/typography')],
}

View File

@ -1046,6 +1046,11 @@
resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-9.5.1.tgz#fe257fafe1a7f1c0c6e818017fa65b5ee45c5eca"
integrity sha512-A19z/E6f08RXfBRc2STQ+5qo7iSPif7mNcww9dZAVli3Idu4umGP5dbpL71Hz1vyRs1eMUEylXTpXsY2WzY07g==
"@tailwindcss/typography@^0.2.0":
version "0.2.0"
resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.2.0.tgz#b597c83502e3c3c6641a8aaabda223cd494ab349"
integrity sha512-aPgMH+CjQiScLZculoDNOQUrrK2ktkbl3D6uCLYp1jgYRlNDrMONu9nMu8LfwAeetYNpVNeIGx7WzHSu0kvECg==
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
@ -2763,6 +2768,14 @@ figgy-pudding@^3.5.1:
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
file-loader@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f"
integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==
dependencies:
loader-utils "^2.0.0"
schema-utils "^2.6.5"
file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
@ -3666,6 +3679,18 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
mime-types@^2.1.26:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
dependencies:
mime-db "1.44.0"
mini-css-extract-plugin@0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1"
@ -3825,6 +3850,14 @@ neo-async@^2.5.0, neo-async@^2.6.1:
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
next-images@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/next-images/-/next-images-1.4.1.tgz#946f34728609dc24517234d85b2f6b6f9a3344d1"
integrity sha512-Xkxxf+Hw/Pet2VVbw72jc7PAcOGisTTXa/L3a6XPRqSlhOJSXyGxE3U8hJn5wwfrzkXT31nxrfnfQKfbgjCPEg==
dependencies:
file-loader "^6.0.0"
url-loader "^4.0.0"
next-tick@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
@ -5333,7 +5366,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
schema-utils@^2.6.1, schema-utils@^2.6.6:
schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6:
version "2.7.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
@ -5961,6 +5994,15 @@ urix@^0.1.0:
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url-loader@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.0.tgz#c7d6b0d6b0fccd51ab3ffc58a78d32b8d89a7be2"
integrity sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==
dependencies:
loader-utils "^2.0.0"
mime-types "^2.1.26"
schema-utils "^2.6.5"
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"

View File

@ -58,17 +58,6 @@ export default () => {
Documentation
</Link>
</div>
<div className="px-5 py-2">
<Link
to="/faq"
alt="Opens the frequently asked questions section"
target="__blank"
className="text-base leading-6"
sx={{ color: 'gray', ':hover': { color: 'primary' } }}
>
FAQ
</Link>
</div>
<div className="px-5 py-2">
<a
href={releasesUrl}

View File

@ -166,6 +166,17 @@ export default ({ menuOpen, setMenuOpen, menuRef }) => {
>
APPS AT SCALE
</Link>
<a
sx={{
...linkStyle,
ml: [0, 4],
variant: 'text.header',
}}
href="https://stats.tuist.io"
alt="Statistics about the usage of Tuist"
>
STATS
</a>
<Link
sx={{
...linkStyle,