├── Procfile ├── config ├── site-config.js ├── app-config.js └── prismic-configuration.js ├── documents ├── index.json ├── en-gb │ ├── XTbkkhAAAHfcOaEr=#=XdfbixIAAEU5hotF=#=menu=#=XTbkkhAAAHfcOaEt=#=en-gb=#=y.json │ ├── X3XjqxAAACQAMxnR=#=X3XkGRAAACQAMxu9=#=page=#=X3XjqxAAACQAMxnT=#=en-gb=#=y.json │ ├── XTbj2RAAAHfcOZ3e=#=Xf992RIAACQAIJiW=#=page=#=XTbj2RAAAHfcOZ3g=#=en-gb=#=y.json │ └── XTHXqxAAAGcbI3fJ=#=XhS5qhUAACIACRHw=#=homepage=#=XTHXqxAAAGcbI3fL=#=en-gb=#=y.json └── fr-fr │ ├── XTb4pBAAAHfcOfsZ=#=XeVCyBEAACMAlHjo=#=menu=#=XTbkkhAAAHfcOaEt=#=fr-fr=#=n.json │ ├── XjAd4RAAACEAlzWZ=#=XjBdsRAAACAAmFCn=#=page=#=Xe5wrREAACQAvTlO=#=fr-fr=#=n.json │ ├── XTb4vhAAACQAOfuQ=#=Xf997BIAACMAIJjs=#=page=#=XTbj2RAAAHfcOZ3g=#=fr-fr=#=n.json │ └── XTb4mBAAACQAOfrg=#=Xe417xEAACQAvEDU=#=homepage=#=XTHXqxAAAGcbI3fL=#=fr-fr=#=n.json ├── public ├── favicon.png ├── images │ ├── check1.png │ ├── check2.png │ ├── moon1.png │ ├── moon2.png │ ├── facebook1.png │ ├── facebook2.png │ ├── twitter1.png │ ├── twitter2.png │ ├── instagram1.png │ └── instagram2.png └── stylesheets │ ├── reset.css │ └── style.css ├── .gitignore ├── views ├── error_handlers │ ├── 404.pug │ └── error.pug ├── slices │ ├── call-to-action.pug │ ├── email-signup.pug │ ├── icon-info-section.pug │ ├── highlight-section.pug │ └── full-width-image.pug ├── page.pug └── layout │ ├── footer.pug │ ├── header.pug │ └── global-layout.pug ├── utils ├── async-handler.js └── color-mode.js ├── custom_types ├── index.json ├── menu.json ├── homepage.json └── page.json ├── package.json ├── README.md └── app.js /Procfile: -------------------------------------------------------------------------------- 1 | web: node app.js -------------------------------------------------------------------------------- /config/site-config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | defaultLanguage : "en-gb", 3 | } -------------------------------------------------------------------------------- /documents/index.json: -------------------------------------------------------------------------------- 1 | {"signature":"fab2f4ba28e4d761808b0b0884f4817f1f289406"} -------------------------------------------------------------------------------- /public/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/favicon.png -------------------------------------------------------------------------------- /public/images/check1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/check1.png -------------------------------------------------------------------------------- /public/images/check2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/check2.png -------------------------------------------------------------------------------- /public/images/moon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/moon1.png -------------------------------------------------------------------------------- /public/images/moon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/moon2.png -------------------------------------------------------------------------------- /public/images/facebook1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/facebook1.png -------------------------------------------------------------------------------- /public/images/facebook2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/facebook2.png -------------------------------------------------------------------------------- /public/images/twitter1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/twitter1.png -------------------------------------------------------------------------------- /public/images/twitter2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/twitter2.png -------------------------------------------------------------------------------- /public/images/instagram1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/instagram1.png -------------------------------------------------------------------------------- /public/images/instagram2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/prismicio/nodejs-multi-language-site/master/public/images/instagram2.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | lib-cov 2 | *.seed 3 | *.log 4 | *.csv 5 | *.dat 6 | *.out 7 | *.pid 8 | *.gz 9 | 10 | pids 11 | logs 12 | results 13 | 14 | npm-debug.log 15 | node_modules 16 | 17 | .idea -------------------------------------------------------------------------------- /views/error_handlers/404.pug: -------------------------------------------------------------------------------- 1 | extends ../layout/global-layout 2 | 3 | block body 4 | 5 | div.error-container 6 | h3 404 7 | h2 Sorry! 8 | h6 The page you are looking for was not found. 9 | div.back-btn 10 | a(href='/') 11 | button Go to the homepage -------------------------------------------------------------------------------- /utils/async-handler.js: -------------------------------------------------------------------------------- 1 | const asyncHandler = (callback) => { 2 | return async (req, res, next) => { 3 | try { 4 | return await callback(req, res, next); 5 | } catch(err) { 6 | console.error(err); 7 | res.render("./error_handlers/error"); 8 | } 9 | } 10 | } 11 | 12 | module.exports = asyncHandler; -------------------------------------------------------------------------------- /custom_types/index.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id":"homepage", 4 | "name":"Homepage", 5 | "repeatable":false, 6 | "value":"homepage.json" 7 | }, 8 | { 9 | "id":"page", 10 | "name":"Page", 11 | "repeatable":true, 12 | "value":"page.json" 13 | }, 14 | { 15 | "id":"menu", 16 | "name":"Menu", 17 | "repeatable":false, 18 | "value":"menu.json" 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /views/error_handlers/error.pug: -------------------------------------------------------------------------------- 1 | extends ../layout/global-layout 2 | 3 | block body 4 | 5 | div.error-container 6 | h4 Something went wrong. 7 | nav 8 | ul 9 | li Please check your Prismic endpoint configuration in the config/prismic-configuration.js file. It might be incorrect. 10 | li Please check that your Custom Type API ID is correctly defined in the queries. 11 | li Check the console for errors. -------------------------------------------------------------------------------- /views/slices/call-to-action.pug: -------------------------------------------------------------------------------- 1 | section.off-white-desc 2 | div.call-to-action 3 | != ctx.prismicDom.RichText.asHtml(slice.primary.action_title) 4 | != ctx.prismicDom.RichText.asHtml(slice.primary.action_text, ctx.linkresolver) 5 | 6 | div.btn-content 7 | a(href='#') 8 | img.dark-asset(src=slice.primary.black_button.url, alt=slice.primary.black_button.alt) 9 | img.white-asset(src=slice.primary.white_button.url, alt=slice.primary.white_button.alt) 10 | -------------------------------------------------------------------------------- /views/slices/email-signup.pug: -------------------------------------------------------------------------------- 1 | section.off-white-desc 2 | div.email-signup 3 | != ctx.prismicDom.RichText.asHtml(slice.primary.email_title) 4 | != ctx.prismicDom.RichText.asHtml(slice.primary.email_text, ctx.linkResolver) 5 | 6 | div.signup-content 7 | != ctx.prismicDom.RichText.asHtml(slice.primary.label, ctx.linkResolver) 8 | input(placeholder=slice.primary.placeholder) 9 | div.newsletters-btn 10 | != ctx.prismicDom.RichText.asHtml(slice.primary.button_text, ctx.linkResolver) -------------------------------------------------------------------------------- /views/slices/icon-info-section.pug: -------------------------------------------------------------------------------- 1 | section.icon-info-section.off-white-desc 2 | div 3 | img.dark-asset(src=slice.primary.icon_black.url, alt=slice.primary.icon_black.alt) 4 | img.white-asset(src=slice.primary.icon_white.url, alt=slice.primary.icon_white.alt) 5 | != ctx.prismicDom.RichText.asHtml(slice.primary.info_title) 6 | != ctx.prismicDom.RichText.asHtml(slice.primary.info_text, ctx.linkresolver) 7 | 8 | div.info-desc 9 | != ctx.prismicDom.RichText.asHtml(slice.primary.info_desc, ctx.linkresolver) 10 | -------------------------------------------------------------------------------- /views/page.pug: -------------------------------------------------------------------------------- 1 | extends ./layout/global-layout 2 | 3 | block body 4 | div.container 5 | for slice in document.data.page_content 6 | case slice.slice_type 7 | when "call_to_action" 8 | include ./slices/call-to-action 9 | when "full_width_image" 10 | include ./slices/full-width-image 11 | when "icon_info_section" 12 | include ./slices/icon-info-section 13 | when "highlight_section" 14 | include ./slices/highlight-section 15 | when "email_signup" 16 | include ./slices/email-signup 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-multi-language-website", 3 | "description": "Multi-language website example with Node.js using Prismic headless CMS", 4 | "author": "Prismic", 5 | "scripts": { 6 | "start": "node ./app.js", 7 | "start-dev": "nodemon ./app.js" 8 | }, 9 | "dependencies": { 10 | "@prismicio/client": "^4.0.0", 11 | "body-parser": "^1.19.0", 12 | "cookie-parser": "^1.4.5", 13 | "express": "^4.17.1", 14 | "prismic-dom": "^2.2.4", 15 | "pug": "^2.0.4", 16 | "serve-favicon": "^2.5.0" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/prismicio/nodejs-multi-language-site" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /config/app-config.js: -------------------------------------------------------------------------------- 1 | const express = require('express'), 2 | favicon = require('serve-favicon'), 3 | bodyParser = require('body-parser'); 4 | cookieParser = require('cookie-parser'), 5 | path = require('path'); 6 | 7 | module.exports = function() { 8 | const app = express(); 9 | 10 | app.set('port', process.env.PORT || 3000); 11 | app.set('views', path.join(__dirname, '../views')); 12 | app.use(bodyParser.urlencoded({ extended: true })); 13 | app.use(bodyParser.json()); 14 | app.use(favicon("public/favicon.png")); 15 | app.set('view engine', 'pug'); 16 | app.use(express.static(path.join(__dirname, '../public'))); 17 | app.use(cookieParser()); 18 | 19 | return app; 20 | }(); -------------------------------------------------------------------------------- /views/layout/footer.pug: -------------------------------------------------------------------------------- 1 | footer.footer 2 | div.footer-content.off-white-text 3 | p © 2019 Todoapp-Powered by Prismic 4 | 5 | nav.footer-nav 6 | ul 7 | li 8 | img.dark-asset(src= "/images/facebook2.png", alt = "Facebook-icon") 9 | img.white-asset(src= "/images/facebook1.png", alt = "Facebook-icon") 10 | li 11 | img.dark-asset(src= "/images/instagram2.png", alt = "Instagram-icon") 12 | img.white-asset(src= "/images/instagram1.png", alt = "Instagram-icon") 13 | li 14 | img.dark-asset(src= "/images/twitter2.png", alt = "Twitter-icon") 15 | img.white-asset(src= "/images/twitter1.png", alt = "Twitter-icon") 16 | -------------------------------------------------------------------------------- /config/prismic-configuration.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // -- Prismic API endpoint 3 | // Determines which repository to query and fetch data from 4 | // Configure your site's access point here 5 | apiEndpoint: 'https://your-repo-name.cdn.prismic.io/api/v2', 6 | 7 | //-- Access token if the repository is not public 8 | accessToken: '', 9 | 10 | // -- Links resolution rules 11 | // This function will be used to generate links to Prismic.io documents 12 | // As your project grows, you should update this function according to your routes 13 | linkResolver: (doc) => { 14 | if (doc.type == "page") { 15 | return `/${doc.lang}/${doc.uid}`; 16 | } else { 17 | return `/${doc.lang}/`; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /public/stylesheets/reset.css: -------------------------------------------------------------------------------- 1 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | /* HTML5 display-role reset for older browsers */ 7 | article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 8 | display: block; 9 | } 10 | 11 | ol, ul { 12 | list-style: none; 13 | } -------------------------------------------------------------------------------- /custom_types/menu.json: -------------------------------------------------------------------------------- 1 | { 2 | "Main": { 3 | "menu_title": { 4 | "type": "StructuredText", 5 | "config": { 6 | "single": "heading1", 7 | "label": "menu_title", 8 | "placeholder": "Menu title..." 9 | } 10 | }, 11 | "menu_links": { 12 | "type": "Group", 13 | "config": { 14 | "fields": { 15 | "label": { 16 | "type": "StructuredText", 17 | "config": { 18 | "single": "paragraph", 19 | "label": "label", 20 | "placeholder": "Link Label..." 21 | } 22 | }, 23 | "link": { 24 | "type": "Link", 25 | "config": { 26 | "label": "link", 27 | "placeholder": "Select a Link..." 28 | } 29 | } 30 | }, 31 | "label": "menu_links" 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /views/layout/header.pug: -------------------------------------------------------------------------------- 1 | header.header 2 | a.logo-block(href='/') 3 | img.white-asset(src="/images/check2.png", alt="Site logo") 4 | img.dark-asset(src="/images/check1.png", alt="Site logo") 5 | h3.logo-text Todoop 6 | 7 | if menuContent 8 | nav.main-nav 9 | ul 10 | each menuLink in menuContent.data.menu_links 11 | li 12 | a(href=ctx.prismicDom.Link.url(menuLink.link, ctx.linkResolver)) 13 | != ctx.prismicDom.RichText.asText(menuLink.label) 14 | 15 | if document 16 | each altlang in document.alternate_languages 17 | li 18 | a(href=ctx.linkResolver(altlang)) 19 | p.flag-icon(class=`flag-icon-${altlang.lang.slice(-2)}`) 20 | li 21 | a(href="/change-mode") 22 | img.white-asset(src="/images/moon2.png", alt="Color mode toggle") 23 | img.dark-asset(src= "/images/moon1.png", alt="Color mode toggle") -------------------------------------------------------------------------------- /views/slices/highlight-section.pug: -------------------------------------------------------------------------------- 1 | section.highlight-section 2 | div.highlight-image 3 | picture 4 | source( 5 | srcset=slice.primary.highlight_image.Mobileview.url, 6 | alt=slice.primary.highlight_image.Mobileview.alt, 7 | media='(max-width: 500px)' 8 | ) 9 | source( 10 | srcset=slice.primary.highlight_image.Tabletview.url, 11 | alt=slice.primary.highlight_image.Tabletview.alt, 12 | media='(max-width: 1100px)' 13 | ) 14 | img(src=slice.primary.highlight_image.url, alt=slice.primary.highlight_image.alt) 15 | 16 | div.highlight-content.off-white-desc 17 | img.dark-asset(src=slice.primary.icon_black.url, alt=slice.primary.icon_black.alt) 18 | img.white-asset(src=slice.primary.icon_white.url, alt=slice.primary.icon_white.alt) 19 | != ctx.prismicDom.RichText.asHtml(slice.primary.highlight_title) 20 | != ctx.prismicDom.RichText.asHtml(slice.primary.highlight_text, ctx.linkResolver) 21 | -------------------------------------------------------------------------------- /views/slices/full-width-image.pug: -------------------------------------------------------------------------------- 1 | if slice.primary.background_image_position 2 | - var backgroundImage = `full-width-image-${slice.primary.background_image_position}` 3 | else 4 | - var backgroundImage = "full-width-image-right" 5 | 6 | //- If there is no white theme image then render the black image 7 | if slice.primary.image_white.url 8 | - var whiteImage = slice.primary.image_white 9 | else 10 | - var whiteImage = slice.primary.image_black 11 | 12 | //- If there is no black theme image then render white image 13 | if slice.primary.image_black.url 14 | - var blackImage = slice.primary.image_black 15 | else 16 | - var blackImage = slice.primary.image_white 17 | 18 | section.image-container 19 | div(class=backgroundImage) 20 | img.back-img(src=slice.primary.background_image.url, alt=slice.primary.background_image.alt) 21 | div.main-image 22 | img.dark-asset(src= blackImage.url, alt= blackImage.alt) 23 | img.white-asset(src=whiteImage.url, alt=whiteImage.alt) 24 | -------------------------------------------------------------------------------- /views/layout/global-layout.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html 3 | head 4 | title Multilanguage site 5 | meta(name="viewport", content="width=device-width, initial-scale=1") 6 | link(rel="stylesheet", href="/stylesheets/reset.css") 7 | link(rel="stylesheet", href="/stylesheets/style.css") 8 | link(rel="stylesheet", href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.3.0/css/flag-icon.min.css") 9 | link(rel="stylesheet", href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap") 10 | 11 | // Required for Previews 12 | if ctx 13 | - var repoName = (ctx.apiEndpoint.match(/^(https?\:)\/\/(([^:\/?#]*)(?:\:([0-9]+))?)([\/]{0,1}[^?#]*)(\?[^#]*|)(#.*|)$/))[2].split('.')[0]; 14 | script(async='', defer='', src=`//static.cdn.prismic.io/prismic.js?repo=${repoName}&new=true`) 15 | 16 | if ctx 17 | - var className = ctx.colorMode 18 | else 19 | - var className = '' 20 | 21 | body#body(class=className) 22 | include ./header 23 | block body 24 | include ./footer 25 | -------------------------------------------------------------------------------- /documents/en-gb/XTbkkhAAAHfcOaEr=#=XdfbixIAAEU5hotF=#=menu=#=XTbkkhAAAHfcOaEt=#=en-gb=#=y.json: -------------------------------------------------------------------------------- 1 | { 2 | "menu_links": [ 3 | { 4 | "label": [ 5 | { "type": "paragraph", "content": { "text": "Homepage", "spans": [] } } 6 | ], 7 | "link": { 8 | "id": "XTHXqxAAAGcbI3fJ", 9 | "wioUrl": "wio://documents/XTHXqxAAAGcbI3fJ" 10 | } 11 | }, 12 | { 13 | "label": [ 14 | { "type": "paragraph", "content": { "text": "About us", "spans": [] } } 15 | ], 16 | "link": { 17 | "id": "XTbj2RAAAHfcOZ3e", 18 | "wioUrl": "wio://documents/XTbj2RAAAHfcOZ3e" 19 | } 20 | } 21 | ], 22 | "menu_title": [ 23 | { "type": "heading1", "content": { "text": "Menu", "spans": [] } } 24 | ], 25 | "menu_title_TYPE": "StructuredText", 26 | "menu_title_POSITION": 0, 27 | "menu_links_TYPE": "Group", 28 | "menu_links_POSITION": 1, 29 | "menu_links.label_TYPE": "StructuredText", 30 | "menu_links.label_POSITION": 2, 31 | "menu_links.link_TYPE": "Link", 32 | "menu_links.link_POSITION": 3, 33 | "slugs_INTERNAL": ["menu"], 34 | "uids_INTERNAL": [] 35 | } 36 | -------------------------------------------------------------------------------- /documents/fr-fr/XTb4pBAAAHfcOfsZ=#=XeVCyBEAACMAlHjo=#=menu=#=XTbkkhAAAHfcOaEt=#=fr-fr=#=n.json: -------------------------------------------------------------------------------- 1 | { 2 | "menu_links": [ 3 | { 4 | "label": [ 5 | { 6 | "type": "paragraph", 7 | "content": { "text": "Page accueil", "spans": [] } 8 | } 9 | ], 10 | "link": { 11 | "id": "XTb4mBAAACQAOfrg", 12 | "wioUrl": "wio://documents/XTb4mBAAACQAOfrg" 13 | } 14 | }, 15 | { 16 | "label": [ 17 | { 18 | "type": "paragraph", 19 | "content": { "text": "Propos nous", "spans": [] } 20 | } 21 | ], 22 | "link": { 23 | "id": "XTb4vhAAACQAOfuQ", 24 | "wioUrl": "wio://documents/XTb4vhAAACQAOfuQ" 25 | } 26 | } 27 | ], 28 | "menu_title_TYPE": "StructuredText", 29 | "menu_title_POSITION": 0, 30 | "menu_links_TYPE": "Group", 31 | "menu_links_POSITION": 1, 32 | "menu_links.label_TYPE": "StructuredText", 33 | "menu_links.label_POSITION": 2, 34 | "menu_links.link_TYPE": "Link", 35 | "menu_links.link_POSITION": 3, 36 | "slugs_INTERNAL": ["page-accueil", "menu"], 37 | "uids_INTERNAL": [] 38 | } 39 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Prismic & Node.js Multi-language website example 2 | 3 | > [Node.js](https://nodejs.org) example Multi-language website with content managed in [Prismic](https://prismic.io) 4 | 5 | ## Check out the dedicated article to get this project up and running 6 | 7 | > [Prismic project guide](https://user-guides.prismic.io/en/articles/3369091-sample-multi-language-node-js-website-with-prismic) 8 | 9 | ## Learn more about using Prismic & Node.js 10 | 11 | > [Prismic + Node.js Documentation](https://prismic.io/docs/technologies/nodejs) 12 | 13 | ## License 14 | 15 | This software is licensed under the Apache 2 license, quoted below. 16 | 17 | Copyright 2021 [Prismic](http://prismic.io). 18 | 19 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. 20 | 21 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 22 | -------------------------------------------------------------------------------- /utils/color-mode.js: -------------------------------------------------------------------------------- 1 | // Cookie mode variables 2 | const lightModeName = "light-mode"; 3 | const darkModeName = "dark-mode"; 4 | 5 | // Setting color mode cookie through response. 6 | const setColorModeCookie = (res, cookieValue) => { 7 | res.cookie( 8 | "colorMode", 9 | cookieValue, 10 | { 11 | maxAge: 3600000, 12 | httpOnly: true 13 | } 14 | ); 15 | }; 16 | 17 | // Retrieving color mode cookie through request 18 | const getColorMode = (req, res) => { 19 | let colorMode = req.cookies.colorMode; 20 | if (!colorMode) { 21 | setColorModeCookie(res, lightModeName); 22 | colorMode = lightModeName; 23 | } 24 | return colorMode; 25 | }; 26 | 27 | // Toggling color mode between light mode and dark mode by changing the cookie colormode through response. 28 | const toggleColorMode = (req, res) => { 29 | const colorMode = req.cookies.colorMode; 30 | 31 | // Set the color mode cookie if not defined, default value is light color mode 32 | if (colorMode === lightModeName) { 33 | setColorModeCookie(res, darkModeName); 34 | } else { 35 | setColorModeCookie(res, lightModeName); 36 | } 37 | 38 | // Redirecting to the page, from where toggling color mode is clicked using referer. 39 | if (req.headers.referer) { 40 | res.redirect(req.headers.referer); 41 | } else { 42 | res.redirect('/'); 43 | } 44 | } 45 | 46 | module.exports = { 47 | getColorMode, 48 | toggleColorMode 49 | } 50 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | // Module dependencies 4 | const prismic = require('@prismicio/client'); 5 | const prismicDom = require("prismic-dom"); 6 | const app = require("./config/app-config"); 7 | const prismicConfig = require("./config/prismic-configuration"); 8 | const siteConfig = require("./config/site-config") 9 | const port = app.get("port"); 10 | const asyncHandler = require ("./utils/async-handler"); 11 | const { getColorMode, toggleColorMode } = require ("./utils/color-mode"); 12 | 13 | 14 | // Listen to application port. 15 | app.listen(port, () => { 16 | process.stdout.write(`Point your browser to: http://localhost:${port}\n`); 17 | }); 18 | 19 | // Root path redirects to default language 20 | app.get("/", (req, res) => { 21 | res.redirect(siteConfig.defaultLanguage); 22 | }); 23 | 24 | // Middleware to fetch Prismic api object 25 | app.get("*", asyncHandler(async (req, res,next) => { 26 | const api = await prismic.getApi( 27 | prismicConfig.apiEndpoint, 28 | { req, accessToken: prismicConfig.accessToken } 29 | ); 30 | 31 | if (api) { 32 | req.prismic = { api }; 33 | } else { 34 | res.status(404).render ("./error_handlers/404"); 35 | } 36 | next(); 37 | })); 38 | 39 | // Prismic preview route 40 | app.get('/preview', asyncHandler(async (req, res, next) => { 41 | const { token, documentId } = req.query; 42 | if(token){ 43 | try{ 44 | const redirectUrl = (await req.prismic.api.getPreviewResolver(token, documentId).resolve(prismicConfig.linkResolver, '/')); 45 | res.redirect(302, redirectUrl); 46 | }catch(e){ 47 | res.status(500).send(`Error 500 in preview`); 48 | } 49 | }else{ 50 | res.send(400, 'Missing token from querystring'); 51 | } 52 | next(); 53 | })) 54 | 55 | 56 | // Route to toggle change in color mode 57 | app.get("/change-mode", (req, res) => { 58 | toggleColorMode(req, res); 59 | }); 60 | 61 | // Middleware to set local variables & fetch menu content from Prismic 62 | app.get(["/:lang", "/:lang/*"], asyncHandler(async (req, res, next) => { 63 | const lang = req.params.lang; 64 | const colorMode = getColorMode(req, res); 65 | // Set locals variables in res to be used in view templates 66 | res.locals.ctx = { 67 | apiEndpoint: prismicConfig.apiEndpoint, 68 | linkResolver: prismicConfig.linkResolver, 69 | colorMode, 70 | prismicDom, 71 | }; 72 | 73 | // Fetch menu content from Prismic and add it to local variables 74 | const menuContent = await req.prismic.api.getSingle("menu", { lang }); 75 | res.locals.menuContent = menuContent; 76 | 77 | next(); 78 | })); 79 | 80 | // Homepage route 81 | app.get("/:lang/", asyncHandler(async (req, res) => { 82 | const lang = req.params.lang; 83 | const document = await req.prismic.api.getSingle("homepage", { lang }); 84 | if (document) { 85 | res.render("page", { document }); 86 | } else { 87 | res.status(404).render("./error_handlers/404"); 88 | } 89 | })); 90 | 91 | // Page router 92 | app.get("/:lang/:uid", asyncHandler(async (req, res) => { 93 | const lang = req.params.lang; 94 | const uid = req.params.uid; 95 | 96 | const document = await req.prismic.api.getByUID("page", uid, { lang }) 97 | if (document) { 98 | res.render("page", { document }); 99 | } else { 100 | res.status(404).render("./error_handlers/404"); 101 | } 102 | })); 103 | 104 | // 404 route for anything else 105 | app.get("*", (req, res) => { 106 | res.status(404).render("./error_handlers/404"); 107 | }); 108 | 109 | module.exports = app; -------------------------------------------------------------------------------- /documents/fr-fr/XjAd4RAAACEAlzWZ=#=XjBdsRAAACAAmFCn=#=page=#=Xe5wrREAACQAvTlO=#=fr-fr=#=n.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid": "kjbjk", 3 | "page_content": [ 4 | { 5 | "key": "full_width_image$8b550b6e-02fd-4cd9-9922-84b7746fc699", 6 | "value": { 7 | "repeat": [{}], 8 | "non-repeat": { 9 | "background_image_position": "left", 10 | "background_image": { 11 | "origin": { 12 | "id": "XWP1ihMAACEApC93", 13 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 14 | "width": 1228, 15 | "height": 658 16 | }, 17 | "provider": "imgix", 18 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 19 | "alt": null, 20 | "credits": null, 21 | "width": 1228, 22 | "height": 658, 23 | "edit": { 24 | "zoom": 1, 25 | "crop": { "x": 0, "y": 0 }, 26 | "background": "transparent" 27 | }, 28 | "thumbnails": {} 29 | }, 30 | "image_black": { 31 | "origin": { 32 | "id": "XWP0xhMAACIApCwc", 33 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 34 | "width": 1228, 35 | "height": 658 36 | }, 37 | "provider": "imgix", 38 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format", 39 | "alt": null, 40 | "credits": null, 41 | "width": 1228, 42 | "height": 658, 43 | "edit": { 44 | "zoom": 1, 45 | "crop": { "x": 0, "y": 0 }, 46 | "background": "transparent" 47 | }, 48 | "thumbnails": {} 49 | }, 50 | "image_white": { 51 | "origin": { 52 | "id": "XWP1ihMAACEApC93", 53 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 54 | "width": 1228, 55 | "height": 658 56 | }, 57 | "provider": "imgix", 58 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 59 | "alt": null, 60 | "credits": null, 61 | "width": 1228, 62 | "height": 658, 63 | "edit": { 64 | "zoom": 1, 65 | "crop": { "x": 0, "y": 0 }, 66 | "background": "transparent" 67 | }, 68 | "thumbnails": {} 69 | } 70 | } 71 | } 72 | } 73 | ], 74 | "meta_title": [ 75 | { "type": "heading1", "content": { "text": "lbhku", "spans": [] } } 76 | ], 77 | "meta_description": [ 78 | { "type": "paragraph", "content": { "text": "yhcj", "spans": [] } } 79 | ], 80 | "uid_TYPE": "UID", 81 | "uid_POSITION": 0, 82 | "page_content_TYPE": "Slices", 83 | "page_content_POSITION": 1, 84 | "page_content.email_signup_TYPE": "Slice", 85 | "page_content.email_signup_POSITION": 2, 86 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 87 | "page_content.email_signup.non-repeat.email_title_POSITION": 3, 88 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 89 | "page_content.email_signup.non-repeat.email_text_POSITION": 4, 90 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 91 | "page_content.email_signup.non-repeat.label_POSITION": 5, 92 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 93 | "page_content.email_signup.non-repeat.placeholder_POSITION": 6, 94 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 95 | "page_content.email_signup.non-repeat.button_text_POSITION": 7, 96 | "page_content.call_to_action_TYPE": "Slice", 97 | "page_content.call_to_action_POSITION": 8, 98 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 99 | "page_content.call_to_action.non-repeat.action_title_POSITION": 9, 100 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 101 | "page_content.call_to_action.non-repeat.action_text_POSITION": 10, 102 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 103 | "page_content.call_to_action.non-repeat.black_button_POSITION": 11, 104 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 105 | "page_content.call_to_action.non-repeat.white_button_POSITION": 12, 106 | "page_content.highlight_section_TYPE": "Slice", 107 | "page_content.highlight_section_POSITION": 13, 108 | "page_content.highlight_section.non-repeat.highlight_image_TYPE": "Image", 109 | "page_content.highlight_section.non-repeat.highlight_image_POSITION": 14, 110 | "page_content.highlight_section.non-repeat.icon_black_TYPE": "Image", 111 | "page_content.highlight_section.non-repeat.icon_black_POSITION": 15, 112 | "page_content.highlight_section.non-repeat.icon_white_TYPE": "Image", 113 | "page_content.highlight_section.non-repeat.icon_white_POSITION": 16, 114 | "page_content.highlight_section.non-repeat.highlight_title_TYPE": "StructuredText", 115 | "page_content.highlight_section.non-repeat.highlight_title_POSITION": 17, 116 | "page_content.highlight_section.non-repeat.highlight_text_TYPE": "StructuredText", 117 | "page_content.highlight_section.non-repeat.highlight_text_POSITION": 18, 118 | "page_content.full_width_image_TYPE": "Slice", 119 | "page_content.full_width_image_POSITION": 19, 120 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 121 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 20, 122 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 123 | "page_content.full_width_image.non-repeat.background_image_POSITION": 21, 124 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 125 | "page_content.full_width_image.non-repeat.image_black_POSITION": 22, 126 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 127 | "page_content.full_width_image.non-repeat.image_white_POSITION": 23, 128 | "meta_title_TYPE": "StructuredText", 129 | "meta_title_POSITION": 24, 130 | "meta_description_TYPE": "StructuredText", 131 | "meta_description_POSITION": 25, 132 | "slugs_INTERNAL": ["lbhku"], 133 | "uids_INTERNAL": [] 134 | } 135 | -------------------------------------------------------------------------------- /custom_types/homepage.json: -------------------------------------------------------------------------------- 1 | { 2 | "Main" : { 3 | "display_title" : { 4 | "type" : "StructuredText", 5 | "config" : { 6 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 7 | "label" : "Display Title" 8 | } 9 | }, 10 | "page_content" : { 11 | "type" : "Slices", 12 | "fieldset" : "Slice zone", 13 | "config" : { 14 | "labels" : { 15 | "image_info_section" : [ ], 16 | "call_to_action" : [ ], 17 | "full_width_image" : [ ], 18 | "icon_info_section" : [ ] 19 | }, 20 | "choices" : { 21 | "full_width_image" : { 22 | "type" : "Slice", 23 | "fieldset" : "Full Width Image", 24 | "description" : "A wide, thin image", 25 | "icon" : "broken_image", 26 | "non-repeat" : { 27 | "background_image_position" : { 28 | "type" : "Select", 29 | "config" : { 30 | "options" : [ "left", "right" ], 31 | "default_value" : "left", 32 | "label" : "background_image_position" 33 | } 34 | }, 35 | "background_image" : { 36 | "type" : "Image", 37 | "config" : { 38 | "constraint" : { 39 | "width" : null, 40 | "height" : null 41 | }, 42 | "thumbnails" : [ ], 43 | "label" : "background_image" 44 | } 45 | }, 46 | "image_black" : { 47 | "type" : "Image", 48 | "config" : { 49 | "constraint" : { 50 | "width" : null, 51 | "height" : null 52 | }, 53 | "thumbnails" : [ ], 54 | "label" : "image_black" 55 | } 56 | }, 57 | "image_white" : { 58 | "type" : "Image", 59 | "config" : { 60 | "constraint" : { }, 61 | "thumbnails" : [ ], 62 | "label" : "image_white" 63 | } 64 | } 65 | }, 66 | "repeat" : { }, 67 | "display" : "list" 68 | }, 69 | "email_signup" : { 70 | "type" : "Slice", 71 | "fieldset" : "Email Signup", 72 | "description" : "Section for email submissions", 73 | "icon" : "email", 74 | "display" : "list", 75 | "non-repeat" : { 76 | "email_title" : { 77 | "type" : "StructuredText", 78 | "config" : { 79 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 80 | "label" : "email_title" 81 | } 82 | }, 83 | "email_text" : { 84 | "type" : "StructuredText", 85 | "config" : { 86 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 87 | "label" : "email_text" 88 | } 89 | }, 90 | "label" : { 91 | "type" : "StructuredText", 92 | "config" : { 93 | "multi" : "paragraph, heading4", 94 | "label" : "label" 95 | } 96 | }, 97 | "placeholder" : { 98 | "type" : "Text", 99 | "config" : { 100 | "label" : "placeholder", 101 | "placeholder" : "Placeholder" 102 | } 103 | }, 104 | "button_text" : { 105 | "type" : "StructuredText", 106 | "config" : { 107 | "multi" : "paragraph, heading2", 108 | "label" : "button_text" 109 | } 110 | } 111 | }, 112 | "repeat" : { } 113 | }, 114 | "call_to_action" : { 115 | "type" : "Slice", 116 | "fieldset" : "Call To Action", 117 | "description" : "A call to action banner", 118 | "icon" : "phone_in_talk", 119 | "display" : "list", 120 | "non-repeat" : { 121 | "action_title" : { 122 | "type" : "StructuredText", 123 | "config" : { 124 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 125 | "label" : "action_title" 126 | } 127 | }, 128 | "action_text" : { 129 | "type" : "StructuredText", 130 | "config" : { 131 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 132 | "label" : "action_text" 133 | } 134 | }, 135 | "black_button" : { 136 | "type" : "Image", 137 | "config" : { 138 | "constraint" : { }, 139 | "thumbnails" : [ ], 140 | "label" : "black_button" 141 | } 142 | }, 143 | "white_button" : { 144 | "type" : "Image", 145 | "config" : { 146 | "constraint" : { }, 147 | "thumbnails" : [ ], 148 | "label" : "white_button" 149 | } 150 | } 151 | }, 152 | "repeat" : { } 153 | }, 154 | "icon_info_section" : { 155 | "type" : "Slice", 156 | "fieldset" : "Icon Info Section", 157 | "description" : "A columned info section with a large icon", 158 | "icon" : "insert_emoticon", 159 | "display" : "list", 160 | "non-repeat" : { 161 | "icon_black" : { 162 | "type" : "Image", 163 | "config" : { 164 | "constraint" : { }, 165 | "thumbnails" : [ ], 166 | "label" : "icon_black" 167 | } 168 | }, 169 | "icon_white" : { 170 | "type" : "Image", 171 | "config" : { 172 | "constraint" : { }, 173 | "thumbnails" : [ ], 174 | "label" : "icon_white" 175 | } 176 | }, 177 | "info_title" : { 178 | "type" : "StructuredText", 179 | "config" : { 180 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 181 | "label" : "info_title" 182 | } 183 | }, 184 | "info_text" : { 185 | "type" : "StructuredText", 186 | "config" : { 187 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 188 | "label" : "info_text" 189 | } 190 | }, 191 | "info_desc" : { 192 | "type" : "StructuredText", 193 | "config" : { 194 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 195 | "label" : "info_desc" 196 | } 197 | } 198 | }, 199 | "repeat" : { } 200 | } 201 | } 202 | } 203 | } 204 | }, 205 | "SEO" : { 206 | "meta_title" : { 207 | "type" : "Text", 208 | "config" : { 209 | "label" : "Meta Title" 210 | } 211 | }, 212 | "meta_description" : { 213 | "type" : "Text", 214 | "config" : { 215 | "label" : "Meta Description" 216 | } 217 | } 218 | } 219 | } -------------------------------------------------------------------------------- /documents/en-gb/X3XjqxAAACQAMxnR=#=X3XkGRAAACQAMxu9=#=page=#=X3XjqxAAACQAMxnT=#=en-gb=#=y.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid": "demo-baptiste", 3 | "page_content": [ 4 | { 5 | "key": "full_width_image$0d986d9f-71c2-4944-820d-9331a3e7145d", 6 | "value": { 7 | "non-repeat": { 8 | "background_image_position": "left", 9 | "background_image": { 10 | "origin": { 11 | "id": "XV063xEAACEAmGal", 12 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fb6ae6ee4-74ef-4fb9-ac5d-4bbe446435c8_rectangle+4%402x.png", 13 | "width": 1684, 14 | "height": 1378 15 | }, 16 | "provider": "imgix", 17 | "url": "https://images.prismic.io/todo-app-sample%2Fb6ae6ee4-74ef-4fb9-ac5d-4bbe446435c8_rectangle+4%402x.png?auto=compress,format", 18 | "alt": null, 19 | "credits": null, 20 | "width": 1684, 21 | "height": 1378, 22 | "edit": { 23 | "zoom": 1, 24 | "crop": { "x": 0, "y": 0 }, 25 | "background": "transparent" 26 | }, 27 | "thumbnails": {} 28 | }, 29 | "image_black": { 30 | "origin": { 31 | "id": "XWP0xhMAACIApCwc", 32 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 33 | "width": 1228, 34 | "height": 658 35 | }, 36 | "provider": "imgix", 37 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format", 38 | "alt": null, 39 | "credits": null, 40 | "width": 1228, 41 | "height": 658, 42 | "edit": { 43 | "zoom": 1, 44 | "crop": { "x": 0, "y": 0 }, 45 | "background": "transparent" 46 | }, 47 | "thumbnails": {} 48 | }, 49 | "image_white": { 50 | "origin": { 51 | "id": "XWP1ihMAACEApC93", 52 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 53 | "width": 1228, 54 | "height": 658 55 | }, 56 | "provider": "imgix", 57 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 58 | "alt": null, 59 | "credits": null, 60 | "width": 1228, 61 | "height": 658, 62 | "edit": { 63 | "zoom": 1, 64 | "crop": { "x": 0, "y": 0 }, 65 | "background": "transparent" 66 | }, 67 | "thumbnails": {} 68 | } 69 | }, 70 | "repeat": [ 71 | { 72 | "repeatable-title": [ 73 | { 74 | "type": "paragraph", 75 | "content": { "text": "Title 1", "spans": [] } 76 | } 77 | ] 78 | }, 79 | { 80 | "repeatable-title": [ 81 | { 82 | "type": "paragraph", 83 | "content": { "text": "Title 2", "spans": [] } 84 | } 85 | ] 86 | } 87 | ] 88 | } 89 | }, 90 | { 91 | "key": "call_to_action$3755acca-f3f4-4b62-83d5-00aba6c951c3", 92 | "value": { 93 | "non-repeat": { 94 | "action_title": [ 95 | { "type": "heading1", "content": { "text": "Title", "spans": [] } } 96 | ], 97 | "action_text": [ 98 | { 99 | "type": "paragraph", 100 | "content": { "text": "Section text", "spans": [] } 101 | } 102 | ], 103 | "black_button": { 104 | "origin": { 105 | "id": "XWPk5BMAACEAo-Yp", 106 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png", 107 | "width": 232, 108 | "height": 74 109 | }, 110 | "provider": "imgix", 111 | "url": "https://images.prismic.io/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png?auto=compress,format", 112 | "alt": "Download on the app store", 113 | "credits": "", 114 | "width": 232, 115 | "height": 74, 116 | "edit": { 117 | "zoom": 1, 118 | "crop": { "x": 0, "y": 0 }, 119 | "background": "transparent" 120 | }, 121 | "thumbnails": {} 122 | } 123 | }, 124 | "repeat": [{}] 125 | } 126 | } 127 | ], 128 | "uid_TYPE": "UID", 129 | "uid_POSITION": 0, 130 | "page_content_TYPE": "Slices", 131 | "page_content_POSITION": 1, 132 | "page_content.email_signup_TYPE": "Slice", 133 | "page_content.email_signup_POSITION": 2, 134 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 135 | "page_content.email_signup.non-repeat.email_title_POSITION": 3, 136 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 137 | "page_content.email_signup.non-repeat.email_text_POSITION": 4, 138 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 139 | "page_content.email_signup.non-repeat.label_POSITION": 5, 140 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 141 | "page_content.email_signup.non-repeat.placeholder_POSITION": 6, 142 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 143 | "page_content.email_signup.non-repeat.button_text_POSITION": 7, 144 | "page_content.call_to_action_TYPE": "Slice", 145 | "page_content.call_to_action_POSITION": 8, 146 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 147 | "page_content.call_to_action.non-repeat.action_title_POSITION": 9, 148 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 149 | "page_content.call_to_action.non-repeat.action_text_POSITION": 10, 150 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 151 | "page_content.call_to_action.non-repeat.black_button_POSITION": 11, 152 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 153 | "page_content.call_to_action.non-repeat.white_button_POSITION": 12, 154 | "page_content.highlight_section_TYPE": "Slice", 155 | "page_content.highlight_section_POSITION": 13, 156 | "page_content.highlight_section.non-repeat.highlight_image_TYPE": "Image", 157 | "page_content.highlight_section.non-repeat.highlight_image_POSITION": 14, 158 | "page_content.highlight_section.non-repeat.icon_black_TYPE": "Image", 159 | "page_content.highlight_section.non-repeat.icon_black_POSITION": 15, 160 | "page_content.highlight_section.non-repeat.icon_white_TYPE": "Image", 161 | "page_content.highlight_section.non-repeat.icon_white_POSITION": 16, 162 | "page_content.highlight_section.non-repeat.highlight_title_TYPE": "StructuredText", 163 | "page_content.highlight_section.non-repeat.highlight_title_POSITION": 17, 164 | "page_content.highlight_section.non-repeat.highlight_text_TYPE": "StructuredText", 165 | "page_content.highlight_section.non-repeat.highlight_text_POSITION": 18, 166 | "page_content.full_width_image_TYPE": "Slice", 167 | "page_content.full_width_image_POSITION": 19, 168 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 169 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 20, 170 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 171 | "page_content.full_width_image.non-repeat.background_image_POSITION": 21, 172 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 173 | "page_content.full_width_image.non-repeat.image_black_POSITION": 22, 174 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 175 | "page_content.full_width_image.non-repeat.image_white_POSITION": 23, 176 | "page_content.full_width_image.repeat.repeatable-title_TYPE": "StructuredText", 177 | "page_content.full_width_image.repeat.repeatable-title_POSITION": 24, 178 | "meta_title_TYPE": "StructuredText", 179 | "meta_title_POSITION": 25, 180 | "meta_description_TYPE": "StructuredText", 181 | "meta_description_POSITION": 26, 182 | "slugs_INTERNAL": ["title"], 183 | "uids_INTERNAL": [] 184 | } 185 | -------------------------------------------------------------------------------- /custom_types/page.json: -------------------------------------------------------------------------------- 1 | { 2 | "Main" : { 3 | "uid" : { 4 | "type" : "UID", 5 | "config" : { 6 | "label" : "UID / URL" 7 | } 8 | }, 9 | "page_content" : { 10 | "type" : "Slices", 11 | "fieldset" : "Slice zone", 12 | "config" : { 13 | "labels" : { 14 | "heighlight_section" : [ ], 15 | "highlight_section" : [ ], 16 | "call_to_action" : [ ], 17 | "full_width_image" : [ ] 18 | }, 19 | "choices" : { 20 | "email_signup" : { 21 | "type" : "Slice", 22 | "fieldset" : "Email Signup", 23 | "description" : "Section for email submissions", 24 | "icon" : "email", 25 | "display" : "list", 26 | "non-repeat" : { 27 | "email_title" : { 28 | "type" : "StructuredText", 29 | "config" : { 30 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 31 | "label" : "email_title" 32 | } 33 | }, 34 | "email_text" : { 35 | "type" : "StructuredText", 36 | "config" : { 37 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 38 | "label" : "email_text" 39 | } 40 | }, 41 | "label" : { 42 | "type" : "StructuredText", 43 | "config" : { 44 | "multi" : "paragraph, heading4", 45 | "label" : "label" 46 | } 47 | }, 48 | "placeholder" : { 49 | "type" : "Text", 50 | "config" : { 51 | "label" : "placeholder", 52 | "placeholder" : "Placeholder" 53 | } 54 | }, 55 | "button_text" : { 56 | "type" : "StructuredText", 57 | "config" : { 58 | "multi" : "paragraph", 59 | "label" : "button_text" 60 | } 61 | } 62 | }, 63 | "repeat" : { } 64 | }, 65 | "call_to_action" : { 66 | "type" : "Slice", 67 | "fieldset" : "Call To Action", 68 | "description" : "A call to action banner", 69 | "icon" : "phone_in_talk", 70 | "display" : "list", 71 | "non-repeat" : { 72 | "action_title" : { 73 | "type" : "StructuredText", 74 | "config" : { 75 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 76 | "label" : "action_title" 77 | } 78 | }, 79 | "action_text" : { 80 | "type" : "StructuredText", 81 | "config" : { 82 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 83 | "label" : "action_text" 84 | } 85 | }, 86 | "black_button" : { 87 | "type" : "Image", 88 | "config" : { 89 | "constraint" : { }, 90 | "thumbnails" : [ ], 91 | "label" : "black_button" 92 | } 93 | }, 94 | "white_button" : { 95 | "type" : "Image", 96 | "config" : { 97 | "constraint" : { }, 98 | "thumbnails" : [ ], 99 | "label" : "white_button" 100 | } 101 | } 102 | }, 103 | "repeat" : { } 104 | }, 105 | "highlight_section" : { 106 | "type" : "Slice", 107 | "fieldset" : "Highlight Section", 108 | "description" : "A columned section with an image and text", 109 | "icon" : "burst_mode", 110 | "display" : "list", 111 | "non-repeat" : { 112 | "highlight_image" : { 113 | "type" : "Image", 114 | "config" : { 115 | "constraint" : { 116 | "width" : 550, 117 | "height" : 700 118 | }, 119 | "thumbnails" : [ { 120 | "name" : "Mobileview", 121 | "width" : 400, 122 | "height" : 300 123 | }, { 124 | "name" : "Tabletview", 125 | "width" : 800, 126 | "height" : 400 127 | } ], 128 | "label" : "highlight_image" 129 | } 130 | }, 131 | "icon_black" : { 132 | "type" : "Image", 133 | "config" : { 134 | "constraint" : { }, 135 | "thumbnails" : [ ], 136 | "label" : "icon_black" 137 | } 138 | }, 139 | "icon_white" : { 140 | "type" : "Image", 141 | "config" : { 142 | "constraint" : { }, 143 | "thumbnails" : [ ], 144 | "label" : "icon_white" 145 | } 146 | }, 147 | "highlight_title" : { 148 | "type" : "StructuredText", 149 | "config" : { 150 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 151 | "label" : "highlight_title" 152 | } 153 | }, 154 | "highlight_text" : { 155 | "type" : "StructuredText", 156 | "config" : { 157 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 158 | "label" : "highlight_text" 159 | } 160 | } 161 | }, 162 | "repeat" : { } 163 | }, 164 | "full_width_image" : { 165 | "type" : "Slice", 166 | "fieldset" : "Full Width Image", 167 | "description" : "A wide, thin image", 168 | "icon" : "broken_image", 169 | "non-repeat" : { 170 | "background_image_position" : { 171 | "type" : "Select", 172 | "config" : { 173 | "options" : [ "left", "right" ], 174 | "default_value" : "left", 175 | "label" : "background_image_position" 176 | } 177 | }, 178 | "background_image" : { 179 | "type" : "Image", 180 | "config" : { 181 | "constraint" : { 182 | "width" : null, 183 | "height" : null 184 | }, 185 | "thumbnails" : [ ], 186 | "label" : "background_image" 187 | } 188 | }, 189 | "image_black" : { 190 | "type" : "Image", 191 | "config" : { 192 | "constraint" : { 193 | "width" : null, 194 | "height" : null 195 | }, 196 | "thumbnails" : [ ], 197 | "label" : "image_black" 198 | } 199 | }, 200 | "image_white" : { 201 | "type" : "Image", 202 | "config" : { 203 | "constraint" : { }, 204 | "thumbnails" : [ ], 205 | "label" : "image_white" 206 | } 207 | } 208 | }, 209 | "repeat" : { }, 210 | "display" : "list" 211 | } 212 | } 213 | } 214 | } 215 | }, 216 | "SEO" : { 217 | "meta_title" : { 218 | "type" : "StructuredText", 219 | "config" : { 220 | "single" : "heading1, heading2, heading3, heading4, heading5, heading6", 221 | "label" : "Meta Title" 222 | } 223 | }, 224 | "meta_description" : { 225 | "type" : "StructuredText", 226 | "config" : { 227 | "multi" : "paragraph, preformatted, heading1, heading2, heading3, heading4, heading5, heading6, strong, em, hyperlink, image, embed, list-item, o-list-item, o-list-item", 228 | "label" : "Meta Description" 229 | } 230 | } 231 | } 232 | } -------------------------------------------------------------------------------- /public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | /* Common */ 2 | body { 3 | font-family: 'Roboto', sans-serif; 4 | letter-spacing: 0; 5 | } 6 | h2 { 7 | line-height: 67px; 8 | font-size: 56px; 9 | font-weight: 600; 10 | } 11 | h4 { 12 | font-size: 20px; 13 | margin-bottom: 30px; 14 | line-height: 27px; 15 | } 16 | a { 17 | text-decoration: none; 18 | font-size: 16px; 19 | font-weight: 500; 20 | } 21 | 22 | /* Containers */ 23 | .container, 24 | header, 25 | .footer-content { 26 | max-width: 1080px; 27 | margin: auto; 28 | } 29 | section { 30 | display: flex; 31 | justify-content: center; 32 | align-items: center; 33 | flex-direction: row; 34 | } 35 | 36 | /* Dark-light mode */ 37 | body.dark-mode { 38 | background-color: #000000; 39 | color: #FFFFFF 40 | } 41 | body.light-mode { 42 | background-color: #FFFFFF; 43 | color: rgba(0,0,0,0.80); 44 | } 45 | .dark-mode .off-white-desc p { 46 | color: rgba(255,255,255,0.80); 47 | } 48 | .dark-mode a, 49 | .dark-mode .logo-text { 50 | color: #FFFFFF; 51 | } 52 | .light-mode a, 53 | .light-mode .logo-text { 54 | color: #000000; 55 | } 56 | .dark-mode .newsletters-btn p { 57 | background-color: #FFFFFF; 58 | color: #000000; 59 | } 60 | .dark-mode .dark-asset, 61 | .light-mode .white-asset { 62 | display: none; 63 | } 64 | .dark-mode .back-img { 65 | opacity: 0.2; 66 | } 67 | 68 | /* Header */ 69 | .header { 70 | padding: 20px; 71 | margin: 0 auto; 72 | margin-bottom: 100px; 73 | } 74 | .logo-block { 75 | padding-top: 6px; 76 | display: flex; 77 | } 78 | .logo-block img { 79 | width: 18px; 80 | height: 18px; 81 | margin-right: 4px; 82 | vertical-align: text-top; 83 | } 84 | .logo-text { 85 | font-size: 20px; 86 | font-weight: 500; 87 | line-height: 19px; 88 | } 89 | .main-nav img{ 90 | width: 18px; 91 | vertical-align: text-bottom; 92 | } 93 | .header { 94 | display: flex; 95 | align-items: center; 96 | justify-content: space-between; 97 | flex-wrap: wrap; 98 | } 99 | .main-nav ul { 100 | margin: 1em 0 .5em; 101 | text-align: center; 102 | } 103 | .main-nav li { 104 | display: inline; 105 | } 106 | .main-nav a { 107 | display: inline-block; 108 | padding: .5em 1.5em; 109 | } 110 | 111 | /* Call to action Slice */ 112 | .call-to-action h1 { 113 | max-width: 614px; 114 | font-size: 100px; 115 | letter-spacing: 0; 116 | font-weight: 600; 117 | } 118 | .call-to-action p { 119 | margin-top: 20px; 120 | max-width: 723px; 121 | line-height: 40px; 122 | font-size: 23px; 123 | font-weight: 500; 124 | } 125 | .btn-content { 126 | margin: 298px 0px 0px 235px; 127 | } 128 | 129 | /* Full width image Slice */ 130 | .image-container { 131 | position: relative; 132 | padding-top: 110px; 133 | margin-top: 110px; 134 | margin-bottom: 220px; 135 | } 136 | .full-width-image-right { 137 | position: absolute; 138 | top: 0; 139 | right: 0; 140 | z-index: -2; 141 | } 142 | .full-width-image-left { 143 | position: absolute; 144 | top: 0; 145 | z-index: -2; 146 | left: 0px; 147 | } 148 | .back-img { 149 | position: relative; 150 | top: 0px; 151 | left: 0px; 152 | margin-left: -110px; 153 | width: 790px; 154 | height: 608px; 155 | margin-right: -110px; 156 | } 157 | .main-image img { 158 | width: 100%; 159 | } 160 | 161 | /* Icon info section Slice */ 162 | .icon-info-section { 163 | align-items: unset; 164 | } 165 | .icon-info-section h2 { 166 | max-width: 463px; 167 | margin: 30px 0px 20px 0px; 168 | } 169 | .icon-info-section p { 170 | max-width: 1075px; 171 | line-height: 40px; 172 | font-size: 23px; 173 | font-weight: 500; 174 | } 175 | .info-desc { 176 | margin-left: 135px; 177 | } 178 | .info-desc h6 { 179 | font-size: 20px; 180 | line-height: 36px; 181 | } 182 | .info-desc p { 183 | line-height: 30px; 184 | margin-top: 10px; 185 | font-size: 16px; 186 | font-weight: 400; 187 | margin-bottom: 20px; 188 | } 189 | 190 | /* Email signup Slice */ 191 | .signup-content { 192 | margin-left: 165px; 193 | } 194 | .email-signup p { 195 | margin-top: 20px; 196 | max-width: 723px; 197 | line-height: 40px; 198 | font-size: 23px; 199 | font-weight: 500; 200 | } 201 | .signup-content input { 202 | border: 1px solid #E5E5E5; 203 | border-radius: 6px; 204 | box-sizing: border-box; 205 | padding: 10px 20px; 206 | width: 390px; 207 | font-size: 18px; 208 | height: 66px; 209 | color: #999999; 210 | background-color: Transparent; 211 | margin-top: 10px; 212 | } 213 | .newsletters-btn { 214 | background-color: #000000; 215 | border: 1px solid #000000; 216 | border-radius: 6px; 217 | line-height: 66px; 218 | font-size: 18px; 219 | color: #FFFFFF; 220 | text-align: center; 221 | margin-top: 10px; 222 | } 223 | 224 | /* Highlight section Slice */ 225 | .highlight-section { 226 | margin-bottom: 220px; 227 | } 228 | .highlight-content h2 { 229 | margin-top: 20px; 230 | } 231 | .highlight-image { 232 | margin-right: 122px; 233 | } 234 | .highlight-image img { 235 | width: 516px; 236 | } 237 | .highlight-content > p:first-of-type { 238 | font-size: 20px; 239 | line-height: 36px; 240 | margin-top: 20px; 241 | } 242 | .highlight-content > p:last-of-type { 243 | font-size: 16px; 244 | line-height: 30px; 245 | margin-top: 20px; 246 | } 247 | 248 | /* Footer */ 249 | .footer { 250 | border-top: 1px solid #2D2D2D; 251 | max-width: initial; 252 | margin-top: 90px; 253 | } 254 | .footer-content { 255 | padding: 20px; 256 | margin: 0 auto; 257 | display: flex; 258 | align-items: center; 259 | justify-content: space-between; 260 | flex-wrap: wrap; 261 | } 262 | .footer-content p { 263 | font-size: 16px; 264 | padding-top: 10px; 265 | } 266 | .footer-nav ul { 267 | margin: 1em 0 .5em; 268 | text-align: center; 269 | } 270 | .footer-nav li { 271 | display: inline; 272 | } 273 | .footer-nav img { 274 | display: inline-block; 275 | padding: 5px 16px; 276 | width: 19px; 277 | } 278 | 279 | 280 | /* Error handler & 404 pages */ 281 | .error-container { 282 | max-width: 600px; 283 | margin: auto; 284 | margin-top: 230px; 285 | margin-bottom: 449px; 286 | } 287 | .error-container h3 { 288 | text-align: center; 289 | font-size: 60px; 290 | } 291 | .error-container h2, 292 | .error-container h6 { 293 | font-size: 20px; 294 | text-align: center; 295 | } 296 | .back-btn { 297 | text-align: center; 298 | } 299 | .error-container button { 300 | padding: 20px 30px; 301 | margin-top: 20px; 302 | border-radius: 20px; 303 | font-size: 20px; 304 | } 305 | .error-container nav ul { 306 | list-style: circle; 307 | } 308 | .error-container nav ul li { 309 | margin-bottom: 20px; 310 | } 311 | 312 | 313 | /** 314 | * Media Queries 315 | */ 316 | 317 | /* Desktop padding */ 318 | @media(max-width:1200px) { 319 | .header, 320 | .container, 321 | .footer-content { 322 | padding-right: 60px; 323 | padding-left: 60px; 324 | } 325 | .call-to-action { 326 | justify-content: flex-start; 327 | } 328 | .btn-content { 329 | margin: 310px 0px 0px 115px; 330 | } 331 | .back-img { 332 | display: none; 333 | } 334 | .image-container { 335 | margin-bottom: 110px; 336 | padding-top: 0px; 337 | } 338 | .highlight-section { 339 | margin-bottom: 110px; 340 | } 341 | h2 { 342 | font-size: 48px; 343 | } 344 | .signup-content { 345 | margin-left: 40px; 346 | } 347 | .highlight-image { 348 | margin-right: 60px; 349 | } 350 | .highlight-text p { 351 | font-size: 14px; 352 | } 353 | .info-desc { 354 | margin-left: 60px; 355 | } 356 | } 357 | 358 | /* Tablet breakpoint */ 359 | @media(max-width:1100px) { 360 | .header, 361 | .info-desc { 362 | margin: auto; 363 | } 364 | .logo-text { 365 | font-size: 16px; 366 | } 367 | .container { 368 | text-align: center; 369 | margin-top: 50px; 370 | } 371 | .call-to-action h1 { 372 | font-size: 45px; 373 | margin:auto; 374 | } 375 | h2 { 376 | font-size: 32px; 377 | line-height: 45px; 378 | } 379 | h6 { 380 | line-height: 35px; 381 | font-size: 20px; 382 | } 383 | .image-container { 384 | padding-bottom: 30px; 385 | padding-top: 30px; 386 | margin: 0; 387 | } 388 | .main-image img { 389 | padding-top: 25px; 390 | padding-bottom: 20px; 391 | } 392 | .info-desc h6 { 393 | line-height: 30px; 394 | font-size: 20px; 395 | margin-top: 25px; 396 | } 397 | .icon-info-section { 398 | text-align: left; 399 | } 400 | section { 401 | flex-flow: column; 402 | } 403 | .btn-content, 404 | .highlight-image, 405 | .signup-content { 406 | margin: 0; 407 | padding-top:20px; 408 | } 409 | .highlight-image { 410 | order: 2; 411 | margin: 0; 412 | } 413 | .highlight-image img { 414 | width: 100%; 415 | } 416 | .highlight-content { 417 | margin-bottom: 30px; 418 | text-align: left; 419 | } 420 | .highlight-section { 421 | align-items: unset; 422 | padding-bottom: 30px; 423 | margin: auto; 424 | } 425 | .highlight-title h2 { 426 | font-size: 32px; 427 | } 428 | .error-container { 429 | padding: 23px 58px; 430 | } 431 | } 432 | 433 | /* Mobile breakpoint */ 434 | @media(max-width:610px) { 435 | .main-nav li a { 436 | font-size: 12px; 437 | } 438 | .logo-text { 439 | font-size: 15px; 440 | } 441 | .header, 442 | .footer-content { 443 | justify-content: space-evenly; 444 | } 445 | .main-nav img { 446 | width: 12px; 447 | } 448 | .container, 449 | .header { 450 | padding-left: 20px; 451 | padding-right: 20px; 452 | } 453 | .signup-content input { 454 | padding: 10px 48px; 455 | width: 100%; 456 | } 457 | .footer-content p { 458 | font-size: 12px; 459 | } 460 | .footer-content img { 461 | width: 13px; 462 | } 463 | } 464 | 465 | /* Mobile nav breakpoint */ 466 | @media(max-width:350px) { 467 | .main-nav li a { 468 | font-size: 10px; 469 | } 470 | } -------------------------------------------------------------------------------- /documents/en-gb/XTbj2RAAAHfcOZ3e=#=Xf992RIAACQAIJiW=#=page=#=XTbj2RAAAHfcOZ3g=#=en-gb=#=y.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid": "aboutus", 3 | "page_content": [ 4 | { 5 | "key": "call_to_action$2a1676b0-4867-4f86-9d85-eb7d62732317", 6 | "value": { 7 | "repeat": [{}], 8 | "non-repeat": { 9 | "action_title": [ 10 | { 11 | "type": "heading1", 12 | "content": { "text": "About Todoop.", "spans": [] } 13 | } 14 | ], 15 | "action_text": [ 16 | { 17 | "type": "paragraph", 18 | "content": { 19 | "text": "Life can feel overwhelming, but it doesn’t have to. Todoist lets you keep track of everything in one place, so you can get it all done and enjoy more peace of mind along the way.", 20 | "spans": [] 21 | } 22 | } 23 | ], 24 | "black_button": { 25 | "origin": { 26 | "id": "XWPk5BMAACAAo-Yv", 27 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F475d5c20-710a-4c52-ae18-57592023b753_twitter-btn-black.png", 28 | "width": 232, 29 | "height": 74 30 | }, 31 | "width": 232, 32 | "height": 74, 33 | "url": "https://images.prismic.io/todo-app-sample%2F475d5c20-710a-4c52-ae18-57592023b753_twitter-btn-black.png?auto=compress,format", 34 | "edit": { 35 | "background": "transparent", 36 | "zoom": 1, 37 | "crop": { "x": 0, "y": 0 } 38 | }, 39 | "credits": null, 40 | "alt": "Available on twitter", 41 | "provider": "imgix", 42 | "thumbnails": {} 43 | }, 44 | "white_button": { 45 | "origin": { 46 | "id": "XWPk5BMAAB8Ao-Yw", 47 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fe1fc64c1-4cbc-4275-b3dd-3e6cfa3c822b_twitter-btn-white.png", 48 | "width": 232, 49 | "height": 74 50 | }, 51 | "width": 232, 52 | "height": 74, 53 | "url": "https://images.prismic.io/todo-app-sample%2Fe1fc64c1-4cbc-4275-b3dd-3e6cfa3c822b_twitter-btn-white.png?auto=compress,format", 54 | "edit": { 55 | "background": "transparent", 56 | "zoom": 1, 57 | "crop": { "x": 0, "y": 0 } 58 | }, 59 | "credits": null, 60 | "alt": "Available on twitter", 61 | "provider": "imgix", 62 | "thumbnails": {} 63 | } 64 | } 65 | } 66 | }, 67 | { 68 | "key": "full_width_image$0679c55d-d75f-450f-8a87-6c1747b7585e", 69 | "value": { 70 | "repeat": [{}], 71 | "non-repeat": { 72 | "background_image_position": "left", 73 | "background_image": { 74 | "origin": { 75 | "id": "XV08DxEAACIAmGwj", 76 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 77 | "width": 1686, 78 | "height": 1380 79 | }, 80 | "width": 1686, 81 | "height": 1380, 82 | "url": "https://images.prismic.io/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png?auto=compress,format", 83 | "edit": { 84 | "background": "transparent", 85 | "zoom": 1, 86 | "crop": { "x": 0, "y": 0 } 87 | }, 88 | "credits": null, 89 | "alt": "Checkbox background", 90 | "provider": "imgix", 91 | "thumbnails": {} 92 | }, 93 | "image_black": { 94 | "origin": { 95 | "id": "XWPEPBAAACYA73EP", 96 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png", 97 | "width": 2456, 98 | "height": 1316 99 | }, 100 | "width": 1228, 101 | "height": 658, 102 | "url": "https://images.prismic.io/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png?auto=compress,format&rect=0,1,2454,1315&w=1228&h=658", 103 | "edit": { 104 | "background": "transparent", 105 | "zoom": 0.5, 106 | "crop": { "x": 0, "y": 0 } 107 | }, 108 | "credits": null, 109 | "alt": "Discussion in meeting room", 110 | "provider": "imgix", 111 | "thumbnails": {} 112 | }, 113 | "image_white": { 114 | "origin": { 115 | "id": "XWPEPBAAACYA73EP", 116 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png", 117 | "width": 2456, 118 | "height": 1316 119 | }, 120 | "provider": "imgix", 121 | "url": "https://images.prismic.io/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png?auto=compress,format", 122 | "alt": null, 123 | "credits": null, 124 | "width": 2456, 125 | "height": 1316, 126 | "edit": { 127 | "zoom": 1, 128 | "crop": { "x": 0, "y": 0 }, 129 | "background": "transparent" 130 | }, 131 | "thumbnails": {} 132 | } 133 | } 134 | } 135 | }, 136 | { 137 | "key": "highlight_section$0102cb00-10c5-4c31-a9ea-00af537e629c", 138 | "value": { 139 | "repeat": [{}], 140 | "non-repeat": { 141 | "highlight_image": { 142 | "origin": { 143 | "id": "XTHXUBAAACQAI3Yp", 144 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 145 | "width": 600, 146 | "height": 690 147 | }, 148 | "width": 600, 149 | "height": 812, 150 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=45,0,510,690&w=600&h=812", 151 | "edit": { 152 | "background": "transparent", 153 | "zoom": 1.1768115942028985, 154 | "crop": { "x": -53, "y": 0 } 155 | }, 156 | "credits": null, 157 | "alt": "Office area", 158 | "provider": "imgix", 159 | "thumbnails": { 160 | "Mobileview": { 161 | "origin": { 162 | "id": "XTHXUBAAACQAI3Yp", 163 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 164 | "width": 600, 165 | "height": 690 166 | }, 167 | "width": 400, 168 | "height": 300, 169 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=0,120,600,450&w=400&h=300", 170 | "edit": { 171 | "background": "transparent", 172 | "zoom": 0.6666666666666666, 173 | "crop": { "x": 0, "y": -80 } 174 | }, 175 | "credits": null, 176 | "alt": "Office area", 177 | "provider": "imgix" 178 | }, 179 | "Tabletview": { 180 | "origin": { 181 | "id": "XTHXUBAAACQAI3Yp", 182 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 183 | "width": 600, 184 | "height": 690 185 | }, 186 | "width": 800, 187 | "height": 400, 188 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=0,195,600,300&w=800&h=400", 189 | "edit": { 190 | "background": "transparent", 191 | "zoom": 1.3333333333333333, 192 | "crop": { "x": 0, "y": -260 } 193 | }, 194 | "credits": null, 195 | "alt": "Office area", 196 | "provider": "imgix" 197 | } 198 | } 199 | }, 200 | "icon_black": { 201 | "origin": { 202 | "id": "XTbV3hAAACIAOV5_", 203 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png", 204 | "width": 62, 205 | "height": 62 206 | }, 207 | "width": 62, 208 | "height": 62, 209 | "url": "https://images.prismic.io/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png?auto=compress,format", 210 | "edit": { 211 | "background": "transparent", 212 | "zoom": 1, 213 | "crop": { "x": 0, "y": 0 } 214 | }, 215 | "credits": null, 216 | "alt": "Checkbox Icon", 217 | "provider": "imgix", 218 | "thumbnails": {} 219 | }, 220 | "icon_white": { 221 | "origin": { 222 | "id": "XTbV3hAAACQAOV6A", 223 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png", 224 | "width": 62, 225 | "height": 62 226 | }, 227 | "width": 62, 228 | "height": 62, 229 | "url": "https://images.prismic.io/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png?auto=compress,format", 230 | "edit": { 231 | "background": "transparent", 232 | "zoom": 1, 233 | "crop": { "x": 0, "y": 0 } 234 | }, 235 | "credits": null, 236 | "alt": "Checkbox Icon", 237 | "provider": "imgix", 238 | "thumbnails": {} 239 | }, 240 | "highlight_title": [ 241 | { 242 | "type": "heading2", 243 | "content": { 244 | "text": "The future of Todo application", 245 | "spans": [{ "start": 0, "end": 30, "type": "strong" }] 246 | } 247 | } 248 | ], 249 | "highlight_text": [ 250 | { 251 | "type": "paragraph", 252 | "content": { 253 | "text": "Life can feel overwhelming, but it doesn’t have to. Todoist lets you keep track of everything in one place, so you can get it all done and enjoy more peace of mind along the way.", 254 | "spans": [{ "start": 0, "end": 178, "type": "strong" }] 255 | } 256 | }, 257 | { 258 | "type": "paragraph", 259 | "content": { 260 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 261 | "spans": [] 262 | } 263 | } 264 | ] 265 | } 266 | } 267 | }, 268 | { 269 | "key": "email_signup$dd3a6d64-e26b-4ae2-af04-f5e24c19465b", 270 | "value": { 271 | "repeat": [{}], 272 | "non-repeat": { 273 | "email_title": [ 274 | { 275 | "type": "heading2", 276 | "content": { "text": "Get notified", "spans": [] } 277 | } 278 | ], 279 | "email_text": [ 280 | { 281 | "type": "paragraph", 282 | "content": { 283 | "text": "Get notified about updates and be the first to get early access to the new, safer and smarter way to archive your files.", 284 | "spans": [] 285 | } 286 | } 287 | ], 288 | "label": [ 289 | { 290 | "type": "paragraph", 291 | "content": { "text": "Your Email:", "spans": [] } 292 | } 293 | ], 294 | "placeholder": "johndoe@gmail.com", 295 | "button_text": [ 296 | { 297 | "type": "paragraph", 298 | "content": { "text": "Join our Newsletters", "spans": [] } 299 | } 300 | ] 301 | } 302 | } 303 | } 304 | ], 305 | "uid_TYPE": "UID", 306 | "uid_POSITION": 0, 307 | "page_content_TYPE": "Slices", 308 | "page_content_POSITION": 1, 309 | "page_content.email_signup_TYPE": "Slice", 310 | "page_content.email_signup_POSITION": 2, 311 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 312 | "page_content.email_signup.non-repeat.email_title_POSITION": 3, 313 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 314 | "page_content.email_signup.non-repeat.email_text_POSITION": 4, 315 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 316 | "page_content.email_signup.non-repeat.label_POSITION": 5, 317 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 318 | "page_content.email_signup.non-repeat.placeholder_POSITION": 6, 319 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 320 | "page_content.email_signup.non-repeat.button_text_POSITION": 7, 321 | "page_content.call_to_action_TYPE": "Slice", 322 | "page_content.call_to_action_POSITION": 8, 323 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 324 | "page_content.call_to_action.non-repeat.action_title_POSITION": 9, 325 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 326 | "page_content.call_to_action.non-repeat.action_text_POSITION": 10, 327 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 328 | "page_content.call_to_action.non-repeat.black_button_POSITION": 11, 329 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 330 | "page_content.call_to_action.non-repeat.white_button_POSITION": 12, 331 | "page_content.highlight_section_TYPE": "Slice", 332 | "page_content.highlight_section_POSITION": 13, 333 | "page_content.highlight_section.non-repeat.highlight_image_TYPE": "Image", 334 | "page_content.highlight_section.non-repeat.highlight_image_POSITION": 14, 335 | "page_content.highlight_section.non-repeat.icon_black_TYPE": "Image", 336 | "page_content.highlight_section.non-repeat.icon_black_POSITION": 15, 337 | "page_content.highlight_section.non-repeat.icon_white_TYPE": "Image", 338 | "page_content.highlight_section.non-repeat.icon_white_POSITION": 16, 339 | "page_content.highlight_section.non-repeat.highlight_title_TYPE": "StructuredText", 340 | "page_content.highlight_section.non-repeat.highlight_title_POSITION": 17, 341 | "page_content.highlight_section.non-repeat.highlight_text_TYPE": "StructuredText", 342 | "page_content.highlight_section.non-repeat.highlight_text_POSITION": 18, 343 | "page_content.full_width_image_TYPE": "Slice", 344 | "page_content.full_width_image_POSITION": 19, 345 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 346 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 20, 347 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 348 | "page_content.full_width_image.non-repeat.background_image_POSITION": 21, 349 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 350 | "page_content.full_width_image.non-repeat.image_black_POSITION": 22, 351 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 352 | "page_content.full_width_image.non-repeat.image_white_POSITION": 23, 353 | "meta_title_TYPE": "StructuredText", 354 | "meta_title_POSITION": 24, 355 | "meta_description_TYPE": "StructuredText", 356 | "meta_description_POSITION": 25, 357 | "slugs_INTERNAL": ["about-todoop.", "about-todoop.-zzz", "about-todoop.."], 358 | "uids_INTERNAL": ["aboutus", "about"] 359 | } 360 | -------------------------------------------------------------------------------- /documents/fr-fr/XTb4vhAAACQAOfuQ=#=Xf997BIAACMAIJjs=#=page=#=XTbj2RAAAHfcOZ3g=#=fr-fr=#=n.json: -------------------------------------------------------------------------------- 1 | { 2 | "uid": "aboutus", 3 | "page_content": [ 4 | { 5 | "key": "call_to_action$2a1676b0-4867-4f86-9d85-eb7d62732317", 6 | "value": { 7 | "repeat": [{}], 8 | "non-repeat": { 9 | "action_title": [ 10 | { 11 | "type": "heading1", 12 | "content": { "text": "À propos de Todoop.", "spans": [] } 13 | } 14 | ], 15 | "action_text": [ 16 | { 17 | "type": "paragraph", 18 | "content": { 19 | "text": "La vie peut sembler écrasante, mais ce n’est pas nécessaire. Todoist vous permet de tout garder au même endroit, pour que tout soit fini et que vous ayez l'esprit tranquille en chemin.", 20 | "spans": [] 21 | } 22 | } 23 | ], 24 | "black_button": { 25 | "origin": { 26 | "id": "XWPk5BMAACAAo-Yv", 27 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F475d5c20-710a-4c52-ae18-57592023b753_twitter-btn-black.png", 28 | "width": 232, 29 | "height": 74 30 | }, 31 | "width": 232, 32 | "height": 74, 33 | "url": "https://images.prismic.io/todo-app-sample%2F475d5c20-710a-4c52-ae18-57592023b753_twitter-btn-black.png?auto=compress,format", 34 | "edit": { 35 | "background": "transparent", 36 | "zoom": 1, 37 | "crop": { "x": 0, "y": 0 } 38 | }, 39 | "credits": null, 40 | "alt": "Available on twitter", 41 | "provider": null, 42 | "thumbnails": {} 43 | }, 44 | "white_button": { 45 | "origin": { 46 | "id": "XWPk5BMAAB8Ao-Yw", 47 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fe1fc64c1-4cbc-4275-b3dd-3e6cfa3c822b_twitter-btn-white.png", 48 | "width": 232, 49 | "height": 74 50 | }, 51 | "width": 232, 52 | "height": 74, 53 | "url": "https://images.prismic.io/todo-app-sample%2Fe1fc64c1-4cbc-4275-b3dd-3e6cfa3c822b_twitter-btn-white.png?auto=compress,format", 54 | "edit": { 55 | "background": "transparent", 56 | "zoom": 1, 57 | "crop": { "x": 0, "y": 0 } 58 | }, 59 | "credits": null, 60 | "alt": "Available on twitter", 61 | "provider": null, 62 | "thumbnails": {} 63 | } 64 | } 65 | } 66 | }, 67 | { 68 | "key": "full_width_image$09d61197-37d6-4a43-8cba-53298585d2cc", 69 | "value": { 70 | "repeat": [{}], 71 | "non-repeat": { 72 | "background_image_position": "left", 73 | "background_image": { 74 | "origin": { 75 | "id": "XV08DxEAACIAmGwj", 76 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 77 | "width": 1686, 78 | "height": 1380 79 | }, 80 | "width": 1686, 81 | "height": 1380, 82 | "url": "https://images.prismic.io/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png?auto=compress,format", 83 | "edit": { 84 | "background": "transparent", 85 | "zoom": 1, 86 | "crop": { "x": 0, "y": 0 } 87 | }, 88 | "credits": null, 89 | "alt": "Checkbox background", 90 | "provider": "imgix", 91 | "thumbnails": {} 92 | }, 93 | "image_black": { 94 | "origin": { 95 | "id": "XWPEPBAAACYA73EP", 96 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png", 97 | "width": 2456, 98 | "height": 1316 99 | }, 100 | "width": 1228, 101 | "height": 658, 102 | "url": "https://images.prismic.io/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png?auto=compress,format&rect=0,1,2454,1315&w=1228&h=658", 103 | "edit": { 104 | "background": "transparent", 105 | "zoom": 0.5, 106 | "crop": { "x": 0, "y": 0 } 107 | }, 108 | "credits": null, 109 | "alt": "Discussion in meeting room", 110 | "provider": "imgix", 111 | "thumbnails": {} 112 | }, 113 | "image_white": { 114 | "origin": { 115 | "id": "XWPEPBAAACYA73EP", 116 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png", 117 | "width": 2456, 118 | "height": 1316 119 | }, 120 | "provider": "imgix", 121 | "url": "https://images.prismic.io/todo-app-sample%2F3cae727c-264d-413c-b522-6eb83c914d28_bitmap2%402x.png?auto=compress,format", 122 | "alt": null, 123 | "credits": null, 124 | "width": 2456, 125 | "height": 1316, 126 | "edit": { 127 | "zoom": 1, 128 | "crop": { "x": 0, "y": 0 }, 129 | "background": "transparent" 130 | }, 131 | "thumbnails": {} 132 | } 133 | } 134 | } 135 | }, 136 | { 137 | "key": "highlight_section$14f1a2ec-415a-4a23-9260-52d3b2bb2597", 138 | "value": { 139 | "repeat": [{}], 140 | "non-repeat": { 141 | "highlight_image": { 142 | "origin": { 143 | "id": "XTHXUBAAACQAI3Yp", 144 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 145 | "width": 600, 146 | "height": 690 147 | }, 148 | "width": 600, 149 | "height": 812, 150 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=45,0,510,690&w=600&h=812", 151 | "edit": { 152 | "background": "transparent", 153 | "zoom": 1.1768115942028985, 154 | "crop": { "x": -53, "y": 0 } 155 | }, 156 | "credits": null, 157 | "alt": "Office area", 158 | "provider": "imgix", 159 | "thumbnails": { 160 | "Mobileview": { 161 | "origin": { 162 | "id": "XTHXUBAAACQAI3Yp", 163 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 164 | "width": 600, 165 | "height": 690 166 | }, 167 | "width": 400, 168 | "height": 300, 169 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=0,120,600,450&w=400&h=300", 170 | "edit": { 171 | "background": "transparent", 172 | "zoom": 0.6666666666666666, 173 | "crop": { "x": 0, "y": -80 } 174 | }, 175 | "credits": null, 176 | "alt": "Office area", 177 | "provider": "imgix" 178 | }, 179 | "Tabletview": { 180 | "origin": { 181 | "id": "XTHXUBAAACQAI3Yp", 182 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png", 183 | "width": 600, 184 | "height": 690 185 | }, 186 | "width": 800, 187 | "height": 400, 188 | "url": "https://images.prismic.io/todo-app-sample%2F12181a0f-236d-4682-b0ba-9f537a981058_room.png?auto=compress,format&rect=0,195,600,300&w=800&h=400", 189 | "edit": { 190 | "background": "transparent", 191 | "zoom": 1.3333333333333333, 192 | "crop": { "x": 0, "y": -260 } 193 | }, 194 | "credits": null, 195 | "alt": "Office area", 196 | "provider": "imgix" 197 | } 198 | } 199 | }, 200 | "icon_black": { 201 | "origin": { 202 | "id": "XTbV3hAAACIAOV5_", 203 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png", 204 | "width": 62, 205 | "height": 62 206 | }, 207 | "width": 62, 208 | "height": 62, 209 | "url": "https://images.prismic.io/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png?auto=compress,format", 210 | "edit": { 211 | "background": "transparent", 212 | "zoom": 1, 213 | "crop": { "x": 0, "y": 0 } 214 | }, 215 | "credits": null, 216 | "alt": "Checkbox icon", 217 | "provider": "imgix", 218 | "thumbnails": {} 219 | }, 220 | "icon_white": { 221 | "origin": { 222 | "id": "XTbV3hAAACQAOV6A", 223 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png", 224 | "width": 62, 225 | "height": 62 226 | }, 227 | "width": 62, 228 | "height": 62, 229 | "url": "https://images.prismic.io/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png?auto=compress,format", 230 | "edit": { 231 | "background": "transparent", 232 | "zoom": 1, 233 | "crop": { "x": 0, "y": 0 } 234 | }, 235 | "credits": null, 236 | "alt": "Checkbox icon", 237 | "provider": "imgix", 238 | "thumbnails": {} 239 | }, 240 | "highlight_title": [ 241 | { 242 | "type": "heading2", 243 | "content": { 244 | "text": "L'avenir de l'application Todo", 245 | "spans": [{ "start": 0, "end": 30, "type": "strong" }] 246 | } 247 | } 248 | ], 249 | "highlight_text": [ 250 | { 251 | "type": "paragraph", 252 | "content": { 253 | "text": "La vie peut sembler écrasante, mais ce n’est pas nécessaire. Todoist vous permet de tout garder au même endroit, pour que tout soit fini et que vous ayez l'esprit tranquille en chemin.", 254 | "spans": [{ "start": 0, "end": 184, "type": "strong" }] 255 | } 256 | }, 257 | { 258 | "type": "paragraph", 259 | "content": { 260 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline. Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 261 | "spans": [] 262 | } 263 | } 264 | ] 265 | } 266 | } 267 | }, 268 | { 269 | "key": "email_signup$dd3a6d64-e26b-4ae2-af04-f5e24c19465b", 270 | "value": { 271 | "repeat": [{}], 272 | "non-repeat": { 273 | "email_title": [ 274 | { 275 | "type": "heading2", 276 | "content": { "text": "Recevez une notification", "spans": [] } 277 | } 278 | ], 279 | "email_text": [ 280 | { 281 | "type": "paragraph", 282 | "content": { 283 | "text": "Soyez averti des mises à jour et soyez le premier à accéder rapidement à la nouvelle façon plus sûre et plus intelligente d'archiver vos fichiers.", 284 | "spans": [] 285 | } 286 | } 287 | ], 288 | "label": [ 289 | { 290 | "type": "paragraph", 291 | "content": { "text": "Your Email:", "spans": [] } 292 | } 293 | ], 294 | "placeholder": "johndoe@gmail.com", 295 | "button_text": [ 296 | { 297 | "type": "paragraph", 298 | "content": { "text": "Rejoignez nos newsletters", "spans": [] } 299 | } 300 | ] 301 | } 302 | } 303 | } 304 | ], 305 | "uid_TYPE": "UID", 306 | "uid_POSITION": 0, 307 | "page_content_TYPE": "Slices", 308 | "page_content_POSITION": 1, 309 | "page_content.email_signup_TYPE": "Slice", 310 | "page_content.email_signup_POSITION": 2, 311 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 312 | "page_content.email_signup.non-repeat.email_title_POSITION": 3, 313 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 314 | "page_content.email_signup.non-repeat.email_text_POSITION": 4, 315 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 316 | "page_content.email_signup.non-repeat.label_POSITION": 5, 317 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 318 | "page_content.email_signup.non-repeat.placeholder_POSITION": 6, 319 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 320 | "page_content.email_signup.non-repeat.button_text_POSITION": 7, 321 | "page_content.call_to_action_TYPE": "Slice", 322 | "page_content.call_to_action_POSITION": 8, 323 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 324 | "page_content.call_to_action.non-repeat.action_title_POSITION": 9, 325 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 326 | "page_content.call_to_action.non-repeat.action_text_POSITION": 10, 327 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 328 | "page_content.call_to_action.non-repeat.black_button_POSITION": 11, 329 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 330 | "page_content.call_to_action.non-repeat.white_button_POSITION": 12, 331 | "page_content.highlight_section_TYPE": "Slice", 332 | "page_content.highlight_section_POSITION": 13, 333 | "page_content.highlight_section.non-repeat.highlight_image_TYPE": "Image", 334 | "page_content.highlight_section.non-repeat.highlight_image_POSITION": 14, 335 | "page_content.highlight_section.non-repeat.icon_black_TYPE": "Image", 336 | "page_content.highlight_section.non-repeat.icon_black_POSITION": 15, 337 | "page_content.highlight_section.non-repeat.icon_white_TYPE": "Image", 338 | "page_content.highlight_section.non-repeat.icon_white_POSITION": 16, 339 | "page_content.highlight_section.non-repeat.highlight_title_TYPE": "StructuredText", 340 | "page_content.highlight_section.non-repeat.highlight_title_POSITION": 17, 341 | "page_content.highlight_section.non-repeat.highlight_text_TYPE": "StructuredText", 342 | "page_content.highlight_section.non-repeat.highlight_text_POSITION": 18, 343 | "page_content.full_width_image_TYPE": "Slice", 344 | "page_content.full_width_image_POSITION": 19, 345 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 346 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 20, 347 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 348 | "page_content.full_width_image.non-repeat.background_image_POSITION": 21, 349 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 350 | "page_content.full_width_image.non-repeat.image_black_POSITION": 22, 351 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 352 | "page_content.full_width_image.non-repeat.image_white_POSITION": 23, 353 | "meta_title_TYPE": "StructuredText", 354 | "meta_title_POSITION": 24, 355 | "meta_description_TYPE": "StructuredText", 356 | "meta_description_POSITION": 25, 357 | "slugs_INTERNAL": [ 358 | "a-propos-de-todoop.", 359 | "a-propos-de-todoop.-zzz", 360 | "about-todoop.", 361 | "a-propos-de-todoop" 362 | ], 363 | "uids_INTERNAL": ["aboutus", "about"] 364 | } 365 | -------------------------------------------------------------------------------- /documents/fr-fr/XTb4mBAAACQAOfrg=#=Xe417xEAACQAvEDU=#=homepage=#=XTHXqxAAAGcbI3fL=#=fr-fr=#=n.json: -------------------------------------------------------------------------------- 1 | { 2 | "display_title": [ 3 | { "type": "heading1", "content": { "text": "Page d'accueil", "spans": [] } } 4 | ], 5 | "page_content": [ 6 | { 7 | "key": "call_to_action$5a0d1d79-038e-425b-8d10-cee5e62e01f0", 8 | "value": { 9 | "repeat": [{}], 10 | "non-repeat": { 11 | "action_title": [ 12 | { 13 | "type": "heading1", 14 | "content": { "text": "Gardez votre vie organisée", "spans": [] } 15 | } 16 | ], 17 | "action_text": [ 18 | { 19 | "type": "paragraph", 20 | "content": { 21 | "text": "La vie peut sembler écrasante, mais ce n’est pas nécessaire. Todoist vous permet de tout garder au même endroit, pour que tout soit fini et que vous ayez l'esprit tranquille en chemin.", 22 | "spans": [] 23 | } 24 | } 25 | ], 26 | "black_button": { 27 | "origin": { 28 | "id": "XWPk5BMAACEAo-Yp", 29 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png", 30 | "width": 232, 31 | "height": 74 32 | }, 33 | "width": 232, 34 | "height": 74, 35 | "url": "https://images.prismic.io/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png?auto=compress,format", 36 | "edit": { 37 | "background": "transparent", 38 | "zoom": 1, 39 | "crop": { "x": 0, "y": 0 } 40 | }, 41 | "credits": null, 42 | "alt": "Available on app store", 43 | "provider": null, 44 | "thumbnails": {} 45 | }, 46 | "white_button": { 47 | "origin": { 48 | "id": "XWPk5BMAACAAo-Yu", 49 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F2c54432d-d9c4-4cc5-a2b9-d075a7b9193c_app-store-btn-white.png", 50 | "width": 232, 51 | "height": 74 52 | }, 53 | "width": 232, 54 | "height": 74, 55 | "url": "https://images.prismic.io/todo-app-sample%2F2c54432d-d9c4-4cc5-a2b9-d075a7b9193c_app-store-btn-white.png?auto=compress,format", 56 | "edit": { 57 | "background": "transparent", 58 | "zoom": 1, 59 | "crop": { "x": 0, "y": 0 } 60 | }, 61 | "credits": null, 62 | "alt": "Available on app store", 63 | "provider": null, 64 | "thumbnails": {} 65 | } 66 | } 67 | } 68 | }, 69 | { 70 | "key": "full_width_image$e58404e9-f95d-4b76-8129-e9bda78e2ace", 71 | "value": { 72 | "repeat": [{}], 73 | "non-repeat": { 74 | "background_image_position": "left", 75 | "background_image": { 76 | "origin": { 77 | "id": "XV08DxEAACIAmGwj", 78 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 79 | "width": 1686, 80 | "height": 1380 81 | }, 82 | "width": 1686, 83 | "height": 1380, 84 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/809040bc9dd98dabb52d8e51835ba6549451c734_rectangle-42x.png", 85 | "edit": { 86 | "background": "transparent", 87 | "zoom": 1, 88 | "crop": { "x": 0, "y": 0 } 89 | }, 90 | "credits": null, 91 | "alt": "Checkbox background ", 92 | "provider": null, 93 | "thumbnails": {} 94 | }, 95 | "image_black": { 96 | "origin": { 97 | "id": "XWP0xhMAACIApCwc", 98 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 99 | "width": 1228, 100 | "height": 658 101 | }, 102 | "width": 1228, 103 | "height": 658, 104 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format&rect=0,0,1226,657&w=1228&h=658", 105 | "edit": { 106 | "background": "transparent", 107 | "zoom": 1, 108 | "crop": { "x": 0, "y": 0 } 109 | }, 110 | "credits": null, 111 | "alt": "Layout of the Application", 112 | "provider": "imgix", 113 | "thumbnails": {} 114 | }, 115 | "image_white": { 116 | "origin": { 117 | "id": "XWP1ihMAACEApC93", 118 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 119 | "width": 1228, 120 | "height": 658 121 | }, 122 | "width": 1228, 123 | "height": 658, 124 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format&rect=0,0,1226,657&w=1228&h=658", 125 | "edit": { 126 | "background": "transparent", 127 | "zoom": 1, 128 | "crop": { "x": 0, "y": 0 } 129 | }, 130 | "credits": null, 131 | "alt": "Layout of the Application", 132 | "provider": "imgix", 133 | "thumbnails": {} 134 | } 135 | } 136 | } 137 | }, 138 | { 139 | "key": "icon_info_section$d9761cab-77b9-404f-931d-ea6a7936fa88", 140 | "value": { 141 | "repeat": [{}], 142 | "non-repeat": { 143 | "icon_black": { 144 | "origin": { 145 | "id": "XTbV3hAAACIAOV5_", 146 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png", 147 | "width": 62, 148 | "height": 62 149 | }, 150 | "width": 62, 151 | "height": 62, 152 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/64787df395baf2a1656cef68f3592957bb415b2a_icon_black.png", 153 | "edit": { 154 | "background": "transparent", 155 | "zoom": 1, 156 | "crop": { "x": 0, "y": 0 } 157 | }, 158 | "credits": null, 159 | "alt": "Checkbox icon", 160 | "provider": null, 161 | "thumbnails": {} 162 | }, 163 | "icon_white": { 164 | "origin": { 165 | "id": "XTbV3hAAACQAOV6A", 166 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png", 167 | "width": 62, 168 | "height": 62 169 | }, 170 | "width": 62, 171 | "height": 62, 172 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/36f0a6b94c8e34cb43f340748affe34701543735_icon_white.png", 173 | "edit": { 174 | "background": "transparent", 175 | "zoom": 1, 176 | "crop": { "x": 0, "y": 0 } 177 | }, 178 | "credits": null, 179 | "alt": "Checkbox icon", 180 | "provider": null, 181 | "thumbnails": {} 182 | }, 183 | "info_title": [ 184 | { 185 | "type": "heading2", 186 | "content": { 187 | "text": "L'avenir de l'application Todo", 188 | "spans": [] 189 | } 190 | } 191 | ], 192 | "info_text": [ 193 | { 194 | "type": "paragraph", 195 | "content": { 196 | "text": "La vie peut sembler écrasante, mais ce n’est pas nécessaire. Todoist vous permet de tout garder au même endroit, pour que tout soit fini et que vous ayez l'esprit tranquille en chemin.", 197 | "spans": [] 198 | } 199 | } 200 | ], 201 | "info_desc": [ 202 | { 203 | "type": "heading6", 204 | "content": { 205 | "text": "Ne vous inquiétez plus jamais pour oublier des choses", 206 | "spans": [{ "start": 0, "end": 53, "type": "strong" }] 207 | } 208 | }, 209 | { 210 | "type": "paragraph", 211 | "content": { 212 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 213 | "spans": [] 214 | } 215 | }, 216 | { 217 | "type": "heading6", 218 | "content": { 219 | "text": "Todoist aide des millions de personnes à se sentir plus maîtres de leur vie", 220 | "spans": [{ "start": 0, "end": 75, "type": "strong" }] 221 | } 222 | }, 223 | { 224 | "type": "paragraph", 225 | "content": { 226 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 227 | "spans": [] 228 | } 229 | }, 230 | { 231 | "type": "paragraph", 232 | "content": { 233 | "text": "Concentrez votre énergie sur les bonnes choses\nLet Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 234 | "spans": [{ "start": 0, "end": 47, "type": "strong" }] 235 | } 236 | } 237 | ] 238 | } 239 | } 240 | }, 241 | { 242 | "key": "full_width_image$298ed10a-d387-4654-aa90-7a1f1fe9a538", 243 | "value": { 244 | "repeat": [{}], 245 | "non-repeat": { 246 | "background_image_position": "right", 247 | "background_image": { 248 | "origin": { 249 | "id": "XV08DxEAACIAmGwj", 250 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 251 | "width": 1686, 252 | "height": 1380 253 | }, 254 | "width": 1686, 255 | "height": 1380, 256 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/809040bc9dd98dabb52d8e51835ba6549451c734_rectangle-42x.png", 257 | "edit": { 258 | "background": "transparent", 259 | "zoom": 1, 260 | "crop": { "x": 0, "y": 0 } 261 | }, 262 | "credits": null, 263 | "alt": "Checkbox background ", 264 | "provider": null, 265 | "thumbnails": {} 266 | }, 267 | "image_black": { 268 | "origin": { 269 | "id": "XWP0xhMAACIApCwc", 270 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 271 | "width": 1228, 272 | "height": 658 273 | }, 274 | "width": 1228, 275 | "height": 658, 276 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format", 277 | "edit": { 278 | "background": "transparent", 279 | "zoom": 1, 280 | "crop": { "x": 0, "y": 0 } 281 | }, 282 | "credits": null, 283 | "alt": "Layout of the Application", 284 | "provider": null, 285 | "thumbnails": {} 286 | }, 287 | "image_white": { 288 | "origin": { 289 | "id": "XWP1ihMAACEApC93", 290 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 291 | "width": 1228, 292 | "height": 658 293 | }, 294 | "width": 1228, 295 | "height": 658, 296 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 297 | "edit": { 298 | "background": "transparent", 299 | "zoom": 1, 300 | "crop": { "x": 0, "y": 0 } 301 | }, 302 | "credits": null, 303 | "alt": "Layout of the Application", 304 | "provider": null, 305 | "thumbnails": {} 306 | } 307 | } 308 | } 309 | }, 310 | { 311 | "key": "email_signup$92f27e38-5183-495b-b35d-1a2b27f4c6b7", 312 | "value": { 313 | "repeat": [{}], 314 | "non-repeat": { 315 | "email_title": [ 316 | { 317 | "type": "heading2", 318 | "content": { "text": "Recevez une notification", "spans": [] } 319 | } 320 | ], 321 | "email_text": [ 322 | { 323 | "type": "paragraph", 324 | "content": { 325 | "text": "Soyez averti des mises à jour et soyez le premier à accéder rapidement à la nouvelle façon plus sûre et plus intelligente d'archiver vos fichiers.", 326 | "spans": [] 327 | } 328 | } 329 | ], 330 | "label": [ 331 | { 332 | "type": "paragraph", 333 | "content": { "text": "Your Email:", "spans": [] } 334 | } 335 | ], 336 | "placeholder": "johndoe@gmail.com", 337 | "button_text": [ 338 | { 339 | "type": "paragraph", 340 | "content": { "text": "Rejoignez nos newsletters", "spans": [] } 341 | } 342 | ] 343 | } 344 | } 345 | } 346 | ], 347 | "display_title_TYPE": "StructuredText", 348 | "display_title_POSITION": 0, 349 | "page_content_TYPE": "Slices", 350 | "page_content_POSITION": 1, 351 | "page_content.full_width_image_TYPE": "Slice", 352 | "page_content.full_width_image_POSITION": 2, 353 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 354 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 3, 355 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 356 | "page_content.full_width_image.non-repeat.background_image_POSITION": 4, 357 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 358 | "page_content.full_width_image.non-repeat.image_black_POSITION": 5, 359 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 360 | "page_content.full_width_image.non-repeat.image_white_POSITION": 6, 361 | "page_content.email_signup_TYPE": "Slice", 362 | "page_content.email_signup_POSITION": 7, 363 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 364 | "page_content.email_signup.non-repeat.email_title_POSITION": 8, 365 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 366 | "page_content.email_signup.non-repeat.email_text_POSITION": 9, 367 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 368 | "page_content.email_signup.non-repeat.label_POSITION": 10, 369 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 370 | "page_content.email_signup.non-repeat.placeholder_POSITION": 11, 371 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 372 | "page_content.email_signup.non-repeat.button_text_POSITION": 12, 373 | "page_content.call_to_action_TYPE": "Slice", 374 | "page_content.call_to_action_POSITION": 13, 375 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 376 | "page_content.call_to_action.non-repeat.action_title_POSITION": 14, 377 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 378 | "page_content.call_to_action.non-repeat.action_text_POSITION": 15, 379 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 380 | "page_content.call_to_action.non-repeat.black_button_POSITION": 16, 381 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 382 | "page_content.call_to_action.non-repeat.white_button_POSITION": 17, 383 | "page_content.icon_info_section_TYPE": "Slice", 384 | "page_content.icon_info_section_POSITION": 18, 385 | "page_content.icon_info_section.non-repeat.icon_black_TYPE": "Image", 386 | "page_content.icon_info_section.non-repeat.icon_black_POSITION": 19, 387 | "page_content.icon_info_section.non-repeat.icon_white_TYPE": "Image", 388 | "page_content.icon_info_section.non-repeat.icon_white_POSITION": 20, 389 | "page_content.icon_info_section.non-repeat.info_title_TYPE": "StructuredText", 390 | "page_content.icon_info_section.non-repeat.info_title_POSITION": 21, 391 | "page_content.icon_info_section.non-repeat.info_text_TYPE": "StructuredText", 392 | "page_content.icon_info_section.non-repeat.info_text_POSITION": 22, 393 | "page_content.icon_info_section.non-repeat.info_desc_TYPE": "StructuredText", 394 | "page_content.icon_info_section.non-repeat.info_desc_POSITION": 23, 395 | "meta_title_TYPE": "Text", 396 | "meta_title_POSITION": 24, 397 | "meta_description_TYPE": "Text", 398 | "meta_description_POSITION": 25, 399 | "slugs_INTERNAL": ["page-daccueil", "maison", "homepage"], 400 | "uids_INTERNAL": [] 401 | } 402 | -------------------------------------------------------------------------------- /documents/en-gb/XTHXqxAAAGcbI3fJ=#=XhS5qhUAACIACRHw=#=homepage=#=XTHXqxAAAGcbI3fL=#=en-gb=#=y.json: -------------------------------------------------------------------------------- 1 | { 2 | "display_title": [ 3 | { "type": "heading1", "content": { "text": "Homepage", "spans": [] } } 4 | ], 5 | "page_content": [ 6 | { 7 | "key": "call_to_action$5a0d1d79-038e-425b-8d10-cee5e62e01f0", 8 | "value": { 9 | "repeat": [{}], 10 | "non-repeat": { 11 | "action_title": [ 12 | { 13 | "type": "heading1", 14 | "content": { "text": "Keep your life organized", "spans": [] } 15 | } 16 | ], 17 | "action_text": [ 18 | { 19 | "type": "paragraph", 20 | "content": { 21 | "text": "Life can feel overwhelming, but it doesn’t have to. Todoist lets you keep track of everything in one place, so you can get it all done and enjoy more peace of mind along the way.", 22 | "spans": [] 23 | } 24 | } 25 | ], 26 | "black_button": { 27 | "origin": { 28 | "id": "XWPk5BMAACEAo-Yp", 29 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png", 30 | "width": 232, 31 | "height": 74 32 | }, 33 | "width": 232, 34 | "height": 74, 35 | "url": "https://images.prismic.io/todo-app-sample%2F2381a2c9-db0d-412e-9b18-7854f7b091a2_app-store-btn-black.png?auto=compress,format", 36 | "edit": { 37 | "background": "transparent", 38 | "zoom": 1, 39 | "crop": { "x": 0, "y": 0 } 40 | }, 41 | "credits": null, 42 | "alt": "Available on app store", 43 | "provider": "imgix", 44 | "thumbnails": {} 45 | }, 46 | "white_button": { 47 | "origin": { 48 | "id": "XWPk5BMAACAAo-Yu", 49 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F2c54432d-d9c4-4cc5-a2b9-d075a7b9193c_app-store-btn-white.png", 50 | "width": 232, 51 | "height": 74 52 | }, 53 | "width": 232, 54 | "height": 74, 55 | "url": "https://images.prismic.io/todo-app-sample%2F2c54432d-d9c4-4cc5-a2b9-d075a7b9193c_app-store-btn-white.png?auto=compress,format", 56 | "edit": { 57 | "background": "transparent", 58 | "zoom": 1, 59 | "crop": { "x": 0, "y": 0 } 60 | }, 61 | "credits": null, 62 | "alt": "Available on app store", 63 | "provider": "imgix", 64 | "thumbnails": {} 65 | } 66 | } 67 | } 68 | }, 69 | { 70 | "key": "full_width_image$e58404e9-f95d-4b76-8129-e9bda78e2ace", 71 | "value": { 72 | "repeat": [{}], 73 | "non-repeat": { 74 | "background_image_position": "left", 75 | "background_image": { 76 | "origin": { 77 | "id": "XV08DxEAACIAmGwj", 78 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 79 | "width": 1686, 80 | "height": 1380 81 | }, 82 | "width": 1686, 83 | "height": 1380, 84 | "url": "https://images.prismic.io/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png?auto=compress,format", 85 | "edit": { 86 | "background": "transparent", 87 | "zoom": 1, 88 | "crop": { "x": 0, "y": 0 } 89 | }, 90 | "credits": null, 91 | "alt": "Checkbox background ", 92 | "provider": "imgix", 93 | "thumbnails": {} 94 | }, 95 | "image_black": { 96 | "origin": { 97 | "id": "XWP0xhMAACIApCwc", 98 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 99 | "width": 1228, 100 | "height": 658 101 | }, 102 | "width": 1228, 103 | "height": 658, 104 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format", 105 | "edit": { 106 | "background": "transparent", 107 | "zoom": 1, 108 | "crop": { "x": 0, "y": 0 } 109 | }, 110 | "credits": null, 111 | "alt": "Layout of the Application", 112 | "provider": "imgix", 113 | "thumbnails": {} 114 | }, 115 | "image_white": { 116 | "origin": { 117 | "id": "XWP1ihMAACEApC93", 118 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 119 | "width": 1228, 120 | "height": 658 121 | }, 122 | "width": 1228, 123 | "height": 658, 124 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 125 | "edit": { 126 | "background": "transparent", 127 | "zoom": 1, 128 | "crop": { "x": 0, "y": 0 } 129 | }, 130 | "credits": null, 131 | "alt": "Layout of the Application", 132 | "provider": "imgix", 133 | "thumbnails": {} 134 | } 135 | } 136 | } 137 | }, 138 | { 139 | "key": "icon_info_section$d9761cab-77b9-404f-931d-ea6a7936fa88", 140 | "value": { 141 | "repeat": [{}], 142 | "non-repeat": { 143 | "icon_black": { 144 | "origin": { 145 | "id": "XTbV3hAAACIAOV5_", 146 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png", 147 | "width": 62, 148 | "height": 62 149 | }, 150 | "width": 62, 151 | "height": 62, 152 | "url": "https://images.prismic.io/todo-app-sample%2Fb9bdd251-746e-4b5f-b376-9d25af21ce2d_icon_black.png?auto=compress,format", 153 | "edit": { 154 | "background": "transparent", 155 | "zoom": 1, 156 | "crop": { "x": 0, "y": 0 } 157 | }, 158 | "credits": null, 159 | "alt": "Checkbox Icon", 160 | "provider": "imgix", 161 | "thumbnails": {} 162 | }, 163 | "icon_white": { 164 | "origin": { 165 | "id": "XTbV3hAAACQAOV6A", 166 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F8980f8bd-65b4-4f63-bfbc-05c3db53c1f7_icon_white.png", 167 | "width": 62, 168 | "height": 62 169 | }, 170 | "width": 62, 171 | "height": 62, 172 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/36f0a6b94c8e34cb43f340748affe34701543735_icon_white.png", 173 | "edit": { 174 | "background": "transparent", 175 | "zoom": 1, 176 | "crop": { "x": 0, "y": 0 } 177 | }, 178 | "credits": null, 179 | "alt": "Checkbox Icon", 180 | "provider": null, 181 | "thumbnails": {} 182 | }, 183 | "info_title": [ 184 | { 185 | "type": "heading2", 186 | "content": { 187 | "text": "The future of Todo application", 188 | "spans": [] 189 | } 190 | } 191 | ], 192 | "info_text": [ 193 | { 194 | "type": "paragraph", 195 | "content": { 196 | "text": "Life can feel overwhelming, but it doesn’t have to. Todoist lets you keep track of everything in one place, so you can get it all done and enjoy more peace of mind along the way.", 197 | "spans": [] 198 | } 199 | } 200 | ], 201 | "info_desc": [ 202 | { 203 | "type": "heading6", 204 | "content": { 205 | "text": "Never worry about forgetting things again", 206 | "spans": [{ "start": 0, "end": 41, "type": "strong" }] 207 | } 208 | }, 209 | { 210 | "type": "paragraph", 211 | "content": { 212 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 213 | "spans": [] 214 | } 215 | }, 216 | { 217 | "type": "heading6", 218 | "content": { 219 | "text": "Todoist helps millions of people feel more in control of their lives", 220 | "spans": [{ "start": 0, "end": 68, "type": "strong" }] 221 | } 222 | }, 223 | { 224 | "type": "paragraph", 225 | "content": { 226 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 227 | "spans": [] 228 | } 229 | }, 230 | { 231 | "type": "heading6", 232 | "content": { 233 | "text": "Focus your energy on the right things", 234 | "spans": [{ "start": 0, "end": 37, "type": "strong" }] 235 | } 236 | }, 237 | { 238 | "type": "paragraph", 239 | "content": { 240 | "text": "Let Todoist remember it all for you. You can get tasks out of your head and onto your to-do list anytime, anywhere, on any device – even offline.", 241 | "spans": [] 242 | } 243 | } 244 | ] 245 | } 246 | } 247 | }, 248 | { 249 | "key": "full_width_image$298ed10a-d387-4654-aa90-7a1f1fe9a538", 250 | "value": { 251 | "repeat": [{}], 252 | "non-repeat": { 253 | "background_image_position": "right", 254 | "background_image": { 255 | "origin": { 256 | "id": "XV08DxEAACIAmGwj", 257 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F1e54c41f-ae78-4d0d-841f-cc1bd27cf302_rectangle+4%402x.png", 258 | "width": 1686, 259 | "height": 1380 260 | }, 261 | "width": 1686, 262 | "height": 1380, 263 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample/809040bc9dd98dabb52d8e51835ba6549451c734_rectangle-42x.png", 264 | "edit": { 265 | "background": "transparent", 266 | "zoom": 1, 267 | "crop": { "x": 0, "y": 0 } 268 | }, 269 | "credits": null, 270 | "alt": "Checkbox background ", 271 | "provider": null, 272 | "thumbnails": {} 273 | }, 274 | "image_black": { 275 | "origin": { 276 | "id": "XWP0xhMAACIApCwc", 277 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png", 278 | "width": 1228, 279 | "height": 658 280 | }, 281 | "width": 1228, 282 | "height": 658, 283 | "url": "https://images.prismic.io/todo-app-sample%2Fd9fef07f-eabb-4e51-a8a0-a757a95cc202_app-screen-black.png?auto=compress,format", 284 | "edit": { 285 | "background": "transparent", 286 | "zoom": 1, 287 | "crop": { "x": 0, "y": 0 } 288 | }, 289 | "credits": null, 290 | "alt": "Layout of the Application", 291 | "provider": null, 292 | "thumbnails": {} 293 | }, 294 | "image_white": { 295 | "origin": { 296 | "id": "XWP1ihMAACEApC93", 297 | "url": "https://prismic-io.s3.amazonaws.com/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png", 298 | "width": 1228, 299 | "height": 658 300 | }, 301 | "width": 1228, 302 | "height": 658, 303 | "url": "https://images.prismic.io/todo-app-sample%2F726aa6ed-6498-4814-b0a4-a4f1db034a7e_app-screen-white.png?auto=compress,format", 304 | "edit": { 305 | "background": "transparent", 306 | "zoom": 1, 307 | "crop": { "x": 0, "y": 0 } 308 | }, 309 | "credits": null, 310 | "alt": "Layout of the Application", 311 | "provider": null, 312 | "thumbnails": {} 313 | } 314 | } 315 | } 316 | }, 317 | { 318 | "key": "email_signup$92f27e38-5183-495b-b35d-1a2b27f4c6b7", 319 | "value": { 320 | "repeat": [{}], 321 | "non-repeat": { 322 | "email_title": [ 323 | { 324 | "type": "heading2", 325 | "content": { "text": "Get notified", "spans": [] } 326 | } 327 | ], 328 | "email_text": [ 329 | { 330 | "type": "paragraph", 331 | "content": { 332 | "text": "Get notified about updates and be the first to get early access to the new, safer and smarter way to archive your files.", 333 | "spans": [] 334 | } 335 | } 336 | ], 337 | "label": [ 338 | { 339 | "type": "paragraph", 340 | "content": { "text": "Your Email:", "spans": [] } 341 | } 342 | ], 343 | "placeholder": "johndoe@gmail.com", 344 | "button_text": [ 345 | { 346 | "type": "paragraph", 347 | "content": { "text": "Join our Newsletters", "spans": [] } 348 | } 349 | ] 350 | } 351 | } 352 | } 353 | ], 354 | "meta_title": "Multilanguage App", 355 | "meta_description": "This is an example website application for a To-Do application built with Prismic.", 356 | "display_title_TYPE": "StructuredText", 357 | "display_title_POSITION": 0, 358 | "page_content_TYPE": "Slices", 359 | "page_content_POSITION": 1, 360 | "page_content.full_width_image_TYPE": "Slice", 361 | "page_content.full_width_image_POSITION": 2, 362 | "page_content.full_width_image.non-repeat.background_image_position_TYPE": "Select", 363 | "page_content.full_width_image.non-repeat.background_image_position_POSITION": 3, 364 | "page_content.full_width_image.non-repeat.background_image_TYPE": "Image", 365 | "page_content.full_width_image.non-repeat.background_image_POSITION": 4, 366 | "page_content.full_width_image.non-repeat.image_black_TYPE": "Image", 367 | "page_content.full_width_image.non-repeat.image_black_POSITION": 5, 368 | "page_content.full_width_image.non-repeat.image_white_TYPE": "Image", 369 | "page_content.full_width_image.non-repeat.image_white_POSITION": 6, 370 | "page_content.email_signup_TYPE": "Slice", 371 | "page_content.email_signup_POSITION": 7, 372 | "page_content.email_signup.non-repeat.email_title_TYPE": "StructuredText", 373 | "page_content.email_signup.non-repeat.email_title_POSITION": 8, 374 | "page_content.email_signup.non-repeat.email_text_TYPE": "StructuredText", 375 | "page_content.email_signup.non-repeat.email_text_POSITION": 9, 376 | "page_content.email_signup.non-repeat.label_TYPE": "StructuredText", 377 | "page_content.email_signup.non-repeat.label_POSITION": 10, 378 | "page_content.email_signup.non-repeat.placeholder_TYPE": "Text", 379 | "page_content.email_signup.non-repeat.placeholder_POSITION": 11, 380 | "page_content.email_signup.non-repeat.button_text_TYPE": "StructuredText", 381 | "page_content.email_signup.non-repeat.button_text_POSITION": 12, 382 | "page_content.call_to_action_TYPE": "Slice", 383 | "page_content.call_to_action_POSITION": 13, 384 | "page_content.call_to_action.non-repeat.action_title_TYPE": "StructuredText", 385 | "page_content.call_to_action.non-repeat.action_title_POSITION": 14, 386 | "page_content.call_to_action.non-repeat.action_text_TYPE": "StructuredText", 387 | "page_content.call_to_action.non-repeat.action_text_POSITION": 15, 388 | "page_content.call_to_action.non-repeat.black_button_TYPE": "Image", 389 | "page_content.call_to_action.non-repeat.black_button_POSITION": 16, 390 | "page_content.call_to_action.non-repeat.white_button_TYPE": "Image", 391 | "page_content.call_to_action.non-repeat.white_button_POSITION": 17, 392 | "page_content.icon_info_section_TYPE": "Slice", 393 | "page_content.icon_info_section_POSITION": 18, 394 | "page_content.icon_info_section.non-repeat.icon_black_TYPE": "Image", 395 | "page_content.icon_info_section.non-repeat.icon_black_POSITION": 19, 396 | "page_content.icon_info_section.non-repeat.icon_white_TYPE": "Image", 397 | "page_content.icon_info_section.non-repeat.icon_white_POSITION": 20, 398 | "page_content.icon_info_section.non-repeat.info_title_TYPE": "StructuredText", 399 | "page_content.icon_info_section.non-repeat.info_title_POSITION": 21, 400 | "page_content.icon_info_section.non-repeat.info_text_TYPE": "StructuredText", 401 | "page_content.icon_info_section.non-repeat.info_text_POSITION": 22, 402 | "page_content.icon_info_section.non-repeat.info_desc_TYPE": "StructuredText", 403 | "page_content.icon_info_section.non-repeat.info_desc_POSITION": 23, 404 | "meta_title_TYPE": "Text", 405 | "meta_title_POSITION": 24, 406 | "meta_description_TYPE": "Text", 407 | "meta_description_POSITION": 25, 408 | "slugs_INTERNAL": ["homepage", "homepage-kugoiut", "homepage-kugoiu"], 409 | "uids_INTERNAL": [] 410 | } 411 | --------------------------------------------------------------------------------