{"id":18732342,"url":"https://github.com/azzenabidi/notionscribe","last_synced_at":"2026-01-06T14:06:19.640Z","repository":{"id":259654046,"uuid":"861675509","full_name":"azzenabidi/NotionScribe","owner":"azzenabidi","description":"A Ruby DSL to create Notion pages effortlessly.","archived":false,"fork":false,"pushed_at":"2024-09-24T15:51:45.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T12:51:10.495Z","etag":null,"topics":["dsl","notion-api","ruby","ruby-gem"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/azzenabidi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-09-23T10:26:16.000Z","updated_at":"2024-09-24T15:35:33.000Z","dependencies_parsed_at":"2024-10-27T05:53:40.533Z","dependency_job_id":null,"html_url":"https://github.com/azzenabidi/NotionScribe","commit_stats":null,"previous_names":["azzenabidi/notionscribe"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azzenabidi%2FNotionScribe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azzenabidi%2FNotionScribe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azzenabidi%2FNotionScribe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azzenabidi%2FNotionScribe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azzenabidi","download_url":"https://codeload.github.com/azzenabidi/NotionScribe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613289,"owners_count":21133484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["dsl","notion-api","ruby","ruby-gem"],"created_at":"2024-11-07T15:05:30.404Z","updated_at":"2026-01-06T14:06:19.610Z","avatar_url":"https://github.com/azzenabidi.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Notion Scribe\n=======\n\n\nThis Ruby gem allows you to create Notion pages easily using a DSL.\n\n## Installation\n\nInstall the gem \n```bash\ngem install notion_scribe\n\n```\n\n### Initialize the Client\n\nYou need to initialize the Notion client with your API token:\n\n```\n\nrequire 'notion_client'\nrequire 'notion_template'\nclient = NotionClient.new(\"NOTION_API_KEY\")\n    \n\n\n\n```\n\n### Create a Notion Page\n\nYou can create a Notion page by instantiating the `NotionTemplate` class and passing a block that defines the page content:\n\n\n```\n\nNotionTemplate.new(client, \"Your Page Title\", parent_id: \"PAGE_ID\") do\n  header \"Main Header\"\n  paragraph \"This is a paragraph explaining something important.\"\n  bulleted_list \"First bullet point\", \"Second bullet point\"\n  callout \"This is a purple callout block.\"\nend\n\n\n```\n\n### Available Block Types\n\n**Header 1**:\n  \n     header \"Your header\"\n\n**Header 2**\n\n      subheader \"Your Subheader\"\n**Header 3**\n\n    subsubheader \"Your Sub-subheader\"\n**Paragraph**\n\n    paragraph \"Your paragraph text.\"\n**Bulleted List**\n\n    bulleted_list \"Item 1\", \"Item 2\"\n\n**Numbered List**\n\n    numbered_list \"First item\", \"Second item\"\n\n**Todo**\n\n    to_do \"Task description\", checked: false\n**Quote**\n\n    quote \"This is a quote.\"\n\n**Image**\n\n    image \"https://example.com/image.png\"\n\n**Callout**\n\n    callout \"This is a callout message.\", color: \"purple\"\n\n**Divider**\n\n    divider\n\n**Table of content**\n\n    table_of_contents\n### Customization\n\nYou can customize the color of the callout block by passing a `color` parameter:\n\n    callout \"Custom color callout.\", color: \"yellow\" # Change to desired color\n## Error Handling\n\nIf an error occurs while creating a page, it will be logged to the console with the error message and the attempted page content for easier debugging.\n\n## Contribution\n\nFeel free to fork this repository and submit pull requests for enhancements or bug fixes.\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazzenabidi%2Fnotionscribe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazzenabidi%2Fnotionscribe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazzenabidi%2Fnotionscribe/lists"}