YaParse = (str) => {
const nums = str.split(/[а-яй]+/) // [ "23", "1", "2" ]
const parts = str.match(/([а-яй]+)/g) // [ "к", "с" ]
if (parts === null) {
return nums[0];
} else {
parts.unshift("дом");
return nums.reduce((acc, c, i) => (acc[parts[i]] = c, acc), {});
}
}
since: lastRun('html')
, но без since он все файлы берёт в поток. Соответственно чем больше будет njk файлов, тем медленней будет таск работать.gulp-filter
:function html() {
return src('src/**/*.{html,njk}', { base: 'src', since: lastRun('html') })
// Nunjucks
.pipe(nunjucksInheritance({ base: 'src' })) // Ищем изменения в зависимостях
.pipe(nunjucks({ path: 'src' })) // Компилируем в HTML
// Убираем из потока файлы из папки blocks
.pipe(filter(['**', '!src/blocks/**/*.*']))
// Добавляет индентацию для заинклюженных блоков.
.pipe(prettyHtml({ indent_size: 2 }))
// HTML-валидатор.
.pipe(htmlhint('.htmlhintrc'))
.pipe(htmlhint.reporter())
// Манифест.
// Если флаг --dist без --norev.
.pipe(gulpif(dist, gulpif(distRev, revReplace({
manifest: src('manifest/manifest.json', { allowEmpty: true }),
}))))
// Выгрузка.
.pipe(dest(buildHtml))
// browserSync.
.pipe(gulpif(!dist, browserSync.stream())); // Если нет флага --dist.
}
gulp-nunjucks-inheritance
, которые смотрит на зависимости в njk файлах. То есть, я изменяю block1.njk, который заинклюженный в index.njk, и в потом попадает не только block1.njk, но и index.njk, соответственно всё нормально работает. Проблема в том, что этот пакет не видит зависимости ниже первого уровня, либо его как-то нужно настроить...export const media = {
mqList: {
mobile: window.matchMedia('(min-width: 0px) and (max-width: 768px)'),
tablet: window.matchMedia('(min-width: 768px) and (max-width: 992px)'),
desktop: window.matchMedia('(min-width: 992px)'),
},
mobile: function(func) {
const mqIf = () => {
if (this.mqList.mobile.matches) {
func();
}
}
mqIf();
this.mqList.mobile.addEventListener('change', mqIf);
},
tablet: function(func) {
const mqIf = () => {
if (this.mqList.tablet.matches) {
func();
}
}
mqIf();
this.mqList.tablet.addEventListener('change', mqIf);
},
desktop: function(func) {
const mqIf = () => {
if (this.mqList.tablet.matches) {
func();
}
}
mqIf();
this.mqList.tablet.addEventListener('change', mqIf);
}
}
import { media } from '/path';
media.mobile(() => document.querySelector('body').style.background = 'red');
media.tablet(() => document.querySelector('body').style.background = 'green');
var main = new Swiper('.slider__main', {
slidesPerView: 1,
spaceBetween: 0,
thumbs: {
autoScrollOffset: 1,
swiper: {
el: '.slider__thumbs',
slidesPerView: 5,
spaceBetween: 19,
direction: "vertical"
}
},
});
В моём ответе нет оффтопа. Я написал, что в вебе наиболее подходит для разработки Линукс или Мак.
Замечу также, что мой ответ был реакцией на то, что тут пара людей написали чушь, что для веб-разработки надо пользоваться именно виндой.
Уже.
Мне кажется что-то придумать с inline-block было бы ошибкой, а на флексах как раз таки очевидно что к чему.
Чем очевидней решение - тем лучше.