with Ghost.org (Admin API) and TinyPNG?
Emit new event each time a member is deleted from a site.
Emit new event each time a member is updated.
Emit new event for each new member added to a site.
Emit new event for each new page published on a site.
Emit new event for each new post published on a site.
Compress a WebP, JPEG, or PNG image using the TinyPNG API. See the documentation
Convert your images to your desired image type using TinyPNG. See the documentation
Create resized versions of your uploaded image. See the documentation
The Ghost.org (Admin API) provides a powerful platform for content management and distribution, allowing developers to programmatically interact with their Ghost site. With this API, you can automate content creation, manage posts, pages, and tags, and dynamically adjust site settings. This enables seamless content workflows, from drafting and scheduling posts to curating featured articles and managing user access. When used with Pipedream, these capabilities expand, enabling integrations with countless other services to create sophisticated, automated content pipelines that can save time and enhance your content strategy.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
ghost_org_admin: {
type: "app",
app: "ghost_org_admin",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.ghost_org_admin.$auth.admin_api_url}}/ghost/api/v3/admin/site`,
headers: {
Authorization: `Bearer ${this.ghost_org_admin.$auth.admin_api_key}`,
},
})
},
})
The TinyPNG API lets you compress and optimize image files efficiently. With this API, you can shrink the size of PNG and JPEG files without a noticeable loss in quality, making it a crucial tool for improving website load times and saving bandwidth. On Pipedream, you can automate image optimization workflows, harnessing the power of TinyPNG to process batches of images, integrate with CMS platforms, trigger optimizations from various events, and more.
module.exports = defineComponent({
props: {
tinypng: {
type: "app",
app: "tinypng",
}
},
async run({steps, $}) {
const results = await require("@pipedream/platform").axios($, {
method: "post",
url: `https://api.tinify.com/shrink`,
auth: {
username: `api:${this.tinypng.$auth.api_key}`,
password: ``,
},
data: {
"source": {
"url": "https://tinypng.com/images/panda-happy.png"
}
},
})
const retVal = results.output
retVal.original_image_metadata = results.input
return retVal
},
})