mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
Removed 80 char wordwrap in excerpts
refs: https://github.com/TryGhost/Team/issues/1609 - remove the 80 char wordwrap - this makes the function the same as used in the post serializer - updated references everywhere to use the same function
This commit is contained in:
parent
6b3a657f88
commit
f436d23f87
5 changed files with 104 additions and 218 deletions
|
@ -1,7 +1,7 @@
|
|||
const logging = require('@tryghost/logging');
|
||||
const {createIrreversibleMigration} = require('../../utils');
|
||||
const mobiledocLib = require('../../../../lib/mobiledoc');
|
||||
const htmlToText = require('html-to-text');
|
||||
const htmlToPlaintext = require('../../../../../shared/html-to-plaintext');
|
||||
|
||||
module.exports = createIrreversibleMigration(async (knex) => {
|
||||
logging.info('Starting re-generation of posts html.');
|
||||
|
@ -45,17 +45,8 @@ module.exports = createIrreversibleMigration(async (knex) => {
|
|||
html: html
|
||||
};
|
||||
|
||||
// NOTE: block comes straight from the Post model
|
||||
// https://github.com/TryGhost/Ghost/blob/4.0.0-alpha.2/core/server/models/post.js#L484
|
||||
if (html !== post.html || !post.plaintext) {
|
||||
const plaintext = htmlToText.fromString(html, {
|
||||
wordwrap: 80,
|
||||
ignoreImage: true,
|
||||
hideLinkHrefIfSameAsText: true,
|
||||
preserveNewlines: true,
|
||||
returnDomByDefault: true,
|
||||
uppercaseHeadings: false
|
||||
});
|
||||
const plaintext = htmlToPlaintext(html);
|
||||
|
||||
if (plaintext !== post.plaintext) {
|
||||
updatedAttrs.plaintext = plaintext;
|
||||
|
|
|
@ -7,7 +7,7 @@ const api = require('../../api').endpoints;
|
|||
const apiShared = require('../../api').shared;
|
||||
const {URL} = require('url');
|
||||
const mobiledocLib = require('../../lib/mobiledoc');
|
||||
const htmlToText = require('html-to-text');
|
||||
const htmlToPlaintext = require('../../../shared/html-to-plaintext');
|
||||
const {isUnsplashImage, isLocalContentImage} = require('@tryghost/kg-default-cards/lib/utils');
|
||||
const {textColorForBackgroundColor, darkenToContrastThreshold} = require('@tryghost/color-utils');
|
||||
const logging = require('@tryghost/logging');
|
||||
|
@ -49,20 +49,6 @@ const getSite = () => {
|
|||
});
|
||||
};
|
||||
|
||||
const htmlToPlaintext = (html) => {
|
||||
// same options as used in Post model for generating plaintext but without `wordwrap: 80`
|
||||
// to avoid replacement strings being split across lines and for mail clients to handle
|
||||
// word wrapping based on user preferences
|
||||
return htmlToText.fromString(html, {
|
||||
wordwrap: false,
|
||||
ignoreImage: true,
|
||||
hideLinkHrefIfSameAsText: true,
|
||||
preserveNewlines: true,
|
||||
returnDomByDefault: true,
|
||||
uppercaseHeadings: false
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* createUnsubscribeUrl
|
||||
*
|
||||
|
|
|
@ -2,7 +2,7 @@ module.exports = function htmlToPlaintext(html) {
|
|||
const htmlToText = require('html-to-text');
|
||||
|
||||
return htmlToText.fromString(html, {
|
||||
wordwrap: 80,
|
||||
wordwrap: false,
|
||||
ignoreImage: true,
|
||||
hideLinkHrefIfSameAsText: true,
|
||||
preserveNewlines: true,
|
||||
|
|
|
@ -77,16 +77,11 @@ Object {
|
|||
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"excerpt": "Unlike posts, pages in Ghost don't appear in the main feed. They're separate,
|
||||
individual pages which only show up when you link to them. Great for content
|
||||
which is important, but separate from your usual posts.
|
||||
"excerpt": "Unlike posts, pages in Ghost don't appear in the main feed. They're separate, individual pages which only show up when you link to them. Great for content which is important, but separate from your usual posts.
|
||||
|
||||
An about page is a great example of one you might want to set up early on so
|
||||
people can find out more about you, and what you do. Why should people subscribe
|
||||
to your site and become a member? Details help!
|
||||
An about page is a great example of one you might want to set up early on so people can find out more about you, and what you do. Why should people subscribe to your site and become a member? Details help!
|
||||
|
||||
> Tip: If you're reading any post or page on your site and you notice something
|
||||
y",
|
||||
> Tip: If you're reading any post or page on your site and you notice something y",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -121,17 +116,14 @@ y",
|
|||
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"excerpt": "If you want to set up a contact page for people to be able to reach out to you,
|
||||
the simplest way is to set up a simple page like this and list the different
|
||||
ways people can reach out to you.
|
||||
"excerpt": "If you want to set up a contact page for people to be able to reach out to you, the simplest way is to set up a simple page like this and list the different ways people can reach out to you.
|
||||
|
||||
For example, here's how to reach us!
|
||||
* @Ghost [https://twitter.com/ghost] on Twitter
|
||||
* @Ghost [https://www.facebook.com/ghost] on Facebook
|
||||
* @Ghost [https://instagram.com/ghost] on Instagram
|
||||
|
||||
If you prefer to use a contact form, almost all of the great embedded form
|
||||
services work great with Ghost and are",
|
||||
If you prefer to use a contact form, almost all of the great embedded form services work great with Ghost and are",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -166,13 +158,9 @@ services work great with Ghost and are",
|
|||
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"excerpt": "Oh hey, you clicked every link of our starter content and even clicked this
|
||||
small link in the footer! If you like Ghost and you're enjoying the product so
|
||||
far, we'd hugely appreciate your support in any way you care to show it.
|
||||
"excerpt": "Oh hey, you clicked every link of our starter content and even clicked this small link in the footer! If you like Ghost and you're enjoying the product so far, we'd hugely appreciate your support in any way you care to show it.
|
||||
|
||||
Ghost is a non-profit organization, and we give away all our intellectual
|
||||
property as open source software. If you believe in what we do, there are a
|
||||
number of ways you can give us a hand, and we hugely appreciate all of them:
|
||||
Ghost is a non-profit organization, and we give away all our intellectual property as open source software. If you believe in what we do, there are a number of ways you can give us a hand, and we hugely appreciate all of them:
|
||||
|
||||
* Contribute code via GitHub [https://gith",
|
||||
"feature_image": null,
|
||||
|
@ -209,12 +197,9 @@ number of ways you can give us a hand, and we hugely appreciate all of them:
|
|||
"created_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"excerpt": "Wondering how Ghost fares when it comes to privacy and GDPR rules? Good news:
|
||||
Ghost does not use any tracking cookies of any kind.
|
||||
"excerpt": "Wondering how Ghost fares when it comes to privacy and GDPR rules? Good news: Ghost does not use any tracking cookies of any kind.
|
||||
|
||||
You can integrate any products, services, ads or integrations with Ghost
|
||||
yourself if you want to, but it's always a good idea to disclose how subscriber
|
||||
data will be used by putting together a privacy page.",
|
||||
You can integrate any products, services, ads or integrations with Ghost yourself if you want to, but it's always a good idea to disclose how subscriber data will be used by putting together a privacy page.",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -284,7 +269,7 @@ exports[`Pages Content API Can request pages 2: [headers] 1`] = `
|
|||
Object {
|
||||
"access-control-allow-origin": "*",
|
||||
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
|
||||
"content-length": "9207",
|
||||
"content-length": "9192",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
|
||||
"vary": "Accept-Encoding",
|
||||
|
|
|
@ -266,14 +266,11 @@ Object {
|
|||
* Praesent
|
||||
* Pellentesque
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijkl
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijklDefinition listConsectetur ad",
|
||||
Definition listConsectetur ad",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -620,13 +617,9 @@ mi vitae est. Mauris placerat eleifend leo.
|
|||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to ",
|
||||
"feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
|
||||
|
@ -641,29 +634,19 @@ Ghost takes 0% payment fees, so everything you make is yours to ",
|
|||
"og_description": null,
|
||||
"og_image": null,
|
||||
"og_title": null,
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to keep!
|
||||
|
||||
Using subscriptions, you can build an independent media business like
|
||||
Stratechery [https://stratechery.com], The Information
|
||||
[https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
Using subscriptions, you can build an independent media business like Stratechery [https://stratechery.com], The Information [https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
|
||||
The creator economy is just getting started, and Ghost allows you to build
|
||||
something based on technology that you own and control.
|
||||
The creator economy is just getting started, and Ghost allows you to build something based on technology that you own and control.
|
||||
|
||||
[https://thebrowser.com]The Browser has over 10,000 paying subscribersMost
|
||||
successful subscription businesses publish a mix of free and paid posts to
|
||||
attract a new audience, and upsell the most loyal members to a premium offering.
|
||||
You can also mix different access levels within the same post, showing a free
|
||||
preview to logged out members and then, right when you're ready for a
|
||||
cliffhanger, that's a good time to...",
|
||||
https://thebrowser.comThe Browser has over 10,000 paying subscribers
|
||||
|
||||
Most successful subscription businesses publish a mix of free and paid posts to attract a new audience, and upsell the most loyal members to a premium offering. You can also mix different access levels within the same post, showing a free preview to logged out members and then, right when you're ready for a cliffhanger, that's a good time to...",
|
||||
"primary_author": Object {
|
||||
"bio": "You can delete this user to remove all the welcome posts",
|
||||
"cover_image": null,
|
||||
|
@ -854,11 +837,15 @@ cliffhanger, that's a good time to...",
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "testing
|
||||
|
||||
|
||||
mctesters
|
||||
|
||||
|
||||
* test
|
||||
* line
|
||||
* items",
|
||||
* items
|
||||
",
|
||||
"feature_image": "http://placekitten.com/500/200",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -933,13 +920,8 @@ mctesters
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "HTML Ipsum Presents
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae,
|
||||
ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum or",
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum o",
|
||||
"feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -1054,7 +1036,7 @@ exports[`Posts Content API Can filter posts by authors 2: [headers] 1`] = `
|
|||
Object {
|
||||
"access-control-allow-origin": "*",
|
||||
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
|
||||
"content-length": "54909",
|
||||
"content-length": "54894",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
|
||||
"vary": "Accept-Encoding",
|
||||
|
@ -1092,14 +1074,11 @@ Object {
|
|||
* Praesent
|
||||
* Pellentesque
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijkl
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijklDefinition listConsectetur ad",
|
||||
Definition listConsectetur ad",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -1137,11 +1116,15 @@ mi vitae est. Mauris placerat eleifend leo.
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "testing
|
||||
|
||||
|
||||
mctesters
|
||||
|
||||
|
||||
* test
|
||||
* line
|
||||
* items",
|
||||
* items
|
||||
",
|
||||
"feature_image": "http://placekitten.com/500/200",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -1228,13 +1211,8 @@ mctesters
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "HTML Ipsum Presents
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae,
|
||||
ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum or",
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum o",
|
||||
"feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -1768,13 +1746,9 @@ Object {
|
|||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to ",
|
||||
"feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
|
||||
|
@ -1789,29 +1763,19 @@ Ghost takes 0% payment fees, so everything you make is yours to ",
|
|||
"og_description": null,
|
||||
"og_image": null,
|
||||
"og_title": null,
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to keep!
|
||||
|
||||
Using subscriptions, you can build an independent media business like
|
||||
Stratechery [https://stratechery.com], The Information
|
||||
[https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
Using subscriptions, you can build an independent media business like Stratechery [https://stratechery.com], The Information [https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
|
||||
The creator economy is just getting started, and Ghost allows you to build
|
||||
something based on technology that you own and control.
|
||||
The creator economy is just getting started, and Ghost allows you to build something based on technology that you own and control.
|
||||
|
||||
[https://thebrowser.com]The Browser has over 10,000 paying subscribersMost
|
||||
successful subscription businesses publish a mix of free and paid posts to
|
||||
attract a new audience, and upsell the most loyal members to a premium offering.
|
||||
You can also mix different access levels within the same post, showing a free
|
||||
preview to logged out members and then, right when you're ready for a
|
||||
cliffhanger, that's a good time to...",
|
||||
https://thebrowser.comThe Browser has over 10,000 paying subscribers
|
||||
|
||||
Most successful subscription businesses publish a mix of free and paid posts to attract a new audience, and upsell the most loyal members to a premium offering. You can also mix different access levels within the same post, showing a free preview to logged out members and then, right when you're ready for a cliffhanger, that's a good time to...",
|
||||
"primary_author": Object {
|
||||
"bio": "You can delete this user to remove all the welcome posts",
|
||||
"cover_image": null,
|
||||
|
@ -2026,14 +1990,11 @@ cliffhanger, that's a good time to...",
|
|||
* Praesent
|
||||
* Pellentesque
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijkl
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijklDefinition listConsectetur ad",
|
||||
Definition listConsectetur ad",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2087,11 +2048,15 @@ mi vitae est. Mauris placerat eleifend leo.
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "testing
|
||||
|
||||
|
||||
mctesters
|
||||
|
||||
|
||||
* test
|
||||
* line
|
||||
* items",
|
||||
* items
|
||||
",
|
||||
"feature_image": "http://placekitten.com/500/200",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2172,13 +2137,8 @@ mctesters
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "HTML Ipsum Presents
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae,
|
||||
ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum or",
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum o",
|
||||
"feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2321,7 +2281,7 @@ exports[`Posts Content API Can include relations 2: [headers] 1`] = `
|
|||
Object {
|
||||
"access-control-allow-origin": "*",
|
||||
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
|
||||
"content-length": "65238",
|
||||
"content-length": "65223",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
|
||||
"vary": "Accept-Encoding",
|
||||
|
@ -2620,13 +2580,9 @@ Object {
|
|||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to ",
|
||||
"feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
|
||||
|
@ -2641,29 +2597,19 @@ Ghost takes 0% payment fees, so everything you make is yours to ",
|
|||
"og_description": null,
|
||||
"og_image": null,
|
||||
"og_title": null,
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to keep!
|
||||
|
||||
Using subscriptions, you can build an independent media business like
|
||||
Stratechery [https://stratechery.com], The Information
|
||||
[https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
Using subscriptions, you can build an independent media business like Stratechery [https://stratechery.com], The Information [https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
|
||||
The creator economy is just getting started, and Ghost allows you to build
|
||||
something based on technology that you own and control.
|
||||
The creator economy is just getting started, and Ghost allows you to build something based on technology that you own and control.
|
||||
|
||||
[https://thebrowser.com]The Browser has over 10,000 paying subscribersMost
|
||||
successful subscription businesses publish a mix of free and paid posts to
|
||||
attract a new audience, and upsell the most loyal members to a premium offering.
|
||||
You can also mix different access levels within the same post, showing a free
|
||||
preview to logged out members and then, right when you're ready for a
|
||||
cliffhanger, that's a good time to...",
|
||||
https://thebrowser.comThe Browser has over 10,000 paying subscribers
|
||||
|
||||
Most successful subscription businesses publish a mix of free and paid posts to attract a new audience, and upsell the most loyal members to a premium offering. You can also mix different access levels within the same post, showing a free preview to logged out members and then, right when you're ready for a cliffhanger, that's a good time to...",
|
||||
"published_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"reading_time": 1,
|
||||
"slug": "sell",
|
||||
|
@ -2764,14 +2710,11 @@ cliffhanger, that's a good time to...",
|
|||
* Praesent
|
||||
* Pellentesque
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijkl
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijklDefinition listConsectetur ad",
|
||||
Definition listConsectetur ad",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2807,11 +2750,15 @@ mi vitae est. Mauris placerat eleifend leo.
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "testing
|
||||
|
||||
|
||||
mctesters
|
||||
|
||||
|
||||
* test
|
||||
* line
|
||||
* items",
|
||||
* items
|
||||
",
|
||||
"feature_image": "http://placekitten.com/500/200",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2854,13 +2801,8 @@ mctesters
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "HTML Ipsum Presents
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae,
|
||||
ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum or",
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum o",
|
||||
"feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -2928,7 +2870,7 @@ exports[`Posts Content API Can request posts 2: [headers] 1`] = `
|
|||
Object {
|
||||
"access-control-allow-origin": "*",
|
||||
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
|
||||
"content-length": "46357",
|
||||
"content-length": "46342",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
|
||||
"vary": "Accept-Encoding",
|
||||
|
@ -3111,13 +3053,9 @@ Object {
|
|||
"custom_excerpt": null,
|
||||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"excerpt": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to ",
|
||||
"feature_image": "https://static.ghost.org/v4.0.0/images/organizing-your-content.png",
|
||||
|
@ -3132,29 +3070,19 @@ Ghost takes 0% payment fees, so everything you make is yours to ",
|
|||
"og_description": null,
|
||||
"og_image": null,
|
||||
"og_title": null,
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable
|
||||
recurring revenue stream from their creative work, Ghost has built-in payments
|
||||
allowing you to create a subscription commerce business.
|
||||
"plaintext": "For creators and aspiring entrepreneurs looking to generate a sustainable recurring revenue stream from their creative work, Ghost has built-in payments allowing you to create a subscription commerce business.
|
||||
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to
|
||||
quickly and easily create monthly and yearly premium plans for members to
|
||||
subscribe to, as well as complimentary plans for friends and family.
|
||||
Connect your Stripe [https://stripe.com] account to Ghost, and you'll be able to quickly and easily create monthly and yearly premium plans for members to subscribe to, as well as complimentary plans for friends and family.
|
||||
|
||||
Ghost takes 0% payment fees, so everything you make is yours to keep!
|
||||
|
||||
Using subscriptions, you can build an independent media business like
|
||||
Stratechery [https://stratechery.com], The Information
|
||||
[https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
Using subscriptions, you can build an independent media business like Stratechery [https://stratechery.com], The Information [https://www.theinformation.com], or The Browser [https://thebrowser.com].
|
||||
|
||||
The creator economy is just getting started, and Ghost allows you to build
|
||||
something based on technology that you own and control.
|
||||
The creator economy is just getting started, and Ghost allows you to build something based on technology that you own and control.
|
||||
|
||||
[https://thebrowser.com]The Browser has over 10,000 paying subscribersMost
|
||||
successful subscription businesses publish a mix of free and paid posts to
|
||||
attract a new audience, and upsell the most loyal members to a premium offering.
|
||||
You can also mix different access levels within the same post, showing a free
|
||||
preview to logged out members and then, right when you're ready for a
|
||||
cliffhanger, that's a good time to...",
|
||||
https://thebrowser.comThe Browser has over 10,000 paying subscribers
|
||||
|
||||
Most successful subscription businesses publish a mix of free and paid posts to attract a new audience, and upsell the most loyal members to a premium offering. You can also mix different access levels within the same post, showing a free preview to logged out members and then, right when you're ready for a cliffhanger, that's a good time to...",
|
||||
"published_at": StringMatching /\\\\d\\{4\\}-\\\\d\\{2\\}-\\\\d\\{2\\}T\\\\d\\{2\\}:\\\\d\\{2\\}:\\\\d\\{2\\}\\\\\\.000\\\\\\+\\\\d\\{2\\}:\\\\d\\{2\\}/,
|
||||
"reading_time": 1,
|
||||
"slug": "sell",
|
||||
|
@ -3255,14 +3183,11 @@ cliffhanger, that's a good time to...",
|
|||
* Praesent
|
||||
* Pellentesque
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijkl
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo.
|
||||
|
||||
1234abcdefghijklDefinition listConsectetur ad",
|
||||
Definition listConsectetur ad",
|
||||
"feature_image": null,
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -3298,11 +3223,15 @@ mi vitae est. Mauris placerat eleifend leo.
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "testing
|
||||
|
||||
|
||||
mctesters
|
||||
|
||||
|
||||
* test
|
||||
* line
|
||||
* items",
|
||||
* items
|
||||
",
|
||||
"feature_image": "http://placekitten.com/500/200",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -3345,13 +3274,8 @@ mctesters
|
|||
"custom_template": null,
|
||||
"email_subject": null,
|
||||
"excerpt": "HTML Ipsum Presents
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac
|
||||
turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor
|
||||
sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies
|
||||
mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien
|
||||
ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae,
|
||||
ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros
|
||||
ipsum rutrum or",
|
||||
|
||||
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum o",
|
||||
"feature_image": "http://127.0.0.1:2369/content/images/2018/hey.jpg",
|
||||
"feature_image_alt": null,
|
||||
"feature_image_caption": null,
|
||||
|
@ -3419,7 +3343,7 @@ exports[`Posts Content API Can request posts from different origin 2: [headers]
|
|||
Object {
|
||||
"access-control-allow-origin": "*",
|
||||
"cache-control": "no-cache, private, no-store, must-revalidate, max-stale=0, post-check=0, pre-check=0",
|
||||
"content-length": "46357",
|
||||
"content-length": "46342",
|
||||
"content-type": "application/json; charset=utf-8",
|
||||
"etag": StringMatching /\\(\\?:W\\\\/\\)\\?"\\(\\?:\\[ !#-\\\\x7E\\\\x80-\\\\xFF\\]\\*\\|\\\\r\\\\n\\[\\\\t \\]\\|\\\\\\\\\\.\\)\\*"/,
|
||||
"vary": "Accept-Encoding",
|
||||
|
|
Loading…
Add table
Reference in a new issue