diff --git a/README.md b/README.md index 367d63c..792adc7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # devthread.ru + [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -[![Netlify Status](https://api.netlify.com/api/v1/badges/bde70986-e5af-4e69-b62c-ff0ed4b76401/deploy-status)](https://app.netlify.com/sites/devthread/deploys) \ No newline at end of file +[![Netlify Status](https://api.netlify.com/api/v1/badges/bde70986-e5af-4e69-b62c-ff0ed4b76401/deploy-status)](https://app.netlify.com/sites/devthread/deploys) diff --git a/config.js b/config.js index 8878f75..5a17fa7 100644 --- a/config.js +++ b/config.js @@ -1,38 +1,40 @@ module.exports = { - title: 'devthread.ru', - keywords: 'веб разработка, javascript, seo, программирование, reactjs, graphql', - siteName: 'Cборник статей и руководств - devthread.ru', - titleTemplate: '%s · статьи и руководства по веб-разработке', - description: 'Cборник статей и руководств по тематике веб-разработки и IT для того чтобы помочь вам', - url: 'https://devthread.netlify.app', + title: "devthread.ru", + keywords: + "веб разработка, javascript, seo, программирование, reactjs, graphql", + siteName: "Cборник статей и руководств - devthread.ru", + titleTemplate: "%s · статьи и руководства по веб-разработке", + description: + "Cборник статей и руководств по тематике веб-разработки и IT для того чтобы помочь вам", + url: "https://devthread.netlify.app", menuLinks: [ { - name: 'Статьи', - link: '/articles' + name: "Статьи", + link: "/articles", }, { - name: 'О сайте', - link: '/about' + name: "О сайте", + link: "/about", }, { - name: 'Контакты', - link: '/contacts' + name: "Контакты", + link: "/contacts", }, { - name: 'Сниппеты', - link: '/snippets' - } + name: "Сниппеты", + link: "/snippets", + }, ], social: { - email: 'support@devthread.ru', - telegram: 'https://t.me/devthread', - twitter: 'https://twitter.com/devthread', - yadzen: 'https://zen.yandex.ru/' + email: "support@devthread.ru", + telegram: "https://t.me/devthread", + twitter: "https://twitter.com/devthread", + yadzen: "https://zen.yandex.ru/", }, options: { articles: { onPage: 6, - onLoadMore: 2 - } - } -} \ No newline at end of file + onLoadMore: 2, + }, + }, +} diff --git a/content/articles/2020-07-02-second-article.md b/content/articles/2020-07-02-second-article.md index 7dad730..ba02bb5 100644 --- a/content/articles/2020-07-02-second-article.md +++ b/content/articles/2020-07-02-second-article.md @@ -20,11 +20,13 @@ tags: - graphql - reactjs --- + ## this is second article Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + - Nunc non fermentum ligula? - Nunc non fermentum ligula? - Nunc non fermentum ligula? @@ -38,13 +40,13 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligu ![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) ```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} ``` ## List diff --git a/content/articles/2020-07-02-test-art.md b/content/articles/2020-07-02-test-art.md index cb6cc8e..462177c 100644 --- a/content/articles/2020-07-02-test-art.md +++ b/content/articles/2020-07-02-test-art.md @@ -20,17 +20,18 @@ tags: - graphql - reactjs --- + ## Lorem ipsum dolor Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. Lorem ipsum dolor sit amet, consectetur adipiscing elit. -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. @@ -39,17 +40,17 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligu ![wallpaper](/assets/javascript.png) ```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} ``` ## List 1. First 2. Second -3. Third \ No newline at end of file +3. Third diff --git a/content/articles/2020-07-03-third-article.md b/content/articles/2020-07-03-third-article.md index a359598..aa783f6 100644 --- a/content/articles/2020-07-03-third-article.md +++ b/content/articles/2020-07-03-third-article.md @@ -19,35 +19,37 @@ description: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do tags: - javascript --- -## Lorem ipsum dolor - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## Lorem ipsum dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/2020-07-04-fourth-article.md b/content/articles/2020-07-04-fourth-article.md index b571e8c..593b4fa 100644 --- a/content/articles/2020-07-04-fourth-article.md +++ b/content/articles/2020-07-04-fourth-article.md @@ -22,36 +22,37 @@ tags: - javascript - graphql --- -## Lorem ipsum dolor - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](/assets/javascript.png) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## Lorem ipsum dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](/assets/javascript.png) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/2020-07-21_test-article.md b/content/articles/2020-07-21_test-article.md index 65ffc38..84214f0 100644 --- a/content/articles/2020-07-21_test-article.md +++ b/content/articles/2020-07-21_test-article.md @@ -19,41 +19,49 @@ tags: - graphql - reactjs --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - const { siteMetadata: { title, menuLinks, social: { twitter, telegram } } } = useSiteMetadataQuery() //L1 - const [isScrolled, setIsScrolled] = React.useState(false) - const [isMobileOpen, setIsMobileOpen] = React.useState(false) - const [isDark, setIsDark] = React.useState(false) - - React.useEffect(() => { - setIsDark(window.__isDarkTheme) - isMobileOpen - ? document.body.style.overflowY = 'hidden' - : document.body.style.overflowY = '' - document.body.onscroll = () => - window.pageYOffset >= 100 ? setIsScrolled(true) : setIsScrolled(false) - }, [setIsDark, isMobileOpen]) -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +const { + siteMetadata: { + title, + menuLinks, + social: { twitter, telegram }, + }, +} = useSiteMetadataQuery() //L1 +const [isScrolled, setIsScrolled] = React.useState(false) +const [isMobileOpen, setIsMobileOpen] = React.useState(false) +const [isDark, setIsDark] = React.useState(false) + +React.useEffect(() => { + setIsDark(window.__isDarkTheme) + isMobileOpen + ? (document.body.style.overflowY = "hidden") + : (document.body.style.overflowY = "") + document.body.onscroll = () => + window.pageYOffset >= 100 ? setIsScrolled(true) : setIsScrolled(false) +}, [setIsDark, isMobileOpen]) +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-10.md b/content/articles/статья-10.md index c048e1c..b4269ea 100644 --- a/content/articles/статья-10.md +++ b/content/articles/статья-10.md @@ -18,35 +18,37 @@ description: |- tags: - reactjs --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-11.md b/content/articles/статья-11.md index cc1df7f..1bd4d2d 100644 --- a/content/articles/статья-11.md +++ b/content/articles/статья-11.md @@ -19,35 +19,37 @@ tags: - reactjs - javascript --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-12.md b/content/articles/статья-12.md index a5dddc0..be850d7 100644 --- a/content/articles/статья-12.md +++ b/content/articles/статья-12.md @@ -1,59 +1,67 @@ ---- -templateKey: article -slug: article-12 -keywords: - - art -time: "4" -title: Статья 12 -popular: true -image: /assets/reactjs.jpg -category: Новости -date: 2020-07-14T20:22:30.393Z -description: |- - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do - eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim - veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea - commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit - esse cillum dolore eu fugiat nulla pariatur. -tags: - - reactjs - - javascript ---- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - const { siteMetadata: { title, menuLinks, social: { twitter, telegram } } } = useSiteMetadataQuery() //L1 - const [isScrolled, setIsScrolled] = React.useState(false) - const [isMobileOpen, setIsMobileOpen] = React.useState(false) - const [isDark, setIsDark] = React.useState(false) - - React.useEffect(() => { - setIsDark(window.__isDarkTheme) - isMobileOpen - ? document.body.style.overflowY = 'hidden' - : document.body.style.overflowY = '' - document.body.onscroll = () => - window.pageYOffset >= 100 ? setIsScrolled(true) : setIsScrolled(false) - }, [setIsDark, isMobileOpen]) -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file +--- +templateKey: article +slug: article-12 +keywords: + - art +time: "4" +title: Статья 12 +popular: true +image: /assets/reactjs.jpg +category: Новости +date: 2020-07-14T20:22:30.393Z +description: |- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim + veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea + commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit + esse cillum dolore eu fugiat nulla pariatur. +tags: + - reactjs + - javascript +--- + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +const { + siteMetadata: { + title, + menuLinks, + social: { twitter, telegram }, + }, +} = useSiteMetadataQuery() //L1 +const [isScrolled, setIsScrolled] = React.useState(false) +const [isMobileOpen, setIsMobileOpen] = React.useState(false) +const [isDark, setIsDark] = React.useState(false) + +React.useEffect(() => { + setIsDark(window.__isDarkTheme) + isMobileOpen + ? (document.body.style.overflowY = "hidden") + : (document.body.style.overflowY = "") + document.body.onscroll = () => + window.pageYOffset >= 100 ? setIsScrolled(true) : setIsScrolled(false) +}, [setIsDark, isMobileOpen]) +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-8.md b/content/articles/статья-8.md index 7fbb708..d5027c9 100644 --- a/content/articles/статья-8.md +++ b/content/articles/статья-8.md @@ -20,35 +20,37 @@ tags: - javascript - graphql --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-9.md b/content/articles/статья-9.md index 54f4aed..1378f9c 100644 --- a/content/articles/статья-9.md +++ b/content/articles/статья-9.md @@ -20,35 +20,37 @@ tags: - javascript - graphql --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-пять.md b/content/articles/статья-пять.md index 9d75a6d..ac4a6ce 100644 --- a/content/articles/статья-пять.md +++ b/content/articles/статья-пять.md @@ -21,35 +21,37 @@ tags: - javascript - graphql --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-семь.md b/content/articles/статья-семь.md index 37e3b0a..bcf29f5 100644 --- a/content/articles/статья-семь.md +++ b/content/articles/статья-семь.md @@ -20,35 +20,37 @@ tags: - javascript - graphql --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/articles/статья-шесть.md b/content/articles/статья-шесть.md index 61caccf..f944c22 100644 --- a/content/articles/статья-шесть.md +++ b/content/articles/статья-шесть.md @@ -20,35 +20,37 @@ tags: - javascript - graphql --- -## this is second article - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? -- Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## this is second article + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](https://wallpaperplay.com/walls/full/2/9/7/164604.jpg) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/snippets/first-snippet-1.md b/content/snippets/first-snippet-1.md index d953760..cef33dd 100644 --- a/content/snippets/first-snippet-1.md +++ b/content/snippets/first-snippet-1.md @@ -13,36 +13,37 @@ tags: description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. --- -## Lorem ipsum dolor - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](/assets/javascript.png) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## Lorem ipsum dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](/assets/javascript.png) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/snippets/first-snippet.md b/content/snippets/first-snippet.md index 41abd3c..186f5f4 100644 --- a/content/snippets/first-snippet.md +++ b/content/snippets/first-snippet.md @@ -13,36 +13,37 @@ tags: description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. --- -## Lorem ipsum dolor - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](/assets/javascript.png) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## Lorem ipsum dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](/assets/javascript.png) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/content/snippets/third-snippet.md b/content/snippets/third-snippet.md index 87c0a09..f18dc09 100644 --- a/content/snippets/third-snippet.md +++ b/content/snippets/third-snippet.md @@ -13,36 +13,37 @@ tags: description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. --- -## Lorem ipsum dolor - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. - -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? -* Nunc non fermentum ligula? - -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. - -![wallpaper](/assets/javascript.png) - -```js - module.exports = { - plugins: [ - { - resolve: `plugin` - } - ] - } -``` - -## List - -1. First -2. Second -3. Third \ No newline at end of file + +## Lorem ipsum dolor + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. + +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? +- Nunc non fermentum ligula? + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc non fermentum ligula. Aenean et ex nec magna faucibus congue eu ac justo. Cras malesuada diam lectus, vitae feugiat nulla condimentum id. Duis interdum sodales eros ornare mattis. Nunc id viverra ante. Maecenas suscipit est sed rhoncus condimentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur vehicula risus nisi, quis hendrerit magna tincidunt eu. Phasellus fringilla accumsan viverra. Mauris a cursus orci. + +![wallpaper](/assets/javascript.png) + +```js +module.exports = { + plugins: [ + { + resolve: `plugin`, + }, + ], +} +``` + +## List + +1. First +2. Second +3. Third diff --git a/gatsby-browser.js b/gatsby-browser.js index de51aac..c6f7993 100644 --- a/gatsby-browser.js +++ b/gatsby-browser.js @@ -1,29 +1,27 @@ -import 'firebase/database'; +import "firebase/database" -import 'gatsby-remark-vscode/styles.css' +import "gatsby-remark-vscode/styles.css" -import './src/styles/global.scss' -import './src/components/Header/Header.scss' -import './src/components/About/About.scss' -import './src/components/Offers/Offers.scss' -import './src/components/Articles/Articles.scss' -import './src/components/Articles/ArticleCard/ArticleCard.scss' -import './src/components/Newsletter/Newsletter.scss' -import './src/components/Article/Article.scss' -import './src/components/Snippet/Snippet.scss' -import './src/components/Snippets/Snippets.scss' -import './src/components/Articles/MoreArticles/MoreArticles.scss' -import './src/components/Books/Books.scss' -import './src/components/Contacts/Contacts.scss' -import './src/components/Footer/Footer.scss' +import "./src/styles/global.scss" +import "./src/components/Header/Header.scss" +import "./src/components/About/About.scss" +import "./src/components/Offers/Offers.scss" +import "./src/components/Articles/Articles.scss" +import "./src/components/Articles/ArticleCard/ArticleCard.scss" +import "./src/components/Newsletter/Newsletter.scss" +import "./src/components/Article/Article.scss" +import "./src/components/Snippet/Snippet.scss" +import "./src/components/Snippets/Snippets.scss" +import "./src/components/Articles/MoreArticles/MoreArticles.scss" +import "./src/components/Books/Books.scss" +import "./src/components/Contacts/Contacts.scss" +import "./src/components/Footer/Footer.scss" -export const shouldUpdateScroll = ({ - routerProps: { location } -}) => { +export const shouldUpdateScroll = ({ routerProps: { location } }) => { const { pathname } = location - const stopScrollLinks = ['/articles/'] + const stopScrollLinks = ["/articles/"] if (stopScrollLinks.includes(pathname)) return false return window.scrollTo(0, 0) -} \ No newline at end of file +} diff --git a/gatsby-config.js b/gatsby-config.js index df151df..3960e64 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -1,19 +1,19 @@ -require('dotenv').config() +require("dotenv").config() -const siteConfig = require('./config') +const siteConfig = require("./config") module.exports = { siteMetadata: { - ...siteConfig + ...siteConfig, }, plugins: [ - 'gatsby-plugin-react-helmet', - 'gatsby-plugin-sass', + "gatsby-plugin-react-helmet", + "gatsby-plugin-sass", { - resolve: 'gatsby-source-filesystem', + resolve: "gatsby-source-filesystem", options: { path: `${__dirname}/static/assets`, - name: 'assets', + name: "assets", }, }, { @@ -40,7 +40,7 @@ module.exports = { }, }, { - resolve: 'gatsby-plugin-firebase', + resolve: "gatsby-plugin-firebase", options: { credentials: { apiKey: process.env.API_KEY, @@ -61,7 +61,7 @@ module.exports = { }, }, "gatsby-plugin-sharp", - "gatsby-transformer-sharp", + "gatsby-transformer-sharp", { resolve: `gatsby-transformer-remark`, options: { @@ -69,8 +69,8 @@ module.exports = { { resolve: `gatsby-remark-relative-images`, options: { - name: "assets" - } + name: "assets", + }, }, { resolve: `gatsby-remark-images`, @@ -89,41 +89,41 @@ module.exports = { removeAccents: true, isIconAfterHeader: true, elements: [`h1`, `h2`, `h3`, `h4`], - } + }, }, { resolve: `gatsby-remark-vscode`, options: { - extensions: ['material-theme'], + extensions: ["material-theme"], theme: { - default: 'Light+ (default light)', + default: "Light+ (default light)", parentSelector: { - 'body.dark': 'One Dark Pro' - } + "body.dark": "One Dark Pro", + }, }, - } - } - ] - } - } + }, + }, + ], + }, + }, ], }, }, { - resolve: 'gatsby-plugin-react-svg', + resolve: "gatsby-plugin-react-svg", options: { rule: { - include: /images/ - } - } + include: /images/, + }, + }, }, { - resolve: 'gatsby-source-filesystem', + resolve: "gatsby-source-filesystem", options: { - name: 'content', - path: `${__dirname}/content` - } + name: "content", + path: `${__dirname}/content`, + }, }, - 'gatsby-plugin-netlify-cms', + "gatsby-plugin-netlify-cms", ], } diff --git a/gatsby-node.esm.js b/gatsby-node.esm.js index 9a1963a..92f3edf 100644 --- a/gatsby-node.esm.js +++ b/gatsby-node.esm.js @@ -1,14 +1,14 @@ -import slugify from './src/helpers/slugify' -import { fmImagesToRelative } from 'gatsby-remark-relative-images' -import path from 'path' +import slugify from "./src/helpers/slugify" +import { fmImagesToRelative } from "gatsby-remark-relative-images" +import path from "path" exports.createPages = async ({ actions, graphql }) => { const { createPage } = actions - const articleTemplate = path.resolve('src/templates/articleTemplate.js') - const snippetTemplate = path.resolve('src/templates/snippetTemplate.js') - const categoryTemplate = path.resolve('src/templates/categoryTemplate.js') - const tagTemplate = path.resolve('src/templates/tagTemplate.js') + const articleTemplate = path.resolve("src/templates/articleTemplate.js") + const snippetTemplate = path.resolve("src/templates/snippetTemplate.js") + const categoryTemplate = path.resolve("src/templates/categoryTemplate.js") + const tagTemplate = path.resolve("src/templates/tagTemplate.js") const result = await graphql( ` @@ -24,7 +24,7 @@ exports.createPages = async ({ actions, graphql }) => { } } } - } + } ` ) @@ -33,19 +33,25 @@ exports.createPages = async ({ actions, graphql }) => { } const all = result.data.allMarkdownRemark.edges - const articles = all.filter(article => article.node.frontmatter.templateKey === 'article') - const snippets = all.filter(snippet => snippet.node.frontmatter.templateKey === 'snippet') - const categories = all.filter(category => category.node.frontmatter.templateKey === 'category') - const tags = all.filter(tag => tag.node.frontmatter.templateKey === 'tag') + const articles = all.filter( + article => article.node.frontmatter.templateKey === "article" + ) + const snippets = all.filter( + snippet => snippet.node.frontmatter.templateKey === "snippet" + ) + const categories = all.filter( + category => category.node.frontmatter.templateKey === "category" + ) + const tags = all.filter(tag => tag.node.frontmatter.templateKey === "tag") articles.forEach(({ node }) => { createPage({ path: `article/${node.frontmatter.slug}`, component: articleTemplate, context: { - slug: node.frontmatter.slug + slug: node.frontmatter.slug, }, - }); + }) }) snippets.forEach(({ node }) => { @@ -53,7 +59,7 @@ exports.createPages = async ({ actions, graphql }) => { path: `snippet/${node.frontmatter.slug}`, component: snippetTemplate, context: { - slug: node.frontmatter.slug + slug: node.frontmatter.slug, }, }) }) @@ -63,9 +69,9 @@ exports.createPages = async ({ actions, graphql }) => { path: `category/${slugify(node.frontmatter.title)}`, component: categoryTemplate, context: { - title: node.frontmatter.title + title: node.frontmatter.title, }, - }); + }) }) tags.forEach(({ node }) => { @@ -73,12 +79,12 @@ exports.createPages = async ({ actions, graphql }) => { path: `tag/${slugify(node.frontmatter.title)}`, component: tagTemplate, context: { - title: node.frontmatter.title - } + title: node.frontmatter.title, + }, }) }) } exports.onCreateNode = ({ node }) => { - fmImagesToRelative(node); -}; + fmImagesToRelative(node) +} diff --git a/gatsby-node.js b/gatsby-node.js index 20728a7..972a09e 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -1,2 +1,2 @@ -require = require('esm')(module) -module.exports = require('./gatsby-node.esm.js') \ No newline at end of file +require = require("esm")(module) +module.exports = require("./gatsby-node.esm.js") diff --git a/gatsby-ssr.js b/gatsby-ssr.js index 0ee8679..c98faee 100644 --- a/gatsby-ssr.js +++ b/gatsby-ssr.js @@ -1,10 +1,11 @@ -import React from 'react'; -import 'firebase/database'; +import React from "react" +import "firebase/database" const OnDark = () => { return ( ) @@ -75,6 +90,5 @@ SEO.propTypes = { description: PropTypes.string, image: PropTypes.string, type: PropTypes.string, - canonical: PropTypes.string + canonical: PropTypes.string, } - diff --git a/src/components/Snippet/Snippet.js b/src/components/Snippet/Snippet.js index 1418544..f98a5bb 100644 --- a/src/components/Snippet/Snippet.js +++ b/src/components/Snippet/Snippet.js @@ -1,33 +1,34 @@ -import React from 'react'; -import PropTypes from 'prop-types' -import SEO from '../SEO/SEO' +import React from "react" +import PropTypes from "prop-types" +import SEO from "../SEO/SEO" const Snippet = ({ data: { keywords, description, title, date }, html }) => { return ( <> - +
-
- {date} -
+
{date}

{title}

-

- {description} -

+

{description}

-
+

Комментарии

-
-
+
@@ -42,7 +43,7 @@ Snippet.propTypes = { keywords: PropTypes.array, title: PropTypes.string, description: PropTypes.string, - date: PropTypes.string + date: PropTypes.string, }), - html: PropTypes.string -} \ No newline at end of file + html: PropTypes.string, +} diff --git a/src/components/Snippets/SnippetItem/SnippetItem.js b/src/components/Snippets/SnippetItem/SnippetItem.js index 371740d..28211f0 100644 --- a/src/components/Snippets/SnippetItem/SnippetItem.js +++ b/src/components/Snippets/SnippetItem/SnippetItem.js @@ -1,13 +1,11 @@ -import React from 'react'; -import { Link } from 'gatsby' +import React from "react" +import { Link } from "gatsby" const SnippetItem = ({ slug, title, date, tags }) => { return ( -
+
-
- {date} -
+
{date}
{title}
@@ -15,7 +13,9 @@ const SnippetItem = ({ slug, title, date, tags }) => {
{tags.map((tag, i) => ( -
{tag}
+
+ {tag} +
))}
@@ -23,4 +23,4 @@ const SnippetItem = ({ slug, title, date, tags }) => { ) } -export default SnippetItem \ No newline at end of file +export default SnippetItem diff --git a/src/components/Snippets/Snippets.js b/src/components/Snippets/Snippets.js index 4a7edfd..ffe2096 100644 --- a/src/components/Snippets/Snippets.js +++ b/src/components/Snippets/Snippets.js @@ -1,11 +1,7 @@ -import React from 'react'; +import React from "react" const Snippets = ({ children }) => { - return ( -
- {children} -
- ) + return
{children}
} -export default Snippets \ No newline at end of file +export default Snippets diff --git a/src/components/ViewCounter/ViewCounter.js b/src/components/ViewCounter/ViewCounter.js index 6405cd3..fabb33c 100644 --- a/src/components/ViewCounter/ViewCounter.js +++ b/src/components/ViewCounter/ViewCounter.js @@ -1,36 +1,32 @@ -import React, { useEffect, useState } from 'react'; -import PropTypes from 'prop-types' -import firebase from 'gatsby-plugin-firebase'; -import incrementViews from '../../lib/increment-views'; +import React, { useEffect, useState } from "react" +import PropTypes from "prop-types" +import firebase from "gatsby-plugin-firebase" +import incrementViews from "../../lib/increment-views" const ViewCounter = ({ id }) => { - const [viewCount, setViewCount] = useState(''); + const [viewCount, setViewCount] = useState("") useEffect(() => { - const onViews = (newViews) => { - setViewCount(newViews.val() === 1 ? 0 : newViews.val()); - }; + const onViews = newViews => { + setViewCount(newViews.val() === 1 ? 0 : newViews.val()) + } - incrementViews(id); + incrementViews(id) - firebase.database().ref(`/views`).child(id).on(`value`, onViews); + firebase.database().ref(`/views`).child(id).on(`value`, onViews) return () => { if (firebase.database()) { - firebase.database().ref(`/views`).child(id).off(`value`, onViews); + firebase.database().ref(`/views`).child(id).off(`value`, onViews) } - }; - }, [id]); + } + }, [id]) - return ( - - {viewCount ? viewCount : `---`} - - ); -}; + return {viewCount ? viewCount : `---`} +} -export default ViewCounter; +export default ViewCounter ViewCounter.propTypes = { - id: PropTypes.string -} \ No newline at end of file + id: PropTypes.string, +} diff --git a/src/helpers/slugify.js b/src/helpers/slugify.js index f198d55..72095e1 100644 --- a/src/helpers/slugify.js +++ b/src/helpers/slugify.js @@ -1,8 +1,8 @@ const slugify = str => { const patterns = { - rus: /^[0-9а-яё-\s]*$/i + rus: /^[0-9а-яё-\s]*$/i, } - + const translit = str => { if (str.match(patterns.rus)) { const ru = { @@ -35,33 +35,33 @@ const slugify = str => { ы: "y", э: "e", ю: "u", - я: "ya" + я: "ya", }, - newStr = []; - + newStr = [] + for (var i = 0; i < str.length; ++i) { const candidate = str[i].toLowerCase() - + if (ru[candidate]) { - newStr.push(ru[candidate]); + newStr.push(ru[candidate]) } - - if (candidate === '-' || !isNaN(candidate)) { + + if (candidate === "-" || !isNaN(candidate)) { newStr.push(candidate) } } - - return newStr.join(""); + + return newStr.join("") } - - return 'not rus' + + return "not rus" } if (str.match(patterns.rus)) { - return translit(str).split(' ').join('-').toLowerCase() + return translit(str).split(" ").join("-").toLowerCase() } - return str.split(' ').join('-').toLowerCase() -}; + return str.split(" ").join("-").toLowerCase() +} -export default slugify \ No newline at end of file +export default slugify diff --git a/src/helpers/toFrontmatter.js b/src/helpers/toFrontmatter.js index b6239d3..20146ca 100644 --- a/src/helpers/toFrontmatter.js +++ b/src/helpers/toFrontmatter.js @@ -3,11 +3,11 @@ const toFrontmatter = array => { edges: array.map(el => { return { node: { - frontmatter: el - } + frontmatter: el, + }, } - }) + }), } } -export default toFrontmatter \ No newline at end of file +export default toFrontmatter diff --git a/src/hooks/useCategoriesQuery.js b/src/hooks/useCategoriesQuery.js index ed37f91..8476f44 100644 --- a/src/hooks/useCategoriesQuery.js +++ b/src/hooks/useCategoriesQuery.js @@ -1,9 +1,13 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const useCategoriesQuery = () => { - const { allMarkdownRemark: { edges } } = useStaticQuery(graphql` + const { + allMarkdownRemark: { edges }, + } = useStaticQuery(graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "category"}}}) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "category" } } } + ) { edges { node { frontmatter { @@ -17,4 +21,4 @@ const useCategoriesQuery = () => { return { categories: edges } } -export default useCategoriesQuery \ No newline at end of file +export default useCategoriesQuery diff --git a/src/hooks/useMoreArticlesQuery.js b/src/hooks/useMoreArticlesQuery.js index 450edeb..de49d06 100644 --- a/src/hooks/useMoreArticlesQuery.js +++ b/src/hooks/useMoreArticlesQuery.js @@ -1,9 +1,15 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const useMoreArticlesQuery = () => { - const { allMarkdownRemark: { edges } } = useStaticQuery(graphql` + const { + allMarkdownRemark: { edges }, + } = useStaticQuery(graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "article"}}}, sort: {order: DESC, fields: frontmatter___date}, limit: 6) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "article" } } } + sort: { order: DESC, fields: frontmatter___date } + limit: 6 + ) { edges { node { frontmatter { @@ -28,4 +34,4 @@ const useMoreArticlesQuery = () => { return { edges } } -export default useMoreArticlesQuery \ No newline at end of file +export default useMoreArticlesQuery diff --git a/src/hooks/usePopularArticlesQuery.js b/src/hooks/usePopularArticlesQuery.js index e05618f..ead3402 100644 --- a/src/hooks/usePopularArticlesQuery.js +++ b/src/hooks/usePopularArticlesQuery.js @@ -1,9 +1,17 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const usePopularArticlesQuery = () => { - const { allMarkdownRemark: { edges } } = useStaticQuery(graphql` + const { + allMarkdownRemark: { edges }, + } = useStaticQuery(graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "article"}, popular: {eq: true}}}, sort: {fields: frontmatter___date, order: DESC}, limit: 5) { + allMarkdownRemark( + filter: { + frontmatter: { templateKey: { eq: "article" }, popular: { eq: true } } + } + sort: { fields: frontmatter___date, order: DESC } + limit: 5 + ) { edges { node { frontmatter { @@ -18,4 +26,4 @@ const usePopularArticlesQuery = () => { return { articles: edges } } -export default usePopularArticlesQuery \ No newline at end of file +export default usePopularArticlesQuery diff --git a/src/hooks/useSiteMetadataQuery.js b/src/hooks/useSiteMetadataQuery.js index d48232d..aca1445 100644 --- a/src/hooks/useSiteMetadataQuery.js +++ b/src/hooks/useSiteMetadataQuery.js @@ -1,7 +1,9 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const useSiteMetadata = () => { - const { site: { siteMetadata } } = useStaticQuery(graphql` + const { + site: { siteMetadata }, + } = useStaticQuery(graphql` { site { siteMetadata { @@ -34,4 +36,4 @@ const useSiteMetadata = () => { return { siteMetadata } } -export default useSiteMetadata \ No newline at end of file +export default useSiteMetadata diff --git a/src/hooks/useSnippetsQuery.js b/src/hooks/useSnippetsQuery.js index cbc8c10..5244782 100644 --- a/src/hooks/useSnippetsQuery.js +++ b/src/hooks/useSnippetsQuery.js @@ -1,9 +1,14 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const useSnippetsQuery = () => { - const { allMarkdownRemark: { edges } } = useStaticQuery(graphql` + const { + allMarkdownRemark: { edges }, + } = useStaticQuery(graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "snippet"}}}, sort: {order: DESC, fields: frontmatter___date}) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "snippet" } } } + sort: { order: DESC, fields: frontmatter___date } + ) { edges { node { frontmatter { @@ -22,4 +27,4 @@ const useSnippetsQuery = () => { return { snippets: edges } } -export default useSnippetsQuery \ No newline at end of file +export default useSnippetsQuery diff --git a/src/hooks/useTagsQuery.js b/src/hooks/useTagsQuery.js index 6f92170..788b6c0 100644 --- a/src/hooks/useTagsQuery.js +++ b/src/hooks/useTagsQuery.js @@ -1,9 +1,13 @@ -import { useStaticQuery, graphql } from 'gatsby' +import { useStaticQuery, graphql } from "gatsby" const useTagsQuery = () => { - const { allMarkdownRemark: { edges } } = useStaticQuery(graphql` + const { + allMarkdownRemark: { edges }, + } = useStaticQuery(graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "tag"}}}) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "tag" } } } + ) { edges { node { frontmatter { @@ -17,4 +21,4 @@ const useTagsQuery = () => { return { tags: edges } } -export default useTagsQuery \ No newline at end of file +export default useTagsQuery diff --git a/src/lib/increment-views.js b/src/lib/increment-views.js index 42d7d59..5f67da2 100644 --- a/src/lib/increment-views.js +++ b/src/lib/increment-views.js @@ -1,9 +1,9 @@ -import firebase from 'gatsby-plugin-firebase'; +import firebase from "gatsby-plugin-firebase" const incrementViews = async id => { - const ref = firebase.database().ref(`/views`).child(id); + const ref = firebase.database().ref(`/views`).child(id) ref.transaction(currentViews => currentViews + 1) } -export default incrementViews; \ No newline at end of file +export default incrementViews diff --git a/src/pages/404.js b/src/pages/404.js index b4c96c4..2d07f8f 100644 --- a/src/pages/404.js +++ b/src/pages/404.js @@ -1,9 +1,9 @@ -import React from 'react'; -import { Main } from '../ui/ui' -import { Grid } from 'react-flexbox-grid' -import { Link } from 'gatsby' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' +import React from "react" +import { Main } from "../ui/ui" +import { Grid } from "react-flexbox-grid" +import { Link } from "gatsby" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" const NotFound = () => { return ( @@ -14,7 +14,7 @@ const NotFound = () => {
#404

страница не найдена

- вернуться на главную + вернуться на главную
@@ -22,4 +22,4 @@ const NotFound = () => { ) } -export default NotFound \ No newline at end of file +export default NotFound diff --git a/src/pages/about.js b/src/pages/about.js index a43423c..469c6e9 100644 --- a/src/pages/about.js +++ b/src/pages/about.js @@ -1,22 +1,33 @@ -import React from 'react'; -import { Grid, Row, Col } from 'react-flexbox-grid' -import { Main } from '../ui/ui' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Offers from '../components/Offers/Offers' -import About from '../components/About/About' +import React from "react" +import { Grid, Row, Col } from "react-flexbox-grid" +import { Main } from "../ui/ui" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Offers from "../components/Offers/Offers" +import About from "../components/About/About" const AboutPage = () => { - const { siteMetadata: { title, menuLinks, social } } = useSiteMetadataQuery() + const { + siteMetadata: { title, menuLinks, social }, + } = useSiteMetadataQuery() return ( - +
- page.link === '/about')[0].name} social={social} /> + page.link === "/about")[0].name + } + social={social} + /> @@ -28,4 +39,4 @@ const AboutPage = () => { ) } -export default AboutPage \ No newline at end of file +export default AboutPage diff --git a/src/pages/articles.js b/src/pages/articles.js index 044e9a8..6a80ef0 100644 --- a/src/pages/articles.js +++ b/src/pages/articles.js @@ -1,51 +1,71 @@ import React from "react" -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import { graphql } from 'gatsby' -import { useLocation } from '@reach/router' -import * as queryString from 'query-string' -import useCategoriesQuery from '../hooks/useCategoriesQuery' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import { graphql } from "gatsby" +import { useLocation } from "@reach/router" +import * as queryString from "query-string" +import useCategoriesQuery from "../hooks/useCategoriesQuery" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Articles from '../components/Articles/Articles' -import Categories from '../components/Articles/Categories/Categories' -import CategoryItem from '../components/Articles/Categories/CategoryItem' -import Search from '../components/Articles/Search/Search' -import Offers from '../components/Offers/Offers' +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Articles from "../components/Articles/Articles" +import Categories from "../components/Articles/Categories/Categories" +import CategoryItem from "../components/Articles/Categories/CategoryItem" +import Search from "../components/Articles/Search/Search" +import Offers from "../components/Offers/Offers" -import SearchIcon from '../images/search-icon.svg' +import SearchIcon from "../images/search-icon.svg" -const ArticlesPage = ({ data: { allMarkdownRemark: edges }, }) => { +const ArticlesPage = ({ data: { allMarkdownRemark: edges } }) => { const { categories } = useCategoriesQuery() - const { siteMetadata: { options: { articles: { onPage } } } } = useSiteMetadataQuery() + const { + siteMetadata: { + options: { + articles: { onPage }, + }, + }, + } = useSiteMetadataQuery() const { search } = useLocation() - + let [limit, setLimit] = React.useState(onPage) const [filtredArticles, setFiltredArticles] = React.useState([]) - const [query, setQuery] = React.useState(queryString.parse(search).search || '') - + const [query, setQuery] = React.useState( + queryString.parse(search).search || "" + ) + const allArticles = edges - const filterArticles = React.useCallback(arr => { - return arr.filter(({ node: { frontmatter } }) => - frontmatter.title.toLowerCase().includes(query.toLowerCase().trim()) - || frontmatter.description.toLowerCase().includes(query.toLowerCase().trim()) - || frontmatter.category.toLowerCase().includes(query.toLowerCase().trim()) - || frontmatter.tags.join('').toLowerCase().includes(query.toLowerCase().trim()) - ) - }, [query]) - + const filterArticles = React.useCallback( + arr => { + return arr.filter( + ({ node: { frontmatter } }) => + frontmatter.title + .toLowerCase() + .includes(query.toLowerCase().trim()) || + frontmatter.description + .toLowerCase() + .includes(query.toLowerCase().trim()) || + frontmatter.category + .toLowerCase() + .includes(query.toLowerCase().trim()) || + frontmatter.tags + .join("") + .toLowerCase() + .includes(query.toLowerCase().trim()) + ) + }, + [query] + ) React.useEffect(() => { setLimit(onPage) - if (query !== '') setFiltredArticles(filterArticles(allArticles.edges)) + if (query !== "") setFiltredArticles(filterArticles(allArticles.edges)) }, [setFiltredArticles, filterArticles, allArticles.edges, query, onPage]) return ( - +
@@ -55,25 +75,51 @@ const ArticlesPage = ({ data: { allMarkdownRemark: edges }, }) => {

Статьи

- {categories.map(({ node }, i) => )} + {categories.map(({ node }, i) => ( + + ))} - +
- {query && query !== '' ? filtredArticles.length === 0 ?

  Ничего не найдено

: null : null} + {query && query !== "" ? ( + filtredArticles.length === 0 ? ( +

+ +   Ничего не найдено +

+ ) : null + ) : null}
- {query && query !== '' - ? filtredArticles.length > 0 ? : null - : - } - + {query && query !== "" ? ( + filtredArticles.length > 0 ? ( + + ) : null + ) : ( + + )} + - - + + @@ -83,7 +129,9 @@ const ArticlesPage = ({ data: { allMarkdownRemark: edges }, }) => { export const query = graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "article"}}}) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "article" } } } + ) { edges { node { frontmatter { @@ -103,7 +151,7 @@ export const query = graphql` } } } - } + } ` export default ArticlesPage diff --git a/src/pages/contacts.js b/src/pages/contacts.js index 415f140..e115652 100644 --- a/src/pages/contacts.js +++ b/src/pages/contacts.js @@ -1,16 +1,23 @@ -import React from 'react'; -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Contacts from '../components/Contacts/Contacts' +import React from "react" +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Contacts from "../components/Contacts/Contacts" const ContactsPage = () => { - const { siteMetadata: { social: { email, telegram } } } = useSiteMetadataQuery() + const { + siteMetadata: { + social: { email, telegram }, + }, + } = useSiteMetadataQuery() return ( - +
@@ -24,4 +31,4 @@ const ContactsPage = () => { ) } -export default ContactsPage \ No newline at end of file +export default ContactsPage diff --git a/src/pages/index.js b/src/pages/index.js index a157bb4..fecf601 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,18 +1,24 @@ import React from "react" -import { Link, graphql } from 'gatsby' -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' -import useSnippetsQuery from '../hooks/useSnippetsQuery' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Articles from '../components/Articles/Articles' -import Snippets from '../components/Snippets/Snippets' -import SnippetItem from '../components/Snippets/SnippetItem/SnippetItem' -import Offers from '../components/Offers/Offers' +import { Link, graphql } from "gatsby" +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" +import useSnippetsQuery from "../hooks/useSnippetsQuery" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Articles from "../components/Articles/Articles" +import Snippets from "../components/Snippets/Snippets" +import SnippetItem from "../components/Snippets/SnippetItem/SnippetItem" +import Offers from "../components/Offers/Offers" const IndexPage = ({ data: { allMarkdownRemark: edges } }) => { - const { siteMetadata: { options: { articles: { onPage } } } } = useSiteMetadataQuery() + const { + siteMetadata: { + options: { + articles: { onPage }, + }, + }, + } = useSiteMetadataQuery() const { snippets } = useSnippetsQuery() let [limit, setLimit] = React.useState(onPage) @@ -26,29 +32,29 @@ const IndexPage = ({ data: { allMarkdownRemark: edges } }) => {

Последние статьи

- смотреть все + смотреть все
- +

Сниппеты

- {snippets.map(({ node: { frontmatter } }, i) => - ( + - )} + ))}
- +
@@ -59,7 +65,10 @@ const IndexPage = ({ data: { allMarkdownRemark: edges } }) => { export const query = graphql` { - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "article"}}}, sort: {order: DESC, fields: frontmatter___date}) { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "article" } } } + sort: { order: DESC, fields: frontmatter___date } + ) { edges { node { frontmatter { @@ -79,7 +88,7 @@ export const query = graphql` } } } - } + } ` export default IndexPage diff --git a/src/pages/snippets.js b/src/pages/snippets.js index 6b2f5fc..dbf3c85 100644 --- a/src/pages/snippets.js +++ b/src/pages/snippets.js @@ -1,13 +1,17 @@ import React from "react" import { graphql } from "gatsby" -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Snippets from '../components/Snippets/Snippets' -import SnippetItem from '../components/Snippets/SnippetItem/SnippetItem' +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Snippets from "../components/Snippets/Snippets" +import SnippetItem from "../components/Snippets/SnippetItem/SnippetItem" -const SnippetsPage = ({ data: { allMarkdownRemark: { snippets } } }) => { +const SnippetsPage = ({ + data: { + allMarkdownRemark: { snippets }, + }, +}) => { return ( @@ -17,16 +21,19 @@ const SnippetsPage = ({ data: { allMarkdownRemark: { snippets } } }) => {

Сниппеты

-

Сниппеты это готовые решения некоторых проблем, которые можно скопировать и вставить

- {snippets.map(({ node: { frontmatter } }, i) => - + Сниппеты это готовые решения некоторых проблем, которые можно + скопировать и вставить +

+ {snippets.map(({ node: { frontmatter } }, i) => ( + - )} + ))}
@@ -37,21 +44,24 @@ const SnippetsPage = ({ data: { allMarkdownRemark: { snippets } } }) => { } export const query = graphql` -{ - allMarkdownRemark(filter: {frontmatter: {templateKey: {eq: "snippet"}}}, sort: {order: DESC, fields: frontmatter___date}) { - snippets: edges { - node { - frontmatter { - slug - title - tags - description - date(formatString: "D MMMM YYYY", locale: "ru-RU") + { + allMarkdownRemark( + filter: { frontmatter: { templateKey: { eq: "snippet" } } } + sort: { order: DESC, fields: frontmatter___date } + ) { + snippets: edges { + node { + frontmatter { + slug + title + tags + description + date(formatString: "D MMMM YYYY", locale: "ru-RU") + } } } } } -} ` export default SnippetsPage diff --git a/src/templates/articleTemplate.js b/src/templates/articleTemplate.js index 3c2d747..73ba898 100644 --- a/src/templates/articleTemplate.js +++ b/src/templates/articleTemplate.js @@ -1,14 +1,18 @@ -import React from 'react' -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import Layout from '../components/Layout/Layout' -import Article from '../components/Article/Article' -import Offers from '../components/Offers/Offers' -import MoreArticles from '../components/Articles/MoreArticles/MoreArticles' -import Newsletter from '../components/Newsletter/Newsletter' +import React from "react" +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import Layout from "../components/Layout/Layout" +import Article from "../components/Article/Article" +import Offers from "../components/Offers/Offers" +import MoreArticles from "../components/Articles/MoreArticles/MoreArticles" +import Newsletter from "../components/Newsletter/Newsletter" import { graphql } from "gatsby" -const articleTemplate = ({ data: { markdownRemark: { frontmatter, html } } }) => { +const articleTemplate = ({ + data: { + markdownRemark: { frontmatter, html }, + }, +}) => { return (
@@ -31,7 +35,7 @@ const articleTemplate = ({ data: { markdownRemark: { frontmatter, html } } }) => export const pageQuery = graphql` query Article($slug: String!) { - markdownRemark(frontmatter: {slug: {eq: $slug}}) { + markdownRemark(frontmatter: { slug: { eq: $slug } }) { html frontmatter { slug @@ -54,4 +58,4 @@ export const pageQuery = graphql` } ` -export default articleTemplate \ No newline at end of file +export default articleTemplate diff --git a/src/templates/categoryTemplate.js b/src/templates/categoryTemplate.js index 110c945..5511dff 100644 --- a/src/templates/categoryTemplate.js +++ b/src/templates/categoryTemplate.js @@ -1,19 +1,29 @@ import React from "react" -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import { graphql } from 'gatsby' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' -import useCategoriesQuery from '../hooks/useCategoriesQuery' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Articles from '../components/Articles/Articles' -import Categories from '../components/Articles/Categories/Categories' -import CategoryItem from '../components/Articles/Categories/CategoryItem' -import Offers from '../components/Offers/Offers' +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import { graphql } from "gatsby" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" +import useCategoriesQuery from "../hooks/useCategoriesQuery" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Articles from "../components/Articles/Articles" +import Categories from "../components/Articles/Categories/Categories" +import CategoryItem from "../components/Articles/Categories/CategoryItem" +import Offers from "../components/Offers/Offers" -const CategoryPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title } }) => { +const CategoryPage = ({ + data: { allMarkdownRemark: edges }, + pageContext: { title }, +}) => { const { categories } = useCategoriesQuery() - const { siteMetadata: { siteUrl, options: { articles: { onPage } } } } = useSiteMetadataQuery() + const { + siteMetadata: { + siteUrl, + options: { + articles: { onPage }, + }, + }, + } = useSiteMetadataQuery() let [limit, setLimit] = React.useState(onPage) @@ -26,23 +36,29 @@ const CategoryPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title
-

Категория: {title}

+

+ Категория: {title} +

- {categories.map(({ node }, i) => )} + {categories.map(({ node }, i) => ( + + ))}
-

Найдено {edges.edges.length} из категории "{title}"

+

+ Найдено {edges.edges.length} из категории "{title}" +

- + - + @@ -53,7 +69,14 @@ const CategoryPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title export const pageQuery = graphql` query articlesByCategory($title: String!) { - allMarkdownRemark(filter: {frontmatter: {category: {eq: $title}, templateKey: {eq: "article"}}}) { + allMarkdownRemark( + filter: { + frontmatter: { + category: { eq: $title } + templateKey: { eq: "article" } + } + } + ) { edges { node { frontmatter { diff --git a/src/templates/snippetTemplate.js b/src/templates/snippetTemplate.js index 1284833..4d52143 100644 --- a/src/templates/snippetTemplate.js +++ b/src/templates/snippetTemplate.js @@ -1,11 +1,15 @@ -import React from 'react' -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import Snippet from '../components/Snippet/Snippet' -import Layout from '../components/Layout/Layout' +import React from "react" +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import Snippet from "../components/Snippet/Snippet" +import Layout from "../components/Layout/Layout" import { graphql } from "gatsby" -const snippetTemplate = ({ data: { markdownRemark: { frontmatter, html } } }) => { +const snippetTemplate = ({ + data: { + markdownRemark: { frontmatter, html }, + }, +}) => { return (
@@ -23,7 +27,9 @@ const snippetTemplate = ({ data: { markdownRemark: { frontmatter, html } } }) => export const pageQuery = graphql` query Snippet($slug: String!) { - markdownRemark(frontmatter: {slug: {eq: $slug}, templateKey: {eq: "snippet"}}) { + markdownRemark( + frontmatter: { slug: { eq: $slug }, templateKey: { eq: "snippet" } } + ) { html frontmatter { slug @@ -36,4 +42,4 @@ export const pageQuery = graphql` } ` -export default snippetTemplate \ No newline at end of file +export default snippetTemplate diff --git a/src/templates/tagTemplate.js b/src/templates/tagTemplate.js index 29a77c8..adf48de 100644 --- a/src/templates/tagTemplate.js +++ b/src/templates/tagTemplate.js @@ -1,20 +1,30 @@ import React from "react" -import { Main } from '../ui/ui' -import { Grid, Row, Col } from 'react-flexbox-grid' -import { graphql } from 'gatsby' -import useSiteMetadataQuery from '../hooks/useSiteMetadataQuery' -import useCategoriesQuery from '../hooks/useCategoriesQuery' -import SEO from '../components/SEO/SEO' -import Layout from '../components/Layout/Layout' -import Articles from '../components/Articles/Articles' -import Categories from '../components/Articles/Categories/Categories' -import CategoryItem from '../components/Articles/Categories/CategoryItem' -import Offers from '../components/Offers/Offers' +import { Main } from "../ui/ui" +import { Grid, Row, Col } from "react-flexbox-grid" +import { graphql } from "gatsby" +import useSiteMetadataQuery from "../hooks/useSiteMetadataQuery" +import useCategoriesQuery from "../hooks/useCategoriesQuery" +import SEO from "../components/SEO/SEO" +import Layout from "../components/Layout/Layout" +import Articles from "../components/Articles/Articles" +import Categories from "../components/Articles/Categories/Categories" +import CategoryItem from "../components/Articles/Categories/CategoryItem" +import Offers from "../components/Offers/Offers" -const TagPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title } }) => { +const TagPage = ({ + data: { allMarkdownRemark: edges }, + pageContext: { title }, +}) => { const { categories } = useCategoriesQuery() - const { siteMetadata: { siteUrl, options: { articles: { onPage } } } } = useSiteMetadataQuery() - + const { + siteMetadata: { + siteUrl, + options: { + articles: { onPage }, + }, + }, + } = useSiteMetadataQuery() + let [limit, setLimit] = React.useState(onPage) return ( @@ -26,23 +36,29 @@ const TagPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title } })
-

Тэг: {title}

+

+ Тэг: {title} +

- {categories.map(({ node }, i) => )} + {categories.map(({ node }, i) => ( + + ))}
-

Найдено {edges.edges.length} по тегу "{title}"

+

+ Найдено {edges.edges.length} по тегу "{title}" +

- + - + @@ -53,7 +69,11 @@ const TagPage = ({ data: { allMarkdownRemark: edges }, pageContext: { title } }) export const pageQuery = graphql` query articlesByTag($title: [String!]) { - allMarkdownRemark(filter: {frontmatter: {tags: {in: $title}, templateKey: {eq: "article"}}}) { + allMarkdownRemark( + filter: { + frontmatter: { tags: { in: $title }, templateKey: { eq: "article" } } + } + ) { edges { node { frontmatter { diff --git a/src/ui/ui.js b/src/ui/ui.js index c066aef..2f46c9f 100644 --- a/src/ui/ui.js +++ b/src/ui/ui.js @@ -1,12 +1,7 @@ -import React from 'react'; +import React from "react" const Main = ({ children, ...props }) => { - return ( -
- {children} -
- ) + return
{children}
} - -export { Main } \ No newline at end of file +export { Main }