{"id":22854637,"url":"https://github.com/kanopi/saplings-ai-ckeditor-experience","last_synced_at":"2026-03-10T20:34:57.648Z","repository":{"id":257814031,"uuid":"868927348","full_name":"kanopi/saplings-ai-ckeditor-experience","owner":"kanopi","description":"Configures CKEditor for AI translation and content generation.","archived":false,"fork":false,"pushed_at":"2025-06-08T10:58:58.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-23T04:38:16.550Z","etag":null,"topics":["drupal-recipe","saplings"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kanopi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-07T12:29:59.000Z","updated_at":"2025-06-08T10:58:56.000Z","dependencies_parsed_at":"2025-02-06T11:49:57.667Z","dependency_job_id":"6f366a92-877f-429d-a052-f6af5b1a11ff","html_url":"https://github.com/kanopi/saplings-ai-ckeditor-experience","commit_stats":null,"previous_names":["kanopi/saplings-ai-ckeditor-experience"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/kanopi/saplings-ai-ckeditor-experience","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanopi%2Fsaplings-ai-ckeditor-experience","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanopi%2Fsaplings-ai-ckeditor-experience/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanopi%2Fsaplings-ai-ckeditor-experience/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanopi%2Fsaplings-ai-ckeditor-experience/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kanopi","download_url":"https://codeload.github.com/kanopi/saplings-ai-ckeditor-experience/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanopi%2Fsaplings-ai-ckeditor-experience/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30352882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drupal-recipe","saplings"],"created_at":"2024-12-13T07:07:49.773Z","updated_at":"2026-03-10T20:34:57.630Z","avatar_url":"https://github.com/kanopi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"![saplings](https://github.com/kanopi/saplings/assets/5177009/a6377e32-deb2-49d8-873a-f3dd5a36fa7c)\n\n# Saplings - AI CKEditor Experience\n\nHelpful AI functionality for content creators.\n\n## Features\n- Generation of content using AI.\n- Alteration of content in specific tones using AI.\n- Translation of content using user determined languages using AI.\n- Summary of selected text using AI.\n\nIncludes `AI Tones` and `AI Languages` taxonomies.\n\n## Installation\n\n```\ncomposer require kanopi/saplings-ai-ckeditor-experience\ncd web \u0026\u0026 php core/scripts/drupal recipe ../recipes/saplings-ai-ckeditor-experience\n```\n\n### Configure OpenAI\n\nWhile the AI module supports many AI services, this recipe is configure to use\nOpenAI.\n\n1. Create an API key at https://platform.openai.com\n2. Create a key file at `private://keys/openai_provider.key`. That is usually at\n   `[webroot]/sites/default/files/private/keys/openai_provider.key`.\n3. Once you are ready to deploy, be sure to place that key in your cloud\nenvironments on the site's host. If you place it in the canonical environment,\nit will get cloned on subsequent multidev clones.\n\n## Usage\n\nTo use the configured AI tools, start by clicking the *AI Assistant* button in\nany Full HTML CKEditor instance.\n\n### Generate with AI\n\nWhen you click the AI Assistant button \u003e Generate with AI option, a modal pops\nup presenting:\n\n\u003e What would you like to ask or get ideas for?\n\n- Enter your prompt to AI to help you write your content.\n\n  Example: Write three paragraphs about Kanopi Studio's Saplings suite of\n  Recipes.\n\n- After you have written your prompt, click the *Generate* button.\n\n  You can click the button multiple times to get different responses from the AI\n  source.\n\n  After you click the Generate button, below the *Response from AI* field, you\n  will see the *AI Writer: Idle* message switch to\n  *AI Writer: Waiting for response*.\n\n  Once the AI action has completed, it will switch back to Idle.\n\n- The response is saved in the *Response from AI* field.\n\n  You can edit the response before saving it back to the main editor.\n\n  When you are satisfied with the content, click the *Save changes to editor*\n  button.\n\n- Be sure to click *Save* on your node/page to ensure your changes are saved.\n\n### Summarize\n\n- Select text in CKEditor.\n\n- Click the AI Assistant button, then select *Summarize*.\n\n- Click the *Summarize* button.\n\n  After you click the Summarize button, below the *Response from AI* field, you\n  will see the *AI Writer: Idle* message switch to\n  *AI Writer: Waiting for response*.\n\n  Once the AI action has completed, it will switch back to Idle.\n\n- The response is saved in the *Response from AI* field.\n\n  You can edit the response before saving it back to the main editor.\n\n  When you are satisfied with the content, click the *Save changes to editor*\n  button.\n\n- Be sure to click *Save* on your node/page to ensure your changes are saved.\n\n### Tone\n\n- Select text in CKEditor.\n\n- Click the AI Assistant button, then select *Tone*.\n\n- Select the Tone you want to rewrite your content in, then click the *Generate*\n  button.\n\n  After you click the Generate button, below the *Response from AI* field, you\n  will see the *AI Writer: Idle* message switch to\n  *AI Writer: Waiting for response*.\n\n  Once the AI action has completed, it will switch back to Idle.\n\n- The response is saved in the *Response from AI* field.\n\n  You can edit the response before saving it back to the main editor.\n\n  When you are satisfied with the content, click the *Save changes to editor*\n  button.\n\n- Be sure to click *Save* on your node/page to ensure your changes are saved.\n\n### Translate\n\n- Select text in CKEditor.\n\n- Click the AI Assistant button, then select *Translate*.\n\n- Select or add the Language you want to rewrite your content in, then click the\n  *Translate* button.\n\n  After you click the Translate button, below the *Response from AI* field, you\n  will see the *AI Writer: Idle* message switch to\n  *AI Writer: Waiting for response*.\n\n  Once the AI action has completed, it will switch back to Idle.\n\n- The response is saved in the *Response from AI* field.\n\n  You can edit the response before saving it back to the main editor.\n\n  When you are satisfied with the content, click the *Save changes to editor*\n  button.\n\n- Be sure to click *Save* on your node/page to ensure your changes are saved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanopi%2Fsaplings-ai-ckeditor-experience","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanopi%2Fsaplings-ai-ckeditor-experience","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanopi%2Fsaplings-ai-ckeditor-experience/lists"}