itube-specs 0.0.1005 → 0.0.1008
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SITE_UPDATES.md +34 -13
- package/components/layout/header.vue +24 -1
- package/components/layout/logo.vue +5 -4
- package/package.json +2 -1
- package/scripts/link-layer.sh +15 -0
package/SITE_UPDATES.md
CHANGED
|
@@ -10,19 +10,40 @@
|
|
|
10
10
|
коммиты до бампа); `npm run patch` сам проставит ей номер версии. Формат пункта: что сделать и где,
|
|
11
11
|
кому именно (всем / сайтам с N), что будет, если не сделать.
|
|
12
12
|
|
|
13
|
-
## 0.0.
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
## 0.0.1008 — 2026-10-07
|
|
14
|
+
|
|
15
|
+
- **Сайтам с несколькими нишами (в `SiteConfig.niches` больше одной), где нет нишевых переводов** — проверить и
|
|
16
|
+
доделать всё по `NEW_SITE_CHECKLIST.md` §3a «Несколько ниш», чего у сайта ещё нет:
|
|
17
|
+
- `config/niches.config.ts` с `NICHE_SLUGS`, `NICHE_CONTENT_ROOTS` и `NicheConfig` (`nicheSlugs`,
|
|
18
|
+
`nicheFreeRoots`, `nicheAdjectives`, `nicheTextKeys`), разложить `...NicheConfig` в `app.config.ts`;
|
|
19
|
+
- `addNicheAliases` в хуке `pages:extend` в `nuxt.config.ts`;
|
|
20
|
+
- `postTranslation: nichePostTranslation` в `i18n/i18n.config.ts`
|
|
21
|
+
(`import { nichePostTranslation } from 'itube-specs/utils/niche-post-translation'`);
|
|
22
|
+
- `v-bind="useIslandNicheProps()"` (через константу в `<script setup>`) на своих `<SectionCategoriesIsland>`.
|
|
23
|
+
|
|
24
|
+
`nicheAdjectives` заполнить для **всех** локалей сайта: без записи вместо слова в `%niche%` подставится код
|
|
25
|
+
ниши (`gay`). Тексты под ниши — ключи `<key>_<niche>` для ключей из `nicheTextKeys` и
|
|
26
|
+
`meta.<page>.<sort>.<key>_<niche>` для меты; это контент, их не выдумывать — вынести в TODO сайта. Не сделать —
|
|
27
|
+
`/gays`, `/shemales` отдают SEO-тексты дефолтной ниши, слово ниши в переводах не подставляется. Сайтам с
|
|
28
|
+
одной нишей — ничего.
|
|
29
|
+
|
|
30
|
+
- **Сайтам, которым нужен свой размер лого в шапке (videosection):** в `config/site.config.ts` добавить
|
|
31
|
+
`logoSize: { width, height }` — размер в px на всех брейкпоинтах. Не задан — остаётся прежний адаптив
|
|
32
|
+
(120×20, с `sm` 144×24); футер свой размер держит сам. Ничего не делать, если текущий размер устраивает.
|
|
33
|
+
|
|
34
|
+
## 0.0.1007 — 2026-10-06
|
|
35
|
+
|
|
36
|
+
- **Сайтам, где `npm run dev` подключает локальный слой (`LAYER_PATH` в `.env`):** заменить скрипт `predev` в
|
|
37
|
+
`package.json` на
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
"predev": "env-cmd -f .env sh node_modules/itube-specs/scripts/link-layer.sh",
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Скрипт из слоя делает то же, что старый `predev` (симлинк на `LAYER_PATH` + `nuxi prepare`), и перед этим
|
|
44
|
+
подтягивает локальный слой до `origin/develop` — только fast-forward: свои коммиты, ветка не develop или нет
|
|
45
|
+
сети — слой не трогается, dev всё равно стартует. Без `LAYER_PATH` — ничего не делает. Не заменить — dev
|
|
46
|
+
работает с локальным слоем без чужих свежих правок, пока не подтянешь руками.
|
|
26
47
|
|
|
27
48
|
## 0.0.1001 — 2026-10-06
|
|
28
49
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<header
|
|
3
|
-
:class="{'--burger-open': burgerShow}"
|
|
3
|
+
:class="{'--burger-open': burgerShow, '--no-notifications': !featureFlags.FeatureFollowEnabled}"
|
|
4
4
|
class="layout-header"
|
|
5
5
|
>
|
|
6
6
|
|
|
@@ -137,6 +137,29 @@ function closeLanguage() {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
+
.layout-header.--no-notifications {
|
|
141
|
+
@include from-br($brkpnt-burger) {
|
|
142
|
+
grid-template-columns: auto minmax(0, 1fr) auto auto auto;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@include to-br($brkpnt-burger) {
|
|
146
|
+
grid-template-columns: auto 1fr auto;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.layout-header.--no-notifications .layout-header__language {
|
|
151
|
+
@include from-br($brkpnt-burger) {
|
|
152
|
+
grid-column: 4;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.layout-header.--no-notifications .layout-header__user,
|
|
157
|
+
.layout-header.--no-notifications .layout-header__sign-up {
|
|
158
|
+
@include from-br($brkpnt-burger) {
|
|
159
|
+
grid-column: 5;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
140
163
|
.layout-header__logo {
|
|
141
164
|
@include from-br($brkpnt-burger) {
|
|
142
165
|
grid-column: 1;
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
>
|
|
13
13
|
<img
|
|
14
14
|
:alt="brandName"
|
|
15
|
+
:class="{'--adaptive': !logoSize}"
|
|
16
|
+
:width="logoSize?.width ?? 120"
|
|
17
|
+
:height="logoSize?.height ?? 20"
|
|
15
18
|
class="layout-logo__image"
|
|
16
19
|
src="/img/logo.svg"
|
|
17
|
-
width="120"
|
|
18
|
-
height="20"
|
|
19
20
|
>
|
|
20
21
|
</NuxtLink>
|
|
21
22
|
</template>
|
|
@@ -29,7 +30,7 @@ const emit = defineEmits<{
|
|
|
29
30
|
}>();
|
|
30
31
|
|
|
31
32
|
const { generateLink } = useGenerateLink();
|
|
32
|
-
const { brandName } = useAppConfig();
|
|
33
|
+
const { brandName, logoSize } = useAppConfig();
|
|
33
34
|
|
|
34
35
|
function onLogoClick() {
|
|
35
36
|
emit('click');
|
|
@@ -45,7 +46,7 @@ function onLogoClick() {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
.layout-logo__image {
|
|
49
|
+
.layout-logo__image.--adaptive {
|
|
49
50
|
@include from-br(sm) {
|
|
50
51
|
width: 144px;
|
|
51
52
|
height: 24px;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itube-specs",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.1008",
|
|
5
5
|
"main": "./nuxt.config.ts",
|
|
6
6
|
"types": "./types/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
"scripts/i18n-check.mjs",
|
|
83
83
|
"scripts/i18n-sheet.mjs",
|
|
84
84
|
"scripts/site-updates.mjs",
|
|
85
|
+
"scripts/link-layer.sh",
|
|
85
86
|
"SITE_UPDATES.md",
|
|
86
87
|
"nuxt.config.ts",
|
|
87
88
|
"DOCS/"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
# predev сайта: подтянуть локальный слой (LAYER_PATH из .env сайта) до origin/develop и подключить его
|
|
3
|
+
# симлинком вместо пакета из npm — правки слоя видны в dev сразу. Только fast-forward: свои коммиты, ветка не
|
|
4
|
+
# develop, нет сети — слой не трогается, dev всё равно стартует. Нет LAYER_PATH (CI, чужая машина) — no-op.
|
|
5
|
+
|
|
6
|
+
[ -n "$LAYER_PATH" ] && [ -d "$LAYER_PATH" ] || exit 0
|
|
7
|
+
|
|
8
|
+
branch=$(git -C "$LAYER_PATH" rev-parse --abbrev-ref HEAD 2>/dev/null)
|
|
9
|
+
if [ "$branch" != "develop" ]; then
|
|
10
|
+
echo "link-layer: слой на ветке «$branch», не develop — не подтягиваю"
|
|
11
|
+
elif ! git -C "$LAYER_PATH" pull --ff-only -q origin develop; then
|
|
12
|
+
echo "link-layer: слой не подтянут (свои коммиты, мешающие правки или нет сети) — работаю с локальным как есть"
|
|
13
|
+
fi
|
|
14
|
+
|
|
15
|
+
rm -rf node_modules/itube-specs && ln -sfn "$LAYER_PATH" node_modules/itube-specs && (cd "$LAYER_PATH" && npx nuxi prepare) || true
|