├── src
├── common
│ ├── UIElements
│ │ ├── embeds
│ │ │ └── index.js
│ │ ├── markdownRenderer
│ │ │ ├── index.js
│ │ │ ├── CustomCode.jsx
│ │ │ └── MarkdownRenderer.jsx
│ │ ├── index.js
│ │ ├── ErrorBox.jsx
│ │ ├── TagCard.jsx
│ │ ├── Searchbar.jsx
│ │ ├── SnippetCard.jsx
│ │ ├── CategoryCard.jsx
│ │ ├── SocialShareLinks.jsx
│ │ └── ArticleCard.jsx
│ ├── components
│ │ ├── misc
│ │ │ ├── index.js
│ │ │ ├── Banner.jsx
│ │ │ ├── Comment.jsx
│ │ │ └── Newsletter.jsx
│ │ ├── footer
│ │ │ ├── CopyrightNotice.jsx
│ │ │ └── Footer.jsx
│ │ └── navbar
│ │ │ ├── Navbar.jsx
│ │ │ └── SearchResultsDisplay.jsx
│ └── utils
│ │ ├── schemaMarkup
│ │ ├── index.js
│ │ ├── BreadcrumbSchemaMarkup.jsx
│ │ └── ArticleSchemaMarkup.jsx
│ │ ├── index.js
│ │ ├── cloudinary.js
│ │ ├── apolloClient.js
│ │ ├── Analytics.jsx
│ │ ├── AdSense.jsx
│ │ └── SEO.jsx
├── components
│ ├── supportMe
│ │ ├── components
│ │ │ ├── index.js
│ │ │ └── KofiWidget.jsx
│ │ └── SupportMePage.jsx
│ ├── post
│ │ ├── components
│ │ │ ├── index.js
│ │ │ ├── MoreArticles.jsx
│ │ │ └── Post.jsx
│ │ └── PostPage.jsx
│ ├── snippet
│ │ ├── components
│ │ │ ├── index.js
│ │ │ ├── MoreSnippets.jsx
│ │ │ └── Snippet.jsx
│ │ └── SnippetPage.jsx
│ ├── search
│ │ ├── components
│ │ │ ├── index.js
│ │ │ ├── SearchPageHeader.jsx
│ │ │ └── SearchPageBody.jsx
│ │ ├── queries.js
│ │ └── SearchPage.jsx
│ ├── home
│ │ ├── components
│ │ │ ├── index.js
│ │ │ ├── LatestSnippets.jsx
│ │ │ ├── LatestArticles.jsx
│ │ │ └── Hero.jsx
│ │ └── HomePage.jsx
│ └── externalArticles
│ │ ├── ExternalArticlesPage.jsx
│ │ └── ExternalArticleCard.jsx
├── assets
│ ├── fonts
│ │ └── Alliance2.ttf
│ └── icons
│ │ ├── index.js
│ │ ├── CircleIcon.js
│ │ └── MyOnePostIcon.js
├── styles
│ └── globals.css
├── theme
│ ├── Fonts.jsx
│ └── index.js
├── pages
│ ├── _app.js
│ ├── _document.js
│ ├── support-me.js
│ ├── tags
│ │ └── index.js
│ ├── categories
│ │ └── index.js
│ ├── snippets
│ │ ├── index.js
│ │ └── [snippetSlug].js
│ ├── index.js
│ ├── articles
│ │ └── index.js
│ ├── external-articles.js
│ ├── legal
│ │ └── [legalSlug].js
│ └── [postSlug].js
└── data
│ ├── cookie-policy.md
│ ├── terms-and-conditions.md
│ └── privacy-policy.md
├── .yarnrc.yml
├── .eslintrc.json
├── giscus.json
├── public
├── ads.txt
├── favicon.ico
├── apple-icon.png
├── robots.txt
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon-96x96.png
├── ms-icon-70x70.png
├── apple-icon-57x57.png
├── apple-icon-60x60.png
├── apple-icon-72x72.png
├── apple-icon-76x76.png
├── home-page-light.png
├── ms-icon-144x144.png
├── ms-icon-150x150.png
├── ms-icon-310x310.png
├── post-page-light.png
├── android-icon-36x36.png
├── android-icon-48x48.png
├── android-icon-72x72.png
├── android-icon-96x96.png
├── apple-icon-114x114.png
├── apple-icon-120x120.png
├── apple-icon-144x144.png
├── apple-icon-152x152.png
├── apple-icon-180x180.png
├── search-page-light.png
├── snippet-page-light.png
├── android-icon-144x144.png
├── android-icon-192x192.png
├── apple-icon-precomposed.png
├── blog-logo-maskable-512x512.png
├── browserconfig.xml
└── manifest.json
├── .yarn
└── install-state.gz
├── .dockerignore
├── .prettierrc
├── next-sitemap.config.mjs
├── docker-compose.yml
├── next.config.js
├── .prettierignore
├── jsconfig.json
├── .env.example
├── .gitignore
├── .github
├── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── bug_report.md
├── FUNDING.yml
└── pull_request_template.md
├── LICENSE
├── Dockerfile
├── package.json
├── config
└── site.config.js
└── README.md
/src/common/UIElements/embeds/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/giscus.json:
--------------------------------------------------------------------------------
1 | {
2 | "origins": ["https://blog.itsrakesh.com"]
3 | }
4 |
--------------------------------------------------------------------------------
/public/ads.txt:
--------------------------------------------------------------------------------
1 | google.com, pub-5607528168839545, DIRECT, f08c47fec0942fa0
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/.yarn/install-state.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/.yarn/install-state.gz
--------------------------------------------------------------------------------
/public/apple-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon.png
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 | Sitemap: https://blog.itsrakesh.com/site-map
4 |
--------------------------------------------------------------------------------
/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/favicon-32x32.png
--------------------------------------------------------------------------------
/public/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/favicon-96x96.png
--------------------------------------------------------------------------------
/public/ms-icon-70x70.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/ms-icon-70x70.png
--------------------------------------------------------------------------------
/src/components/supportMe/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as KofiWidget } from './KofiWidget';
2 |
--------------------------------------------------------------------------------
/public/apple-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-57x57.png
--------------------------------------------------------------------------------
/public/apple-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-60x60.png
--------------------------------------------------------------------------------
/public/apple-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-72x72.png
--------------------------------------------------------------------------------
/public/apple-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-76x76.png
--------------------------------------------------------------------------------
/public/home-page-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/home-page-light.png
--------------------------------------------------------------------------------
/public/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/ms-icon-144x144.png
--------------------------------------------------------------------------------
/public/ms-icon-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/ms-icon-150x150.png
--------------------------------------------------------------------------------
/public/ms-icon-310x310.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/ms-icon-310x310.png
--------------------------------------------------------------------------------
/public/post-page-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/post-page-light.png
--------------------------------------------------------------------------------
/public/android-icon-36x36.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-36x36.png
--------------------------------------------------------------------------------
/public/android-icon-48x48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-48x48.png
--------------------------------------------------------------------------------
/public/android-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-72x72.png
--------------------------------------------------------------------------------
/public/android-icon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-96x96.png
--------------------------------------------------------------------------------
/public/apple-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-114x114.png
--------------------------------------------------------------------------------
/public/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-120x120.png
--------------------------------------------------------------------------------
/public/apple-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-144x144.png
--------------------------------------------------------------------------------
/public/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-152x152.png
--------------------------------------------------------------------------------
/public/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-180x180.png
--------------------------------------------------------------------------------
/public/search-page-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/search-page-light.png
--------------------------------------------------------------------------------
/public/snippet-page-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/snippet-page-light.png
--------------------------------------------------------------------------------
/public/android-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-144x144.png
--------------------------------------------------------------------------------
/public/android-icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/android-icon-192x192.png
--------------------------------------------------------------------------------
/src/assets/fonts/Alliance2.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/src/assets/fonts/Alliance2.ttf
--------------------------------------------------------------------------------
/public/apple-icon-precomposed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/apple-icon-precomposed.png
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | Dockerfile
2 | .dockerignore
3 | node_modules
4 | npm-debug.log
5 | README.md
6 | .next
7 | .git
8 | yarn-error.log
--------------------------------------------------------------------------------
/public/blog-logo-maskable-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RakeshPotnuru/blog/HEAD/public/blog-logo-maskable-512x512.png
--------------------------------------------------------------------------------
/src/assets/icons/index.js:
--------------------------------------------------------------------------------
1 | export { default as CircleIcon } from './CircleIcon';
2 | export { default as MyOnePostIcon } from './MyOnePostIcon';
3 |
--------------------------------------------------------------------------------
/src/components/post/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as Post } from './Post';
2 | export { default as MoreArticles } from './MoreArticles';
3 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "bracketSpacing": true,
3 | "printWidth": 80,
4 | "singleQuote": true,
5 | "trailingComma": "none",
6 | "tabWidth": 2
7 | }
8 |
--------------------------------------------------------------------------------
/src/components/snippet/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as Snippet } from './Snippet';
2 | export { default as MoreSnippets } from './MoreSnippets';
3 |
--------------------------------------------------------------------------------
/next-sitemap.config.mjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | siteUrl: process.env.NEXT_PUBLIC_SITE_URL,
3 | generateRobotsTxt: true
4 | };
5 |
6 | export default config;
7 |
--------------------------------------------------------------------------------
/src/common/UIElements/markdownRenderer/index.js:
--------------------------------------------------------------------------------
1 | export { default as MarkdownRenderer } from './MarkdownRenderer';
2 | export { default as CustomCode } from './CustomCode';
--------------------------------------------------------------------------------
/src/components/search/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as SearchPageHeader } from './SearchPageHeader';
2 | export { default as SearchPageBody } from './SearchPageBody';
3 |
--------------------------------------------------------------------------------
/src/common/components/misc/index.js:
--------------------------------------------------------------------------------
1 | export { default as Comment } from './Comment';
2 | export { default as Newsletter } from './Newsletter';
3 | export { default as Banner } from './Banner';
4 |
--------------------------------------------------------------------------------
/src/common/utils/schemaMarkup/index.js:
--------------------------------------------------------------------------------
1 | export { default as ArticleSchemaMarkup } from './ArticleSchemaMarkup';
2 | export { default as BreadcrumbSchemaMarkup } from './BreadcrumbSchemaMarkup';
3 |
--------------------------------------------------------------------------------
/src/components/home/components/index.js:
--------------------------------------------------------------------------------
1 | export { default as Hero } from './Hero';
2 | export { default as LatestArticles } from './LatestArticles';
3 | export { default as LatestSnippets } from './LatestSnippets';
4 |
--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.8'
2 | services:
3 | blog:
4 | build:
5 | context: ./
6 | target: runner
7 | volumes:
8 | - .:/app
9 | command: yarn dev
10 | ports:
11 | - "3000:3000"
12 | environment:
13 | NODE_ENV: development
14 |
--------------------------------------------------------------------------------
/src/common/utils/index.js:
--------------------------------------------------------------------------------
1 | export { default as SEO } from './SEO';
2 | export { default as client } from './apolloClient';
3 | export { default as Analytics } from './Analytics';
4 | export { default as buildImage } from './cloudinary';
5 | export { default as AdSense } from './AdSense';
6 |
--------------------------------------------------------------------------------
/public/browserconfig.xml:
--------------------------------------------------------------------------------
1 |
2 |