├── content ├── .keep ├── team │ └── _index.md ├── tech.md ├── _index.md ├── services │ └── _index.md └── post │ └── brewing-chemex.md ├── styles ├── imports │ ├── _lists.css │ ├── _svg.css │ ├── _debug-children.css │ ├── _images.css │ ├── _code.css │ ├── _media-queries.css │ ├── _styles.css │ ├── _z-index.css │ ├── _buttons.css │ ├── _links.css │ ├── _box-sizing.css │ ├── _font-style.css │ ├── _opacity.css │ ├── _tables.css │ ├── _text-align.css │ ├── _background-size.css │ ├── _border-colors.css │ ├── _line-height.css │ ├── _white-space.css │ ├── _floats.css │ ├── _word-break.css │ ├── _outlines.css │ ├── _clears.css │ ├── _position.css │ ├── _text-decoration.css │ ├── _text-transform.css │ ├── _border-style.css │ ├── _vertical-align.css │ ├── _visibility.css │ ├── _states.css │ ├── _utilities.css │ ├── _variables.css │ ├── _colors.css │ ├── _type-scale.css │ ├── _reset.css │ ├── _borders.css │ ├── _forms.css │ ├── _max-widths.css │ ├── _font-weight.css │ ├── _border-widths.css │ ├── _cms.css │ ├── _background-position.css │ ├── _border-radius.css │ ├── _overflow.css │ ├── _heights.css │ ├── _display.css │ ├── _widths.css │ ├── _typography.css │ ├── _coordinates.css │ ├── _debug-grid.css │ ├── _debug.css │ └── _flexbox.css └── main.css ├── public ├── img │ ├── diego.jpeg │ ├── favicon.ico │ ├── og-image.jpg │ ├── mstile-70x70.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── home-jumbotron.jpg │ ├── mstile-144x144.png │ ├── mstile-150x150.png │ ├── mstile-310x150.png │ ├── mstile-310x310.png │ ├── apple-touch-icon.png │ ├── global-preloader.jpg │ ├── services-jumbotron.jpg │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── icons-facebook.svg │ ├── icons-vimeo.svg │ ├── icons-instagram.svg │ ├── icons-twitter.svg │ ├── safari-pinned-tab.svg │ └── icon.svg ├── favicon │ ├── favicon.ico │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── mstile-150x150.png │ ├── apple-touch-icon.png │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── browserconfig.xml │ ├── site.webmanifest │ └── safari-pinned-tab.svg └── pimg │ ├── progressive-image.css │ ├── progressive-image.min.js │ └── progressive-image.js ├── components ├── container.js ├── section-separator.js ├── date-formatter.js ├── avatar.js ├── short-text.js ├── social-icon.js ├── header.js ├── layout.js ├── media-block.js ├── newsletter-form.js ├── testimonials.js ├── post-block.js ├── 4-up.js ├── text-and-image.js ├── main-gallery.js ├── jumbotron.js ├── blog-4-home.js ├── 1-psn.js ├── 4-psn.js ├── nav.js ├── pricing-block-only.js ├── contact-form.js ├── pricing.js ├── 2-up-no-button.js ├── 2-up-button.js ├── footer.js └── meta.js ├── pages ├── 404.js ├── _app.js ├── _document.js ├── team.js ├── services.js ├── index.js └── posts │ └── [slug].js ├── lib ├── markdownToHtml.js ├── constants.js └── api.js ├── .eslintrc.json ├── data └── meta.json ├── .gitignore ├── postcss.config.js ├── README.md ├── package.json └── LICENSE /content/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /styles/imports/_lists.css: -------------------------------------------------------------------------------- 1 | .list { list-style-type: none; } 2 | -------------------------------------------------------------------------------- /public/img/diego.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/diego.jpeg -------------------------------------------------------------------------------- /public/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/favicon.ico -------------------------------------------------------------------------------- /public/img/og-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/og-image.jpg -------------------------------------------------------------------------------- /public/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/favicon.ico -------------------------------------------------------------------------------- /public/img/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/mstile-70x70.png -------------------------------------------------------------------------------- /components/container.js: -------------------------------------------------------------------------------- 1 | export default function Container({ children }) { 2 | return
{children}
3 | } 4 | -------------------------------------------------------------------------------- /pages/404.js: -------------------------------------------------------------------------------- 1 | // pages/404.js 2 | export default function Custom404() { 3 | return

404 - Page Not Found

4 | } -------------------------------------------------------------------------------- /public/img/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/favicon-16x16.png -------------------------------------------------------------------------------- /public/img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/favicon-32x32.png -------------------------------------------------------------------------------- /public/img/home-jumbotron.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/home-jumbotron.jpg -------------------------------------------------------------------------------- /public/img/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/mstile-144x144.png -------------------------------------------------------------------------------- /public/img/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/mstile-150x150.png -------------------------------------------------------------------------------- /public/img/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/mstile-310x150.png -------------------------------------------------------------------------------- /public/img/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/mstile-310x310.png -------------------------------------------------------------------------------- /public/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /public/img/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/apple-touch-icon.png -------------------------------------------------------------------------------- /public/img/global-preloader.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/global-preloader.jpg -------------------------------------------------------------------------------- /public/favicon/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/mstile-150x150.png -------------------------------------------------------------------------------- /public/img/services-jumbotron.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/services-jumbotron.jpg -------------------------------------------------------------------------------- /public/favicon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/apple-touch-icon.png -------------------------------------------------------------------------------- /public/img/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/img/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/img/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/favicon/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/favicon/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lwz7512/next-dev-studio/HEAD/public/favicon/android-chrome-512x512.png -------------------------------------------------------------------------------- /components/section-separator.js: -------------------------------------------------------------------------------- 1 | export default function SectionSeparator() { 2 | return
3 | } 4 | -------------------------------------------------------------------------------- /pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/main.css' 2 | 3 | export default function MyApp({ Component, pageProps }) { 4 | return 5 | } 6 | -------------------------------------------------------------------------------- /styles/imports/_svg.css: -------------------------------------------------------------------------------- 1 | svg { 2 | fill: currentColor; 3 | fill-rule:evenodd; 4 | clip-rule:evenodd; 5 | max-width: 100%; 6 | max-height: 100%; 7 | } 8 | -------------------------------------------------------------------------------- /styles/imports/_debug-children.css: -------------------------------------------------------------------------------- 1 | .debug * { outline: 1px solid gold; } 2 | .debug-white * { outline: 1px solid white; } 3 | .debug-black * { outline: 1px solid black; } 4 | -------------------------------------------------------------------------------- /styles/imports/_images.css: -------------------------------------------------------------------------------- 1 | img { 2 | max-width: 100%; 3 | } 4 | 5 | /* Remove border-radiius from full-width images */ 6 | img:not(.w-100) { 7 | border-radius: var(--border-radius); 8 | } 9 | -------------------------------------------------------------------------------- /styles/imports/_code.css: -------------------------------------------------------------------------------- 1 | pre { 2 | overflow-x: auto; 3 | overflow-y: hidden; 4 | overflow: scroll; 5 | margin-bottom: var(--spacing-medium); 6 | background-color: var(--grey-1); 7 | padding: var(--spacing-small); 8 | } 9 | -------------------------------------------------------------------------------- /styles/imports/_media-queries.css: -------------------------------------------------------------------------------- 1 | @custom-media --breakpoint-not-small screen and (min-width: 40em); 2 | 3 | @custom-media --breakpoint-medium screen and (min-width: 50em); 4 | 5 | @custom-media --breakpoint-large screen and (min-width: 60em); 6 | -------------------------------------------------------------------------------- /lib/markdownToHtml.js: -------------------------------------------------------------------------------- 1 | import remark from 'remark' 2 | import html from 'remark-html' 3 | 4 | export default async function markdownToHtml(markdown) { 5 | const result = await remark().use(html).process(markdown) 6 | return result.toString() 7 | } 8 | -------------------------------------------------------------------------------- /components/date-formatter.js: -------------------------------------------------------------------------------- 1 | import { parseISO, format } from 'date-fns' 2 | 3 | export default function DateFormatter({ dateString }) { 4 | const date = parseISO(dateString) 5 | return 6 | } 7 | -------------------------------------------------------------------------------- /components/avatar.js: -------------------------------------------------------------------------------- 1 | export default function Avatar({ name, picture }) { 2 | return ( 3 |
4 | {name} 5 |
{name}
6 |
7 | ) 8 | } 9 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals", 3 | "rules": { 4 | "@next/next/no-sync-scripts": "off", 5 | "@next/next/no-html-link-for-pages": "off", 6 | "@next/next/no-img-element": "off", 7 | "jsx-a11y/alt-text": "off", 8 | "@next/next/no-css-tags": "off" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /public/favicon/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #000000 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/short-text.js: -------------------------------------------------------------------------------- 1 | export default function ShortText({ heading, text }) { 2 | return ( 3 |
4 |
5 |

{heading}

6 |

{text}

7 |
8 |
9 | ) 10 | } -------------------------------------------------------------------------------- /components/social-icon.js: -------------------------------------------------------------------------------- 1 | export default function SocialIcon({ link, iconPath }) { 2 | return ( 3 |
  • 4 | 5 | 6 | 7 |
  • 8 | ) 9 | } -------------------------------------------------------------------------------- /components/header.js: -------------------------------------------------------------------------------- 1 | import Link from 'next/link' 2 | 3 | export default function Header() { 4 | return ( 5 |

    6 | 7 | Blog 8 | 9 | . 10 |

    11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /styles/imports/_styles.css: -------------------------------------------------------------------------------- 1 | ::selection { 2 | background-color: var(--highlight); 3 | } 4 | 5 | /* Used in the navbar */ 6 | .divider-grey { 7 | box-shadow: inset 0 -4px 0 var(--grey-1); 8 | } 9 | 10 | .divider-grey a { 11 | transition: var(--hover-transition); 12 | } 13 | 14 | .divider-grey ul a:hover, 15 | .divider-grey ul a:focus { 16 | box-shadow: inset 0 -4px 0 var(--primary); 17 | } 18 | -------------------------------------------------------------------------------- /styles/imports/_z-index.css: -------------------------------------------------------------------------------- 1 | .z-0 { z-index: 0; } 2 | .z-1 { z-index: 1; } 3 | .z-2 { z-index: 2; } 4 | .z-3 { z-index: 3; } 5 | .z-4 { z-index: 4; } 6 | .z-5 { z-index: 5; } 7 | 8 | .z-999 { z-index: 999; } 9 | .z-9999 { z-index: 9999; } 10 | 11 | .z-max { 12 | z-index: 2147483647; 13 | } 14 | 15 | .z-inherit { z-index: inherit; } 16 | .z-initial { z-index: initial; } 17 | .z-unset { z-index: unset; } 18 | -------------------------------------------------------------------------------- /lib/constants.js: -------------------------------------------------------------------------------- 1 | export const EXAMPLE_PATH = 'blog-starter' 2 | export const CMS_NAME = 'Iron Detailing' 3 | export const HOME_OG_IMAGE_URL = 'https://irondetailing.netlify.app/img/og-image.jpg' 4 | export const HOME_OG_URL = 'https://irondetailing.netlify.app/' 5 | export const HOME_OG_TITLE = "Iron Detailing" 6 | export const HOME_OG_DESC = 'Mobile automotive detailing serving Torrance, South Bay, and surrounding areas' 7 | -------------------------------------------------------------------------------- /styles/imports/_buttons.css: -------------------------------------------------------------------------------- 1 | .btn { 2 | display: inline-block; 3 | padding: 12px 16px 10px; 4 | font-size: var(--spacing-medium); 5 | line-height: 1.25; 6 | background-color: var(--white); 7 | border-radius: var(--border-radius); 8 | text-decoration: none; 9 | font-weight: var(--bold-font-weight); 10 | color: var(--primary); 11 | text-align: center; 12 | box-shadow: inset 0 0 0 2px var(--primary); 13 | transition: var(--hover-transition); 14 | } 15 | -------------------------------------------------------------------------------- /components/layout.js: -------------------------------------------------------------------------------- 1 | import Nav from '../components/nav' 2 | import Footer from '../components/footer' 3 | import Meta from '../components/meta' 4 | import metaData from '../data/meta.json' 5 | 6 | export default function Layout({ children }) { 7 | return ( 8 | <> 9 | 10 |
    11 |
    14 |