modified: main_dc/docker-compose.yml
renamed: valitovgaziz/.env -> main_dc/valitovgaziz/.env renamed: valitovgaziz/html/assets/docs/TermSheet.pdf -> main_dc/valitovgaziz/html/assets/docs/TermSheet.pdf renamed: valitovgaziz/html/darkTheme.css -> main_dc/valitovgaziz/html/darkTheme.css renamed: valitovgaziz/html/darkThemeToggle.js -> main_dc/valitovgaziz/html/darkThemeToggle.js renamed: valitovgaziz/html/images/ValitovGaziz/valitovgaziz.jpg -> main_dc/valitovgaziz/html/images/ValitovGaziz/valitovgaziz.jpg renamed: valitovgaziz/html/images/favicon/code_orange.png -> main_dc/valitovgaziz/html/images/favicon/code_orange.png renamed: valitovgaziz/html/images/favicon/icons8-vk-50.png -> main_dc/valitovgaziz/html/images/favicon/icons8-vk-50.png renamed: "valitovgaziz/html/images/favicon/icons8-\321\202\320\265\320\273\320\265\320\263\321\200\320\260\320\274-50.png" -> "main_dc/valitovgaziz/html/images/favicon/icons8-\321\202\320\265\320\273\320\265\320\263\321\200\320\260\320\274-50.png" renamed: valitovgaziz/html/index.html -> main_dc/valitovgaziz/html/index.html renamed: valitovgaziz/html/saveContactsButtonStyle.css -> main_dc/valitovgaziz/html/saveContactsButtonStyle.css renamed: valitovgaziz/html/scripts.js -> main_dc/valitovgaziz/html/scripts.js renamed: valitovgaziz/html/style.css -> main_dc/valitovgaziz/html/style.css renamed: valitovgaziz/html/style/about.css -> main_dc/valitovgaziz/html/style/about.css renamed: valitovgaziz/html/style/footer.css -> main_dc/valitovgaziz/html/style/footer.css renamed: valitovgaziz/html/style/hero_section.css -> main_dc/valitovgaziz/html/style/hero_section.css renamed: valitovgaziz/html/style/social_link.css -> main_dc/valitovgaziz/html/style/social_link.css renamed: valitovgaziz/html/style/yalarba_investmen.css -> main_dc/valitovgaziz/html/style/yalarba_investmen.css renamed: yalarba/easySite/easy-site/prod/index.html -> main_dc/yalarba/easySite/easy-site/prod/index.html renamed: yalarba/serv_spa/.env -> main_dc/yalarba/serv_spa/.env renamed: yalarba/serv_spa/spa/Dockerfile -> main_dc/yalarba/serv_spa/spa/Dockerfile renamed: yalarba/serv_spa/spa/app/assets/bage_logo.png -> main_dc/yalarba/serv_spa/spa/app/assets/bage_logo.png renamed: yalarba/serv_spa/spa/app/index.html -> main_dc/yalarba/serv_spa/spa/app/index.html renamed: yalarba/serv_spa/spa/app/styles/mainStyle.css -> main_dc/yalarba/serv_spa/spa/app/styles/mainStyle.css renamed: yalarba/serv_spa/spa/vue/Makefile -> main_dc/yalarba/serv_spa/spa/vue/Makefile renamed: yalarba/serv_spa/spa/vue/README.md -> main_dc/yalarba/serv_spa/spa/vue/README.md renamed: yalarba/serv_spa/spa/vue/advices.txt -> main_dc/yalarba/serv_spa/spa/vue/advices.txt renamed: yalarba/serv_spa/spa/vue/index.html -> main_dc/yalarba/serv_spa/spa/vue/index.html renamed: yalarba/serv_spa/spa/vue/jsconfig.json -> main_dc/yalarba/serv_spa/spa/vue/jsconfig.json renamed: yalarba/serv_spa/spa/vue/package-lock.json -> main_dc/yalarba/serv_spa/spa/vue/package-lock.json renamed: yalarba/serv_spa/spa/vue/package.json -> main_dc/yalarba/serv_spa/spa/vue/package.json renamed: yalarba/serv_spa/spa/vue/src/App.vue -> main_dc/yalarba/serv_spa/spa/vue/src/App.vue renamed: yalarba/serv_spa/spa/vue/src/assets/colors.css -> main_dc/yalarba/serv_spa/spa/vue/src/assets/colors.css renamed: yalarba/serv_spa/spa/vue/src/assets/fonts.css -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts.css renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OFL.txt -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OFL.txt renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic.woff -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic.woff renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic.woff2 -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Italic.woff2 renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Regular.woff -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Regular.woff renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Regular.woff2 -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-Regular.woff2 renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/README.txt -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/README.txt renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.eot -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.eot renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.svg -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.svg renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.eot -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.eot renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.svg -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.svg renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/hinted-OpenSans-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_Condensed-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Open_Sans/static/OpenSans_SemiCondensed-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/OFL.txt -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/OFL.txt renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/README.txt -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/README.txt renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic-VariableFont_wdth,wght.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic-VariableFont_wdth,wght.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic.woff -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic.woff renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic.woff2 -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Italic.woff2 renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Regular.woff -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Regular.woff renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Regular.woff2 -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-Regular.woff2 renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.eot -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.eot renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.svg -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.svg renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.eot -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.eot renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.svg -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.svg renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/hinted-Roboto-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Black.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Black.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-BlackItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-BlackItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraLight.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraLight.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraLightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ExtraLightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Thin.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-Thin.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ThinItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto-ThinItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Black.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Black.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-BlackItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-BlackItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraLight.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraLight.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraLightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ExtraLightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Thin.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-Thin.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ThinItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_Condensed-ThinItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Black.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Black.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-BlackItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-BlackItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Bold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Bold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-BoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-BoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraLight.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraLight.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraLightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ExtraLightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Italic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Italic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Light.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Light.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-LightItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-LightItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Medium.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Medium.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-MediumItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-MediumItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Regular.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Regular.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-SemiBold.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-SemiBold.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-SemiBoldItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-SemiBoldItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Thin.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-Thin.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ThinItalic.ttf -> main_dc/yalarba/serv_spa/spa/vue/src/assets/fonts/Roboto/static/Roboto_SemiCondensed-ThinItalic.ttf renamed: yalarba/serv_spa/spa/vue/src/assets/linksStyle.css -> main_dc/yalarba/serv_spa/spa/vue/src/assets/linksStyle.css renamed: yalarba/serv_spa/spa/vue/src/assets/main.css -> main_dc/yalarba/serv_spa/spa/vue/src/assets/main.css renamed: yalarba/serv_spa/spa/vue/src/auth/axios.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/axios.js renamed: yalarba/serv_spa/spa/vue/src/auth/services/auth.service.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/services/auth.service.js renamed: yalarba/serv_spa/spa/vue/src/auth/stores/auth.store.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/stores/auth.store.js renamed: yalarba/serv_spa/spa/vue/src/auth/stores/store.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/stores/store.js renamed: yalarba/serv_spa/spa/vue/src/auth/vueauth/auth.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/vueauth/auth.js renamed: yalarba/serv_spa/spa/vue/src/auth/watch.js -> main_dc/yalarba/serv_spa/spa/vue/src/auth/watch.js renamed: yalarba/serv_spa/spa/vue/src/components/about/about.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/about/about.vue renamed: yalarba/serv_spa/spa/vue/src/components/about/commits.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/about/commits.vue renamed: yalarba/serv_spa/spa/vue/src/components/about/developers.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/about/developers.vue renamed: yalarba/serv_spa/spa/vue/src/components/about/filosofy.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/about/filosofy.vue renamed: yalarba/serv_spa/spa/vue/src/components/feetback/feetback.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/feetback/feetback.vue renamed: yalarba/serv_spa/spa/vue/src/components/footerB/footerB.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/footerB/footerB.vue renamed: yalarba/serv_spa/spa/vue/src/components/header/darkThemeToggle.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/header/darkThemeToggle.vue renamed: yalarba/serv_spa/spa/vue/src/components/header/fullHeader.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/header/fullHeader.vue renamed: yalarba/serv_spa/spa/vue/src/components/header/headerMemu.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/header/headerMemu.vue renamed: yalarba/serv_spa/spa/vue/src/components/header/logo-rl-about.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/header/logo-rl-about.vue renamed: yalarba/serv_spa/spa/vue/src/components/header/toggleMenu.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/header/toggleMenu.vue renamed: yalarba/serv_spa/spa/vue/src/components/images/YalArbaLogo300.png -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/YalArbaLogo300.png renamed: yalarba/serv_spa/spa/vue/src/components/images/icons/arrow_back_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/icons/arrow_back_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg renamed: yalarba/serv_spa/spa/vue/src/components/images/icons/arrow_forward_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/icons/arrow_forward_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg renamed: yalarba/serv_spa/spa/vue/src/components/images/icons/close_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/icons/close_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg renamed: yalarba/serv_spa/spa/vue/src/components/images/icons/home_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/icons/home_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg renamed: yalarba/serv_spa/spa/vue/src/components/images/icons/menu_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/icons/menu_24dp_E8EAED_FILL0_wght400_GRAD0_opsz24.svg renamed: yalarba/serv_spa/spa/vue/src/components/images/logo150x150.png -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/logo150x150.png renamed: yalarba/serv_spa/spa/vue/src/components/images/photo_2025-01-25_05-57-24.jpg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/photo_2025-01-25_05-57-24.jpg renamed: yalarba/serv_spa/spa/vue/src/components/images/restObject.jpg -> main_dc/yalarba/serv_spa/spa/vue/src/components/images/restObject.jpg renamed: yalarba/serv_spa/spa/vue/src/components/inout/inout.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/inout/inout.vue renamed: yalarba/serv_spa/spa/vue/src/components/inout/registration.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/inout/registration.vue renamed: yalarba/serv_spa/spa/vue/src/components/profile/profile.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/profile/profile.vue renamed: yalarba/serv_spa/spa/vue/src/components/profile/profileEdit.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/profile/profileEdit.vue renamed: yalarba/serv_spa/spa/vue/src/components/restObject/restObject.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/restObject/restObject.vue renamed: yalarba/serv_spa/spa/vue/src/components/restObject/restObjectEdit.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/restObject/restObjectEdit.vue renamed: yalarba/serv_spa/spa/vue/src/components/restObject/restOjbectAdd.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/restObject/restOjbectAdd.vue renamed: yalarba/serv_spa/spa/vue/src/components/saerch_results/results.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/saerch_results/results.vue renamed: yalarba/serv_spa/spa/vue/src/components/searchLine/searchLine.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/searchLine/searchLine.vue renamed: yalarba/serv_spa/spa/vue/src/components/settings.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/settings.vue renamed: yalarba/serv_spa/spa/vue/src/components/support.vue -> main_dc/yalarba/serv_spa/spa/vue/src/components/support.vue renamed: yalarba/serv_spa/spa/vue/src/locales/bak.json -> main_dc/yalarba/serv_spa/spa/vue/src/locales/bak.json renamed: yalarba/serv_spa/spa/vue/src/locales/en.json -> main_dc/yalarba/serv_spa/spa/vue/src/locales/en.json renamed: yalarba/serv_spa/spa/vue/src/locales/i18n.js -> main_dc/yalarba/serv_spa/spa/vue/src/locales/i18n.js renamed: yalarba/serv_spa/spa/vue/src/locales/langToggle.vue -> main_dc/yalarba/serv_spa/spa/vue/src/locales/langToggle.vue renamed: yalarba/serv_spa/spa/vue/src/locales/languages.json -> main_dc/yalarba/serv_spa/spa/vue/src/locales/languages.json renamed: yalarba/serv_spa/spa/vue/src/locales/ru.json -> main_dc/yalarba/serv_spa/spa/vue/src/locales/ru.json renamed: yalarba/serv_spa/spa/vue/src/locales/tat.json -> main_dc/yalarba/serv_spa/spa/vue/src/locales/tat.json renamed: yalarba/serv_spa/spa/vue/src/main.js -> main_dc/yalarba/serv_spa/spa/vue/src/main.js renamed: yalarba/serv_spa/spa/vue/src/router/index.js -> main_dc/yalarba/serv_spa/spa/vue/src/router/index.js renamed: yalarba/serv_spa/spa/vue/src/views/AboutView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/AboutView.vue renamed: yalarba/serv_spa/spa/vue/src/views/FeetbackView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/FeetbackView.vue renamed: yalarba/serv_spa/spa/vue/src/views/FilosofyView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/FilosofyView.vue renamed: yalarba/serv_spa/spa/vue/src/views/HomeView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/HomeView.vue renamed: yalarba/serv_spa/spa/vue/src/views/LogInView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/LogInView.vue renamed: yalarba/serv_spa/spa/vue/src/views/ProfileView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/ProfileView.vue renamed: yalarba/serv_spa/spa/vue/src/views/RegistrationView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/RegistrationView.vue renamed: yalarba/serv_spa/spa/vue/src/views/RestObjectView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/RestObjectView.vue renamed: yalarba/serv_spa/spa/vue/src/views/ResultsView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/ResultsView.vue renamed: yalarba/serv_spa/spa/vue/src/views/SettingsView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/SettingsView.vue renamed: yalarba/serv_spa/spa/vue/src/views/SupportView.vue -> main_dc/yalarba/serv_spa/spa/vue/src/views/SupportView.vue renamed: yalarba/serv_spa/spa/vue/tailwind.config.js -> main_dc/yalarba/serv_spa/spa/vue/tailwind.config.js renamed: yalarba/serv_spa/spa/vue/vite.config.js -> main_dc/yalarba/serv_spa/spa/vue/vite.config.js moove yalarba and valitovgaziz sites into main_dc
@@ -30,9 +30,9 @@ services:
|
||||
- certbot_data:/etc/letsencrypt
|
||||
- certbot_www:/var/www/certbot
|
||||
- ./stubSite:/usr/share/nginx/stub/html
|
||||
- ../yalarba/serv_spa/spa/vue/dist:/usr/share/nginx/yalarba/html
|
||||
- ../valitovgaziz/html:/usr/share/nginx/valitovgaziz/html
|
||||
- ../yalarba/easySite/easy-site/prod:/usr/share/nginx/easysite102/html
|
||||
- ./yalarba/serv_spa/spa/vue/dist:/usr/share/nginx/yalarba/html
|
||||
- ./valitovgaziz/html:/usr/share/nginx/valitovgaziz/html
|
||||
- ./yalarba/easySite/easy-site/prod:/usr/share/nginx/easysite102/html
|
||||
- ./bbvue/dist:/usr/share/nginx/begushiybashkir/html
|
||||
networks:
|
||||
- web-network
|
||||
@@ -75,7 +75,7 @@ services:
|
||||
"--spider",
|
||||
"http://localhost:8080/health",
|
||||
]
|
||||
interval: 30s
|
||||
interval: 3000s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
@@ -133,7 +133,7 @@ services:
|
||||
"--spider",
|
||||
"http://localhost:8080/api/health",
|
||||
]
|
||||
interval: 30s
|
||||
interval: 3000s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
/* Переменные для темной темы */
|
||||
:root {
|
||||
--dark-bg: #1a252f;
|
||||
--dark-text: #ecf0f1;
|
||||
--dark-card: #2c3e50;
|
||||
--dark-border: #34495e;
|
||||
}
|
||||
|
||||
/* Кнопка переключения темы */
|
||||
header {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.theme-toggle {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
padding: 8px 12px;
|
||||
background: var(--secondary);
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* Стили для темной темы */
|
||||
body.dark-mode {
|
||||
background-color: var(--dark-bg);
|
||||
color: var(--dark-text);
|
||||
}
|
||||
|
||||
body.dark-mode header {
|
||||
background-color: var(--dark-bg);
|
||||
color: var(--dark-text);
|
||||
}
|
||||
|
||||
body.dark-mode .section {
|
||||
background: var(--dark-card);
|
||||
color: var(--dark-text);
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
|
||||
border: 1px solid var(--dark-border);
|
||||
}
|
||||
|
||||
body.dark-mode .contact-info a {
|
||||
color: var(--secondary);
|
||||
}
|
||||
|
||||
body.dark-mode .skill-tag {
|
||||
background-color: var(--dark-border);
|
||||
color: var(--dark-text);
|
||||
}
|
||||
|
||||
body.dark-mode footer {
|
||||
color: var(--dark-text);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
function toggleTheme() {
|
||||
document.body.classList.toggle('dark-mode');
|
||||
const btn = document.querySelector('.theme-toggle');
|
||||
btn.textContent = document.body.classList.contains('dark-mode') ? '☀️ Светлая тема' : '🌙 Темная тема';
|
||||
}
|
||||
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 329 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,461 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta
|
||||
name="keywords"
|
||||
content="site, разработать сайт, создать сайт, ssm, сайт визитка,
|
||||
vue3, javaScript, java, админка, лендинг, landingpage, продающая страница,
|
||||
"
|
||||
/>
|
||||
|
||||
<link rel="icon" href="./images/favicon/code_orange.png" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<script src="scripts.js"></script>
|
||||
<script src="darkThemeToggle.js"></script>
|
||||
<title>ValitovGaziz</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript">
|
||||
(function (m, e, t, r, i, k, a) {
|
||||
m[i] =
|
||||
m[i] ||
|
||||
function () {
|
||||
(m[i].a = m[i].a || []).push(arguments);
|
||||
};
|
||||
m[i].l = 1 * new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {
|
||||
if (document.scripts[j].src === r) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
(k = e.createElement(t)),
|
||||
(a = e.getElementsByTagName(t)[0]),
|
||||
(k.async = 1),
|
||||
(k.src = r),
|
||||
a.parentNode.insertBefore(k, a);
|
||||
})(
|
||||
window,
|
||||
document,
|
||||
"script",
|
||||
"https://mc.yandex.ru/metrika/tag.js",
|
||||
"ym"
|
||||
);
|
||||
|
||||
ym(103321468, "init", {
|
||||
clickmap: true,
|
||||
trackLinks: true,
|
||||
accurateTrackBounce: true,
|
||||
});
|
||||
</script>
|
||||
|
||||
<noscript
|
||||
><div>
|
||||
<img
|
||||
src="https://mc.yandex.ru/watch/103321468"
|
||||
style="position: absolute; left: -9999px"
|
||||
alt=""
|
||||
/></div
|
||||
></noscript>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
|
||||
<header class="hero">
|
||||
<div class="hero-content">
|
||||
<div class="hero-text">
|
||||
<h1>Валитов Газиз</h1>
|
||||
<p class="hero-subtitle">
|
||||
Fullstack-разработчик & Основатель
|
||||
<span class="highlight">Yalarba.ru</span>
|
||||
</p>
|
||||
<p class="hero-description">
|
||||
Создаю технологические решения для туризма будущего. Ищу инвесторов
|
||||
для масштабирования проекта <strong>Yalarba.ru</strong> — платформы,
|
||||
которая меняет подход к путешествиям.
|
||||
</p>
|
||||
<div class="hero-buttons">
|
||||
<button onclick="sendMessageTelegramm()" class="btn btn-primary">
|
||||
Инвестировать в Yalarba
|
||||
</button>
|
||||
<button onclick="sendMessageTelegramm()" class="btn btn-secondary">
|
||||
Связаться со мной
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social_links_block">
|
||||
<div class="social_link_block">
|
||||
<h4>Подписывайтесь в ВК</h4>
|
||||
<a href="https://vk.com">
|
||||
<div class="social_link">
|
||||
<img
|
||||
src="./images/favicon/icons8-vk-50.png"
|
||||
alt="VK - вконтакте"
|
||||
/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="social_link_block">
|
||||
<h4>Пишите в телеграм</h4>
|
||||
<a href="https://t.me/valitovgaziz">
|
||||
<div class="social_link">
|
||||
<img
|
||||
src="./images/favicon/icons8-телеграм-50.png"
|
||||
alt="телеграмм"
|
||||
/>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- ОБНОВИТЕ секцию "Обо мне" -->
|
||||
<div class="section about">
|
||||
<div class="about-valitovgaziz-photo-box">
|
||||
<img
|
||||
src="./images/ValitovGaziz/valitovgaziz.jpg"
|
||||
alt="Valitov Gaziz"
|
||||
id="valitovgaziz-photo-img"
|
||||
/>
|
||||
</div>
|
||||
<div class="about-text">
|
||||
<h2>Технический предприниматель и Fullstack-разработчик</h2>
|
||||
<p>
|
||||
С 2017 года создаю цифровые продукты, сочетая техническую экспертизу и
|
||||
бизнес-видение. Специализируюсь на разработке веб-приложений под ключ
|
||||
— от идеи до масштабируемого продукта.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Мой подход:
|
||||
<strong
|
||||
>"Технологии как инструмент для решения реальных проблем"</strong
|
||||
>. Именно этот принцип лежит в основе моего флагманского проекта
|
||||
<a href="https://yalarba.ru" target="_blank">Yalarba.ru</a> —
|
||||
платформы, которая упрощает планирование путешествий и открывает новые
|
||||
возможности для туризма.
|
||||
</p>
|
||||
|
||||
<div class="entrepreneur-highlights">
|
||||
<div class="highlight-item">
|
||||
<h4>🎯 Техническое видение</h4>
|
||||
<p>
|
||||
Создаю архитектуру, которая масштабируется и адаптируется под
|
||||
растущие потребности бизнеса
|
||||
</p>
|
||||
</div>
|
||||
<div class="highlight-item">
|
||||
<h4>💡 Бизнес-ориентация</h4>
|
||||
<p>
|
||||
Фокусируюсь на создании ценности для пользователей и устойчивых
|
||||
бизнес-моделях
|
||||
</p>
|
||||
</div>
|
||||
<div class="highlight-item">
|
||||
<h4>🚀 Практический подход</h4>
|
||||
<p>
|
||||
От прототипа к продукту: быстрое тестирование гипотез и
|
||||
итерационная разработка
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Социальные ссылки остаются без изменений -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ДОБАВЬТЕ эту секцию ПОСЛЕ секции "Обо мне" -->
|
||||
<div id="yalarba-invest" class="section yalarba-section">
|
||||
<div class="yalarba-header">
|
||||
<h2>🚀 Yalarba.ru — Инвестиции в Travel Tech</h2>
|
||||
<p class="yalarba-tagline">
|
||||
Платформа для планирования путешествий нового поколения
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="yalarba-content">
|
||||
<div class="yalarba-stats">
|
||||
<div class="stat">
|
||||
<h3>7+</h3>
|
||||
<p>лет разработки</p>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<h3>3</h3>
|
||||
<p>технологических стека</p>
|
||||
</div>
|
||||
<div class="stat">
|
||||
<h3>100%</h3>
|
||||
<p>права на код</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="yalarba-value">
|
||||
<h3>Почему это перспективно для инвесторов?</h3>
|
||||
<ul>
|
||||
<li>✅ Растущий рынок Travel Tech в России и СНГ</li>
|
||||
<li>✅ Уникальная технологическая платформа</li>
|
||||
<li>✅ Полные права на код и IP</li>
|
||||
<li>✅ Опытная команда разработки</li>
|
||||
<li>✅ Доказанная жизнеспособность концепции</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="investment-cta">
|
||||
<h3>Готовы обсудить инвестиционные возможности?</h3>
|
||||
<p>Свяжитесь для получения презентации проекта и финансовой модели</p>
|
||||
<button class="btn btn-primary" onclick="sendMessageTelegramm()">
|
||||
Запросить презентацию
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<div class="timeline-item">
|
||||
<h3>Основатель и Tech Lead - Yalarba.ru</h3>
|
||||
<p><strong>2020 — настоящее время</strong> (5+ лет)</p>
|
||||
<p>
|
||||
Разработка и продвижение инновационной платформы для планирования
|
||||
путешествий с полным циклом разработки:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Создание архитектуры микросервисов на Java Spring Boot и Golang
|
||||
</li>
|
||||
<li>Разработка современного фронтенда на Vue3.js</li>
|
||||
<li>Проектирование и оптимизация баз данных PostgreSQL</li>
|
||||
<li>Внедрение Docker и контейнеризации для масштабирования</li>
|
||||
<li>Управление проектом, планирование развития продукта</li>
|
||||
</ul>
|
||||
<p>
|
||||
<strong>Ключевое достижение:</strong> Создание работающего продукта с
|
||||
потенциалом масштабирования на рынок Travel Tech.
|
||||
</p>
|
||||
</div>
|
||||
<!--
|
||||
<h2>Опыт работы</h2>
|
||||
<div class="timeline">
|
||||
<div class="timeline-item">
|
||||
<h3>Fullstack-разработчик (Проектная работа)</h3>
|
||||
<p>
|
||||
<strong>Октябрь 2017 — настоящее время</strong> (7 лет 10 месяцев)
|
||||
</p>
|
||||
<p>
|
||||
Разработка программного обеспечения, участие в различных проектах:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
2017-2018: Создание лендинг-страниц на JavaScript, HTML, CSS
|
||||
</li>
|
||||
<li>
|
||||
2019-2021: Проектирование и разработка маркетплейса на Java
|
||||
(Bitbucket:
|
||||
<a
|
||||
href="https://bitbucket.org/Guhar4k/marketplace/src/master/src/"
|
||||
class="project-link"
|
||||
target="_blank"
|
||||
>marketplace</a
|
||||
>)
|
||||
</li>
|
||||
<li>
|
||||
2021-2022: Создание туристического агрегатора с проектированием БД
|
||||
и UI-прототипов (диаграммы:
|
||||
<a
|
||||
href="https://app.diagrams.net/?src=about#G1AFZMhIILKnY6fI3-Iz7ut3XaCsNkrf6n#%7B%22pageld%22%3A%22R2IEEEUBdFMjLlhIrx00%22%7D"
|
||||
class="project-link"
|
||||
target="_blank"
|
||||
>diagrams.net</a
|
||||
>)
|
||||
</li>
|
||||
<li>
|
||||
2022-2024: Разработка REST API на Spring Boot с PostgreSQL и
|
||||
JavaScript фронтендом (GitHub:
|
||||
<a
|
||||
href="https://github.com/valitovgaziz/yairb_REST_API_2.0.git"
|
||||
class="project-link"
|
||||
target="_blank"
|
||||
>yairb_REST_API_2.0</a
|
||||
>)
|
||||
</li>
|
||||
<li>
|
||||
2025: Работа с Docker-compose для развертывания микросервисов.
|
||||
Размарботка REST API на Golang (фрейворки Gorilla, Chi). Vue3.js
|
||||
разработка фронтенда для https://yalarba.ru.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Навыки</h2>
|
||||
<div class="skills-container">
|
||||
<span class="skill-tag">Java</span>
|
||||
<span class="skill-tag">Spring Framework</span>
|
||||
<span class="skill-tag">JavaScript</span>
|
||||
<span class="skill-tag">Vue3</span>
|
||||
<span class="skill-tag">Nuxt</span>
|
||||
<span class="skill-tag">HTML/CSS/SASS/SCSS</span>
|
||||
<span class="skill-tag">PostgreSQL</span>
|
||||
<span class="skill-tag">Git</span>
|
||||
<span class="skill-tag">Docker</span>
|
||||
<span class="skill-tag">Golang</span>
|
||||
<span class="skill-tag">ООП</span>
|
||||
<span class="skill-tag">Алгоритмы</span>
|
||||
<span class="skill-tag">Agile</span>
|
||||
<span class="skill-tag">Figma</span>
|
||||
<span class="skill-tag">SQL</span>
|
||||
<span class="skill-tag">Linux</span>
|
||||
<span class="skill-tag">REST API</span>
|
||||
<span class="skill-tag">Intelij Idea</span>
|
||||
<span class="skill-tag">VS Code</span>
|
||||
<span class="skill-tag">Fleet</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Образование</h2>
|
||||
<div class="timeline">
|
||||
<div class="timeline-item">
|
||||
<h3>
|
||||
Автономная некоммерческая организация высшего образования
|
||||
«Университет Иннополис»
|
||||
</h3>
|
||||
<p>Java enterprise, Java enterprise developer</p>
|
||||
<p><strong>2021 - 2021</strong></p>
|
||||
</div>
|
||||
<div class="timeline-item">
|
||||
<h3>УКСИВТ</h3>
|
||||
<p>Уфимский колледж статистики и информатики</p>
|
||||
<p>Техник по информационным системам</p>
|
||||
<p><strong>2016 - 2020</strong></p>
|
||||
</div>
|
||||
<div class="timeline-item">
|
||||
<h3>МТИ - Московский технлогический институт.</h3>
|
||||
<p>Разработка программиного обеспечения</p>
|
||||
<p><strong>2025 - ></strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Курсы и сертификаты</h2>
|
||||
<ul>
|
||||
<li>2024: Управление проектами (Skillbox, Эффективный руководитель)</li>
|
||||
<li>2022: Java Full Stack Developer (JetBrains Academy)</li>
|
||||
<li>2021: Java Enterprise developer (Университет Иннополис)</li>
|
||||
<li>
|
||||
2020: Управление по Agile: Scrum, Kanban, Lean (Нетология-групп)
|
||||
</li>
|
||||
<li>2019: English intermediate (Frog-school)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Языки</h2>
|
||||
<ul>
|
||||
<li>Башкирский — Родной</li>
|
||||
<li>Русский — C1 (Продвинутый)</li>
|
||||
<li>Английский — B2 (Средне-продвинутый)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h2>Проекты и достижения</h2>
|
||||
<p>
|
||||
<a href="https://github.com" class="project-link" target="_blank"
|
||||
><strong><i>github.com</i></strong></a
|
||||
>
|
||||
<strong><i style="color: green"> | </i></strong>
|
||||
<a
|
||||
href="https://begushiybashkir.ru"
|
||||
class="project-link"
|
||||
target="_blank"
|
||||
><strong><i>Бегущий Башкир</i></strong></a
|
||||
>
|
||||
<strong><i style="color: green"> | </i></strong>
|
||||
<a href="https://yalarba.ru" class="project-link" target="_blank"
|
||||
><strong><i>Ял Арба</i></strong></a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
Разработка приложения Trip&Freedom&Adventure представляет собой вклад в
|
||||
создание полезного продукта для общества. Данная работа играет важную
|
||||
роль в профессиональном росте и развитии. Миссия этого приложения
|
||||
заключается в помощи пользователям в открытии новых горизонтов,
|
||||
планировании путешествий и наслаждении приключениями без излишних
|
||||
хлопот. Приложение принесет пользу как пользователям, так и мне лично,
|
||||
позволяя углубить мои знания в программировании, дизайне интерфейсов и
|
||||
разработке мобильных приложений. Участие в этом проекте также
|
||||
предоставляет возможность проявить креативность и воплотить идеи,
|
||||
способные улучшить качество жизни людей. Ежедневная работа над
|
||||
приложением приближает нас к созданию удобного и функционального
|
||||
продукта, который станет незаменимым инструментом для путешественников.
|
||||
Этот проект вдохновляет на постоянное движение вперёд, обучение новым
|
||||
навыкам и внесение вклада в технологическое и общественное развитие.
|
||||
</p>
|
||||
<p>
|
||||
<strong>🚀 Инвестиции в Travel Tech:</strong>
|
||||
В рамках развития проекта
|
||||
<a href="https://yalarba.ru" target="_blank">ЯлАрба</a> активно
|
||||
привлекаю инвестиции в индустрию технологий путешествий (Travel Tech).
|
||||
Моя цель — создать масштабное решение, объединяющее инновационные
|
||||
подходы к планированию поездок, оптимизации маршрутов и
|
||||
персонализированному сервису. Уверен, что инвестиции в этот сектор
|
||||
откроют новые горизонты как для пользователей, так и для
|
||||
партнеров-инвесторов.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="section">
|
||||
<h3>Автобиография</h3>
|
||||
<ul>
|
||||
<li>2002 закончил РБГИ №3</li>
|
||||
<li>2002 - 2005 Учился в УГАТУ</li>
|
||||
<li>2005 - 2008 служба в армии</li>
|
||||
<li>2008 - 2012 работа на заводе КумАПП</li>
|
||||
<li>2012 - 2015 открыл ООО и вел бизнес по ремонту ПК и ноутбуков</li>
|
||||
<li>2016 - 2020 учился в УКСиВТ</li>
|
||||
<li>
|
||||
2020 - по сей день. Работаю над проектом
|
||||
<a href="https://yalarba.ru" target="_blank">ЯлАрба</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<footer>
|
||||
<div class="footer-links">
|
||||
<div class="footer-box footer-link">
|
||||
<span>
|
||||
Vacations:
|
||||
<ul>
|
||||
<li>Vue3.js</li>
|
||||
<li>Golang (Gorm, Chi)</li>
|
||||
<li>PostgresQL DB</li>
|
||||
</ul>
|
||||
</span>
|
||||
</div>
|
||||
<div class="footer-box footer-link">
|
||||
Info:
|
||||
<ul>
|
||||
<li>Telegram: @valitovgaziz</li>
|
||||
<li>Phone: 8 (962) 543 - 93 - 43</li>
|
||||
<li>email: vaitovgaziz@yandex.ru</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer-box footer-link">
|
||||
Media:
|
||||
<ul>
|
||||
<li><a href="https://t.me/ValitovGaziz_Ufa">Owners news</a></li>
|
||||
<li><a href="https://t.me/+oYymS0r6qG9lYWJi">YalArba team in Telegram</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-end-text">
|
||||
<p>Уфа Ufa Өфө 2025 ©</p>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,18 @@
|
||||
#saveContactBtn {
|
||||
padding: 10px 20px;
|
||||
background: white;
|
||||
color: #2541b2;
|
||||
border: 2px solid #2541b2;
|
||||
border-radius: 6px;
|
||||
font-size: 15px;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
#saveContactBtn:hover {
|
||||
background: #2541b2;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#saveContactBtn.dark-mode {
|
||||
background: --dark-card;
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
function saveContact() {
|
||||
// Создаем содержимое vCard (VCF)
|
||||
const vCardData = `BEGIN:VCARD
|
||||
VERSION:3.0
|
||||
FN:Валитов Газиз Камилевич
|
||||
N:Валитов;Газиз;Камилевич
|
||||
ORG:FREELANCE
|
||||
TITLE:FULLSTACK_DEVELOPER
|
||||
TEL;TYPE=MOBILE:+79279238823
|
||||
TEL;TYPE=MOBILE:+79044513441
|
||||
TEL;TYPE=MOBILE:+79625439243
|
||||
EMAIL;TYPE=HOME:valitovgaziz@gmail.com
|
||||
EMAIL;TYPE=WORK:valitovgaziz@yandex.ru
|
||||
URL:https://valitovgaziz.ru
|
||||
URL:https://t.me/valitovgaziz
|
||||
URL:https://vk.ru/id378105199
|
||||
BDAY:1985-10-27
|
||||
END:VCARD`;
|
||||
|
||||
// Создаем Blob (бинарный объект) с данными vCard
|
||||
const blob = new Blob([vCardData], { type: 'text/vcard' });
|
||||
|
||||
// Создаем URL для скачивания
|
||||
const url = URL.createObjectURL(blob);
|
||||
|
||||
// Создаем временную ссылку для скачивания
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
link.download = 'valitovgaziz.vcf'; // Имя файла
|
||||
link.click();
|
||||
|
||||
// Освобождаем память
|
||||
URL.revokeObjectURL(url);
|
||||
}
|
||||
|
||||
function loadTermSheet() {
|
||||
// Create a temporary anchor element
|
||||
const link = document.createElement('a');
|
||||
|
||||
// Set correct relative path to the PDF file
|
||||
link.href = './assets/docs/TermSheet.pdf';
|
||||
|
||||
// Set download attribute with filename
|
||||
link.download = 'TermSheet.pdf';
|
||||
|
||||
// Append to body to make it work in some browsers
|
||||
document.body.appendChild(link);
|
||||
|
||||
// Trigger the download
|
||||
link.click();
|
||||
|
||||
// Clean up
|
||||
document.body.removeChild(link);
|
||||
}
|
||||
|
||||
|
||||
// Обработчик для кнопки "Запросить презентацию"
|
||||
function sendMessageTelegramm() {
|
||||
const message = prompt("Введите ваши контакты для получения информации от Газиза:");
|
||||
if (message) {
|
||||
const BOT_TOKEN = "8470085635:AAEPZcsN3n-3FkMdr7DzxbiQ3q8mXZTGwug";
|
||||
const CHAT_ID = "559861569";
|
||||
|
||||
// Используем FormData вместо JSON (более надежно)
|
||||
const formData = new FormData();
|
||||
formData.append('chat_id', CHAT_ID);
|
||||
formData.append('text', `📥 Новая заявка с сайта ValitovGaziz:\n\n${message}`);
|
||||
formData.append('parse_mode', 'HTML');
|
||||
|
||||
// Альтернативный URL
|
||||
fetch(`https://api.telegram.org/bot${BOT_TOKEN}/sendMessage`, {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
if (data.ok) {
|
||||
alert("Сообщение успешно отправлено!");
|
||||
} else {
|
||||
console.error('Telegram API Error:', data);
|
||||
alert("Ошибка: " + (data.description || 'Неизвестная ошибка'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
console.error("Ошибка:", error);
|
||||
alert("Произошла ошибка сети. Попробуйте позже.");
|
||||
});
|
||||
}
|
||||
saveContact();
|
||||
loadTermSheet();
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
@import url("saveContactsButtonStyle.css");
|
||||
@import url("darkTheme.css");
|
||||
@import url("./style/about.css");
|
||||
@import url("./style/social_link.css");
|
||||
@import url("./style/hero_section.css");
|
||||
@import url("./style/yalarba_investmen.css");
|
||||
@import url("./style/footer.css");
|
||||
|
||||
:root {
|
||||
--primary: #2c3e50;
|
||||
--secondary: #3498db;
|
||||
--light: #ecf0f1;
|
||||
--dark: #1a252f;
|
||||
--success: #2ecc71;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
body {
|
||||
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
min-width: 300px;
|
||||
max-width: 1200px;
|
||||
margin: 10px auto 5px auto;
|
||||
padding: 10px 20px;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
header {
|
||||
background-color: var(--primary);
|
||||
color: white;
|
||||
padding: 2rem 0;
|
||||
text-align: center;
|
||||
margin-bottom: 2rem;
|
||||
border-radius: 10px;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: var(--secondary);
|
||||
}
|
||||
h1 {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 2rem;
|
||||
margin-bottom: 1rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
#telegram a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.section {
|
||||
background: rgb(226, 240, 241);
|
||||
padding: 2rem;
|
||||
margin-bottom: 2rem;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.skills-container {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 1rem;
|
||||
}
|
||||
.skill-tag {
|
||||
background-color: var(--secondary);
|
||||
color: white;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 1em;
|
||||
font-size: 0.9rem;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
.timeline {
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
}
|
||||
.timeline:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 2px;
|
||||
background: var(--secondary);
|
||||
}
|
||||
|
||||
.timeline-item {
|
||||
position: relative;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.timeline-item:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -30px;
|
||||
top: 5px;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
background: var(--primary);
|
||||
border: 2px solid var(--secondary);
|
||||
}
|
||||
.project-link {
|
||||
display: inline-block;
|
||||
color: var(--secondary);
|
||||
text-decoration: none;
|
||||
}
|
||||
.project-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
/* Адаптация для мелких экранов */
|
||||
@media (max-width: 768px) {
|
||||
header {
|
||||
padding: 1rem 0;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: 1.5rem;
|
||||
}
|
||||
|
||||
.timeline {
|
||||
padding-left: 20px; /* Уменьшаем отступ для линии времени */
|
||||
}
|
||||
|
||||
.timeline:before {
|
||||
left: 8px; /* Сдвигаем линию ближе к краю */
|
||||
}
|
||||
|
||||
.timeline-item:before {
|
||||
left: -20px; /* Сдвигаем маркер времени */
|
||||
}
|
||||
|
||||
.skill-tag {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
.about {
|
||||
display: flex;
|
||||
width: inherit;
|
||||
height: auto;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.about-valitovgaziz-photo-box {
|
||||
max-width: 300px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
@media (max-width: 768px) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.about-valitovgaziz-photo-box img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
object-fit: cover;
|
||||
border-radius: 1em;
|
||||
-webkit-box-shadow: 4px 4px 8px 9px rgba(34, 60, 80, 0.2);
|
||||
-moz-box-shadow: 4px 4px 8px 9px rgba(34, 60, 80, 0.2);
|
||||
box-shadow: 4px 4px 8px 9px rgba(34, 60, 80, 0.2);
|
||||
}
|
||||
|
||||
#about-valitovgaziz-photo-img {
|
||||
max-width: 600px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.about-text {
|
||||
max-width: 600px;
|
||||
width: 50%;
|
||||
@media (max-width: 768px) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
footer {
|
||||
text-align: center;
|
||||
padding: 1em 0 0 0;
|
||||
color: var(--dark);
|
||||
font-size: 0.9rem;
|
||||
border-radius: 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.footer-links {
|
||||
padding: 1em;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.footer-box {
|
||||
width: fit-content;
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
.footer-link {
|
||||
padding: 1rem;
|
||||
border-radius: 0.3em;
|
||||
}
|
||||
|
||||
|
||||
.footer-end-text {
|
||||
margin: 0 0 3rem 0;
|
||||
position: relative;
|
||||
bottom: 0;
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
/* Hero Section Styles */
|
||||
.hero {
|
||||
background: linear-gradient(135deg, var(--primary) 0%, #1a535c6b 100%);
|
||||
color: white;
|
||||
padding: 4rem 2rem;
|
||||
margin-bottom: 2rem;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.hero-content {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: 3rem;
|
||||
}
|
||||
|
||||
.hero-text {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.hero-subtitle {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: #ffd166; /* Яркий акцентный цвет */
|
||||
}
|
||||
|
||||
.hero-description {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 2rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.hero-buttons {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.btn {
|
||||
display: inline-block;
|
||||
padding: 0.8rem 1.5rem;
|
||||
border-radius: 5px;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.btn-primary {
|
||||
background-color: var(--secondary);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #2980b9;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: transparent;
|
||||
color: white;
|
||||
border: 2px solid white;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background-color: white;
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
.hero-image {
|
||||
flex: 0 0 300px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hero-image img {
|
||||
width: 100%;
|
||||
max-width: 300px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 10px 20px rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
/* Адаптивность для героя */
|
||||
@media (max-width: 768px) {
|
||||
.hero-content {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hero-buttons {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
.social_links_block {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
|
||||
width: 100%;
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
.social_link_block {
|
||||
width: fit-content;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.social_link img {
|
||||
background-color: #ffffff00;
|
||||
}
|
||||
|
||||
.social_links_block h4 {
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
.social_link {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
-webkit-box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
|
||||
-moz-box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
|
||||
box-shadow: 0px 0px 14px 0px rgba(34, 60, 80, 0.2);
|
||||
}
|
||||
|
||||
.social_link a {
|
||||
width: fit-content;
|
||||
height: auto;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
/* Yalarba Investment Section */
|
||||
.yalarba-section {
|
||||
background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
|
||||
border-left: 5px solid var(--secondary);
|
||||
}
|
||||
|
||||
.yalarba-header {
|
||||
text-align: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
.yalarba-tagline {
|
||||
font-size: 1.2rem;
|
||||
color: var(--primary);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.yalarba-stats {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin: 2rem 0;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.stat {
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.stat h3 {
|
||||
font-size: 2.5rem;
|
||||
color: var(--secondary);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.yalarba-value ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.yalarba-value li {
|
||||
padding: 0.5rem 0;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.investment-cta {
|
||||
text-align: center;
|
||||
margin-top: 2rem;
|
||||
padding: 2rem;
|
||||
background-color: white;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>EasySite102 – Лёгкий вход в цифровое присутствие для туризма</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Arial', sans-serif;
|
||||
line-height: 1.6;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f5f9ff;
|
||||
color: #333;
|
||||
}
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 50px auto;
|
||||
padding: 30px;
|
||||
background: white;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
color: #2a5ca7;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 25px;
|
||||
font-size: 18px;
|
||||
}
|
||||
.logo {
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
color: #2a5ca7;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.cta {
|
||||
background: #2a5ca7;
|
||||
color: white;
|
||||
padding: 12px 30px;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.cta:hover {
|
||||
background: #1e4a8f;
|
||||
}
|
||||
.features {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
flex-wrap: wrap;
|
||||
margin: 40px 0;
|
||||
}
|
||||
.feature {
|
||||
width: 30%;
|
||||
min-width: 200px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.icon {
|
||||
font-size: 40px;
|
||||
color: #2a5ca7;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
footer {
|
||||
margin-top: 40px;
|
||||
font-size: 14px;
|
||||
color: #777;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="logo">EasySite102</div>
|
||||
<h1>Ваш лёгкий старт в цифровом мире туризма</h1>
|
||||
<p>Помогаем средним пользователям интернета создать цифровое присутствие и внести вклад в развитие туристической отрасли без сложных технологий.</p>
|
||||
|
||||
<div class="features">
|
||||
<div class="feature">
|
||||
<div class="icon">🚀</div>
|
||||
<h3>Простота</h3>
|
||||
<p>Интуитивно понятные инструменты без технических сложностей</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<div class="icon">🌍</div>
|
||||
<h3>Туризм</h3>
|
||||
<p>Специальные решения для продвижения туристических услуг</p>
|
||||
</div>
|
||||
<div class="feature">
|
||||
<div class="icon">📈</div>
|
||||
<h3>Результат</h3>
|
||||
<p>Быстрый выход на цифровые площадки и привлечение клиентов</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>Сайт находится в разработке. Оставьте контакты, и мы сообщим о запуске!</p>
|
||||
<form action="#" method="POST">
|
||||
<input type="email" name="email" placeholder="Ваш email" required style="padding: 10px; width: 300px; max-width: 100%; border: 1px solid #ddd; border-radius: 5px; margin-right: 10px;">
|
||||
<button type="submit" class="cta">Узнать первым</button>
|
||||
</form>
|
||||
|
||||
<footer>
|
||||
© 2023 EasySite102. Все права защищены.<br>
|
||||
Контакты: info@easysite102.ru
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
# FRONTEND SPA
|
||||
HTTP_INNER_PORT=80
|
||||
HTTP_OUTER_PORT=80
|
||||
HTTPS_INNER_PORT=443
|
||||
HTTPS_OUTER_PORT=443
|
||||
@@ -0,0 +1,11 @@
|
||||
# Используем Node.js для сборки
|
||||
FROM node:18-alpine as builde
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем package.json и package-lock.json для установки зависимостей
|
||||
COPY vue/package*.json ./
|
||||
|
||||
RUN npm install
|
||||
|
||||
copy ./vue .
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>ЯлАрба - Туристический агрегатор</title>
|
||||
<link rel="stylesheet" href="styles/mainStyle.css" />
|
||||
<link rel="icon" href="assets/bage_logo.png" type="img/png" />
|
||||
</head>
|
||||
<body>
|
||||
<!-- Yandex.Metrika counter -->
|
||||
<script type="text/javascript">
|
||||
(function (m, e, t, r, i, k, a) {
|
||||
m[i] =
|
||||
m[i] ||
|
||||
function () {
|
||||
(m[i].a = m[i].a || []).push(arguments);
|
||||
};
|
||||
m[i].l = 1 * new Date();
|
||||
for (var j = 0; j < document.scripts.length; j++) {
|
||||
if (document.scripts[j].src === r) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
(k = e.createElement(t)),
|
||||
(a = e.getElementsByTagName(t)[0]),
|
||||
(k.async = 1),
|
||||
(k.src = r),
|
||||
a.parentNode.insertBefore(k, a);
|
||||
})(
|
||||
window,
|
||||
document,
|
||||
"script",
|
||||
"https://mc.yandex.ru/metrika/tag.js",
|
||||
"ym"
|
||||
);
|
||||
|
||||
ym(103321366, "init", {
|
||||
clickmap: true,
|
||||
trackLinks: true,
|
||||
accurateTrackBounce: true,
|
||||
});
|
||||
</script>
|
||||
<noscript
|
||||
><div>
|
||||
<img
|
||||
src="https://mc.yandex.ru/watch/103321366"
|
||||
style="position: absolute; left: -9999px"
|
||||
alt="yandex metrika is disabled"
|
||||
/></div
|
||||
></noscript>
|
||||
<!-- /Yandex.Metrika counter -->
|
||||
|
||||
<header>
|
||||
<h1>ЯлАрба</h1>
|
||||
<p>Инновационный агрегатор мест отдыха с ИИ-планировщиком маршрутов</p>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
<h2>О проекте</h2>
|
||||
<p>
|
||||
ЯлАрба — это супер-приложение для путешественников, объединяющее в себе:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Агрегатор мест отдыха (отели, экскурсии, рестораны)</li>
|
||||
<li>Маркетплейс туров и локальных сувениров</li>
|
||||
<li>ИИ-планировщик маршрутов с учетом здоровья пользователя</li>
|
||||
<li>Систему бронирования и покупки билетов</li>
|
||||
</ul>
|
||||
<p>
|
||||
Наша миссия — сделать планирование путешествий простым,
|
||||
персонализированным и доступным.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<div class="developer">
|
||||
<h2>Разработчик</h2>
|
||||
<p><strong>Валитов Газиз</strong></p>
|
||||
<p>
|
||||
Full-stack разработчик с опытом в travel-tech проектах. Специализация:
|
||||
Python/Django, React, системы рекомендаций на основе ИИ.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<section class="roadmap">
|
||||
<h2>План разработки</h2>
|
||||
|
||||
<div class="phase">
|
||||
<h3>Этап 1: MVP (0-6 месяцев)</h3>
|
||||
<ul>
|
||||
<li>База мест отдыха (1000+ позиций)</li>
|
||||
<li>Интеграция с API бронирования (Booking.com, Ostrovok)</li>
|
||||
<li>Прототип ИИ-рекомендаций</li>
|
||||
<li>Мобильная версия (PWA)</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="phase">
|
||||
<h3>Этап 2: Монетизация (6-12 месяцев)</h3>
|
||||
<ul>
|
||||
<li>Система комиссий (10-15% с бронирований)</li>
|
||||
<li>Платные подписки (PRO-аккаунт)</li>
|
||||
<li>Партнерская программа для гидов</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="phase">
|
||||
<h3>Этап 3: Масштабирование (12-24 месяца)</h3>
|
||||
<ul>
|
||||
<li>Выход на рынки СНГ (Казахстан, Узбекистан)</li>
|
||||
<li>Полноценный ИИ-ассистент с рекомендациями по здоровью</li>
|
||||
<li>Интеграция с сервисами аренды авто</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Технологический стек</h2>
|
||||
<ul>
|
||||
<li><strong>Frontend:</strong> React.js, TypeScript, PWA</li>
|
||||
<li><strong>Backend:</strong> Python/Django, PostgreSQL</li>
|
||||
<li>
|
||||
<strong>AI:</strong> NLP-модели для обработки запросов,
|
||||
рекомендательные системы
|
||||
</li>
|
||||
<li><strong>DevOps:</strong> Docker, Kubernetes, Yandex Cloud</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<p>© 2024 ЯлАрба. Все права защищены.</p>
|
||||
<p>Контакты: gaziz.valitov@yalarba.travel</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
body {
|
||||
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background-color: #f5f7fa;
|
||||
}
|
||||
header {
|
||||
background-color: #1e88e5;
|
||||
color: white;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 30px;
|
||||
text-align: center;
|
||||
}
|
||||
h1 {
|
||||
margin: 0;
|
||||
font-size: 2.2em;
|
||||
}
|
||||
h2 {
|
||||
color: #1e88e5;
|
||||
border-bottom: 2px solid #1e88e5;
|
||||
padding-bottom: 5px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.developer {
|
||||
background-color: #e3f2fd;
|
||||
padding: 15px;
|
||||
border-radius: 8px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.roadmap {
|
||||
background-color: white;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.phase {
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 20px;
|
||||
border-bottom: 1px dashed #ccc;
|
||||
}
|
||||
.phase:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
footer {
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
color: #666;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
build:
|
||||
npm run build
|
||||
|
||||
run:
|
||||
npm run dev
|
||||
|
||||
deploy:
|
||||
npm run build
|
||||
git add .
|
||||
git commit -m 'build deploy'
|
||||
git push
|
||||
|
||||
.DEFAULT_GOAL := run
|
||||
@@ -0,0 +1,24 @@
|
||||
### Есть задания для фрилансеров. Каждое задание 1000 рублей.
|
||||
|
||||
1. Задача настроить авторизацию через coocky no javaScript.
|
||||
2. Хранение состояния через vuex.
|
||||
3. Создать Makefile для работы со сборкой деплоем.
|
||||
|
||||
|
||||
## Project Setup
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
### Compile and Hot-Reload for Development
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### Compile and Minify for Production
|
||||
|
||||
```sh
|
||||
npm run build
|
||||
```
|
||||
@@ -0,0 +1,30 @@
|
||||
Выбор шрифтов и размеров для мобильных устройств и десктопа зависит от множества факторов, таких как целевая аудитория, дизайн сайта/приложения и цели использования. Тем не менее, есть несколько общих рекомендаций, которые помогут обеспечить хорошую читаемость текста на разных устройствах.
|
||||
|
||||
### Шрифты
|
||||
|
||||
#### Для мобильных устройств:
|
||||
- **Roboto**: Один из самых популярных шрифтов для Android. Он имеет четкий и чистый вид, хорошо подходит для чтения на небольших экранах.
|
||||
- **San Francisco**: Стандартный шрифт для iOS. Хорошо сбалансирован и удобен для чтения.
|
||||
- **Open Sans**: Универсальный шрифт, который отлично смотрится на любых устройствах благодаря своей нейтральной стилистике.
|
||||
|
||||
#### Для десктопных устройств:
|
||||
- **Georgia**: Классический шрифт с засечками, который идеально подходит для длинных текстов. Обеспечивает комфортное чтение даже на больших экранах.
|
||||
- **Lato**: Современный шрифт без засечек, легкий и элегантный. Подходит для заголовков и основного текста.
|
||||
- **Merriweather**: Отличный выбор для длинных статей и блогов. Имеет хорошие пропорции и контрастность.
|
||||
|
||||
### Размеры шрифта
|
||||
|
||||
#### Мобильные устройства:
|
||||
- **Основной текст**: 16px–18px. Это оптимальный размер для комфортного чтения на маленьких экранах.
|
||||
- **Заголовки**: 20px–24px для h2, 18px–22px для h3, 16px–20px для h4.
|
||||
|
||||
#### Десктопные устройства:
|
||||
- **Основной текст**: 18px–20px. Такой размер обеспечивает удобство чтения на больших экранах.
|
||||
- **Заголовки**: 28px–32px для h2, 24px–28px для h3, 20px–24px для h4.
|
||||
|
||||
### Дополнительные советы:
|
||||
- Используйте **относительные единицы измерения** (em, rem) вместо абсолютных (px), чтобы шрифт масштабировался вместе с изменением размера экрана.
|
||||
- Следите за **межстрочным интервалом** (line-height). Оптимальное значение — около 1.5–1.6 для основного текста.
|
||||
- Убедитесь, что у вас достаточно **контраста между текстом и фоном**. Черный текст на белом фоне — классический пример хорошего сочетания.
|
||||
|
||||
Эти рекомендации помогут создать удобный интерфейс как для мобильных пользователей, так и для тех, кто работает за компьютером.
|
||||
@@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/src/components/images/YalArbaLogo300.png">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/src/assets/main.css">
|
||||
<title>YalArba</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
},
|
||||
"exclude": ["node_modules", "dist"],
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"name": "spa",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.7.9",
|
||||
"body-parser": "^1.20.3",
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.21.2",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"pg": "^8.13.1",
|
||||
"pinia": "^2.3.1",
|
||||
"vue": "^3.5.13",
|
||||
"vue-i18n": "^11.1.0",
|
||||
"vue-material-design-icons": "^5.3.1",
|
||||
"vue-router": "^4.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vitejs/plugin-vue": "^5.2.1",
|
||||
"vite": "^6.0.5",
|
||||
"vite-plugin-vue-devtools": "^7.6.8"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<script setup>
|
||||
import { RouterLink, RouterView } from 'vue-router'
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="main">
|
||||
<RouterView />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -0,0 +1,23 @@
|
||||
/* Светлая тема (по умолчанию) */
|
||||
:root {
|
||||
--background-color: #ffffff;
|
||||
--text-color: #1c1d1d;
|
||||
--light-dark-background-color: #ffffff;
|
||||
--light-dark-text-color: #273f2c;
|
||||
--disabled-backgroud-color: rgba(23, 62, 31, 0.281);
|
||||
--button-text-color: #bac677;
|
||||
--disabled-dark-background-color: rgba(55, 64, 62, 0.2);
|
||||
--button-dark-background-color: #3cbf40;
|
||||
--light-dark-background-color: #8cd68f;
|
||||
}
|
||||
|
||||
/* Темная тема */
|
||||
[data-theme="dark"] {
|
||||
--background-color: #282828;
|
||||
--text-color: #3cb756;
|
||||
--light-dark-background-color: #4e5e49;
|
||||
--light-dark-text-color: #59f37b;
|
||||
--disabled-dark-background-color: rgba(159, 193, 185, 0.2);
|
||||
--button-dark-background-color: #395e3a;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
@font-face {
|
||||
font-family: 'OpenSansVariableFont';
|
||||
src: url('./fonts/Open_Sans/hinted-OpenSans-Regular.ttf') format('truetype-variations'),
|
||||
url('./fonts/Open_Sans/OpenSans-Regular.woff') format('woff'),
|
||||
url('./fonts/Open_Sans/OpenSans-Regular.woff2') format('woff2');
|
||||
font-weight: 100 900;
|
||||
font-stretch: 50% 200%;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'OpenSansItalicVariableFont';
|
||||
src: url('./fonts/Open_Sans/hinted-OpenSans-Italic.ttf') format('truetype-variations'),
|
||||
url('./fonts/Open_Sans/OpenSans-Italic.woff') format('woff'),
|
||||
url('./fonts/Open_Sans/OpenSans-Italic.woff2') format('woff2');
|
||||
font-style: italic;
|
||||
font-weight: 100 900;
|
||||
font-stretch: 50% 200%;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'RobotoVariableFont';
|
||||
src: url('./fonts/Roboto/hinted-Roboto-Regular.ttf') format('truetype-variations'),
|
||||
url('./fonts/Roboto/Roboto-Regular.woff') format('woff'),
|
||||
url('./fonts/Roboto/Roboto-Regular.woff2') format('woff2');
|
||||
font-weight: 100 900;
|
||||
font-stretch: 50% 200%;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'RobotoItalicVarFont';
|
||||
src: url('./fonts/Roboto/hinted-Roboto-Italic.ttf') format('truetype-variations'),
|
||||
url('./fonts/Roboto/Roboto-Italic.woff') format('woff'),
|
||||
url('./fonts/Roboto/Roboto-Italic.woff2') format('woff2');
|
||||
font-style: italic;
|
||||
font-weight: 100 900;
|
||||
font-stretch: 50% 200%;
|
||||
}
|
||||
|
||||
:root {
|
||||
--font-primary: 'OpenSansVariableFont', Arial, sans-serif;
|
||||
--font-secondary: 'RobotoItalicVarFont', Arial, sans-serif;
|
||||
|
||||
--weight-light: 300;
|
||||
--weight-normal: 400;
|
||||
--weight-bold: 700;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--font-primary);
|
||||
font-weight: var(--weight-normal);
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
font-family: var(--font-secondary);
|
||||
font-weight: var(--weight-light);
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
Copyright 2020 The Open Sans Project Authors (https://github.com/googlefonts/opensans)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,100 @@
|
||||
Open Sans Variable Font
|
||||
=======================
|
||||
|
||||
This download contains Open Sans as both variable fonts and static fonts.
|
||||
|
||||
Open Sans is a variable font with these axes:
|
||||
wdth
|
||||
wght
|
||||
|
||||
This means all the styles are contained in these files:
|
||||
OpenSans-VariableFont_wdth,wght.ttf
|
||||
OpenSans-Italic-VariableFont_wdth,wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Open Sans:
|
||||
static/OpenSans_Condensed-Light.ttf
|
||||
static/OpenSans_Condensed-Regular.ttf
|
||||
static/OpenSans_Condensed-Medium.ttf
|
||||
static/OpenSans_Condensed-SemiBold.ttf
|
||||
static/OpenSans_Condensed-Bold.ttf
|
||||
static/OpenSans_Condensed-ExtraBold.ttf
|
||||
static/OpenSans_SemiCondensed-Light.ttf
|
||||
static/OpenSans_SemiCondensed-Regular.ttf
|
||||
static/OpenSans_SemiCondensed-Medium.ttf
|
||||
static/OpenSans_SemiCondensed-SemiBold.ttf
|
||||
static/OpenSans_SemiCondensed-Bold.ttf
|
||||
static/OpenSans_SemiCondensed-ExtraBold.ttf
|
||||
static/OpenSans-Light.ttf
|
||||
static/OpenSans-Regular.ttf
|
||||
static/OpenSans-Medium.ttf
|
||||
static/OpenSans-SemiBold.ttf
|
||||
static/OpenSans-Bold.ttf
|
||||
static/OpenSans-ExtraBold.ttf
|
||||
static/OpenSans_Condensed-LightItalic.ttf
|
||||
static/OpenSans_Condensed-Italic.ttf
|
||||
static/OpenSans_Condensed-MediumItalic.ttf
|
||||
static/OpenSans_Condensed-SemiBoldItalic.ttf
|
||||
static/OpenSans_Condensed-BoldItalic.ttf
|
||||
static/OpenSans_Condensed-ExtraBoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed-LightItalic.ttf
|
||||
static/OpenSans_SemiCondensed-Italic.ttf
|
||||
static/OpenSans_SemiCondensed-MediumItalic.ttf
|
||||
static/OpenSans_SemiCondensed-SemiBoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed-BoldItalic.ttf
|
||||
static/OpenSans_SemiCondensed-ExtraBoldItalic.ttf
|
||||
static/OpenSans-LightItalic.ttf
|
||||
static/OpenSans-Italic.ttf
|
||||
static/OpenSans-MediumItalic.ttf
|
||||
static/OpenSans-SemiBoldItalic.ttf
|
||||
static/OpenSans-BoldItalic.ttf
|
||||
static/OpenSans-ExtraBoldItalic.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them in your products & projects – print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||
|
After Width: | Height: | Size: 460 KiB |
|
After Width: | Height: | Size: 406 KiB |
@@ -0,0 +1,93 @@
|
||||
Copyright 2011 The Roboto Project Authors (https://github.com/googlefonts/roboto-classic)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
@@ -0,0 +1,118 @@
|
||||
Roboto Variable Font
|
||||
====================
|
||||
|
||||
This download contains Roboto as both variable fonts and static fonts.
|
||||
|
||||
Roboto is a variable font with these axes:
|
||||
wdth
|
||||
wght
|
||||
|
||||
This means all the styles are contained in these files:
|
||||
Roboto-VariableFont_wdth,wght.ttf
|
||||
Roboto-Italic-VariableFont_wdth,wght.ttf
|
||||
|
||||
If your app fully supports variable fonts, you can now pick intermediate styles
|
||||
that aren’t available as static fonts. Not all apps support variable fonts, and
|
||||
in those cases you can use the static font files for Roboto:
|
||||
static/Roboto_Condensed-Thin.ttf
|
||||
static/Roboto_Condensed-ExtraLight.ttf
|
||||
static/Roboto_Condensed-Light.ttf
|
||||
static/Roboto_Condensed-Regular.ttf
|
||||
static/Roboto_Condensed-Medium.ttf
|
||||
static/Roboto_Condensed-SemiBold.ttf
|
||||
static/Roboto_Condensed-Bold.ttf
|
||||
static/Roboto_Condensed-ExtraBold.ttf
|
||||
static/Roboto_Condensed-Black.ttf
|
||||
static/Roboto_SemiCondensed-Thin.ttf
|
||||
static/Roboto_SemiCondensed-ExtraLight.ttf
|
||||
static/Roboto_SemiCondensed-Light.ttf
|
||||
static/Roboto_SemiCondensed-Regular.ttf
|
||||
static/Roboto_SemiCondensed-Medium.ttf
|
||||
static/Roboto_SemiCondensed-SemiBold.ttf
|
||||
static/Roboto_SemiCondensed-Bold.ttf
|
||||
static/Roboto_SemiCondensed-ExtraBold.ttf
|
||||
static/Roboto_SemiCondensed-Black.ttf
|
||||
static/Roboto-Thin.ttf
|
||||
static/Roboto-ExtraLight.ttf
|
||||
static/Roboto-Light.ttf
|
||||
static/Roboto-Regular.ttf
|
||||
static/Roboto-Medium.ttf
|
||||
static/Roboto-SemiBold.ttf
|
||||
static/Roboto-Bold.ttf
|
||||
static/Roboto-ExtraBold.ttf
|
||||
static/Roboto-Black.ttf
|
||||
static/Roboto_Condensed-ThinItalic.ttf
|
||||
static/Roboto_Condensed-ExtraLightItalic.ttf
|
||||
static/Roboto_Condensed-LightItalic.ttf
|
||||
static/Roboto_Condensed-Italic.ttf
|
||||
static/Roboto_Condensed-MediumItalic.ttf
|
||||
static/Roboto_Condensed-SemiBoldItalic.ttf
|
||||
static/Roboto_Condensed-BoldItalic.ttf
|
||||
static/Roboto_Condensed-ExtraBoldItalic.ttf
|
||||
static/Roboto_Condensed-BlackItalic.ttf
|
||||
static/Roboto_SemiCondensed-ThinItalic.ttf
|
||||
static/Roboto_SemiCondensed-ExtraLightItalic.ttf
|
||||
static/Roboto_SemiCondensed-LightItalic.ttf
|
||||
static/Roboto_SemiCondensed-Italic.ttf
|
||||
static/Roboto_SemiCondensed-MediumItalic.ttf
|
||||
static/Roboto_SemiCondensed-SemiBoldItalic.ttf
|
||||
static/Roboto_SemiCondensed-BoldItalic.ttf
|
||||
static/Roboto_SemiCondensed-ExtraBoldItalic.ttf
|
||||
static/Roboto_SemiCondensed-BlackItalic.ttf
|
||||
static/Roboto-ThinItalic.ttf
|
||||
static/Roboto-ExtraLightItalic.ttf
|
||||
static/Roboto-LightItalic.ttf
|
||||
static/Roboto-Italic.ttf
|
||||
static/Roboto-MediumItalic.ttf
|
||||
static/Roboto-SemiBoldItalic.ttf
|
||||
static/Roboto-BoldItalic.ttf
|
||||
static/Roboto-ExtraBoldItalic.ttf
|
||||
static/Roboto-BlackItalic.ttf
|
||||
|
||||
Get started
|
||||
-----------
|
||||
|
||||
1. Install the font files you want to use
|
||||
|
||||
2. Use your app's font picker to view the font family and all the
|
||||
available styles
|
||||
|
||||
Learn more about variable fonts
|
||||
-------------------------------
|
||||
|
||||
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
|
||||
https://variablefonts.typenetwork.com
|
||||
https://medium.com/variable-fonts
|
||||
|
||||
In desktop apps
|
||||
|
||||
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
|
||||
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
|
||||
|
||||
Online
|
||||
|
||||
https://developers.google.com/fonts/docs/getting_started
|
||||
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
|
||||
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
|
||||
|
||||
Installing fonts
|
||||
|
||||
MacOS: https://support.apple.com/en-us/HT201749
|
||||
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
|
||||
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
|
||||
|
||||
Android Apps
|
||||
|
||||
https://developers.google.com/fonts/docs/android
|
||||
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
|
||||
|
||||
License
|
||||
-------
|
||||
Please read the full license text (OFL.txt) to understand the permissions,
|
||||
restrictions and requirements for usage, redistribution, and modification.
|
||||
|
||||
You can use them in your products & projects – print or digital,
|
||||
commercial or otherwise.
|
||||
|
||||
This isn't legal advice, please consider consulting a lawyer and see the full
|
||||
license for all details.
|
||||
|
After Width: | Height: | Size: 657 KiB |
|
After Width: | Height: | Size: 636 KiB |