SLM Design
++ Архитектура frontend-приложений, где слои задают направление зависимостей, + модули становятся границами ответственности, а явный DI через фабрики удерживает домены изолированными и предсказуемыми. +
+diff --git a/docs/figma-adaptive-standards/.vitepress/config.ts b/docs/figma-adaptive-standards/.vitepress/config.ts index 55477f3..1075be6 100644 --- a/docs/figma-adaptive-standards/.vitepress/config.ts +++ b/docs/figma-adaptive-standards/.vitepress/config.ts @@ -1,5 +1,7 @@ import { defineConfig } from 'vitepress'; +import taskLists from 'markdown-it-task-lists'; import llmstxt from 'vitepress-plugin-llms'; +import { themeSyncHead } from '../../shared/vitepress/themeHead'; import { sidebar, site } from '../docs.config'; export default defineConfig({ @@ -9,9 +11,15 @@ export default defineConfig({ outDir: site.outDir, srcDir: 'content', cleanUrls: true, + head: [...themeSyncHead], vite: { plugins: [llmstxt()], }, + markdown: { + config(md) { + md.use(taskLists); + }, + }, themeConfig: { sidebar, socialLinks: [], diff --git a/docs/figma-adaptive-standards/.vitepress/theme/index.ts b/docs/figma-adaptive-standards/.vitepress/theme/index.ts new file mode 100644 index 0000000..e0013e9 --- /dev/null +++ b/docs/figma-adaptive-standards/.vitepress/theme/index.ts @@ -0,0 +1 @@ +export { default } from '../../../shared/vitepress/theme'; diff --git a/docs/shared/vitepress/HomeLink.vue b/docs/shared/vitepress/HomeLink.vue new file mode 100644 index 0000000..8c60463 --- /dev/null +++ b/docs/shared/vitepress/HomeLink.vue @@ -0,0 +1,174 @@ + + + + + + К списку документаций + + + + + + + + + + diff --git a/docs/shared/vitepress/theme.ts b/docs/shared/vitepress/theme.ts new file mode 100644 index 0000000..751bd31 --- /dev/null +++ b/docs/shared/vitepress/theme.ts @@ -0,0 +1,15 @@ +import { h } from 'vue'; +import DefaultTheme from 'vitepress/theme'; +import type { Theme } from 'vitepress'; +import HomeLink from './HomeLink.vue'; + +export default { + extends: DefaultTheme, + Layout() { + return h(DefaultTheme.Layout, null, { + 'nav-bar-content-before': () => h(HomeLink, { variant: 'back' }), + 'nav-bar-content-after': () => h(HomeLink, { variant: 'repo' }), + 'nav-screen-content-before': () => h(HomeLink, { variant: 'screen' }), + }); + }, +} satisfies Theme; diff --git a/docs/shared/vitepress/themeHead.ts b/docs/shared/vitepress/themeHead.ts new file mode 100644 index 0000000..02239a2 --- /dev/null +++ b/docs/shared/vitepress/themeHead.ts @@ -0,0 +1,18 @@ +import type { HeadConfig } from 'vitepress'; + +export const themeSyncHead: HeadConfig[] = [ + [ + 'script', + { id: 'sync-docs-theme' }, + `;(() => { + const theme = localStorage.getItem('vitepress-theme-appearance') + if (theme) return + + const legacyTheme = localStorage.getItem('all-docs-theme') + if (!legacyTheme) return + + localStorage.setItem('vitepress-theme-appearance', legacyTheme === 'system' ? 'auto' : legacyTheme) + localStorage.removeItem('all-docs-theme') + })()`, + ], +]; diff --git a/docs/slm-design/.vitepress/config.ts b/docs/slm-design/.vitepress/config.ts index 55477f3..1075be6 100644 --- a/docs/slm-design/.vitepress/config.ts +++ b/docs/slm-design/.vitepress/config.ts @@ -1,5 +1,7 @@ import { defineConfig } from 'vitepress'; +import taskLists from 'markdown-it-task-lists'; import llmstxt from 'vitepress-plugin-llms'; +import { themeSyncHead } from '../../shared/vitepress/themeHead'; import { sidebar, site } from '../docs.config'; export default defineConfig({ @@ -9,9 +11,15 @@ export default defineConfig({ outDir: site.outDir, srcDir: 'content', cleanUrls: true, + head: [...themeSyncHead], vite: { plugins: [llmstxt()], }, + markdown: { + config(md) { + md.use(taskLists); + }, + }, themeConfig: { sidebar, socialLinks: [], diff --git a/docs/slm-design/.vitepress/theme/index.ts b/docs/slm-design/.vitepress/theme/index.ts new file mode 100644 index 0000000..e0013e9 --- /dev/null +++ b/docs/slm-design/.vitepress/theme/index.ts @@ -0,0 +1 @@ +export { default } from '../../../shared/vitepress/theme'; diff --git a/index.html b/index.html index 6309299..141be25 100644 --- a/index.html +++ b/index.html @@ -5,10 +5,172 @@ + +
+ Единое пространство для идей, черновиков и первых версий документаций, + которые ещё формируются и постепенно становятся самостоятельными материалами. +
++ Архитектура frontend-приложений, где слои задают направление зависимостей, + модули становятся границами ответственности, а явный DI через фабрики удерживает домены изолированными и предсказуемыми. +
++ Правила организации Next.js-приложений, роутинга, серверных границ и проектных соглашений. +
++ Практики написания React-компонентов, хуков, состояния и клиентского UI-кода. +
++ Стандарты и требования к подготовке адаптивных макетов в Figma: брейкпоинты, + ресайз в диапазоне, Auto Layout/Constraints, компоненты, сетка, типографика, состояния UI, A11y и передача в разработку. +
+