mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
sync
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
## Материалы
|
## Материалы
|
||||||
|
|
||||||
- [Первый уровень](./level-1/README.md) - базовые слои, модули и зависимости.
|
- [Первый уровень](./level-1/README.md) - базовые слои, модули и зависимости.
|
||||||
- [Домены](./domains/README.md) - исследование доменов и строгих границ выполнения.
|
- [Домены](./level-3/domains/README.md) - исследование доменов и строгих границ выполнения.
|
||||||
- [Правила](./rules/README.md) - канонические наборы, формат и правила формулировки.
|
- [Правила](./rules/README.md) - канонические наборы, формат и правила формулировки.
|
||||||
|
|
||||||
## Соглашение
|
## Соглашение
|
||||||
|
|||||||
@@ -129,11 +129,6 @@ for (const ruleId of ruleIds) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const levelOneHtml = htmlByPage.get('level-1/index.html')
|
|
||||||
if (!levelOneHtml.includes('class="doc-set-header"')) {
|
|
||||||
throw new Error('Level 1 pages do not render the document header')
|
|
||||||
}
|
|
||||||
|
|
||||||
const notFoundHtml = htmlByPage.get('404.html')
|
const notFoundHtml = htmlByPage.get('404.html')
|
||||||
if (!notFoundHtml.includes('Страница не найдена')) {
|
if (!notFoundHtml.includes('Страница не найдена')) {
|
||||||
throw new Error('404 page is not localized')
|
throw new Error('404 page is not localized')
|
||||||
|
|||||||
@@ -45,23 +45,6 @@ const levelOneSidebar = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const rulesSidebar = [
|
|
||||||
{
|
|
||||||
text: 'Правила SLM',
|
|
||||||
items: [
|
|
||||||
{ text: 'Формат и классификация', link: '/rules/' },
|
|
||||||
{ text: 'Правила Level 1', link: '/rules/level-1' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'Документация',
|
|
||||||
items: [
|
|
||||||
{ text: 'Обзор Level 1', link: '/level-1/' },
|
|
||||||
{ text: 'Проверка', link: '/level-1/validation' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
srcDir: '../DRAFT',
|
srcDir: '../DRAFT',
|
||||||
srcExclude: ['README.md', 'domains/**'],
|
srcExclude: ['README.md', 'domains/**'],
|
||||||
|
|||||||
@@ -1,29 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
import { computed } from 'vue'
|
|
||||||
import { useData, withBase } from 'vitepress'
|
|
||||||
|
|
||||||
const { page } = useData()
|
|
||||||
|
|
||||||
const documentSet = computed(() => {
|
|
||||||
if (page.value.relativePath.startsWith('level-1/')) {
|
|
||||||
return {
|
|
||||||
eyebrow: 'Архитектурная документация',
|
|
||||||
href: '/level-1/',
|
|
||||||
meta: 'LEVEL 1 · DRAFT',
|
|
||||||
title: 'SLM Level 1',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (page.value.relativePath.startsWith('rules/')) {
|
|
||||||
return {
|
|
||||||
eyebrow: 'Канонический реестр',
|
|
||||||
href: '/rules/level-1',
|
|
||||||
meta: '14 RULES · DRAFT',
|
|
||||||
title: 'Правила SLM',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return null
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<script setup lang="ts">
|
|
||||||
import DefaultTheme from 'vitepress/theme'
|
|
||||||
import DocSetHeader from './DocSetHeader.vue'
|
|
||||||
|
|
||||||
const { Layout } = DefaultTheme
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<Layout>
|
|
||||||
|
|
||||||
</Layout>
|
|
||||||
</template>
|
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
import DefaultTheme from 'vitepress/theme'
|
import DefaultTheme from 'vitepress/theme'
|
||||||
import Layout from './Layout.vue'
|
|
||||||
import './style.css'
|
import './style.css'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
extends: DefaultTheme,
|
extends: DefaultTheme,
|
||||||
Layout,
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
:root {
|
:root {
|
||||||
--vp-layout-top-height: 34px;
|
--vp-layout-top-height: 0px;
|
||||||
--vp-c-brand-1: #b45309;
|
--vp-c-brand-1: #b45309;
|
||||||
--vp-c-brand-2: #d97706;
|
--vp-c-brand-2: #d97706;
|
||||||
--vp-c-brand-3: #f59e0b;
|
--vp-c-brand-3: #f59e0b;
|
||||||
@@ -31,96 +31,12 @@ html {
|
|||||||
scroll-padding-top: calc(var(--vp-nav-height) + var(--vp-layout-top-height) + 24px);
|
scroll-padding-top: calc(var(--vp-nav-height) + var(--vp-layout-top-height) + 24px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.draft-banner {
|
|
||||||
position: fixed;
|
|
||||||
inset: 0 0 auto;
|
|
||||||
z-index: 50;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
gap: 9px;
|
|
||||||
height: var(--vp-layout-top-height);
|
|
||||||
padding: 0 16px;
|
|
||||||
overflow: hidden;
|
|
||||||
border-bottom: 1px solid rgba(120, 53, 15, 0.2);
|
|
||||||
background: #fef3c7;
|
|
||||||
color: #78350f;
|
|
||||||
font-family: var(--vp-font-family-mono);
|
|
||||||
font-size: 11px;
|
|
||||||
font-weight: 650;
|
|
||||||
letter-spacing: 0.055em;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark .draft-banner {
|
|
||||||
border-bottom-color: rgba(251, 191, 36, 0.22);
|
|
||||||
background: #2b2114;
|
|
||||||
color: #fde68a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.draft-banner__mark {
|
|
||||||
width: 7px;
|
|
||||||
height: 7px;
|
|
||||||
flex: 0 0 auto;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: #d97706;
|
|
||||||
box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.13);
|
|
||||||
}
|
|
||||||
|
|
||||||
.VPNavBarTitle .logo {
|
.VPNavBarTitle .logo {
|
||||||
width: 25px;
|
width: 25px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.doc-set-header {
|
.VPContent.is-home {
|
||||||
display: grid;
|
|
||||||
gap: 7px;
|
|
||||||
margin: 0 0 22px;
|
|
||||||
padding: 0 0 18px;
|
|
||||||
border-bottom: 1px solid var(--vp-c-divider);
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-set-header__back {
|
|
||||||
width: fit-content;
|
|
||||||
color: var(--vp-c-text-3);
|
|
||||||
font-size: 11px;
|
|
||||||
font-weight: 650;
|
|
||||||
letter-spacing: 0.08em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-set-header__back::before {
|
|
||||||
content: '←';
|
|
||||||
margin-right: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-set-header__title {
|
|
||||||
color: var(--vp-c-text-1);
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 1.35;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-set-header__meta {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.doc-set-header__meta span {
|
|
||||||
padding: 3px 6px;
|
|
||||||
border-radius: 4px;
|
|
||||||
background: var(--vp-c-brand-soft);
|
|
||||||
color: var(--vp-c-brand-1);
|
|
||||||
font-family: var(--vp-font-family-mono);
|
|
||||||
font-size: 9px;
|
|
||||||
font-weight: 700;
|
|
||||||
letter-spacing: 0.045em;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.VPHome {
|
|
||||||
background-image:
|
background-image:
|
||||||
linear-gradient(rgba(120, 113, 108, 0.07) 1px, transparent 1px),
|
linear-gradient(rgba(120, 113, 108, 0.07) 1px, transparent 1px),
|
||||||
linear-gradient(90deg, rgba(120, 113, 108, 0.07) 1px, transparent 1px);
|
linear-gradient(90deg, rgba(120, 113, 108, 0.07) 1px, transparent 1px);
|
||||||
@@ -212,13 +128,6 @@ html {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 640px) {
|
@media (max-width: 640px) {
|
||||||
.draft-banner {
|
|
||||||
justify-content: flex-start;
|
|
||||||
padding-inline: 12px;
|
|
||||||
font-size: 10px;
|
|
||||||
letter-spacing: 0.02em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.VPHero .tagline {
|
.VPHero .tagline {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user