diff --git a/data/home.yml b/data/home.yml index 5e3b3af..b89e2a6 100644 --- a/data/home.yml +++ b/data/home.yml @@ -6,7 +6,11 @@ hero: cta: Sign up for free url: https://jambonz.us/register tech: - image: /images/Jambonz_app_screenshot.png + image: + src: /images/Jambonz_app_screenshot.png + alt: jambonz node-red screenshot + width: 1280 + height: 842 notes: - title: Adapts to your needs diff --git a/package.json b/package.json index 08981cd..aeb61c8 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "pretest": "node cypress/scripts/fixtures.js", "test": "cypress run --headless --browser chrome", "posttest": "rm -rf cypress/fixtures", - "lint": "eslint components pages lib --ext js" + "lint": "eslint src/components src/lib pages --ext js" }, "author": "Jambonz Developers", "license": "MIT", diff --git a/pages/404.js b/pages/404.js index 0855be2..3b654f2 100644 --- a/pages/404.js +++ b/pages/404.js @@ -1,6 +1,6 @@ -import Layout from '../components/layout'; -import { Hero } from '../components/jambonz-ui'; -import { getData } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Hero } from '../src/components/jambonz-ui'; +import { getData } from '../src/lib/data'; export default function Page404({ data }) { return ( diff --git a/pages/_app.js b/pages/_app.js index 2d2abc7..bc72ad5 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -1,4 +1,4 @@ -import '../styles/global.scss'; +import '../src/styles/global.scss'; export default function App({Component, pageProps}) { return ; diff --git a/pages/_document.js b/pages/_document.js new file mode 100644 index 0000000..a1e0c76 --- /dev/null +++ b/pages/_document.js @@ -0,0 +1,13 @@ +import { Html, Head, Main, NextScript } from 'next/document'; + +export default function Document() { + return ( + + + +
+ + + + ); +} \ No newline at end of file diff --git a/pages/docs/[[...slug]].js b/pages/docs/[[...slug]].js index bac4d05..886acd8 100644 --- a/pages/docs/[[...slug]].js +++ b/pages/docs/[[...slug]].js @@ -2,9 +2,9 @@ import { useEffect } from 'react'; import Prism from 'prismjs'; -import Layout from '../../components/layout'; -import Markdown from '../../components/markdown'; -import { getData, getMarkdown, getMarkdownPaths } from '../../lib/data'; +import Layout from '../../src/components/layout'; +import Markdown from '../../src/components/markdown'; +import { getData, getMarkdown, getMarkdownPaths } from '../../src/lib/data'; export default function Docs({ data, docs }) { useEffect(() => { diff --git a/pages/index.js b/pages/index.js index 022316c..4156ebd 100644 --- a/pages/index.js +++ b/pages/index.js @@ -2,15 +2,15 @@ import { nanoid } from 'nanoid'; import classNames from 'classnames'; import { useState, useEffect, useRef } from 'react'; -import Layout from '../components/layout'; -import { Latest, Hero, Icon, Button, H6, H5, H2, P, MS, normalizeSubtext, normalizeSlug, useMobileMedia } from '../components/jambonz-ui'; -import { getData } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Latest, Hero, Icon, Button, H6, H4, H3, H2, P, MS, normalizeSubtext, normalizeSlug, useMobileMedia } from '../src/components/jambonz-ui'; +import { getData } from '../src/lib/data'; function Tech({data}) { return (
- + {data.image.alt}
    {data.notes.map((note) => { @@ -61,10 +61,10 @@ function Dilemma({data}) {

    {data.headline}

    -
    +

    {/* Use dangerouslySetInnerHTML to render inline spans from YAML data */} {normalizeSubtext(data.subtext).map((subtext) =>
    )} -

    +
    {data.tables.map((table) => { @@ -83,7 +83,7 @@ function Dilemma({data}) { return (
    handleToggle(slug)}> - {table.logo ? :

    {table.title}

    } + {table.logo ? jambonz :

    {table.title}

    } {isActiveToggle ? : } @@ -124,7 +124,7 @@ function BYO({data}) {

    {data.headline}

    -
    {data.subtext}
    +

    {data.subtext}

    {data.icons.map((icon) => { @@ -132,10 +132,10 @@ function BYO({data}) { })}
    -
    +

    {/* Use dangerouslySetInnerHTML to render inline link from YAML data */}
    -

    +
    diff --git a/pages/jambonz-ui.js b/pages/jambonz-ui.js index b798b38..b009478 100644 --- a/pages/jambonz-ui.js +++ b/pages/jambonz-ui.js @@ -1,8 +1,8 @@ import Link from 'next/link'; -import Layout from '../components/layout'; -import { P, M, MS, MXS, H1, H2, H3, H4, H5, H6, Button, Icon } from '../components/jambonz-ui'; -import { getData } from '../lib/data'; +import Layout from '../src/components/layout'; +import { P, M, MS, MXS, H1, H2, H3, H4, H5, H6, Button, Icon } from '../src/components/jambonz-ui'; +import { getData } from '../src/lib/data'; export default function JambonzUI({ data }) { const pageData = data['jambonz-ui']; diff --git a/pages/open-source/[[...slug]].js b/pages/open-source/[[...slug]].js index 2e6bd53..b73cd56 100644 --- a/pages/open-source/[[...slug]].js +++ b/pages/open-source/[[...slug]].js @@ -2,9 +2,9 @@ import { useEffect } from 'react'; import Prism from 'prismjs'; -import Layout from '../../components/layout'; -import Markdown from '../../components/markdown'; -import { getData, getMarkdown, getMarkdownPaths } from '../../lib/data'; +import Layout from '../../src/components/layout'; +import Markdown from '../../src/components/markdown'; +import { getData, getMarkdown, getMarkdownPaths } from '../../src/lib/data'; export default function OpenSource({ data, docs }) { useEffect(() => { diff --git a/pages/pricing.js b/pages/pricing.js index 77d2db6..07095e7 100644 --- a/pages/pricing.js +++ b/pages/pricing.js @@ -1,8 +1,8 @@ import { nanoid } from 'nanoid'; -import Layout from '../components/layout'; -import { Hero, Icon, Button, H2, H6, P, normalizeSubtext } from '../components/jambonz-ui'; -import { getData } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Hero, Icon, Button, H2, P, normalizeSubtext } from '../src/components/jambonz-ui'; +import { getData } from '../src/lib/data'; function Structure({data}) { return ( @@ -10,7 +10,7 @@ function Structure({data}) {
    <> {normalizeSubtext(data.text).map((text) => { - return
    {text}
    ; + return

    {text}

    ; })}
    diff --git a/pages/privacy.js b/pages/privacy.js index ae20aa1..e99d484 100644 --- a/pages/privacy.js +++ b/pages/privacy.js @@ -1,15 +1,17 @@ -import Layout from '../components/layout'; -import { Hero, TextLayout } from '../components/jambonz-ui'; -import { getData, getParsedMarkdown } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Hero, TextLayout, normalizeTextLayout } from '../src/components/jambonz-ui'; +import { getData, getParsedMarkdown } from '../src/lib/data'; import path from 'path'; export default function Privacy({ data, parsed }) { + parsed.contentHtml = normalizeTextLayout(parsed.contentHtml); + return ( -
    - -
    +
    + +
    ); } diff --git a/pages/terms.js b/pages/terms.js index 2adb363..e029be3 100644 --- a/pages/terms.js +++ b/pages/terms.js @@ -1,15 +1,17 @@ -import Layout from '../components/layout'; -import { Hero, TextLayout } from '../components/jambonz-ui'; -import { getData, getParsedMarkdown } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Hero, TextLayout, normalizeTextLayout } from '../src/components/jambonz-ui'; +import { getData, getParsedMarkdown } from '../src/lib/data'; import path from 'path'; export default function Terms({ data, parsed }) { + parsed.contentHtml = normalizeTextLayout(parsed.contentHtml); + return ( -
    - -
    +
    + +
    ); } diff --git a/pages/why.js b/pages/why.js index f3cc007..6dfd3e7 100644 --- a/pages/why.js +++ b/pages/why.js @@ -1,8 +1,8 @@ import { nanoid } from 'nanoid'; -import Layout from '../components/layout'; -import { Hero, Icon, Button, H5, H2, P } from '../components/jambonz-ui'; -import { getData } from '../lib/data'; +import Layout from '../src/components/layout'; +import { Hero, Icon, Button, H3, H2, P } from '../src/components/jambonz-ui'; +import { getData } from '../src/lib/data'; function Facts({data}) { return ( @@ -14,7 +14,7 @@ function Facts({data}) {
    -
    {fact.title}
    +

    {fact.title}

    {fact.text}

    @@ -36,7 +36,7 @@ function OS({data}) {
    -
    {data.subtext}
    +

    {data.subtext}

    {data.buttons.map((button) => { @@ -49,7 +49,7 @@ function OS({data}) { })}
    - + drachtio
    -
    +

    {/* Use dangerouslySetInnerHTML to render inline links from YAML data */} {normalizeSubtext(data.subtext).map((subtext) => { return
    ; })} -

    +
@@ -136,11 +147,11 @@ export function Hero({ data, subStyle }) {

{data.headline}

-
+

{normalizeSubtext(data.subtext).map((subtext) => { return
{subtext}
; })} -

+
{data.cta && (
@@ -201,10 +212,10 @@ export function Icon({ name, mainStyle = 'inline', subStyle = null, ...props }) return ; } -export function TextLayout({ data }) { +export function TextLayout({ data, name }) { return ( -
-
+
+
); } diff --git a/components/layout.js b/src/components/layout.js similarity index 100% rename from components/layout.js rename to src/components/layout.js diff --git a/components/markdown.js b/src/components/markdown.js similarity index 98% rename from components/markdown.js rename to src/components/markdown.js index 05f97f6..60c6275 100644 --- a/components/markdown.js +++ b/src/components/markdown.js @@ -84,7 +84,7 @@ export default function Markdown({scope, data, docs}) {
- +
); diff --git a/components/navi.js b/src/components/navi.js similarity index 95% rename from components/navi.js rename to src/components/navi.js index 36759bc..fb47bae 100644 --- a/components/navi.js +++ b/src/components/navi.js @@ -90,8 +90,8 @@ export default function Navi({ siteData }) {