🇷🇺 Русский (Russian)
🇷🇺 Русский (Russian)
Внешний вид
🇷🇺 Русский (Russian)
🇷🇺 Русский (Russian)
Внешний вид
This page is written for:
1.21
This page is written for:
1.21
Этот сайт использует VitePress для генерации статического HTML-кода из различных Markdown-файлов. Вы можете ознакомиться с Markdown-расширениями для VitePress здесь.
Есть три пути для внесения своего вклада для сайта:
Все материалы должны соответствовать нашим рекомендациям по стилю.
Если вы хотите перевести документацию на свой язык, вы можете сделать это на странице Fabric на Crowdin.
Основной способ внести вклад в документацию Fabric — это внесение контента.
Все материалы, добавляемые в контент, проходят следующие этапы, каждому из которых соответствует метка:
Всё содержимое должно соответствовать нашим рекомендациям по стилю.
Этот сайт с открытым исходным кодом, он разрабатывается в репозитории GitHub, что означает, что мы полагаемся на поток GitHub:
Вы можете прочитать больше о потоке GitHub здесь.
Вы можете либо внести изменения из веб-интерфейса на GitHub, либо разработать и предварительно просмотреть сайт локально.
Если вы хотите разрабатывать локально, вам нужно будет установить Git.
После этого клонируйте свой форк репозитория с помощью:
# make sure to replace "your-username" with your actual username
git clone https://github.com/your-username/fabric-docs.git
Если вы хотите предварительно локально просматривать свои изменения, вам нужно будет установить Node.js версии 18 или выше.
После этого убедитесь, что все зависимости установлены с помощью:
npm install
Это позволит вам предварительно просматривать ваши изменения локально по адресу localhost:5173
и автоматически перезагрузит страницу при внесении изменений.
npm run dev
Теперь вы можете открыть сайт и просматривать его из браузера, посетив http://localhost:5173
.
Это преобразует все файлы Markdown в статические HTML-файлы и разместит их в папке .vitepress/dist
:
npm run build
Это запустит локальный сервер на порту 3000, отображающий содержимое, найденное в .vitepress/dist
:
npm run preview
Если вы довольны своими изменениями, вы можете push
ваши изменения:
git add .
git commit -m "Description of your changes"
git push
Затем, зайдите по ссылке в выводе команды git push
, чтобы открыть PR.
Если команда по документированию считает, что вы могли бы расширить свой запрос, один из членов команды добавит метку stage:expansion к вашему запросу на извлечение вместе с комментарием, объясняющим, что, по их мнению, вы могли бы расширить. Если вы согласны с этим предложением, вы можете дополнить свой реквест.
Если по документированию считается, что вы могли бы расширить свой запрос, один из членов команды, добавит метку <0>stage:expansion</0> к вашему запросу вместе с комментарием, объясняющим, что, по их мнению, нужно изменить. Затем группа по документированию добавит метку требуется помощь к вашему PR.
Это самый важный этап, поскольку он гарантирует точность контента и его соответствие руководству по стилю Fabric Documentation.
На этом этапе необходимо ответить на следующие вопросы:
На этом этапе происходит следующее:
markdownlint
Фреймворк относится к внутренней структуре веб-сайта. Любые запросы, которые изменяют фреймворк веб-сайта, будут помечены меткой framework.
К вашему сведению, вы должны делать pull requests, касающиеся фреймворка, только после консультации с командой документации на Discord-сервере Fabric или через issue.
INFO
Изменение файлов боковой панели и конфигурации панели навигации не считается pull request, касающимся фреймворка.
Если вы насчёт чего-то не уверены, можете задать свой вопрос в Discord-сервере Fabric или через GitHub Discussions.
Вся оригинальная документация написана на английском языке в соответствии с американскими правилами грамматики.
Все страницы должны иметь заголовок и описание.
Не забывайте также добавлять ваше имя пользователя GitHub в поле authors
в начале Markdown-файла! Таким образом, мы сможем отдать вам должное.
---
title: Title of the Page
description: This is the description of the page.
authors:
- your-username
---
# Title of the Page {#title-of-the-page}
...
Каждый заголовок должен иметь якорь, который используется для создания ссылки на этот заголовок:
# This Is a Heading {#this-is-a-heading}
Якорь должен использовать строчные буквы, цифры и дефисы.
/reference
мода Если вы создаёте или изменяете страницы, содержащие код, разместите этот код в каком-нибудь месте мода с примерами (он находится в папке /reference
репозитория). Фрагмент кода будет выглядеть следующим образом:
Это выведет все линии с 15 по 21 из файла FabricDocsReference.java
из мода с примерами:
<<< @/reference/latest/src/main/java/com/example/docs/FabricDocsReference.java{15-21}
package com.example.docs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.minecraft.particle.SimpleParticleType;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
//#entrypoint
public class FabricDocsReference implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final String MOD_ID = "fabric-docs-reference";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
//#entrypoint
//#particle_register_main
// This DefaultParticleType gets called when you want to use your particle in code.
public static final SimpleParticleType SPARKLE_PARTICLE = FabricParticleTypes.simple();
//#particle_register_main
//#entrypoint
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
//#entrypoint
//#particle_register_main
// Register our custom particle type in the mod initializer.
Registry.register(Registries.PARTICLE_TYPE, Identifier.of(MOD_ID, "sparkle_particle"), SPARKLE_PARTICLE);
//#particle_register_main
//#entrypoint
}
}
Затем используйте функцию вставки кода от VitePress, чтобы встроить код, или, если вам требуется более широкий контроль, вы можете использовать функцию transclude из markdown-it-vuepress-code-snippet-enhanced
.
Например, это встроит секции файла выше, которые помечены тегом #entrypoint
:
@[code transcludeWith=#entrypoint](@/reference/latest/src/main/java/com/example/docs/FabricDocsReference.java)
public class FabricDocsReference implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final String MOD_ID = "fabric-docs-reference";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
}
}
Если вы создаете новую категорию, вам следует создать новую боковую панель в папке .vitepress/sidebars
и добавить её в файл config.mts
.
Если вам нужна помощь с этим, спросите в дискорде Fabric в канале #docs
.
При создании новой страницы вы должны добавить ее на соответствующую боковую панель в папке .vitepress/sidebars
.
Опять же, если вам нужна помощь, спросите в дискорде Fabric в канале #docs
.
/assets
для хранения медиаконтента Любые изображения должны находиться в соответствующем месте в папке /assets
.
Это требуется для правильной работы системы с разными версиями, которая заранее обрабатывает ссылки для добавления версии. Если вы используете обычные ссылки, номер версии не будет добавлен к ссылке.
Вы также не должны добавлять расширение файла к ссылке.
Например, для страницы в папке /players
, ссылка на страницу installing-fabric
по пути /players/installing-fabric.md
, вы должны сделать следующее:
This is a relative link!
[Page](../players/index)
This is an absolute link.
[Page](/players/index)
This relative link has the file extension.
[Page](../players/index.md)