{"id":932,"date":"2022-11-18T18:07:02","date_gmt":"2022-11-18T15:07:02","guid":{"rendered":"https:\/\/webcademy.ru\/blog\/?p=932"},"modified":"2022-11-18T18:09:46","modified_gmt":"2022-11-18T15:09:46","slug":"%d0%b0%d0%b4%d0%b0%d0%bf%d1%82%d0%b8%d0%b2%d0%bd%d0%b0%d1%8f-%d0%b2%d0%b5%d1%80%d1%81%d1%82%d0%ba%d0%b0-%d1%81%d0%b0%d0%b9%d1%82%d0%b0-freelancer-portfolio-%d1%82%d0%b5%d0%bc%d0%bd%d0%b0%d1%8f-%d1%82","status":"publish","type":"post","link":"https:\/\/webcademy.ru\/blog\/932\/","title":{"rendered":"\u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0442\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 Freelancer Portfolio. \u0422\u0435\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u043d\u0430 JS, CSS \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, GitHub Pages"},"content":{"rendered":"\n<p>\u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f HTML \u0432\u0435\u0440\u0441\u0442\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 \u043f\u043e\u0440\u0442\u0444\u043e\u043b\u0438\u043e \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u043d\u0430 HTML \u0438 CSS. \u041c\u043e\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0442\u043a\u0430, \u043c\u0435\u0434\u0438\u0430\u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0422\u0435\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u043d\u0430 CSS \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 JavaScript. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c. \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u0432 localStorage. \u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 GitHub Pages.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0443\u0440\u043e\u043a\u0443:<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.figma.com\/file\/tMOSNDbDEyMmcirz6cQ6WE\/React-Simple-Portfolio?node-id=2203%3A191&amp;t=QYBELmwM3Dy7vnVq-1\" target=\"_blank\">\u041c\u0430\u043a\u0435\u0442 \u0432 Figma<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/webcademy.ru\/blog\/739\/\" target=\"_blank\">\u0421\u0431\u0440\u043e\u0441 \u0441\u0442\u0438\u043b\u0435\u0439 reset.css<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/fonts.google.com\/\" target=\"_blank\">\u0428\u0440\u0438\u0444\u0442\u044b Google Fonts<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">JS \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u044b <\/h2>\n\n\n\n<div class=\"wp-block-codemirror-blocks-code-block code-block\"><pre class=\"CodeMirror\" data-setting=\"{&quot;showPanel&quot;:true,&quot;languageLabel&quot;:false,&quot;fullScreenButton&quot;:true,&quot;copyButton&quot;:true,&quot;mode&quot;:&quot;javascript&quot;,&quot;mime&quot;:&quot;text\/ecmascript&quot;,&quot;theme&quot;:&quot;material&quot;,&quot;lineNumbers&quot;:true,&quot;styleActiveLine&quot;:true,&quot;lineWrapping&quot;:false,&quot;readOnly&quot;:true,&quot;fileName&quot;:&quot;&quot;,&quot;language&quot;:&quot;JavaScript&quot;,&quot;maxHeight&quot;:&quot;400px&quot;,&quot;modeName&quot;:&quot;js&quot;}\">const btnDarkMode = document.querySelector(&quot;.dark-mode-btn&quot;);\n\n\/\/ 1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a\nif (window.matchMedia &amp;&amp; window.matchMedia(&quot;(prefers-color-scheme: dark)&quot;).matches ) {\n    btnDarkMode.classList.add(&quot;dark-mode-btn--active&quot;);\n\tdocument.body.classList.add(&quot;dark&quot;);\n}\n\n\/\/ 2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u0432 localStorage\nif (localStorage.getItem('darkMode') === 'dark') {\n    btnDarkMode.classList.add(&quot;dark-mode-btn--active&quot;);\n    document.body.classList.add(&quot;dark&quot;);\n} else if (localStorage.getItem(&quot;darkMode&quot;) === &quot;light&quot;) {\n    btnDarkMode.classList.remove(&quot;dark-mode-btn--active&quot;);\n    document.body.classList.remove(&quot;dark&quot;);\n}\n\n\/\/ \u0415\u0441\u043b\u0438 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043c\u0435\u043d\u044f\u0435\u043c \u0442\u0435\u043c\u0443\nwindow\n    .matchMedia(&quot;(prefers-color-scheme: dark)&quot;)\n    .addEventListener(&quot;change&quot;, (event) =&gt; {\n        const newColorScheme = event.matches ? &quot;dark&quot; : &quot;light&quot;;\n\n        if (newColorScheme === &quot;dark&quot;) {\n\t\t\tbtnDarkMode.classList.add(&quot;dark-mode-btn--active&quot;);\n\t\t\tdocument.body.classList.add(&quot;dark&quot;);\n\t\t\tlocalStorage.setItem(&quot;darkMode&quot;, &quot;dark&quot;);\n\t\t} else {\n\t\t\tbtnDarkMode.classList.remove(&quot;dark-mode-btn--active&quot;);\n\t\t\tdocument.body.classList.remove(&quot;dark&quot;);\n\t\t\tlocalStorage.setItem(&quot;darkMode&quot;, &quot;light&quot;);\n\t\t}\n    });\n\n\/\/ \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435\nbtnDarkMode.onclick = function () {\n    btnDarkMode.classList.toggle(&quot;dark-mode-btn--active&quot;);\n    const isDark = document.body.classList.toggle(&quot;dark&quot;);\n\n    if (isDark) {\n        localStorage.setItem(&quot;darkMode&quot;, &quot;dark&quot;);\n    } else {\n        localStorage.setItem(&quot;darkMode&quot;, &quot;light&quot;);\n    }\n};<\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u0413\u043e\u0442\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 \u0441 \u0443\u0440\u043e\u043a\u0430<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/rightblogru\/freelanceportfolio\" target=\"_blank\">GitHub \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/rightblogru.github.io\/freelanceportfolio\/index.html\" target=\"_blank\">\u0414\u0435\u043c\u043e \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u0412\u0438\u0434\u0435\u043e \u0443\u0440\u043e\u043a<\/h2>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"HTML CSS \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f \u0412\u0435\u0440\u0441\u0442\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 Freelance Portfolio\" width=\"730\" height=\"411\" src=\"https:\/\/www.youtube.com\/embed\/tYdnepSqtNE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f HTML \u0432\u0435\u0440\u0441\u0442\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 \u043f\u043e\u0440\u0442\u0444\u043e\u043b\u0438\u043e \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432 \u043d\u0430 HTML \u0438 CSS. \u041c\u043e\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0442\u043a\u0430, \u043c\u0435\u0434\u0438\u0430\u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0422\u0435\u043c\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u043d\u0430 CSS \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 JavaScript. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u043f\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c. \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u043c\u044b \u0432 localStorage. \u041f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 GitHub Pages. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u043a \u0443\u0440\u043e\u043a\u0443: \u041c\u0430\u043a\u0435\u0442 \u0432 Figma \u0421\u0431\u0440\u043e\u0441 \u0441\u0442\u0438\u043b\u0435\u0439 reset.css \u0428\u0440\u0438\u0444\u0442\u044b Google Fonts JS \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0438 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":933,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,8,16],"tags":[25,24,28,27,26],"class_list":["post-932","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-html","category-javascript","category-16","tag-css-","tag-html","tag-js","tag-27","tag-26"],"_links":{"self":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts\/932"}],"collection":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/comments?post=932"}],"version-history":[{"count":0,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/posts\/932\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/media\/933"}],"wp:attachment":[{"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/media?parent=932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/categories?post=932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webcademy.ru\/blog\/wp-json\/wp\/v2\/tags?post=932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}