{"id":13468884,"url":"https://github.com/simplajs/simpla","last_synced_at":"2026-01-11T13:31:05.538Z","repository":{"id":58239169,"uuid":"47375550","full_name":"simplajs/simpla","owner":"simplajs","description":"Open, modular, and serverless content management for a modern web","archived":false,"fork":false,"pushed_at":"2017-12-23T05:08:22.000Z","size":1120,"stargazers_count":527,"open_issues_count":17,"forks_count":36,"subscribers_count":32,"default_branch":"master","last_synced_at":"2024-10-16T09:08:13.037Z","etag":null,"topics":["cms","cms-framework","content-management","json-api","sdk","simpla","web-components"],"latest_commit_sha":null,"homepage":"https://www.simplajs.org","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/simplajs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-04T02:25:38.000Z","updated_at":"2024-04-02T17:42:23.000Z","dependencies_parsed_at":"2022-08-31T03:01:48.392Z","dependency_job_id":null,"html_url":"https://github.com/simplajs/simpla","commit_stats":null,"previous_names":["simplaio/simpla"],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplajs%2Fsimpla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplajs%2Fsimpla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplajs%2Fsimpla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplajs%2Fsimpla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplajs","download_url":"https://codeload.github.com/simplajs/simpla/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423515,"owners_count":20936626,"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":["cms","cms-framework","content-management","json-api","sdk","simpla","web-components"],"created_at":"2024-07-31T15:01:21.203Z","updated_at":"2026-01-11T13:31:05.532Z","avatar_url":"https://github.com/simplajs.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","web-components"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.simplajs.org\"\u003e\n    \u003cimg src=\"https://www.simplajs.org/assets/public/logo.png\" alt=\"Simpla\" width=\"300\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://travis-ci.org/simplajs/simpla\"\u003e\u003cimg src=\"https://travis-ci.org/simplajs/simpla.svg?branch=master\" alt=\"Test status\"\u003e\u003c/a\u003e\n  \u003cimg src=\"http://img.badgesize.io/https://unpkg.com/simpla?compression=gzip\u0026label=size%20(gzip)\" alt=\"Size (gzip)\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/simpla\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/simpla.svg\" alt=\"NPM version\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs welcome\"\u003e\n\u003c/p\u003e\n\nSimpla is a modular content system for frontend developers, built on Web Components.\n\nAt a glance, it lets you:\n\n- Build with standard HTML \u0026 JS\n- Edit content (safely) inline\n- Use Github as your backend\n- Work in any stack or framework\n- Push everything as JSON data to a static CDN\n- Define content models in the DOM\n- Assemble your own lightweight CMS\n\nIt looks like this:\n\n```html\n\u003c!-- Block of editable richtext --\u003e\n\u003csimpla-text path=\"/text\"\u003e\u003c/simpla-text\u003e\n\n\u003c!-- An editable image --\u003e\n\u003cimg is=\"simpla-img\" path=\"/img\"\u003e\n\n\u003c!-- Dynamic collection --\u003e\n\u003csimpla-collection path=\"/gallery\" as=\"photo\"\u003e\n  \u003ctemplate\u003e\n    \u003cimg is=\"simpla-img\" path=\"/gallery/[photo]/img\"\u003e\n    \u003csimpla-text path=\"/gallery/[photo]/caption\"\u003e\u003c/simpla-text\u003e\n  \u003c/template\u003e\n\u003c/simpla-collection\u003e\n\n\u003c!-- And many more components --\u003e\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://www.simplajs.org/assets/public/demo.gif\" width=\"600\" alt=\"Demo of Simpla\"\u003e\n\u003c/p\u003e\n\n## Installation\n\nSimpla is available on NPM and Unpkg as `simpla`.\n\n```sh\nnpm i simpla\n```\n\nImport the core library and an OAuth adapter, and call `Simpla.init`\n\n```js\n// Import Simpla and OAuth adapter\nimport Simpla from 'simpla';\nimport SimplaNetlify from 'simpla/adapters/netlify';\n\n// Init Simpla\nSimpla.init({\n\n  // Github repo to store content in\n  repo: 'username/repo',\n\n  // Adapter to authenticate users with Github\n  auth: new SimplaNetlify({ site: 'mysite' }),\n\n  // Public URL of your content (optional)\n  source: 'https://mysite.netlify.com'\n\n});\n\n// Add Simpla to window global for components to access\nwindow.Simpla = Simpla;\n```\n\nSimpla and its adapters export UMD modules, so you can also link to them with `\u003cscript\u003e` tags and use the globals directly.\n\nSimpla uses [web components](https://www.webcomponents.org) to manage content, the library itself is just a tiny (~4kb) core to an expansive ecosystem. Install and add components to your page with Bower and HTML imports (NPM/JS support coming soon). You can find components in the [elements catalogue](https://www.webcomponents.org/collection/simplajs/simpla-elements).\n\n```sh\n$ bower i simpla-text simpla-img simpla-admin --save\n```\n\n```html\n\u003clink rel=\"import\" href=\"/bower_components/simpla-text/simpla-text.html\"\u003e\n\u003clink rel=\"import\" href=\"/bower_components/simpla-img/simpla-img.html\"\u003e\n\u003clink rel=\"import\" href=\"/bower_components/simpla-admin/simpla-admin.html\" async\u003e\n```\n\nYou should also include a web components polyfill for full cross-browser support (see the [browsers Simpla supports](https://docs.simplajs.org/guides/browser-support.html)).\n\n```html\n\u003cscript src=\"https://unpkg.com/webcomponents.js@^0.7.24/webcomponents-lite.min.js\" async\u003e\u003c/script\u003e\n```\n\n**[See full documentation \u0026 API references](https://docs.simplajs.org)**\n\n## Contributing\n\nThere are lots of ways you can help push the Simpla project forward:\n\n- **Reporting bugs.** If you find a bug please report it! Open an issue against this repository for problems with the core library. For problems with elements, open an issue against the element's repository.\n\n- **Submitting Pull Requests.** We ❤️ PRs! Your PR should address an existing issue or have been discussed previously to ensure it gets merged.\n\n- **Publishing new components** Simpla is a community driven project, and the best way you can contribute is to build your own content components. The ecosystem is built on Web Components, but there's no reason you couldn't use Simpla in a component environment of your choice (React, etc).\n\nRead the [Contributing guidelines](/CONTRIBUTING.md) for more information.\n\n***\n\n[MIT](/LICENSE) © 2017\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplajs%2Fsimpla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplajs%2Fsimpla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplajs%2Fsimpla/lists"}