Теги — важный компонент любого веб-сайта, позволяющий пользователям легко перемещаться и находить контент. В Gatsby есть мощный пакет npm под названием gatsby-plugin-tags, который упрощает процесс управления тегами и их отображения на вашем веб-сайте. В этой статье мы рассмотрим различные методы, позволяющие максимально эффективно использовать gatsby-plugin-tags и обеспечить удобство использования тегов для ваших пользователей.
npm install gatsby-plugin-tags
Далее настройте плагин в файле gatsby-config.js:
Плагин автоматически создаст страницы тегов на основе тегов, присутствующих в вашем контенте.
:
import React from "react";
import { graphql } from "gatsby";
const TagsPage = ({ data }) => {
const tags = data.allMarkdownRemark.group;
return (
<div>
<h1>All Tags</h1>
<ul>
{tags.map((tag) => (
<li key={tag.fieldValue}>
<a href={`/tags/${tag.fieldValue}`}>{tag.fieldValue}</a>
</li>
))}
</ul>
</div>
);
};
export const query = graphql`
query {
allMarkdownRemark(limit: 2000) {
group(field: frontmatter___tags) {
fieldValue
}
}
}
`;
export default TagsPage;
Метод 3: отображение сообщений с тегами
Чтобы отобразить все сообщения, связанные с определенным тегом, создайте файл шаблона с именем tag.js:
import styled from "styled-components";
const Tag = styled.span`
padding: 5px 10px;
background-color: #eaeaea;
border-radius: 5px;
margin-right: 5px;
`;
const Post = ({ tags }) => {
return (
<div>
{tags.map((tag) => (
<Tag key={tag}>{tag}</Tag>
))}
</div>
);
};
Теперь у вас есть множество методов реализации и отображения тегов на вашем веб-сайте Gatsby с помощью npm-пакета gatsby-plugin-tags. От простого отображения тегов до создания страниц тегов и оформления тегов — вы можете создать для своих пользователей удобный интерфейс тегов.