diff --git a/scripts/ghost/migrations/init/posts.json b/scripts/ghost/migrations/init/posts.json index 1cadc680a562553ff1f1b0c299eb336abbe2c5a3..0aa1cd9cadc61692af15a003b9d18eb6c1d658d2 100644 --- a/scripts/ghost/migrations/init/posts.json +++ b/scripts/ghost/migrations/init/posts.json @@ -227,7 +227,7 @@ "slug": "le-reseau-de-mediation-numerique-metropolitain-quest-ce-que-cest", "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[],\"markups\":[],\"sections\":[[1,\"p\",[[0,[],0,\"La Métropole s’est engagée depuis plusieurs mois maintenant dans la mise en place d’un réseau des acteurs de la méditation numérique.\"]]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]]]}", "comment_id": "603f6835adff2300014659ee", - "feature_image": "http://localhost:2368/content/images/2021/03/folder.png", + "feature_image": "scripts/data/folder.png", "featured": false, "status": "published", "visibility": "public", @@ -349,7 +349,7 @@ "slug": "une-plateforme-daccompagnement-nationale", "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[],\"markups\":[],\"sections\":[[1,\"p\",[[0,[],0,\"Le site solidarite-numerique.fr développé par la Mednum en partenariat avec le secrétariat d’État a la culture.\"]]],[1,\"p\",[]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]],[1,\"p\",[[0,[],0,\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\"]]]]}", "comment_id": "603f67d9adff2300014659e0", - "feature_image": "http://localhost:2368/content/images/2021/03/etude.png", + "feature_image": "scripts/data/etude.png", "featured": false, "status": "published", "visibility": "public", @@ -571,7 +571,7 @@ "slug": "the-editor", "mobiledoc": "{\"version\":\"0.3.1\",\"atoms\":[],\"cards\":[],\"markups\":[[\"a\",[\"href\",\"https://resin.grandlyon.com/home\"]]],\"sections\":[[1,\"p\",[]],[1,\"p\",[[0,[],0,\"Prévus pour se dérouler sur la métropole cette année, les deux événements Superdemain et Numérique en Commun[s] ont dû évidemment repenser l'organisation de cette édition 2020, année si particulière.\"]]],[1,\"p\",[[0,[],0,\"Les formations des professionnels prévus en présentiel sont annulées en raison du confinement. Mais une troisième vague de parcours en ligne est ouverte jusqu'au 13 novembre.\"]]],[1,\"p\",[[0,[0],1,\"Inscriptions\"]]],[1,\"p\",[[0,[],0,\"Les super-shows (conférences) sont maintenus en format 100% distancielPlus d'infos\"]]],[1,\"p\",[[0,[],0,\"Également prévu sur la métropole de Lyon, l'évènement Numérique en Commun[s], évènement national autour du numérique et ses enjeux a lui aussi basculé en 100% distanciel.\"]]],[1,\"p\",[[0,[],0,\"Au programme : 2h30 d'échanges le 17 novembre prochain avec de nombreux intervenants nationaux et 9 parcours en ligne à destination des professionnels, agents de collectivités ou élus sur des sujets d'actualités : inclusion numérique, communs, impact environnemental du numérique...\"]]],[1,\"p\",[[0,[0],1,\"Informations et inscription\"]]],[1,\"p\",[]]]}", "comment_id": "601425dc7775f400017ea02d", - "feature_image": "http://localhost:2368/content/images/2021/03/nec-1.png", + "feature_image": "scripts/data/nec.png", "featured": false, "status": "published", "visibility": "public", @@ -793,7 +793,7 @@ "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://static.ghost.org/v1.0.0/images/private.png\"}]],\"markups\":[[\"em\"],[\"strong\"],[\"a\",[\"href\",\"https://ghost.org/pricing/\"]],[\"a\",[\"href\",\"http://localhost:2368/organising-content/\"]]],\"sections\":[[1,\"h2\",[[0,[],0,\"Make your site private\"]]],[1,\"p\",[[0,[],0,\"Le centre socio-culturel la Carnière situé à Saint-Priest possède un important pôle numérique.\"]]],[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,[0],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.\"]]],[1,\"h2\",[[0,[],0,\"Invite your team \"]]],[1,\"p\",[[0,[],0,\"Ghost has a number of different user roles for your team:\"]]],[1,\"p\",[[0,[1],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,[1],1,\"untrusted\"],[0,[],0,\" users with the most basic access to your publication.\"]]],[1,\"p\",[[0,[1],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,[1],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,[1],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,[1],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,[1],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,[2,1],2,\"Ghost(Pro)\"],[0,[],0,\".\"]]],[1,\"blockquote\",[[0,[0],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,\"h2\",[[0,[],0,\"Next: Organising content\"]]],[1,\"p\",[[0,[],0,\"Find out how to \"],[0,[3],1,\"organise your content\"],[0,[],0,\" with sensible tags and authors, or for more advanced configurations, how to create custom content structures using dynamic routing.\"]]]]}", "comment_id": "601425dc7775f400017ea029", - "feature_image": "http://localhost:2368/content/images/2021/03/la_carniere.png", + "feature_image": "scripts/data/la_carniere.png", "featured": false, "status": "published", "visibility": "public", diff --git a/scripts/init-ghost.js b/scripts/init-ghost.js index 1885884eaea57891b92435d0b74261c03cc66f84..b36b59f87953d696a708facf3c404bf9ea2e901a 100644 --- a/scripts/init-ghost.js +++ b/scripts/init-ghost.js @@ -99,8 +99,23 @@ function processImagesInHTML(html) { }); } +async function uploadPostImage(imagePath) +{ + let imagePromise = api.images.upload({ + ref: imagePath, + file: path.resolve(imagePath) + }); + + return Promise.resolve(imagePromise).then((url) => { + return url.url; + }).catch((error) => { + console.error(error); + return null + }) +} + + async function createPosts(deleteOnly) { - // Get existing posts api.posts .browse({ limit: 'all' }) .then(async (existingPosts) => { @@ -119,7 +134,11 @@ async function createPosts(deleteOnly) { // Creating new posts if (!deleteOnly) { console.log('-- Creating ' + postsData.length + ' posts --'); - _.forEach(postsData, (post) => { + _.forEach(postsData, async (post) => { + //upload de l'image en featured_image + if (post.feature_image) { + post.feature_image = await uploadPostImage(post.feature_image); + } api.posts .add(post, { source: 'html' }) .then((res) => {