{"id":22618591,"url":"https://github.com/eighteen73/pulsar-blocks","last_synced_at":"2026-04-17T18:03:55.242Z","repository":{"id":111480291,"uuid":"520122041","full_name":"eighteen73/pulsar-blocks","owner":"eighteen73","description":"A collection of blocks we use at eighteen73.","archived":false,"fork":false,"pushed_at":"2026-02-11T11:14:23.000Z","size":5967,"stargazers_count":0,"open_issues_count":9,"forks_count":2,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-02-11T19:13:34.719Z","etag":null,"topics":["gutenberg","gutenberg-blocks","splidejs","wordpress"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/eighteen73.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-01T13:29:20.000Z","updated_at":"2026-02-11T11:12:54.000Z","dependencies_parsed_at":"2026-01-20T13:04:59.877Z","dependency_job_id":null,"html_url":"https://github.com/eighteen73/pulsar-blocks","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/eighteen73/pulsar-blocks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eighteen73%2Fpulsar-blocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eighteen73%2Fpulsar-blocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eighteen73%2Fpulsar-blocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eighteen73%2Fpulsar-blocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eighteen73","download_url":"https://codeload.github.com/eighteen73/pulsar-blocks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eighteen73%2Fpulsar-blocks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31939792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T17:29:20.459Z","status":"ssl_error","status_checked_at":"2026-04-17T17:28:47.801Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["gutenberg","gutenberg-blocks","splidejs","wordpress"],"created_at":"2024-12-08T21:08:38.307Z","updated_at":"2026-04-17T18:03:55.235Z","avatar_url":"https://github.com/eighteen73.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pulsar Blocks\n\n\u003cp\u003e\n  \u003cstrong\u003eA collection of blocks we use at eighteen73.\u003c/strong\u003e\n\u003c/p\u003e\n\n## Block list\n\n### [Accordion](/src/accordion/)\nAn accessible accordion, supporting multiple open items, initially open first item and FAQs schema support.\n\n### Attributes\n- openMultiple\n- startOpen\n- level\n- hasSchema\n\n### [Carousel](/src/carousel/)\n\nA [Splide](https://splidejs.com) powered carousel with innerBlocks support.\n\nBy default this uses a `pulsar/carousel-slide` innerBlock. However the block can be extended to be the foundation of any type of carousel block via the use of variations and custom child blocks.\n\n### Attributes\n\n- carouselOptions\n- advancedCarouselOptions\n- mergeOptions\n- ariaLabel\n- hasTrack\n- template\n- templateLock\n- allowedBlocks\n\n### Extending the carousel block\n\nThe carousel should be powerful and flexible enough to be extended via variations.\n\nHere is a short example of the steps required:\n\n#### 1. Register a variation\n\nLet's assume we want to create a carousel that displays the latest posts. The important parts here are that we set `hasTrack` to `false` (so that we can wrap the posts in the child block), the `template` and `templateLock`.\n\n```\nimport domReady from '@wordpress/dom-ready';\nimport { registerBlockVariation } from '@wordpress/blocks';\n\ndomReady(() =\u003e {\n\tregisterBlockVariation('pulsar/carousel', {\n\t\tname: 'carousel-posts',\n\t\ttitle: 'Posts Carousel',\n\t\tattributes: {\n\t\t\ttemplateLock: 'all',\n\t\t\thasTrack: false,\n\t\t\ttemplate: [['pulsar/posts', {}]],\n\t\t},\n\t\tisActive: ['template'],\n\t});\n});\n```\n\n#### 2. Create a child block to be used as the template\n\n```\n\n// Barebones example of the pulsar/posts child block edit function.\n// Markup must include `splide__track` and `splide__list`.\n\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * The edit function describes the structure of your block in the context of the\n * editor. This represents what the editor will render when the block is used.\n *\n * @return {WPElement} Element to render.\n */\nexport default function Edit() {\n\tconst blockProps = useBlockProps({ className: 'splide__track' });\n\n\treturn (\n\t\t\u003cdiv {...blockProps}\u003e\n\t\t\t\u003cul className=\"splide__list\"\u003e\n\t\t\t\t// Your block content here\n\t\t\t\u003c/ul\u003e\n\t\t\u003c/div\u003e\n\t);\n}\n```\n\n## Filters\n\n### Carousel\n\n```php\npulsar_blocks\\carousel\\force_carousel\n```\n\nThe carousel contains logic to disable carousel functionality if the total number of slides is equal or less than the number of slides per page.\nUse this filter if you would like to enable/disable this behaviour.\n\nExample:\n\n```php\nadd_filter( 'pulsar_blocks\\carousel\\force_carousel', '__return_true' );\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feighteen73%2Fpulsar-blocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feighteen73%2Fpulsar-blocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feighteen73%2Fpulsar-blocks/lists"}