{"id":13770855,"url":"https://github.com/2ik/django-editorjs-fields","last_synced_at":"2025-08-30T22:21:01.484Z","repository":{"id":41276502,"uuid":"303686569","full_name":"2ik/django-editorjs-fields","owner":"2ik","description":"Django plugin for using Editor.js","archived":false,"fork":false,"pushed_at":"2023-05-23T16:52:30.000Z","size":94,"stargazers_count":145,"open_issues_count":19,"forks_count":36,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2025-07-10T10:37:02.657Z","etag":null,"topics":["django","django-admin","django-editor","django-wysiwyg","editorjs","python","wysiwyg"],"latest_commit_sha":null,"homepage":"","language":"Python","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/2ik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-10-13T11:53:14.000Z","updated_at":"2025-07-05T17:18:09.000Z","dependencies_parsed_at":"2024-01-06T20:55:41.460Z","dependency_job_id":null,"html_url":"https://github.com/2ik/django-editorjs-fields","commit_stats":{"total_commits":68,"total_committers":6,"mean_commits":"11.333333333333334","dds":0.1470588235294118,"last_synced_commit":"5af2eb1f38bd82d031ea583469a312e64df88288"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/2ik/django-editorjs-fields","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2ik%2Fdjango-editorjs-fields","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2ik%2Fdjango-editorjs-fields/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2ik%2Fdjango-editorjs-fields/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2ik%2Fdjango-editorjs-fields/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2ik","download_url":"https://codeload.github.com/2ik/django-editorjs-fields/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2ik%2Fdjango-editorjs-fields/sbom","scorecard":{"id":3018,"data":{"date":"2025-08-11","repo":{"name":"github.com/2ik/django-editorjs-fields","commit":"5af2eb1f38bd82d031ea583469a312e64df88288"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":2,"reason":"Found 3/11 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'dev'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"24 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2022-190 / GHSA-2gwj-7jmv-h26r","Warn: Project is vulnerable to: PYSEC-2023-13 / GHSA-2hrw-hx67-34x6","Warn: Project is vulnerable to: PYSEC-2022-1 / GHSA-53qw-q765-4fww","Warn: Project is vulnerable to: PYSEC-2022-20 / GHSA-6cw3-g6wv-c2xv","Warn: Project is vulnerable to: PYSEC-2023-225 / GHSA-7h4p-27mh-hmrw","Warn: Project is vulnerable to: GHSA-7xr5-9hcq-chf9","Warn: Project is vulnerable to: PYSEC-2022-2 / GHSA-8c5j-9r9f-c6w8","Warn: Project is vulnerable to: PYSEC-2022-245 / GHSA-8x94-hmjh-97hq","Warn: Project is vulnerable to: PYSEC-2022-19 / GHSA-95rw-fx8r-36v6","Warn: Project is vulnerable to: PYSEC-2023-226 / GHSA-h8gc-pgj2-vjm3","Warn: Project is vulnerable to: PYSEC-2023-100 / GHSA-jh3w-4vvf-mjgr","Warn: Project is vulnerable to: PYSEC-2022-3 / GHSA-jrh2-hc4r-7jwx","Warn: Project is vulnerable to: PYSEC-2022-213 / GHSA-p64x-8rxx-wf6q","Warn: Project is vulnerable to: PYSEC-2023-12 / GHSA-q2jf-h9jm-m7p4","Warn: Project is vulnerable to: PYSEC-2023-222 / GHSA-qmf9-6jqf-j8fq","Warn: Project is vulnerable to: PYSEC-2022-304 / GHSA-qrw5-5h28-6cmg","Warn: Project is vulnerable to: PYSEC-2023-61 / GHSA-r3xc-prgr-mg9p","Warn: Project is vulnerable to: GHSA-rrqc-c2jx-6jgv","Warn: Project is vulnerable to: PYSEC-2021-439 / GHSA-v6rh-hp5x-86rv","Warn: Project is vulnerable to: PYSEC-2024-47 / GHSA-vm8q-m57g-pff3","Warn: Project is vulnerable to: PYSEC-2022-191 / GHSA-w24h-v9qh-8gxj","Warn: Project is vulnerable to: PYSEC-2024-28 / GHSA-xxj9-f6rv-m3x4","Warn: Project is vulnerable to: GHSA-2m57-hf25-phgg","Warn: Project is vulnerable to: PYSEC-2023-87 / GHSA-rrm6-wvj7-cwh2"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-14T12:57:53.810Z","repository_id":41276502,"created_at":"2025-08-14T12:57:53.810Z","updated_at":"2025-08-14T12:57:53.810Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272916117,"owners_count":25014729,"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","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["django","django-admin","django-editor","django-wysiwyg","editorjs","python","wysiwyg"],"created_at":"2024-08-03T17:00:43.149Z","updated_at":"2025-08-30T22:21:01.467Z","avatar_url":"https://github.com/2ik.png","language":"Python","funding_links":[],"categories":["Python","Libraries"],"sub_categories":["Python"],"readme":"# Editor.js for Django\n\nDjango plugin for using [Editor.js](https://editorjs.io/)\n\n\u003e This plugin works fine with JSONField in Django \u003e= 3.1\n\n[![Django Editor.js](https://i.ibb.co/r6xt4HJ/image.png)](https://github.com/2ik/django-editorjs-fields)\n\n[![Python versions](https://img.shields.io/pypi/pyversions/django-editorjs-fields)](https://pypi.org/project/django-editorjs-fields/)\n[![Python versions](https://img.shields.io/pypi/djversions/django-editorjs-fields)](https://pypi.org/project/django-editorjs-fields/)\n[![Downloads](https://static.pepy.tech/personalized-badge/django-editorjs-fields?period=total\u0026units=international_system\u0026left_color=grey\u0026right_color=brightgreen\u0026left_text=Downloads)](https://pepy.tech/project/django-editorjs-fields)\n\n## Installation\n\n```bash\npip install django-editorjs-fields\n```\n\nAdd `django_editorjs_fields` to `INSTALLED_APPS` in `settings.py` for your project:\n\n```python\n# settings.py\nINSTALLED_APPS = [\n    ...\n    'django_editorjs_fields',\n]\n```\n\n## Upgrade\n\n```bash\npip install django-editorjs-fields --upgrade\npython manage.py collectstatic  # upgrade js and css files\n```\n\n## Usage\n\nAdd code in your model\n\n```python\n# models.py\nfrom django.db import models\nfrom django_editorjs_fields import EditorJsJSONField  # Django \u003e= 3.1\nfrom django_editorjs_fields import EditorJsTextField\n\n\nclass Post(models.Model):\n    body_default = models.TextField()\n    body_editorjs = EditorJsJSONField()  # Django \u003e= 3.1\n    body_editorjs_text = EditorJsTextField()\n\n```\n\n#### New in version 0.2.1. Django Templates support\n\n```html\n\u003c!-- template.html --\u003e\n\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n  \u003chead\u003e\n    \u003cmeta charset=\"UTF-8\" /\u003e\n    \u003cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" /\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" /\u003e\n    \u003ctitle\u003eDocument\u003c/title\u003e\n  \u003c/head\u003e\n  \u003cbody\u003e\n    {% load editorjs %}\n    {{ post.body_default }}\n    {{ post.body_editorjs | editorjs}}\n    {{ post.body_editorjs_text | editorjs}}\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Additionally\n\nYou can add custom Editor.js plugins and configs ([List plugins](https://github.com/editor-js/awesome-editorjs))\n\nExample custom field in models.py\n\n```python\n# models.py\nfrom django.db import models\nfrom django_editorjs_fields import EditorJsJSONField\n\n\nclass Post(models.Model):\n    body_editorjs_custom = EditorJsJSONField(\n        plugins=[\n            \"@editorjs/image\",\n            \"@editorjs/header\",\n            \"editorjs-github-gist-plugin\",\n            \"@editorjs/code@2.6.0\",  # version allowed :)\n            \"@editorjs/list@latest\",\n            \"@editorjs/inline-code\",\n            \"@editorjs/table\",\n        ],\n        tools={\n            \"Gist\": {\n                \"class\": \"Gist\"  # Include the plugin class. See docs Editor.js plugins\n            },\n            \"Image\": {\n                \"config\": {\n                    \"endpoints\": {\n                        \"byFile\": \"/editorjs/image_upload/\"  # Your custom backend file uploader endpoint\n                    }\n                }\n            }\n        },\n        i18n={\n            'messages': {\n                'blockTunes': {\n                    \"delete\": {\n                        \"Delete\": \"Удалить\"\n                    },\n                    \"moveUp\": {\n                        \"Move up\": \"Переместить вверх\"\n                    },\n                    \"moveDown\": {\n                        \"Move down\": \"Переместить вниз\"\n                    }\n                }\n            },\n        }\n        null=True,\n        blank=True\n    )\n\n```\n\n**django-editorjs-fields** support this list of Editor.js plugins by default:\n\u003ca name=\"plugins\"\u003e\u003c/a\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eEDITORJS_DEFAULT_PLUGINS\u003c/summary\u003e\n\n```python\nEDITORJS_DEFAULT_PLUGINS = (\n    '@editorjs/paragraph',\n    '@editorjs/image',\n    '@editorjs/header',\n    '@editorjs/list',\n    '@editorjs/checklist',\n    '@editorjs/quote',\n    '@editorjs/raw',\n    '@editorjs/code',\n    '@editorjs/inline-code',\n    '@editorjs/embed',\n    '@editorjs/delimiter',\n    '@editorjs/warning',\n    '@editorjs/link',\n    '@editorjs/marker',\n    '@editorjs/table',\n)\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003eEDITORJS_DEFAULT_CONFIG_TOOLS\u003c/summary\u003e\n\n```python\nEDITORJS_DEFAULT_CONFIG_TOOLS = {\n    'Image': {\n        'class': 'ImageTool',\n        'inlineToolbar': True,\n        \"config\": {\n            \"endpoints\": {\n                \"byFile\": reverse_lazy('editorjs_image_upload'),\n                \"byUrl\": reverse_lazy('editorjs_image_by_url')\n            }\n        },\n    },\n    'Header': {\n        'class': 'Header',\n        'inlineToolbar': True,\n        'config': {\n            'placeholder': 'Enter a header',\n            'levels': [2, 3, 4],\n            'defaultLevel': 2,\n        }\n    },\n    'Checklist': {'class': 'Checklist', 'inlineToolbar': True},\n    'List': {'class': 'List', 'inlineToolbar': True},\n    'Quote': {'class': 'Quote', 'inlineToolbar': True},\n    'Raw': {'class': 'RawTool'},\n    'Code': {'class': 'CodeTool'},\n    'InlineCode': {'class': 'InlineCode'},\n    'Embed': {'class': 'Embed'},\n    'Delimiter': {'class': 'Delimiter'},\n    'Warning': {'class': 'Warning', 'inlineToolbar': True},\n    'LinkTool': {\n        'class': 'LinkTool',\n        'config': {\n            'endpoint': reverse_lazy('editorjs_linktool'),\n        }\n    },\n    'Marker': {'class': 'Marker', 'inlineToolbar': True},\n    'Table': {'class': 'Table', 'inlineToolbar': True},\n}\n```\n\n\u003c/details\u003e\n\n`EditorJsJSONField` accepts all the arguments of `JSONField` class.\n\n`EditorJsTextField` accepts all the arguments of `TextField` class.\n\nAdditionally, it includes arguments such as:\n\n| Args            | Description                                                                                                                                  | Default                         |\n| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |\n| `plugins`       | List plugins Editor.js                                                                                                                       | `EDITORJS_DEFAULT_PLUGINS`      |\n| `tools`         | Map of Tools to use. Set config `tools` for Editor.js [See docs](https://editorjs.io/configuration#passing-saved-data)                       | `EDITORJS_DEFAULT_CONFIG_TOOLS` |\n| `use_editor_js` | Enables or disables the Editor.js plugin for the field                                                                                       | `True`                          |\n| `autofocus`     | If true, set caret at the first Block after Editor is ready                                                                                  | `False`                         |\n| `hideToolbar`   | If true, toolbar won't be shown                                                                                                              | `False`                         |\n| `inlineToolbar` | Defines default toolbar for all tools.                                                                                                       | `True`                          |\n| `readOnly`      | Enable read-only mode                                                                                                                        | `False`                         |\n| `minHeight`     | Height of Editor's bottom area that allows to set focus on the last Block                                                                    | `300`                           |\n| `logLevel`      | Editors log level (how many logs you want to see)                                                                                            | `ERROR`                         |\n| `placeholder`   | First Block placeholder                                                                                                                      | `Type text...`                  |\n| `defaultBlock`  | This Tool will be used as default. Name should be equal to one of Tool`s keys of passed tools. If not specified, Paragraph Tool will be used | `paragraph`                     |\n| `i18n`          | Internalization config                                                                                                                       | `{}`                            |\n| `sanitizer`     | Define default sanitizer configuration                                                                                                       | `{ p: true, b: true, a: true }` |\n\n## Image uploads\n\nIf you want to upload images to the editor then add `django_editorjs_fields.urls` to `urls.py` for your project with `DEBUG=True`:\n\n```python\n# urls.py\nfrom django.contrib import admin\nfrom django.urls import path, include\nfrom django.conf import settings\nfrom django.conf.urls.static import static\n\nurlpatterns = [\n    ...\n    path('editorjs/', include('django_editorjs_fields.urls')),\n    ...\n] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)\n```\n\nIn production `DEBUG=False` (use nginx to display images):\n\n```python\n# urls.py\nfrom django.contrib import admin\nfrom django.urls import path, include\n\nurlpatterns = [\n    ...\n    path('editorjs/', include('django_editorjs_fields.urls')),\n    ...\n]\n```\n\nSee an example of how you can work with the plugin [here](https://github.com/2ik/django-editorjs-fields/blob/main/example)\n\n## Forms\n\n```python\nfrom django import forms\nfrom django_editorjs_fields import EditorJsWidget\n\n\nclass TestForm(forms.ModelForm):\n    class Meta:\n        model = Post\n        exclude = []\n        widgets = {\n            'body_editorjs': EditorJsWidget(config={'minHeight': 100}),\n            'body_editorjs_text': EditorJsWidget(plugins=[\"@editorjs/image\", \"@editorjs/header\"])\n        }\n```\n\n## Theme\n\n### Default Theme\n\n![image](https://user-images.githubusercontent.com/6692517/124242133-7a7dad00-db2d-11eb-812f-84a5c44e88c9.png)\n\n### Dark Theme\n\nplugin use css property [prefers-color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme) to define a dark theme in browser\n\n![image](https://user-images.githubusercontent.com/6692517/124240864-3dfd8180-db2c-11eb-85c1-21f0faf41775.png)\n\n## Configure\n\nThe application can be configured by editing the project's `settings.py`\nfile.\n\n| Key                               | Description                                                            | Default                                                                                                                                                                                                                                                     | Type                                                                                                                     |\n| --------------------------------- | ---------------------------------------------------------------------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ------------------------------------------------------------------------------------------------------------------------ |\n| `EDITORJS_DEFAULT_PLUGINS`        | List of plugins names Editor.js from npm                               | [See above](#plugins)                                                                                                                                                                                                                                       | `list[str]`, `tuple[str]`                                                                                                |\n| `EDITORJS_DEFAULT_CONFIG_TOOLS`   | Map of Tools to use                                                    | [See above](#plugins)                                                                                                                                                                                                                                       | `dict[str, dict]`                                                                                                        |\n| `EDITORJS_IMAGE_UPLOAD_PATH`      | Path uploads images                                                    | `uploads/images/`                                                                                                                                                                                                                                           | `str`                                                                                                                    |\n| `EDITORJS_IMAGE_UPLOAD_PATH_DATE` | Subdirectories                                                         | `%Y/%m/`                                                                                                                                                                                                                                                    | `str`                                                                                                                    |\n| `EDITORJS_IMAGE_NAME_ORIGINAL`    | To use the original name of the image file?                            | `False`                                                                                                                                                                                                                                                     | `bool`                                                                                                                   |\n| `EDITORJS_IMAGE_NAME`             | Image file name. Ignored when `EDITORJS_IMAGE_NAME_ORIGINAL` is `True` | `token_urlsafe(8)`                                                                                                                                                                                                                                          | `callable(filename: str, file: InMemoryUploadedFile)` ([docs](https://docs.djangoproject.com/en/3.0/ref/files/uploads/)) |\n| `EDITORJS_EMBED_HOSTNAME_ALLOWED` | List of allowed hostname for embed                                     | `('player.vimeo.com','www.youtube.com','coub.com','vine.co','imgur.com','gfycat.com','player.twitch.tv','player.twitch.tv','music.yandex.ru','codepen.io','www.instagram.com','twitframe.com','assets.pinterest.com','www.facebook.com','www.aparat.com'),` | `list[str]`, `tuple[str]`                                                                                                |\n| `EDITORJS_VERSION`                | Version Editor.js                                                      | `2.25.0`                                                                                                                                                                                                                                                    | `str`                                                                                                                    |\n\nFor `EDITORJS_IMAGE_NAME` was used `from secrets import token_urlsafe`\n\n## Support and updates\n\nUse github issues https://github.com/2ik/django-editorjs-fields/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2ik%2Fdjango-editorjs-fields","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2ik%2Fdjango-editorjs-fields","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2ik%2Fdjango-editorjs-fields/lists"}