parent
da43b0d087
commit
cf57d77aef
@ -1,17 +0,0 @@ |
|||||||
import Document, { Head, Html, Main, NextScript } from 'next/document'; |
|
||||||
|
|
||||||
class MyDocument extends Document { |
|
||||||
render(): JSX.Element { |
|
||||||
return ( |
|
||||||
<Html lang="en"> |
|
||||||
<Head /> |
|
||||||
<body className="bg-white dark:bg-black text-gray-900 dark:text-white"> |
|
||||||
<Main /> |
|
||||||
<NextScript /> |
|
||||||
</body> |
|
||||||
</Html> |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
export default MyDocument; |
|
@ -1,17 +0,0 @@ |
|||||||
import Document, { Head, Html, Main, NextScript } from 'next/document'; |
|
||||||
|
|
||||||
class MyDocument extends Document { |
|
||||||
render(): JSX.Element { |
|
||||||
return ( |
|
||||||
<Html lang="ru"> |
|
||||||
<Head /> |
|
||||||
<body className="bg-white dark:bg-black text-gray-900 dark:text-white"> |
|
||||||
<Main /> |
|
||||||
<NextScript /> |
|
||||||
</body> |
|
||||||
</Html> |
|
||||||
); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
export default MyDocument; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout> |
|
||||||
<h1>Home Page</h1> |
|
||||||
<p>Next.js starter for your next blog or personal site. Built with:</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Next.js</li> |
|
||||||
<li className="mt-2">Typescript</li> |
|
||||||
<li className="mt-2">MDX</li> |
|
||||||
<li className="mt-2">Tailwind CSS</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Get the source code! |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Read More</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout> |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>Next.js starter for your next blog or personal site. Built with:</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Next.js</li> |
|
||||||
<li className="mt-2">Typescript</li> |
|
||||||
<li className="mt-2">MDX</li> |
|
||||||
<li className="mt-2">Tailwind CSS</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Get the source code! |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Read More</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout> |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>Next.js starter for your next blog or personal site. Built with:</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Next.js</li> |
|
||||||
<li className="mt-2">Typescript</li> |
|
||||||
<li className="mt-2">MDX</li> |
|
||||||
<li className="mt-2">Tailwind CSS</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Get the source code! |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout> |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>Next.js starter for your next blog or personal site. Built with:</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Next.js</li> |
|
||||||
<li className="mt-2">Typescript</li> |
|
||||||
<li className="mt-2">MDX</li> |
|
||||||
<li className="mt-2">Tailwind CSS</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Записаться на соревнования! |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>Next.js starter for your next blog or personal site. Built with:</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Next.js</li> |
|
||||||
<li className="mt-2">Typescript</li> |
|
||||||
<li className="mt-2">MDX</li> |
|
||||||
<li className="mt-2">Tailwind CSS</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода творчества</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
href="https://github.com/ChangoMan/nextjs-typescript-mdx-blog" |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
|
|
||||||
<a |
|
||||||
as={`/posts/registration`} href={`/posts/[slug]`} |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link as={`/posts/registration`} href={`/posts/[slug]`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link as={`/posts/registration`} href={`/posts/[slug]`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link href={`/posts/registration`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link href={`/registration`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команд |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout>Расписание |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link href={`/registration`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команды |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
@ -1,64 +0,0 @@ |
|||||||
import { format, parseISO } from 'date-fns'; |
|
||||||
import { GetStaticProps } from 'next'; |
|
||||||
import Link from 'next/link'; |
|
||||||
import React from 'react'; |
|
||||||
import Layout from '../components/Layout'; |
|
||||||
import { getAllPosts } from '../lib/api'; |
|
||||||
import { PostType } from '../types/post'; |
|
||||||
|
|
||||||
type IndexProps = { |
|
||||||
posts: PostType[]; |
|
||||||
}; |
|
||||||
|
|
||||||
export const Index = ({ posts }: IndexProps): JSX.Element => { |
|
||||||
return ( |
|
||||||
<Layout> |
|
||||||
<h1>Робототехнический фестиваль RobotTop</h1> |
|
||||||
<p>РоботТОП – это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p> |
|
||||||
<ul className="list-disc pl-4 my-6"> |
|
||||||
<li>Любая робототехническая платформа</li> |
|
||||||
<li className="mt-2">Команда от 2 до 3 человек</li> |
|
||||||
<li className="mt-2">11 возрастных групп</li> |
|
||||||
<li className="mt-2">Свобода в творчестве</li> |
|
||||||
</ul> |
|
||||||
<Link href={`/registration`}> |
|
||||||
<a |
|
||||||
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white" |
|
||||||
> |
|
||||||
Регистрация команды |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
|
|
||||||
{posts.map((post) => ( |
|
||||||
<article key={post.slug} className="mt-12"> |
|
||||||
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400"> |
|
||||||
{format(parseISO(post.date), 'MMMM dd, yyyy')} |
|
||||||
</p> |
|
||||||
<h1 className="mb-2 text-xl"> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400"> |
|
||||||
{post.title} |
|
||||||
</a> |
|
||||||
</Link> |
|
||||||
</h1> |
|
||||||
<p className="mb-3">{post.description}</p> |
|
||||||
<p> |
|
||||||
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}> |
|
||||||
<a>Подробнее...</a> |
|
||||||
</Link> |
|
||||||
</p> |
|
||||||
</article> |
|
||||||
))} |
|
||||||
</Layout> |
|
||||||
); |
|
||||||
}; |
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps = async () => { |
|
||||||
const posts = getAllPosts(['date', 'description', 'slug', 'title']); |
|
||||||
|
|
||||||
return { |
|
||||||
props: { posts }, |
|
||||||
}; |
|
||||||
}; |
|
||||||
|
|
||||||
export default Index; |
|
Loading…
Reference in new issue