From 9f7295853f7870b0dcdf23c0df3f873014bbfaca Mon Sep 17 00:00:00 2001 From: John O'Nolan Date: Wed, 7 Nov 2018 21:50:38 +0700 Subject: [PATCH] Changed casper.ghost.org to static.ghost.org references (#10109) no issue Assets moved from gh-pages to https://github.com/tryghost/static and hostname changed, redirects already in place. Can be tested on https://demo.ghost.io (image should all work fine, try visiting one directly to verify redirect works) --- .../versions/2.0/5-remove-demo-post.js | 2 +- core/server/data/schema/default-settings.json | 4 ++-- .../server/data/schema/fixtures/fixtures.json | 24 +++++++++---------- core/test/unit/data/schema/integrity_spec.js | 2 +- core/test/utils/fixtures/export/valid.json | 12 +++++----- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/core/server/data/migrations/versions/2.0/5-remove-demo-post.js b/core/server/data/migrations/versions/2.0/5-remove-demo-post.js index 8d58834a98..9ee17e1820 100644 --- a/core/server/data/migrations/versions/2.0/5-remove-demo-post.js +++ b/core/server/data/migrations/versions/2.0/5-remove-demo-post.js @@ -10,7 +10,7 @@ const _ = require('lodash'), const demoPost = { title: 'Koenig Demo Post', slug: 'v2-demo-post', - mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[["hr",{}],["embed",{"url":"https://twitter.com/TryGhost/status/761119175192420352","html":"

Fun announcement coming this afternoon 🙈 what could it be?

— Ghost (@TryGhost) August 4, 2016
\\n\\n","type":"rich"}],["image",{"src":"https://casper.ghost.org/v1.25.0/images/koenig-demo-1.jpg","alt":"","caption":"A regular size image"}],["image",{"src":"https://casper.ghost.org/v1.25.0/images/koenig-demo-2.jpg","alt":"","cardWidth":"full","caption":"It\'s wide"}],["image",{"src":"https://casper.ghost.org/v1.25.0/images/koenig-demo-3.jpg","alt":"","cardWidth":"wide","caption":"It\'s wider, but not widest"}],["markdown",{"markdown":"Markdown content works just the way it always did, **simply** and *beautifully*."}],["code",{"code":".new-editor {\\n\\tdisplay: bock;\\n}"}],["embed",{"url":"https://www.youtube.com/watch?v=CfeQTuGyiqU","html":"","type":"video"}],["html",{"html":"
\\n hello world\\n
"}]],"markups":[["strong"],["code"],["em"],["a",["href","https://forum.ghost.org/t/ghost-2-0-theme-compatibility-help-support/2103"]]],"sections":[[1,"p",[[0,[],0,"Hey there! Welcome to the new Ghost editor - affectionately known as "],[0,[0],1,"Koenig"],[0,[],0,"."]]],[1,"p",[[0,[],0,"Koenig is a brand new writing experience within Ghost, and follows more of a rich writing experience which you\'ve come to expect from the best publishing platforms. Don\'t worry though! You can still use Markdown too, if that\'s what you prefer."]]],[1,"p",[[0,[],0,"Because there are some changes to how Ghost outputs content using its new editor, we dropped this draft post into your latest update to tell you a bit about it – and simultaneously give you a chance to preview how well your theme handles these changes. So after reading this post you should both understand how everything works, and also be able to see if there are any changes you need to make to your theme in order to upgrade to Ghost 2.0."]]],[10,0],[1,"h1",[[0,[],0,"What\'s new"]]],[1,"p",[[0,[],0,"The new editor is designed to allow you have a more rich editing experience, so it\'s no longer limited to just text and formatting options – but it can also handle rich media objects, called cards. You can insert a card either by clicking on the "],[0,[1],1,"+"],[0,[],0," button on a new line, or typing "],[0,[1],1,"/"],[0,[],0," on a new line to search for a particular card. "]]],[1,"p",[[0,[],0,"Here\'s one now:"]]],[10,1],[1,"p",[[0,[],0,"Cards are rich objects which contain content which is more than just text. To start with there are cards for things like images, markdown, html and embeds — but over time we\'ll introduce more cards and integrations, as well as allowing you to create your own!"]]],[1,"h2",[[0,[],0,"Some examples of possible future cards"]]],[3,"ul",[[[0,[],0,"A chart card to display dynamic data visualisations"]],[[0,[],0,"A recipe card to show a pre-formatted list of ingredients and instructions"]],[[0,[],0,"A Mailchimp card to capture new subscribers with a web form"]],[[0,[],0,"A recommended reading card to display a dynamic suggested story based on the current user\'s reading history"]]]],[1,"p",[[0,[],0,"For now, though, we\'re just getting started with the basics."]]],[1,"h1",[[0,[],0,"New ways to work with images"]]],[1,"p",[[0,[],0,"Perhaps the most notable change to how you\'re used to interacting with Ghost is in the images. In Koenig, they\'re both more powerful and easier to work with in the editor itself - and in the theme, they\'re output slightly differently with different size options."]]],[1,"p",[[0,[],0,"For instance, here\'s your plain ol\' regular image:"]]],[10,2],[1,"p",[[0,[],0,"But perhaps you\'ve got a striking panorama that you really want to stand out as your readers scroll down the page. In that case, you could use the new full-bleed image size which stretches right out to the edges of the screen:"]]],[10,3],[1,"p",[[0,[],0,"Or maybe you\'re looking for something in between, which will give you just a little more size to break up the vertical rhythm of the post without dominating the entire screen. If that\'s the case, you might like the breakout size:"]]],[10,4],[1,"p",[[0,[],0,"Each of these sizes can be selected from within the editor, and each will output a number of HTML classes for the theme to do styling with. "]]],[1,"p",[[0,[],0,"Chances are your theme will need a few small updates to take advantage of the new editor functionality. Some people might also find they need to tweak their theme layout, as the editor canvas previously output a wrapper div around its content – but no longer does. If you rely on that div for styling, you can always add it back again in your theme."]]],[1,"p",[[0,[],0,"Oh, we have some nice new image captions, too :)"]]],[1,"h1",[[0,[],0,"What else?"]]],[1,"p",[[0,[],0,"Well, you can still write Markdown, as mentioned. In fact you\'ll find the entire previous Ghost editor "],[0,[2],1,"inside"],[0,[],0," this editor. If you want to use it then just go ahead and add a Markdown card and start writing like nothing changed at all:"]]],[10,5],[1,"p",[[0,[],0,"of course you can embed code blocks"]]],[10,6],[1,"p",[[0,[],0,"or embed things from external services like YouTube..."]]],[10,7],[1,"p",[[0,[],0,"and yeah you can do full HTML if you need to, as well!"]]],[10,8],[1,"p",[[0,[],0,"So everything works, hopefully, just about how you would expect. It\'s like the old editor, but faster, cleaner, prettier, and a whole lot more powerful."]]],[1,"h1",[[0,[],0,"What do I do with this information?"]]],[1,"p",[[0,[],0,"Preview this post on your site to see if it causes any issues with your theme. Click on the settings cog in the top right 👉🏼 corner of the editor, then click on \'"],[0,[0],1,"Preview"],[0,[],0,"\' next to the \'Post URL\' input."]]],[1,"p",[[0,[],0,"If everything looks good to you then there\'s nothing you need to do, you\'re all set! If you spot any issues with your design, or there are some funky display issues, then you might need to make some updates to your theme based on the new editor classes being output."]]],[1,"p",[[0,[],0,"Head over to the "],[0,[3],1,"Ghost 2.0 Theme Compatibility"],[0,[],0," forum topic to discuss any changes and get help if needed."]]],[1,"p",[[0,[],0,"That\'s it!"]]],[1,"p",[[0,[],0,"We\'re looking forward to sharing more about the new editor soon"]]]]}', + mobiledoc: '{"version":"0.3.1","atoms":[],"cards":[["hr",{}],["embed",{"url":"https://twitter.com/TryGhost/status/761119175192420352","html":"

Fun announcement coming this afternoon 🙈 what could it be?

— Ghost (@TryGhost) August 4, 2016
\\n\\n","type":"rich"}],["image",{"src":"https://static.ghost.org/v1.25.0/images/koenig-demo-1.jpg","alt":"","caption":"A regular size image"}],["image",{"src":"https://static.ghost.org/v1.25.0/images/koenig-demo-2.jpg","alt":"","cardWidth":"full","caption":"It\'s wide"}],["image",{"src":"https://static.ghost.org/v1.25.0/images/koenig-demo-3.jpg","alt":"","cardWidth":"wide","caption":"It\'s wider, but not widest"}],["markdown",{"markdown":"Markdown content works just the way it always did, **simply** and *beautifully*."}],["code",{"code":".new-editor {\\n\\tdisplay: bock;\\n}"}],["embed",{"url":"https://www.youtube.com/watch?v=CfeQTuGyiqU","html":"","type":"video"}],["html",{"html":"
\\n hello world\\n
"}]],"markups":[["strong"],["code"],["em"],["a",["href","https://forum.ghost.org/t/ghost-2-0-theme-compatibility-help-support/2103"]]],"sections":[[1,"p",[[0,[],0,"Hey there! Welcome to the new Ghost editor - affectionately known as "],[0,[0],1,"Koenig"],[0,[],0,"."]]],[1,"p",[[0,[],0,"Koenig is a brand new writing experience within Ghost, and follows more of a rich writing experience which you\'ve come to expect from the best publishing platforms. Don\'t worry though! You can still use Markdown too, if that\'s what you prefer."]]],[1,"p",[[0,[],0,"Because there are some changes to how Ghost outputs content using its new editor, we dropped this draft post into your latest update to tell you a bit about it – and simultaneously give you a chance to preview how well your theme handles these changes. So after reading this post you should both understand how everything works, and also be able to see if there are any changes you need to make to your theme in order to upgrade to Ghost 2.0."]]],[10,0],[1,"h1",[[0,[],0,"What\'s new"]]],[1,"p",[[0,[],0,"The new editor is designed to allow you have a more rich editing experience, so it\'s no longer limited to just text and formatting options – but it can also handle rich media objects, called cards. You can insert a card either by clicking on the "],[0,[1],1,"+"],[0,[],0," button on a new line, or typing "],[0,[1],1,"/"],[0,[],0," on a new line to search for a particular card. "]]],[1,"p",[[0,[],0,"Here\'s one now:"]]],[10,1],[1,"p",[[0,[],0,"Cards are rich objects which contain content which is more than just text. To start with there are cards for things like images, markdown, html and embeds — but over time we\'ll introduce more cards and integrations, as well as allowing you to create your own!"]]],[1,"h2",[[0,[],0,"Some examples of possible future cards"]]],[3,"ul",[[[0,[],0,"A chart card to display dynamic data visualisations"]],[[0,[],0,"A recipe card to show a pre-formatted list of ingredients and instructions"]],[[0,[],0,"A Mailchimp card to capture new subscribers with a web form"]],[[0,[],0,"A recommended reading card to display a dynamic suggested story based on the current user\'s reading history"]]]],[1,"p",[[0,[],0,"For now, though, we\'re just getting started with the basics."]]],[1,"h1",[[0,[],0,"New ways to work with images"]]],[1,"p",[[0,[],0,"Perhaps the most notable change to how you\'re used to interacting with Ghost is in the images. In Koenig, they\'re both more powerful and easier to work with in the editor itself - and in the theme, they\'re output slightly differently with different size options."]]],[1,"p",[[0,[],0,"For instance, here\'s your plain ol\' regular image:"]]],[10,2],[1,"p",[[0,[],0,"But perhaps you\'ve got a striking panorama that you really want to stand out as your readers scroll down the page. In that case, you could use the new full-bleed image size which stretches right out to the edges of the screen:"]]],[10,3],[1,"p",[[0,[],0,"Or maybe you\'re looking for something in between, which will give you just a little more size to break up the vertical rhythm of the post without dominating the entire screen. If that\'s the case, you might like the breakout size:"]]],[10,4],[1,"p",[[0,[],0,"Each of these sizes can be selected from within the editor, and each will output a number of HTML classes for the theme to do styling with. "]]],[1,"p",[[0,[],0,"Chances are your theme will need a few small updates to take advantage of the new editor functionality. Some people might also find they need to tweak their theme layout, as the editor canvas previously output a wrapper div around its content – but no longer does. If you rely on that div for styling, you can always add it back again in your theme."]]],[1,"p",[[0,[],0,"Oh, we have some nice new image captions, too :)"]]],[1,"h1",[[0,[],0,"What else?"]]],[1,"p",[[0,[],0,"Well, you can still write Markdown, as mentioned. In fact you\'ll find the entire previous Ghost editor "],[0,[2],1,"inside"],[0,[],0," this editor. If you want to use it then just go ahead and add a Markdown card and start writing like nothing changed at all:"]]],[10,5],[1,"p",[[0,[],0,"of course you can embed code blocks"]]],[10,6],[1,"p",[[0,[],0,"or embed things from external services like YouTube..."]]],[10,7],[1,"p",[[0,[],0,"and yeah you can do full HTML if you need to, as well!"]]],[10,8],[1,"p",[[0,[],0,"So everything works, hopefully, just about how you would expect. It\'s like the old editor, but faster, cleaner, prettier, and a whole lot more powerful."]]],[1,"h1",[[0,[],0,"What do I do with this information?"]]],[1,"p",[[0,[],0,"Preview this post on your site to see if it causes any issues with your theme. Click on the settings cog in the top right 👉🏼 corner of the editor, then click on \'"],[0,[0],1,"Preview"],[0,[],0,"\' next to the \'Post URL\' input."]]],[1,"p",[[0,[],0,"If everything looks good to you then there\'s nothing you need to do, you\'re all set! If you spot any issues with your design, or there are some funky display issues, then you might need to make some updates to your theme based on the new editor classes being output."]]],[1,"p",[[0,[],0,"Head over to the "],[0,[3],1,"Ghost 2.0 Theme Compatibility"],[0,[],0," forum topic to discuss any changes and get help if needed."]]],[1,"p",[[0,[],0,"That\'s it!"]]],[1,"p",[[0,[],0,"We\'re looking forward to sharing more about the new editor soon"]]]]}', plaintext: 'Hey there! Welcome to the new Ghost editor - affectionately known as Koenig.\n\nKoenig is a brand new writing experience within Ghost, and follows more of a\nrich writing experience which you\'ve come to expect from the best publishing\nplatforms. Don\'t worry though! You can still use Markdown too, if that\'s what\nyou prefer.\n\nBecause there are some changes to how Ghost outputs content using its new\neditor, we dropped this draft post into your latest update to tell you a bit\nabout it – and simultaneously give you a chance to preview how well your theme\nhandles these changes. So after reading this post you should both understand how\neverything works, and also be able to see if there are any changes you need to\nmake to your theme in order to upgrade to Ghost 2.0.\n\n\n--------------------------------------------------------------------------------\n\nWhat\'s new\nThe new editor is designed to allow you have a more rich editing experience, so\nit\'s no longer limited to just text and formatting options – but it can also\nhandle rich media objects, called cards. You can insert a card either by\nclicking on the + button on a new line, or typing / on a new line to search\nfor a particular card. \n\nHere\'s one now:\n\nFun announcement coming this afternoon 🙈 what could it be?\n\n— Ghost (@TryGhost) August 4, 2016\n[https://twitter.com/TryGhost/status/761119175192420352?ref_src=twsrc%5Etfw]\nCards are rich objects which contain content which is more than just text. To\nstart with there are cards for things like images, markdown, html and embeds —\nbut over time we\'ll introduce more cards and integrations, as well as allowing\nyou to create your own!\n\nSome examples of possible future cards\n * A chart card to display dynamic data visualisations\n * A recipe card to show a pre-formatted list of ingredients and instructions\n * A Mailchimp card to capture new subscribers with a web form\n * A recommended reading card to display a dynamic suggested story based on the\n current user\'s reading history\n\nFor now, though, we\'re just getting started with the basics.\n\nNew ways to work with images\nPerhaps the most notable change to how you\'re used to interacting with Ghost is\nin the images. In Koenig, they\'re both more powerful and easier to work with in\nthe editor itself - and in the theme, they\'re output slightly differently with\ndifferent size options.\n\nFor instance, here\'s your plain ol\' regular image:\n\nA regular size imageBut perhaps you\'ve got a striking panorama that you really\nwant to stand out as your readers scroll down the page. In that case, you could\nuse the new full-bleed image size which stretches right out to the edges of the\nscreen:\n\nIt\'s wideOr maybe you\'re looking for something in between, which will give you\njust a little more size to break up the vertical rhythm of the post without\ndominating the entire screen. If that\'s the case, you might like the breakout\nsize:\n\nIt\'s wider, but not widestEach of these sizes can be selected from within the\neditor, and each will output a number of HTML classes for the theme to do\nstyling with. \n\nChances are your theme will need a few small updates to take advantage of the\nnew editor functionality. Some people might also find they need to tweak their\ntheme layout, as the editor canvas previously output a wrapper div around its\ncontent – but no longer does. If you rely on that div for styling, you can\nalways add it back again in your theme.\n\nOh, we have some nice new image captions, too :)\n\nWhat else?\nWell, you can still write Markdown, as mentioned. In fact you\'ll find the entire\nprevious Ghost editor inside this editor. If you want to use it then just go\nahead and add a Markdown card and start writing like nothing changed at all:\n\nMarkdown content works just the way it always did, simply and beautifully.\n\nof course you can embed code blocks\n\n.new-editor {\n\tdisplay: bock;\n}\n\nor embed things from external services like YouTube...\n\nand yeah you can do full HTML if you need to, as well!\n\nhello worldSo everything works, hopefully, just about how you would expect. It\'s\nlike the old editor, but faster, cleaner, prettier, and a whole lot more\npowerful.\n\nWhat do I do with this information?\nPreview this post on your site to see if it causes any issues with your theme.\nClick on the settings cog in the top right 👉🏼 corner of the editor, then click\non \'Preview\' next to the \'Post URL\' input.\n\nIf everything looks good to you then there\'s nothing you need to do, you\'re all\nset! If you spot any issues with your design, or there are some funky display\nissues, then you might need to make some updates to your theme based on the new\neditor classes being output.\n\nHead over to the Ghost 2.0 Theme Compatibility\n[https://forum.ghost.org/t/ghost-2-0-theme-compatibility-help-support/2103] \nforum topic to discuss any changes and get help if needed.\n\nThat\'s it!\n\nWe\'re looking forward to sharing more about the new editor soon', feature_image: '', featured: false, diff --git a/core/server/data/schema/default-settings.json b/core/server/data/schema/default-settings.json index 1e1fc7c4e8..2a937bc889 100644 --- a/core/server/data/schema/default-settings.json +++ b/core/server/data/schema/default-settings.json @@ -31,10 +31,10 @@ } }, "logo": { - "defaultValue": "https://casper.ghost.org/v1.0.0/images/ghost-logo.svg" + "defaultValue": "https://static.ghost.org/v1.0.0/images/ghost-logo.svg" }, "cover_image": { - "defaultValue": "https://casper.ghost.org/v1.0.0/images/blog-cover.jpg" + "defaultValue": "https://static.ghost.org/v1.0.0/images/blog-cover.jpg" }, "icon": { "defaultValue": "" diff --git a/core/server/data/schema/fixtures/fixtures.json b/core/server/data/schema/fixtures/fixtures.json index 4d819d7305..31dc036def 100644 --- a/core/server/data/schema/fixtures/fixtures.json +++ b/core/server/data/schema/fixtures/fixtures.json @@ -415,7 +415,7 @@ "location": "The Internet", "website": "https://ghost.org", "bio": "You can delete this user to remove all the welcome posts", - "profile_image": "https://casper.ghost.org/v2.0.0/images/ghost.png" + "profile_image": "https://static.ghost.org/v2.0.0/images/ghost.png" } ] }, @@ -425,7 +425,7 @@ { "title": "Creating a custom theme", "slug": "themes", - "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"image\",{\"src\":\"https://casper.ghost.org/v1.0.0/images/marketplace.jpg\",\"caption\":\"Anyone can write a completely custom Ghost theme with some solid knowledge of HTML and CSS\"}]],\"markups\":[[\"a\",[\"href\",\"http://marketplace.ghost.org\"]],[\"code\"],[\"a\",[\"href\",\"https://github.com/TryGhost/Casper\"]],[\"a\",[\"href\",\"https://themes.ghost.org/v2.0.0/docs\"]],[\"strong\"],[\"a\",[\"href\",\"https://forum.ghost.org/c/themes\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.\"]]],[1,\"p\",[[0,[],0,\"There are a huge range of both free and premium pre-built themes which you can get from the \"],[0,[0],1,\"Ghost Theme Marketplace\"],[0,[],0,\", or you can create your own from scratch.\"]]],[10,0],[1,\"p\",[[0,[],0,\"Ghost themes are written with a templating language called handlebars, which has a set of dynamic helpers to insert your data into template files. For example: \"],[0,[1],1,\"{{author.name}}\"],[0,[],0,\" outputs the name of the current author.\"]]],[1,\"p\",[[0,[],0,\"The best way to learn how to write your own Ghost theme is to have a look at \"],[0,[2],1,\"the source code for Casper\"],[0,[],0,\", which is heavily commented and should give you a sense of how everything fits together.\"]]],[3,\"ul\",[[[0,[1],1,\"default.hbs\"],[0,[],0,\" is the main template file, all contexts will load inside this file unless specifically told to use a different template.\"]],[[0,[1],1,\"post.hbs\"],[0,[],0,\" is the file used in the context of viewing a post.\"]],[[0,[1],1,\"index.hbs\"],[0,[],0,\" is the file used in the context of viewing the home page.\"]],[[0,[],0,\"and so on\"]]]],[1,\"p\",[[0,[],0,\"We've got \"],[0,[3],1,\"full and extensive theme documentation\"],[0,[],0,\" which outlines every template file, context and helper that you can use.\"]]],[1,\"p\",[[0,[],0,\"If you want to chat with other people making Ghost themes to get any advice or help, there's also a \"],[0,[4],1,\"themes\"],[0,[],0,\" section on our \"],[0,[5],1,\"public Ghost forum\"],[0,[],0,\".\"]]]]}", + "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"image\",{\"src\":\"https://static.ghost.org/v1.0.0/images/marketplace.jpg\",\"caption\":\"Anyone can write a completely custom Ghost theme with some solid knowledge of HTML and CSS\"}]],\"markups\":[[\"a\",[\"href\",\"http://marketplace.ghost.org\"]],[\"code\"],[\"a\",[\"href\",\"https://github.com/TryGhost/Casper\"]],[\"a\",[\"href\",\"https://themes.ghost.org/v2.0.0/docs\"]],[\"strong\"],[\"a\",[\"href\",\"https://forum.ghost.org/c/themes\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.\"]]],[1,\"p\",[[0,[],0,\"There are a huge range of both free and premium pre-built themes which you can get from the \"],[0,[0],1,\"Ghost Theme Marketplace\"],[0,[],0,\", or you can create your own from scratch.\"]]],[10,0],[1,\"p\",[[0,[],0,\"Ghost themes are written with a templating language called handlebars, which has a set of dynamic helpers to insert your data into template files. For example: \"],[0,[1],1,\"{{author.name}}\"],[0,[],0,\" outputs the name of the current author.\"]]],[1,\"p\",[[0,[],0,\"The best way to learn how to write your own Ghost theme is to have a look at \"],[0,[2],1,\"the source code for Casper\"],[0,[],0,\", which is heavily commented and should give you a sense of how everything fits together.\"]]],[3,\"ul\",[[[0,[1],1,\"default.hbs\"],[0,[],0,\" is the main template file, all contexts will load inside this file unless specifically told to use a different template.\"]],[[0,[1],1,\"post.hbs\"],[0,[],0,\" is the file used in the context of viewing a post.\"]],[[0,[1],1,\"index.hbs\"],[0,[],0,\" is the file used in the context of viewing the home page.\"]],[[0,[],0,\"and so on\"]]]],[1,\"p\",[[0,[],0,\"We've got \"],[0,[3],1,\"full and extensive theme documentation\"],[0,[],0,\" which outlines every template file, context and helper that you can use.\"]]],[1,\"p\",[[0,[],0,\"If you want to chat with other people making Ghost themes to get any advice or help, there's also a \"],[0,[4],1,\"themes\"],[0,[],0,\" section on our \"],[0,[5],1,\"public Ghost forum\"],[0,[],0,\".\"]]]]}", "featured": false, "page": false, "status": "published", @@ -435,7 +435,7 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/creating-a-custom-theme.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/creating-a-custom-theme.jpg" }, { "title": "Apps & integrations", @@ -450,7 +450,7 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "There are three primary ways to work with third-party services in Ghost: using Zapier, editing your theme, or using the Ghost API.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/app-integrations.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/app-integrations.jpg" }, { "title": "Organising your content", @@ -465,12 +465,12 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "Ghost has a flexible organisational taxonomy called tags which can be used to configure your site structure using dynamic routing.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/organising-your-content.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/organising-your-content.jpg" }, { "title": "Managing admin settings", "slug": "admin-settings", - "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}]],\"cards\":[[\"image\",{\"src\":\"https://casper.ghost.org/v1.0.0/images/private.png\"}],[\"hr\",{}]],\"markups\":[[\"a\",[\"href\",\"/ghost/settings/general/\"]],[\"em\"],[\"strong\"],[\"a\",[\"href\",\"https://ghost.org/pricing/\"]],[\"a\",[\"href\",\"/organising-content/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"There are a couple of things to do next while you're getting set up:\"]]],[1,\"h1\",[[0,[],0,\"Make your site private\"]]],[1,\"p\",[[0,[],0,\"If you've got a publication that you don't want the world to see yet because it's not ready to launch, you can hide your Ghost site behind a basic shared pass-phrase.\"]]],[1,\"p\",[[0,[],0,\"You can toggle this preference on at the bottom of Ghost's \"],[0,[0],1,\"General Settings\"],[0,[],0,\":\"]]],[10,0],[1,\"p\",[[0,[],0,\"Ghost will give you a short, randomly generated pass-phrase which you can share with anyone who needs access to the site while you're working on it. While this setting is enabled, all search engine optimisation features will be switched off to help keep your site under the radar.\"]]],[1,\"p\",[[0,[],0,\"Do remember though, this is \"],[0,[1],1,\"not\"],[0,[],0,\" secure authentication. You shouldn't rely on this feature for protecting important private data. It's just a simple, shared pass-phrase for some very basic privacy.\"]]],[10,1],[1,\"h1\",[[0,[],0,\"Invite your team \"]]],[1,\"p\",[[0,[],0,\"Ghost has a number of different user roles for your team:\"]]],[1,\"p\",[[0,[2],1,\"Contributors\"],[1,[],0,0],[0,[],0,\"This is the base user level in Ghost. Contributors can create and edit their own draft posts, but they are unable to edit drafts of others or publish posts. Contributors are \"],[0,[2],1,\"untrusted\"],[0,[],0,\" users with the most basic access to your publication.\"]]],[1,\"p\",[[0,[2],1,\"Authors\"],[1,[],0,1],[0,[],0,\"Authors are the 2nd user level in Ghost. Authors can write, edit and publish their own posts. Authors are \"],[0,[2],1,\"trusted\"],[0,[],0,\" users. If you don't trust users to be allowed to publish their own posts, they should be set as Contributors.\"]]],[1,\"p\",[[0,[2],1,\"Editors\"],[1,[],0,2],[0,[],0,\"Editors are the 3rd user level in Ghost. Editors can do everything that an Author can do, but they can also edit and publish the posts of others - as well as their own. Editors can also invite new Contributors+Authors to the site.\"]]],[1,\"p\",[[0,[2],1,\"Administrators\"],[1,[],0,3],[0,[],0,\"The top user level in Ghost is Administrator. Again, administrators can do everything that Authors and Editors can do, but they can also edit all site settings and data, not just content. Additionally, administrators have full access to invite, manage or remove any other user of the site.\"],[1,[],0,4],[1,[],0,5],[0,[2],1,\"The Owner\"],[1,[],0,6],[0,[],0,\"There is only ever one owner of a Ghost site. The owner is a special user which has all the same permissions as an Administrator, but with two exceptions: The Owner can never be deleted. And in some circumstances the owner will have access to additional special settings if applicable. For example: billing details, if using \"],[0,[3,2],2,\"Ghost(Pro)\"],[0,[],0,\".\"]]],[1,\"blockquote\",[[0,[1],1,\"It's a good idea to ask all of your users to fill out their user profiles, including bio and social links. These will populate rich structured data for posts and generally create more opportunities for themes to fully populate their design.\"]]],[1,\"p\",[[0,[],0,\"Next up: \"],[0,[4],1,\"Organising your content\"],[0,[],0,\" \"]]]]}", + "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}],[\"soft-return\",\"\",{}]],\"cards\":[[\"image\",{\"src\":\"https://static.ghost.org/v1.0.0/images/private.png\"}],[\"hr\",{}]],\"markups\":[[\"a\",[\"href\",\"/ghost/settings/general/\"]],[\"em\"],[\"strong\"],[\"a\",[\"href\",\"https://ghost.org/pricing/\"]],[\"a\",[\"href\",\"/organising-content/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"There are a couple of things to do next while you're getting set up:\"]]],[1,\"h1\",[[0,[],0,\"Make your site private\"]]],[1,\"p\",[[0,[],0,\"If you've got a publication that you don't want the world to see yet because it's not ready to launch, you can hide your Ghost site behind a basic shared pass-phrase.\"]]],[1,\"p\",[[0,[],0,\"You can toggle this preference on at the bottom of Ghost's \"],[0,[0],1,\"General Settings\"],[0,[],0,\":\"]]],[10,0],[1,\"p\",[[0,[],0,\"Ghost will give you a short, randomly generated pass-phrase which you can share with anyone who needs access to the site while you're working on it. While this setting is enabled, all search engine optimisation features will be switched off to help keep your site under the radar.\"]]],[1,\"p\",[[0,[],0,\"Do remember though, this is \"],[0,[1],1,\"not\"],[0,[],0,\" secure authentication. You shouldn't rely on this feature for protecting important private data. It's just a simple, shared pass-phrase for some very basic privacy.\"]]],[10,1],[1,\"h1\",[[0,[],0,\"Invite your team \"]]],[1,\"p\",[[0,[],0,\"Ghost has a number of different user roles for your team:\"]]],[1,\"p\",[[0,[2],1,\"Contributors\"],[1,[],0,0],[0,[],0,\"This is the base user level in Ghost. Contributors can create and edit their own draft posts, but they are unable to edit drafts of others or publish posts. Contributors are \"],[0,[2],1,\"untrusted\"],[0,[],0,\" users with the most basic access to your publication.\"]]],[1,\"p\",[[0,[2],1,\"Authors\"],[1,[],0,1],[0,[],0,\"Authors are the 2nd user level in Ghost. Authors can write, edit and publish their own posts. Authors are \"],[0,[2],1,\"trusted\"],[0,[],0,\" users. If you don't trust users to be allowed to publish their own posts, they should be set as Contributors.\"]]],[1,\"p\",[[0,[2],1,\"Editors\"],[1,[],0,2],[0,[],0,\"Editors are the 3rd user level in Ghost. Editors can do everything that an Author can do, but they can also edit and publish the posts of others - as well as their own. Editors can also invite new Contributors+Authors to the site.\"]]],[1,\"p\",[[0,[2],1,\"Administrators\"],[1,[],0,3],[0,[],0,\"The top user level in Ghost is Administrator. Again, administrators can do everything that Authors and Editors can do, but they can also edit all site settings and data, not just content. Additionally, administrators have full access to invite, manage or remove any other user of the site.\"],[1,[],0,4],[1,[],0,5],[0,[2],1,\"The Owner\"],[1,[],0,6],[0,[],0,\"There is only ever one owner of a Ghost site. The owner is a special user which has all the same permissions as an Administrator, but with two exceptions: The Owner can never be deleted. And in some circumstances the owner will have access to additional special settings if applicable. For example: billing details, if using \"],[0,[3,2],2,\"Ghost(Pro)\"],[0,[],0,\".\"]]],[1,\"blockquote\",[[0,[1],1,\"It's a good idea to ask all of your users to fill out their user profiles, including bio and social links. These will populate rich structured data for posts and generally create more opportunities for themes to fully populate their design.\"]]],[1,\"p\",[[0,[],0,\"Next up: \"],[0,[4],1,\"Organising your content\"],[0,[],0,\" \"]]]]}", "featured": false, "page": false, "status": "published", @@ -480,12 +480,12 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "There are a couple of things to do next while you're getting set up: making your site private and inviting your team.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/admin-settings.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/admin-settings.jpg" }, { "title": "Publishing options", "slug": "publishing-options", - "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"code\",{\"code\":\"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Article\\\",\\n \\\"publisher\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"Publishing options\\\",\\n \\\"logo\\\": \\\"https://casper.ghost.org/ghost-logo.svg\\\"\\n },\\n \\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"Ghost\\\",\\n \\\"url\\\": \\\"http://demo.ghost.io/author/ghost/\\\",\\n \\\"sameAs\\\": []\\n },\\n \\\"headline\\\": \\\"Publishing options\\\",\\n \\\"url\\\": \\\"http://demo.ghost.io/publishing-options\\\",\\n \\\"datePublished\\\": \\\"2018-08-08T11:44:00.000Z\\\",\\n \\\"dateModified\\\": \\\"2018-08-09T12:06:21.000Z\\\",\\n \\\"keywords\\\": \\\"Getting Started\\\",\\n \\\"description\\\": \\\"The Ghost editor has everything you need to fully optimise your content. This is where you can add tags and authors, feature a post, or turn a post into a page.\\\",\\n }\\n}\\n \"}]],\"markups\":[[\"a\",[\"href\",\"https://schema.org/\"]],[\"a\",[\"href\",\"https://search.google.com/structured-data/testing-tool\",\"rel\",\"noreferrer nofollow noopener\"]],[\"strong\"],[\"a\",[\"href\",\"/ghost/settings/code-injection/\"]],[\"a\",[\"href\",\"/admin-settings/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"The Ghost editor has everything you need to fully optimise your content. This is where you can add tags and authors, feature a post, or turn a post into a page. \"]]],[1,\"blockquote\",[[0,[],0,\"Access the post settings menu in the top right hand corner of the editor. \"]]],[1,\"h2\",[[0,[],0,\"Post feature image\"]]],[1,\"p\",[[0,[],0,\"Insert your post feature image from the very top of the post settings menu. Consider resizing or optimising your image first to ensure it's an appropriate size.\"]]],[1,\"h2\",[[0,[],0,\"Structured data & SEO\"]]],[1,\"p\",[[0,[],0,\"Customise your social media sharing cards for Facebook and Twitter, enabling you to add custom images, titles and descriptions for social media.\"]]],[1,\"p\",[[0,[],0,\"There’s no need to hard code your meta data. You can set your meta title and description using the post settings tool, which has a handy character guide and SERP preview. \"]]],[1,\"p\",[[0,[],0,\"Ghost will automatically implement structured data for your publication using JSON-LD to further optimise your content.\"]]],[10,0],[1,\"p\",[[0,[],0,\"You can test that the structured data \"],[0,[0],1,\"schema\"],[0,[],0,\" on your site is working as it should using \"],[0,[1],1,\"Google’s structured data tool\"],[0,[],0,\". \"]]],[1,\"h2\",[[0,[],0,\"Code Injection\"]]],[1,\"p\",[[0,[],0,\"This tool allows you to inject code on a per post or page basis, or across your entire site. This means you can modify CSS, add unique tracking codes, or add other scripts to the head or foot of your publication without making edits to your theme files. \"]]],[1,\"p\",[[0,[2],1,\"To add code site-wide\"],[0,[],0,\", use the code injection tool \"],[0,[3],1,\"in the main admin menu\"],[0,[],0,\". This is useful for adding a Facebook Pixel, a Google Analytics tracking code, or to start tracking with any other analytics tool.\"]]],[1,\"p\",[[0,[2],1,\"To add code to a post or page\"],[0,[],0,\", use the code injection tool within the post settings menu. This is useful if you want to add art direction, scripts or styles that are only applicable to one post or page. \"]]],[1,\"p\",[[0,[],0,\"From here, you might be interested in managing some more specific \"],[0,[4],1,\"admin settings\"],[0,[],0,\"!\"]]]]}", + "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"code\",{\"code\":\"{\\n \\\"@context\\\": \\\"https://schema.org\\\",\\n \\\"@type\\\": \\\"Article\\\",\\n \\\"publisher\\\": {\\n \\\"@type\\\": \\\"Organization\\\",\\n \\\"name\\\": \\\"Publishing options\\\",\\n \\\"logo\\\": \\\"https://static.ghost.org/ghost-logo.svg\\\"\\n },\\n \\\"author\\\": {\\n \\\"@type\\\": \\\"Person\\\",\\n \\\"name\\\": \\\"Ghost\\\",\\n \\\"url\\\": \\\"http://demo.ghost.io/author/ghost/\\\",\\n \\\"sameAs\\\": []\\n },\\n \\\"headline\\\": \\\"Publishing options\\\",\\n \\\"url\\\": \\\"http://demo.ghost.io/publishing-options\\\",\\n \\\"datePublished\\\": \\\"2018-08-08T11:44:00.000Z\\\",\\n \\\"dateModified\\\": \\\"2018-08-09T12:06:21.000Z\\\",\\n \\\"keywords\\\": \\\"Getting Started\\\",\\n \\\"description\\\": \\\"The Ghost editor has everything you need to fully optimise your content. This is where you can add tags and authors, feature a post, or turn a post into a page.\\\",\\n }\\n}\\n \"}]],\"markups\":[[\"a\",[\"href\",\"https://schema.org/\"]],[\"a\",[\"href\",\"https://search.google.com/structured-data/testing-tool\",\"rel\",\"noreferrer nofollow noopener\"]],[\"strong\"],[\"a\",[\"href\",\"/ghost/settings/code-injection/\"]],[\"a\",[\"href\",\"/admin-settings/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"The Ghost editor has everything you need to fully optimise your content. This is where you can add tags and authors, feature a post, or turn a post into a page. \"]]],[1,\"blockquote\",[[0,[],0,\"Access the post settings menu in the top right hand corner of the editor. \"]]],[1,\"h2\",[[0,[],0,\"Post feature image\"]]],[1,\"p\",[[0,[],0,\"Insert your post feature image from the very top of the post settings menu. Consider resizing or optimising your image first to ensure it's an appropriate size.\"]]],[1,\"h2\",[[0,[],0,\"Structured data & SEO\"]]],[1,\"p\",[[0,[],0,\"Customise your social media sharing cards for Facebook and Twitter, enabling you to add custom images, titles and descriptions for social media.\"]]],[1,\"p\",[[0,[],0,\"There’s no need to hard code your meta data. You can set your meta title and description using the post settings tool, which has a handy character guide and SERP preview. \"]]],[1,\"p\",[[0,[],0,\"Ghost will automatically implement structured data for your publication using JSON-LD to further optimise your content.\"]]],[10,0],[1,\"p\",[[0,[],0,\"You can test that the structured data \"],[0,[0],1,\"schema\"],[0,[],0,\" on your site is working as it should using \"],[0,[1],1,\"Google’s structured data tool\"],[0,[],0,\". \"]]],[1,\"h2\",[[0,[],0,\"Code Injection\"]]],[1,\"p\",[[0,[],0,\"This tool allows you to inject code on a per post or page basis, or across your entire site. This means you can modify CSS, add unique tracking codes, or add other scripts to the head or foot of your publication without making edits to your theme files. \"]]],[1,\"p\",[[0,[2],1,\"To add code site-wide\"],[0,[],0,\", use the code injection tool \"],[0,[3],1,\"in the main admin menu\"],[0,[],0,\". This is useful for adding a Facebook Pixel, a Google Analytics tracking code, or to start tracking with any other analytics tool.\"]]],[1,\"p\",[[0,[2],1,\"To add code to a post or page\"],[0,[],0,\", use the code injection tool within the post settings menu. This is useful if you want to add art direction, scripts or styles that are only applicable to one post or page. \"]]],[1,\"p\",[[0,[],0,\"From here, you might be interested in managing some more specific \"],[0,[4],1,\"admin settings\"],[0,[],0,\"!\"]]]]}", "featured": false, "page": false, "status": "published", @@ -495,12 +495,12 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "The Ghost editor has everything you need to fully optimise your content. This is where you can add tags and authors, feature a post, or turn a post into a page.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/publishing-options.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/publishing-options.jpg" }, { "title": "Writing posts with Ghost ✍️", "slug": "the-editor", - "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"image\",{\"src\":\"https://casper.ghost.org/v2.0.0/images/formatting-editor-demo.gif\"}],[\"code\",{\"code\":\"
\\n
\\n {{> \\\"site-nav\\\"}}\\n
\\n
\"}],[\"image\",{\"src\":\"https://casper.ghost.org/v2.0.0/images/using-images-demo.gif\"}]],\"markups\":[[\"strong\"],[\"code\"],[\"a\",[\"href\",\"/publishing-options/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"Ghost has a powerful visual editor with familiar formatting options, as well as the ability to seamlessly add dynamic content. \"]]],[1,\"p\",[[0,[],0,\"Select the text to add formatting, headers or create links, or use Markdown shortcuts to do the work for you - if that's your thing. \"]]],[10,0],[1,\"h2\",[[0,[],0,\"Rich editing at your fingertips\"]]],[1,\"p\",[[0,[],0,\"The editor can also handle rich media objects, called \"],[0,[0],1,\"cards\"],[0,[],0,\". \"]]],[1,\"p\",[[0,[],0,\"You can insert a card either by clicking the \"],[0,[1],1,\"+\"],[0,[],0,\" button on a new line, or typing \"],[0,[1],1,\"/\"],[0,[],0,\" on a new line to search for a particular card. This allows you to efficiently insert\"],[0,[0],1,\" images\"],[0,[],0,\", \"],[0,[0],1,\"markdown\"],[0,[],0,\", \"],[0,[0],1,\"html\"],[0,[],0,\" and \"],[0,[0],1,\"embeds\"],[0,[],0,\".\"]]],[1,\"p\",[[0,[0],1,\"For Example\"],[0,[],0,\":\"]]],[3,\"ul\",[[[0,[],0,\"Insert a video from YouTube directly into your content by pasting the URL \"]],[[0,[],0,\"Create unique content like a button or content opt-in using the HTML card\"]],[[0,[],0,\"Need to share some code? Embed code blocks directly \"]]]],[10,1],[1,\"h1\",[[0,[],0,\"Working with images in posts\"]]],[1,\"p\",[[0,[],0,\"You can add images to your posts in many ways:\"]]],[3,\"ul\",[[[0,[],0,\"Upload from your computer\"]],[[0,[],0,\"Click and drag an image into the browser\"]],[[0,[],0,\"Paste directly into the editor from your clipboard\"]],[[0,[],0,\"Insert using a URL\"]]]],[1,\"p\",[[0,[],0,\"Once inserted you can blend images beautifully into your content at different sizes and add captions wherever needed.\"]]],[10,2],[1,\"p\",[[0,[],0,\"The post settings menu and publishing options can be found in the top right hand corner. For more advanced tips on post settings check out the \"],[0,[2],1,\"publishing options\"],[0,[],0,\" post!\"]]],[1,\"p\",[]]]}", + "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[[\"image\",{\"src\":\"https://static.ghost.org/v2.0.0/images/formatting-editor-demo.gif\"}],[\"code\",{\"code\":\"
\\n
\\n {{> \\\"site-nav\\\"}}\\n
\\n
\"}],[\"image\",{\"src\":\"https://static.ghost.org/v2.0.0/images/using-images-demo.gif\"}]],\"markups\":[[\"strong\"],[\"code\"],[\"a\",[\"href\",\"/publishing-options/\"]]],\"sections\":[[1,\"p\",[[0,[],0,\"Ghost has a powerful visual editor with familiar formatting options, as well as the ability to seamlessly add dynamic content. \"]]],[1,\"p\",[[0,[],0,\"Select the text to add formatting, headers or create links, or use Markdown shortcuts to do the work for you - if that's your thing. \"]]],[10,0],[1,\"h2\",[[0,[],0,\"Rich editing at your fingertips\"]]],[1,\"p\",[[0,[],0,\"The editor can also handle rich media objects, called \"],[0,[0],1,\"cards\"],[0,[],0,\". \"]]],[1,\"p\",[[0,[],0,\"You can insert a card either by clicking the \"],[0,[1],1,\"+\"],[0,[],0,\" button on a new line, or typing \"],[0,[1],1,\"/\"],[0,[],0,\" on a new line to search for a particular card. This allows you to efficiently insert\"],[0,[0],1,\" images\"],[0,[],0,\", \"],[0,[0],1,\"markdown\"],[0,[],0,\", \"],[0,[0],1,\"html\"],[0,[],0,\" and \"],[0,[0],1,\"embeds\"],[0,[],0,\".\"]]],[1,\"p\",[[0,[0],1,\"For Example\"],[0,[],0,\":\"]]],[3,\"ul\",[[[0,[],0,\"Insert a video from YouTube directly into your content by pasting the URL \"]],[[0,[],0,\"Create unique content like a button or content opt-in using the HTML card\"]],[[0,[],0,\"Need to share some code? Embed code blocks directly \"]]]],[10,1],[1,\"h1\",[[0,[],0,\"Working with images in posts\"]]],[1,\"p\",[[0,[],0,\"You can add images to your posts in many ways:\"]]],[3,\"ul\",[[[0,[],0,\"Upload from your computer\"]],[[0,[],0,\"Click and drag an image into the browser\"]],[[0,[],0,\"Paste directly into the editor from your clipboard\"]],[[0,[],0,\"Insert using a URL\"]]]],[1,\"p\",[[0,[],0,\"Once inserted you can blend images beautifully into your content at different sizes and add captions wherever needed.\"]]],[10,2],[1,\"p\",[[0,[],0,\"The post settings menu and publishing options can be found in the top right hand corner. For more advanced tips on post settings check out the \"],[0,[2],1,\"publishing options\"],[0,[],0,\" post!\"]]],[1,\"p\",[]]]}", "featured": false, "page": false, "status": "published", @@ -510,7 +510,7 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "Getting started with the editor is simple, with familiar formatting options in a functional toolbar and the ability to add dynamic content seamlessly.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/writing-posts-with-ghost.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/writing-posts-with-ghost.jpg" }, { "title": "Welcome to Ghost", @@ -525,7 +525,7 @@ "published_by": "5951f5fca366002ebd5dbef7", "author_id": "5951f5fca366002ebd5dbef7", "custom_excerpt": "Welcome, it's great to have you here.\nWe know that first impressions are important, so we've populated your new site with some initial getting started posts that will help you get familiar with everything in no time.", - "feature_image": "https://casper.ghost.org/v2.0.0/images/welcome-to-ghost.jpg" + "feature_image": "https://static.ghost.org/v2.0.0/images/welcome-to-ghost.jpg" } ] } diff --git a/core/test/unit/data/schema/integrity_spec.js b/core/test/unit/data/schema/integrity_spec.js index eb37b67bb9..7033e9f7b7 100644 --- a/core/test/unit/data/schema/integrity_spec.js +++ b/core/test/unit/data/schema/integrity_spec.js @@ -20,7 +20,7 @@ var should = require('should'), describe('DB version integrity', function () { // Only these variables should need updating const currentSchemaHash = '92cb4391c426520d2e3e80c46f6ae100'; - const currentFixturesHash = '6723e0af9b55c4c2854120eab1c29ab9'; + const currentFixturesHash = '8b36d1e72c29b7f9073612142b5a8783'; // If this test is failing, then it is likely a change has been made that requires a DB version bump, // and the values above will need updating as confirmation diff --git a/core/test/utils/fixtures/export/valid.json b/core/test/utils/fixtures/export/valid.json index 5e80d7baa7..4983a6bdda 100644 --- a/core/test/utils/fixtures/export/valid.json +++ b/core/test/utils/fixtures/export/valid.json @@ -1090,11 +1090,11 @@ "uuid": "8c414ae2-dce6-4b0f-8ee6-5c403fa2ae86", "title": "Setting up your own Ghost theme", "slug": "themes", - "mobiledoc": "{\"version\":\"0.3.1\",\"markups\":[],\"atoms\":[],\"cards\":[[\"card-markdown\",{\"cardName\":\"card-markdown\",\"markdown\":\"Creating a totally custom design for your publication\\n\\nGhost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.\\n\\nThere are a huge range of both free and premium pre-built themes which you can get from the [Ghost Theme Marketplace](http://marketplace.ghost.org), or you can simply create your own from scratch.\\n\\n[![marketplace](https://casper.ghost.org/v1.0.0/images/marketplace.jpg)](http://marketplace.ghost.org)\\n\\n> Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS\\n\\nGhost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like `{{author.name}}`, for example, outputs the name of the current author.\\n\\nThe best way to learn how to write your own Ghost theme is to have a look at [the source code for Casper](https://github.com/TryGhost/Casper), which is heavily commented and should give you a sense of how everything fits together.\\n\\n- `default.hbs` is the main template file, all contexts will load inside this file unless specifically told to use a different template.\\n- `post.hbs` is the file used in the context of viewing a post.\\n- `index.hbs` is the file used in the context of viewing the home page.\\n- and so on\\n\\nWe've got [full and extensive theme documentation](http://themes.ghost.org/docs/about) which outlines every template file, context and helper that you can use.\\n\\nIf you want to chat with other people making Ghost themes to get any advice or help, there's also a **themes** section on our [public Ghost forum](https://forum.ghost.org/c/themes).\"}]],\"sections\":[[10,0]]}", - "html": "

Creating a totally custom design for your publication

\n

Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.

\n

There are a huge range of both free and premium pre-built themes which you can get from the Ghost Theme Marketplace, or you can simply create your own from scratch.

\n

\"marketplace\"

\n
\n

Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS

\n
\n

Ghost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like {{author.name}}, for example, outputs the name of the current author.

\n

The best way to learn how to write your own Ghost theme is to have a look at the source code for Casper, which is heavily commented and should give you a sense of how everything fits together.

\n\n

We've got full and extensive theme documentation which outlines every template file, context and helper that you can use.

\n

If you want to chat with other people making Ghost themes to get any advice or help, there's also a themes section on our public Ghost forum.

", + "mobiledoc": "{\"version\":\"0.3.1\",\"markups\":[],\"atoms\":[],\"cards\":[[\"card-markdown\",{\"cardName\":\"card-markdown\",\"markdown\":\"Creating a totally custom design for your publication\\n\\nGhost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.\\n\\nThere are a huge range of both free and premium pre-built themes which you can get from the [Ghost Theme Marketplace](http://marketplace.ghost.org), or you can simply create your own from scratch.\\n\\n[![marketplace](https://static.ghost.org/v1.0.0/images/marketplace.jpg)](http://marketplace.ghost.org)\\n\\n> Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS\\n\\nGhost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like `{{author.name}}`, for example, outputs the name of the current author.\\n\\nThe best way to learn how to write your own Ghost theme is to have a look at [the source code for Casper](https://github.com/TryGhost/Casper), which is heavily commented and should give you a sense of how everything fits together.\\n\\n- `default.hbs` is the main template file, all contexts will load inside this file unless specifically told to use a different template.\\n- `post.hbs` is the file used in the context of viewing a post.\\n- `index.hbs` is the file used in the context of viewing the home page.\\n- and so on\\n\\nWe've got [full and extensive theme documentation](http://themes.ghost.org/docs/about) which outlines every template file, context and helper that you can use.\\n\\nIf you want to chat with other people making Ghost themes to get any advice or help, there's also a **themes** section on our [public Ghost forum](https://forum.ghost.org/c/themes).\"}]],\"sections\":[[10,0]]}", + "html": "

Creating a totally custom design for your publication

\n

Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.

\n

There are a huge range of both free and premium pre-built themes which you can get from the Ghost Theme Marketplace, or you can simply create your own from scratch.

\n

\"marketplace\"

\n
\n

Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS

\n
\n

Ghost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like {{author.name}}, for example, outputs the name of the current author.

\n

The best way to learn how to write your own Ghost theme is to have a look at the source code for Casper, which is heavily commented and should give you a sense of how everything fits together.

\n\n

We've got full and extensive theme documentation which outlines every template file, context and helper that you can use.

\n

If you want to chat with other people making Ghost themes to get any advice or help, there's also a themes section on our public Ghost forum.

", "amp": "1", "plaintext": "Creating a totally custom design for your publication\n\nGhost comes with a beautiful default theme called Casper, which is designed to\nbe a clean, readable publication layout and can be easily adapted for most\npurposes. However, Ghost can also be completely themed to suit your needs.\nRather than just giving you a few basic settings which act as a poor proxy for\ncode, we just let you write code.\n\nThere are a huge range of both free and premium pre-built themes which you can\nget from the Ghost Theme Marketplace [http://marketplace.ghost.org], or you can\nsimply create your own from scratch.\n\n [http://marketplace.ghost.org]\n\nAnyone can write a completely custom Ghost theme, with just some solid knowledge\nof HTML and CSS\n\nGhost themes are written with a templating language called handlebars, which has\na bunch of dynamic helpers to insert your data into template files. Like \n{{author.name}}, for example, outputs the name of the current author.\n\nThe best way to learn how to write your own Ghost theme is to have a look at \nthe\nsource code for Casper [https://github.com/TryGhost/Casper], which is heavily\ncommented and should give you a sense of how everything fits together.\n\n * default.hbs is the main template file, all contexts will load inside this\n file unless specifically told to use a different template.\n * post.hbs is the file used in the context of viewing a post.\n * index.hbs is the file used in the context of viewing the home page.\n * and so on\n\nWe've got full and extensive theme documentation\n[http://themes.ghost.org/docs/about] which outlines every template file,\ncontext and helper that you can use.\n\nIf you want to chat with other people making Ghost themes to get any advice or\nhelp, there's also a themes channel on our public Ghost forum\n[https://slack.ghost.org].", - "feature_image": "https://casper.ghost.org/v1.0.0/images/design.jpg", + "feature_image": "https://static.ghost.org/v1.0.0/images/design.jpg", "featured": 0, "page": 0, "status": "published", @@ -1124,11 +1124,11 @@ "uuid": "8a6fdc10-fcde-48ba-b662-4d366cef5653", "title": "Advanced Markdown tips", "slug": "advanced-markdown", - "mobiledoc": "{\"version\":\"0.3.1\",\"markups\":[],\"atoms\":[],\"cards\":[[\"card-markdown\",{\"cardName\":\"card-markdown\",\"markdown\":\"There are lots of powerful things you can do with the Ghost editor\\n\\nIf you've gotten pretty comfortable with [all the basics](/the-editor/) of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!\\n\\nAs with the last post about the editor, you'll want to be actually editing this post as you read it so that you can see all the Markdown code we're using.\\n\\n\\n## Special formatting\\n\\nAs well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:\\n\\n+ ~~strike through~~\\n+ ==highlight==\\n+ \\\\*escaped characters\\\\*\\n\\n\\n## Writing code blocks\\n\\nThere are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, `like this`. Larger snippets of code can be displayed across multiple lines using triple back ticks:\\n\\n```\\n.my-link {\\n text-decoration: underline;\\n}\\n```\\n\\nIf you want to get really fancy, you can even add syntax highlighting using [Prism.js](http://prismjs.com/).\\n\\n\\n## Full bleed images\\n\\nOne neat trick which you can use in Markdown to distinguish between different types of images is to add a `#hash` value to the end of the source URL, and then target images containing the hash with special styling. For example:\\n\\n![walking](https://casper.ghost.org/v1.0.0/images/walking.jpg#full)\\n\\nwhich is styled with...\\n\\n```\\nimg[src$=\\\"#full\\\"] {\\n max-width: 100vw;\\n}\\n```\\n\\nThis creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it's a great trick to play with if you want to have a variety of image sizes and styles.\\n\\n\\n## Reference lists\\n\\n**The quick brown [fox][1], jumped over the lazy [dog][2].**\\n\\n[1]: https://en.wikipedia.org/wiki/Fox \\\"Wikipedia: Fox\\\"\\n[2]: https://en.wikipedia.org/wiki/Dog \\\"Wikipedia: Dog\\\"\\n\\nAnother way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.\\n\\n\\n## Creating footnotes\\n\\nThe quick brown fox[^1] jumped over the lazy dog[^2].\\n\\n[^1]: Foxes are red\\n[^2]: Dogs are usually not red\\n\\nFootnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.\\n\\n\\n## Full HTML\\n\\nPerhaps the best part of Markdown is that you're never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here's a standard YouTube embed code as an example:\\n\\n\\n\"}]],\"sections\":[[10,0]]}", - "html": "

There are lots of powerful things you can do with the Ghost editor

\n

If you've gotten pretty comfortable with all the basics of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!

\n

As with the last post about the editor, you'll want to be actually editing this post as you read it so that you can see all the Markdown code we're using.

\n

Special formatting

\n

As well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:

\n\n

Writing code blocks

\n

There are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, like this. Larger snippets of code can be displayed across multiple lines using triple back ticks:

\n
.my-link {\n    text-decoration: underline;\n}\n
\n

If you want to get really fancy, you can even add syntax highlighting using Prism.js.

\n

Full bleed images

\n

One neat trick which you can use in Markdown to distinguish between different types of images is to add a #hash value to the end of the source URL, and then target images containing the hash with special styling. For example:

\n

\"walking\"

\n

which is styled with...

\n
img[src$="#full"] {\n    max-width: 100vw;\n}\n
\n

This creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it's a great trick to play with if you want to have a variety of image sizes and styles.

\n

Reference lists

\n

The quick brown fox, jumped over the lazy dog.

\n

Another way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.

\n

Creating footnotes

\n

The quick brown fox[1] jumped over the lazy dog[2].

\n

Footnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.

\n

Full HTML

\n

Perhaps the best part of Markdown is that you're never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here's a standard YouTube embed code as an example:

\n\n
\n
\n
    \n
  1. Foxes are red ↩︎

    \n
  2. \n
  3. Dogs are usually not red ↩︎

    \n
  4. \n
\n
", + "mobiledoc": "{\"version\":\"0.3.1\",\"markups\":[],\"atoms\":[],\"cards\":[[\"card-markdown\",{\"cardName\":\"card-markdown\",\"markdown\":\"There are lots of powerful things you can do with the Ghost editor\\n\\nIf you've gotten pretty comfortable with [all the basics](/the-editor/) of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!\\n\\nAs with the last post about the editor, you'll want to be actually editing this post as you read it so that you can see all the Markdown code we're using.\\n\\n\\n## Special formatting\\n\\nAs well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:\\n\\n+ ~~strike through~~\\n+ ==highlight==\\n+ \\\\*escaped characters\\\\*\\n\\n\\n## Writing code blocks\\n\\nThere are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, `like this`. Larger snippets of code can be displayed across multiple lines using triple back ticks:\\n\\n```\\n.my-link {\\n text-decoration: underline;\\n}\\n```\\n\\nIf you want to get really fancy, you can even add syntax highlighting using [Prism.js](http://prismjs.com/).\\n\\n\\n## Full bleed images\\n\\nOne neat trick which you can use in Markdown to distinguish between different types of images is to add a `#hash` value to the end of the source URL, and then target images containing the hash with special styling. For example:\\n\\n![walking](https://static.ghost.org/v1.0.0/images/walking.jpg#full)\\n\\nwhich is styled with...\\n\\n```\\nimg[src$=\\\"#full\\\"] {\\n max-width: 100vw;\\n}\\n```\\n\\nThis creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it's a great trick to play with if you want to have a variety of image sizes and styles.\\n\\n\\n## Reference lists\\n\\n**The quick brown [fox][1], jumped over the lazy [dog][2].**\\n\\n[1]: https://en.wikipedia.org/wiki/Fox \\\"Wikipedia: Fox\\\"\\n[2]: https://en.wikipedia.org/wiki/Dog \\\"Wikipedia: Dog\\\"\\n\\nAnother way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.\\n\\n\\n## Creating footnotes\\n\\nThe quick brown fox[^1] jumped over the lazy dog[^2].\\n\\n[^1]: Foxes are red\\n[^2]: Dogs are usually not red\\n\\nFootnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.\\n\\n\\n## Full HTML\\n\\nPerhaps the best part of Markdown is that you're never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here's a standard YouTube embed code as an example:\\n\\n\\n\"}]],\"sections\":[[10,0]]}", + "html": "

There are lots of powerful things you can do with the Ghost editor

\n

If you've gotten pretty comfortable with all the basics of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!

\n

As with the last post about the editor, you'll want to be actually editing this post as you read it so that you can see all the Markdown code we're using.

\n

Special formatting

\n

As well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:

\n\n

Writing code blocks

\n

There are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, like this. Larger snippets of code can be displayed across multiple lines using triple back ticks:

\n
.my-link {\n    text-decoration: underline;\n}\n
\n

If you want to get really fancy, you can even add syntax highlighting using Prism.js.

\n

Full bleed images

\n

One neat trick which you can use in Markdown to distinguish between different types of images is to add a #hash value to the end of the source URL, and then target images containing the hash with special styling. For example:

\n

\"walking\"

\n

which is styled with...

\n
img[src$="#full"] {\n    max-width: 100vw;\n}\n
\n

This creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it's a great trick to play with if you want to have a variety of image sizes and styles.

\n

Reference lists

\n

The quick brown fox, jumped over the lazy dog.

\n

Another way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.

\n

Creating footnotes

\n

The quick brown fox[1] jumped over the lazy dog[2].

\n

Footnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.

\n

Full HTML

\n

Perhaps the best part of Markdown is that you're never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here's a standard YouTube embed code as an example:

\n\n
\n
\n
    \n
  1. Foxes are red ↩︎

    \n
  2. \n
  3. Dogs are usually not red ↩︎

    \n
  4. \n
\n
", "amp": null, "plaintext": "There are lots of powerful things you can do with the Ghost editor\n\nIf you've gotten pretty comfortable with all the basics [/the-editor/] of\nwriting in Ghost, then you may enjoy some more advanced tips about the types of\nthings you can do with Markdown!\n\nAs with the last post about the editor, you'll want to be actually editing this\npost as you read it so that you can see all the Markdown code we're using.\n\nSpecial formatting\nAs well as bold and italics, you can also use some other special formatting in\nMarkdown when the need arises, for example:\n\n * strike through\n * highlight\n * *escaped characters*\n\nWriting code blocks\nThere are two types of code elements which can be inserted in Markdown, the\nfirst is inline, and the other is block. Inline code is formatted by wrapping\nany word or words in back-ticks, like this. Larger snippets of code can be\ndisplayed across multiple lines using triple back ticks:\n\n.my-link {\n text-decoration: underline;\n}\n\n\nIf you want to get really fancy, you can even add syntax highlighting using \nPrism.js [http://prismjs.com/].\n\nFull bleed images\nOne neat trick which you can use in Markdown to distinguish between different\ntypes of images is to add a #hash value to the end of the source URL, and then\ntarget images containing the hash with special styling. For example:\n\n\n\nwhich is styled with...\n\nimg[src$=\"#full\"] {\n max-width: 100vw;\n}\n\n\nThis creates full-bleed images in the Casper theme, which stretch beyond their\nusual boundaries right up to the edge of the window. Every theme handles these\ntypes of things slightly differently, but it's a great trick to play with if you\nwant to have a variety of image sizes and styles.\n\nReference lists\nThe quick brown fox [https://en.wikipedia.org/wiki/Fox], jumped over the lazy \ndog [https://en.wikipedia.org/wiki/Dog].\n\nAnother way to insert links in markdown is using reference lists. You might want\nto use this style of linking to cite reference material in a Wikipedia-style.\nAll of the links are listed at the end of the document, so you can maintain full\nseparation between content and its source or reference.\n\nCreating footnotes\nThe quick brown fox[1] jumped over the lazy dog[2].\n\nFootnotes are a great way to add additional contextual details when appropriate.\nGhost will automatically add footnote content to the very end of your post.\n\nFull HTML\nPerhaps the best part of Markdown is that you're never limited to just Markdown.\nYou can write HTML directly in the Ghost editor and it will just work as HTML\nusually does. No limits! Here's a standard YouTube embed code as an example:\n\n\n--------------------------------------------------------------------------------\n\n 1. Foxes are red ↩︎\n \n \n 2. Dogs are usually not red ↩︎", - "feature_image": "https://casper.ghost.org/v1.0.0/images/advanced.jpg", + "feature_image": "https://static.ghost.org/v1.0.0/images/advanced.jpg", "featured": 0, "page": 0, "status": "published",