Nano Hash - криптовалюты, майнинг, программирование

Семантический интерфейс в .gitignore

Недавно я начал экспериментировать с Semantic UI. Я использую его в проекте, который храню в репозитории git.

Я добавил файлы Semantic в папку semantic в корне проекта со всеми настройками по умолчанию. Я могу или не могу изменить эти настройки позже.

Мой вопрос: как правильно добавить папку в git? Я не хочу добавлять файлы, которые потом можно будет просто пересобрать с помощью gulp, если это возможно. Какие файлы следует добавить, а какие игнорировать?

12.09.2015


Ответы:


1

В итоге я частично последовал ответу @fstanis на Как я могу отделить сгенерированные артефакты от основной сборки с помощью семантического пользовательского интерфейса?, связанные @poke .

Я сохранил:

  • semantic.json
  • семантика/источник/
  • semantic/gulpfile.js (поскольку я не использую gulp в другом месте проекта)

Я проигнорировал:

  • семантика/расстояние/
  • semantic/tasks/, так как он точно такой же, как node_modules/semantic-ui/tasks и поэтому может быть скопирован

Я также дополнил semantic/gulpfile.js следующим образом, чтобы проверить наличие semantic/tasks и скопировать его туда, если нет.

/* Very top of semantic/gulpfile.js */
var fs = require('fs-extra'); // Used for recursive copying
var path = require('path');
try {
    var stat = fs.statSync(path.join(__dirname, './tasks'));
    console.log('\'tasks\' folder already exists. Continuing.')
} catch (e) {
    console.log('Copying \'tasks\' folder from \'node_modules/semantic-ui/tasks\'');
    fs.copySync(path.join(__dirname, '../node_modules/semantic-ui/tasks'), path.join(__dirname, './tasks'));
    console.log('Copying done! Continuing.');
}

Кажется, это минимум, необходимый для сборной установки Semantic UI.

12.09.2015
  • @ahoff Следуйте коду в своем ответе, и что мне делать после этого? позвонить gulp build или позвонить yarn install или npm install? 08.08.2018
  • @NattaWang Прошло много времени с тех пор, как я опубликовал это, и с тех пор я не использовал Semantic UI или Node.js. У меня есть подозрение на gulp build, но больше я ничего не могу сказать. 21.08.2018
  • @NattaWang, вы можете перейти в каталог семантики и gulp build или, альтернативно, добавить скрипт в свой package.json, который создаст для вас семантику ("build:styles": "npx gulp --gulpfile [path to semantic's folder]\gulpfile.js build) 01.11.2018

  • 2

    Что касается вашего собственного ответа, у меня есть аналогичный, но немного другой подход, который может потребовать дополнительного небольшого хакерского шага, но делает репо намного чище.

    Мой .gitignore выглядит так:

    node_modules
    semantic/dist/*
    semantic/gulpfile.js
    semantic/src/definitions
    semantic/src/semantic.less
    semantic/src/theme.less
    semantic/src/themes
    semantic/tasks
    !semantic/dist/semantic.min.css
    !semantic/dist/semantic.min.js
    

    Итак, главное, что отличается от вашего решения, это то, что я дополнительно проигнорировал файлы внутри каталога src/, такие как определения и все эти темы.

    Но: вы должны выполнить настройку семантики после клонирования репозитория. И: это может перезаписать ваш semantic.json, поэтому вам нужно будет отменить это изменение — хакерский шаг, о котором я упоминал ранее.

    Эти два файла dist включены для случаев, когда Semantic просто используется, без необходимости что-либо менять.

    27.01.2016
  • До сих пор мне не приходило в голову перезапись semantic.json с помощью Semantic UI v4.12.2. 03.07.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..