Сайт документации для языка программирования DART, построенный с множеством и размещен на Firebase.
Мы приветствуем вклад всех видов! Чтобы настроить сайт локально, следуйте указаниям ниже построения сайта. Чтобы узнать больше об участии в этом хранилище, ознакомьтесь с рекомендациями.
Начните с поиска проблемы, которая вызывает у вас интерес или создайте проблему с предлагаемыми изменениями. Подумайте о том, чтобы добавить комментарий, чтобы все знали, что вы над ним работаете, и не стесняйтесь задавать любые вопросы по одной и той же проблеме.
Чтобы обновить этот сайт, разделите репо, внесите свои изменения и создайте запрос на вытяжение. Для небольших, содержащихся изменений (таких как исправления стиля и опечаток) вам, вероятно, не нужно строить этот сайт. Часто вы можете вносить изменения, используя пользовательский интерфейс GitHub. Мы можем автоматически поставить изменения в вашем запросе на привлечение.
Важный
Если вы клонируете этот репозиторий локально, следуйте приведенной ниже инструкции по клонированию с его подмодулем.
Если ваше изменение включает в себя образцы кода, добавляет/удаляет страницы или влияет на навигацию, рассмотрите возможность создания и проверки вашей работы перед отправкой.
Если вы хотите или вам нужно построить сайт, выполните следующие шаги.
Для изменений за пределами простого текста и настройки CSS мы рекомендуем запустить сайт локально, чтобы включить цикл редактирования.
Установите следующие инструменты для создания и разработки сайта:
Последний стабильный выпуск DART требуется для создания сайта и запуска его инструмента. Это может быть дротик, включенный в Flutter SDK. Если у вас нет DART или вам нужно обновить, следуйте инструкциям в Get The DART SDK.
Если у вас уже установлен DART, убедитесь, что он находится на вашем пути, и уже последняя стабильная версия:
dart --version
Для создания сайта требуется последняя стабильная выпуск LTS Node.js. Если у вас нет node.js или вам нужно обновить, загрузите соответствующую версию вашего компьютера и следуйте инструкциям из архива загрузки Node.js. Если вы предпочитаете, вы можете использовать диспетчер версий, такой как NVM, и запустить nvm install из корневого каталога репозитория.
Если у вас уже установлен узлы, убедитесь, что он доступен на вашем пути и уже последнюю стабильную версию (в настоящее время 20.14 или более поздней версии) :
node --version
Если ваша версия устарела, следуйте инструкциям по обновлению того, как вы его установили.
Примечание
Этот репозиторий имеет подмодули GIT, что влияет на то, как вы его клонируете. Документация GitHub имеет общую помощь в разбрызгивании и клонировании репо.
Если вы не являетесь членом организации DART, мы рекомендуем вам создать вилку этого репо в вашей собственной учетной записи, а затем отправлять PR из этой вилки.
После того, как у вас есть вилка (или вы являетесь участником Dart Org), выберите один из следующих методов клонирования подмопульки:
Клонировать репо и его подмодуль одновременно с использованием опции --recurse-submodules :
git clone --recurse-submodules https://github.com/dart-lang/site-www.git
Если вы уже клонировали репо без его подмодуля, то запустите эту команду из корня хранилища:
git submodule update --init --recursive
Примечание
В любое время во время разработки вы можете использовать команду git submodule для обновления подмодулей:
git pull && git submodule update --init --recursive
Прежде чем продолжить настройку инфраструктуры сайта, убедитесь, что правильные версии DART и Node.js настроены и доступны, следуя инструкциям в получении предварительных условий.
Необязательно: после клонирования репо и его подмодулей создайте ветвь для ваших изменений:
git checkout -b <BRANCH_NAME>
Из корневого каталога репозитория принесите зависимости DART сайта.
dart pub get
Установите pnpm , используя ваш предпочтительный метод установки. pnpm является альтернативным, эффективным диспетчера пакетов для пакетов NPM. Если у вас уже есть pnpm , убедитесь, что у вас есть последняя стабильная версия. Мы рекомендуем использовать corepack для установки и управления версиями pnpm , так как он связан с большинством установок узла.
Если вы раньше не использовали corepack , вам нужно сначала включить его с помощью corepack enable . Затем, чтобы установить правильную версию pnpm из корневого каталога репозитория, запустите corepack install :
corepack enable
corepack install
После установки и настройки pnpm принесите зависимости NPM сайта, используя pnpm install . Мы настоятельно рекомендуем вам использовать pnpm , но вы также можете использовать npm .
pnpm install
Из корневого каталога запустите инструмент dash_site , чтобы проверить вашу настройку и узнать о доступных командах.
./dash_site --help
Из корневого каталога обслуживайте сайт на местном уровне.
./dash_site serve
Эта команда генерирует и обслуживает сайт на локальном порту, который напечатан на ваш терминал.
Посмотрите свои изменения в браузере, перейдя по http: // localhost: 4000.
Обратите внимание, что порт может быть другим, если 4000 будет взято.
Если вы хотите проверить необработанную, сгенерированную HTML -вывод и структуру, просмотрите каталог _site в исследователе файла или IDE.
Внесите свои изменения в местное репо.
Сайт должен автоматически восстанавливать большинство изменений, но если что -то не обновляется, выйдите из процесса и повторно затронут команду. Улучшения в этой функции запланированы. Пожалуйста, откройте новую проблему, чтобы отслеживать проблему, если это произойдет.
Сделайте свои изменения в филиале и отправьте свой PR.
Если ваши изменения велики, или вы хотите проверить его, рассмотрите возможность подтверждения ваших изменений.
Кончик
Чтобы найти дополнительные команды, которые вы можете запустить, запустите ./dash_site --help из корневого каталога репозитория.
Если вы внесли изменения в код в каталогах /examples или /tool , совершите свою работу, затем запустите следующую команду, чтобы убедиться, что она актуальна и соответствует стандартам сайта.
./dash_site check-all
Если этот скрипт сообщает о каких -либо ошибках или предупреждениях, обратитесь к этим вопросам и повторно запустите команду. Если у вас есть какие -либо проблемы, оставьте комментарий к вашему вопросу или запросу, и мы постараемся помочь вам. Вы также можете поговорить с нами на канале #hackers-devrel на Discord Antormors Flutter!
Сборка, которая не удается с ошибкой Error: Some code excerpts needed to be updated! означает, что один или несколько выдержек кода в файлах маркировки сайта не идентичны регионам кода, объявленными в соответствующих файлах .dart .
Чтобы разрешить эту ошибку, из корня каталога site-www , запустите ./dash_site refresh-excerpts .
Чтобы узнать больше о создании, редактировании и использовании выдержек кода, ознакомьтесь с документацией пакета обновления отрывков.
Отправленные запросы на вытягивание могут быть автоматически организованы активистом сайта. Если вы хотите поставить сайт самостоятельно, вы можете построить полную версию и загрузить его в Firebase.
Если у вас еще нет проекта Firebase,
Перейдите к консоли Firebase и создайте свой собственный проект Firebase (например, dart-dev-staging ).
Возвращайтесь в свой местный терминал и убедитесь, что вы вошли в систему.
firebase login
Убедитесь, что ваш проект существует и активируйте этот проект:
firebase projects:list
firebase use <your-project>
Из корневого каталога хранилища постройте сайт:
./dash_site build
Это создает сайт и скопирует его в ваш локальный каталог _site . Если этот каталог ранее существовал, он будет заменен.
Развернуть на сайте хостинга Activated Firebase Project по умолчанию:
firebase deploy --only hosting
Перейдите к своему PR на GitHub и включите ссылку на поэтапную версию. Рассмотрите возможность добавления ссылки на коммит, который вы постановили, чтобы рецензенты знали, были ли внесены дальнейшие изменения.