{"id":16347696,"url":"https://github.com/oscarotero/netlify_cms_config","last_synced_at":"2026-05-17T01:44:49.645Z","repository":{"id":51535482,"uuid":"497028568","full_name":"oscarotero/netlify_cms_config","owner":"oscarotero","description":"Netlify CMS config generator","archived":false,"fork":false,"pushed_at":"2023-07-10T22:02:27.000Z","size":44,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-22T07:19:14.882Z","etag":null,"topics":["deno","generator","netlify-cms"],"latest_commit_sha":null,"homepage":"https://deno.land/x/netlify_cms_config","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oscarotero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-05-27T14:30:51.000Z","updated_at":"2023-05-26T14:45:43.000Z","dependencies_parsed_at":"2024-11-20T21:15:18.063Z","dependency_job_id":null,"html_url":"https://github.com/oscarotero/netlify_cms_config","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"d77751da8b6b6cbcb477a02585abbc60a8865b7f"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/oscarotero/netlify_cms_config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarotero%2Fnetlify_cms_config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarotero%2Fnetlify_cms_config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarotero%2Fnetlify_cms_config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarotero%2Fnetlify_cms_config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oscarotero","download_url":"https://codeload.github.com/oscarotero/netlify_cms_config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oscarotero%2Fnetlify_cms_config/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265414606,"owners_count":23761030,"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":["deno","generator","netlify-cms"],"created_at":"2024-10-11T00:44:53.333Z","updated_at":"2026-05-17T01:44:44.624Z","avatar_url":"https://github.com/oscarotero.png","language":"TypeScript","funding_links":[],"categories":["Miscellaneous"],"sub_categories":[],"readme":"# Netlify CMS Config generator\n\nThis is a Deno's TypeScript library to generate the `config.yml` file to\nconfigure the Netlify CMS easily. For more info about the Netlify Configuration\nOptions,\n[go to the original documentation website](https://www.netlifycms.org/docs/configuration-options/).\n\n## Usage example\n\nThe library is built in TypeScript, including the options descriptions as\ncomments, so you can take advantage of your VSCode (or any other IDE) like\nautocomplete, descriptions etc.\n\n### Create simple field\n\n```ts\nimport f from \"./mod.ts\";\n\nconst field = f.string(\"Your name\");\n\nconsole.log(field.toJSON());\n```\n\nThis code generates the following result:\n\n```js\n{\n  label: \"Your name\",\n  name: \"your_name\",\n  widget: \"string\"\n}\n```\n\nBy default, the `name` value is generated automatically from the `label`. But\nyou can change it or add more options:\n\n```ts\nconst field = f.string(\"Your name\")\n  .name(\"name\")\n  .required(false)\n  .default(\"Default name\")\n  .toJSON();\n```\n\nThis outputs:\n\n```js\n{\n  label: \"Your name\",\n  name: \"name\",\n  widget: \"string\",\n  required: false,\n  \"default\": \"Default name\",\n}\n```\n\n## Create a folder collection\n\n```ts\nimport f from \"./mod.ts\";\n\nconst posts = f.folder(\"Posts\", \"/posts\")\n  .create(true)\n  .slug(\"{{slug}}\")\n  .delete(true)\n  .fields([\n    f.string(\"Title\"),\n    f.datetime(\"Published at\"),\n    f.markdown(\"Body\"),\n  ])\n  .toJSON();\n```\n\nThis outputs:\n\n```js\n{\n  label: \"Posts\",\n  name: \"posts\",\n  folder: \"/posts\",\n  create: true,\n  slug: \"{{slug}}\",\n  delete: true,\n  fields: [\n    {\n      label: \"Title\",\n      name: \"title\",\n      widget: \"string\"\n    },\n    {\n      label: \"Published at\",\n      name: \"published_at\",\n      widget: \"datetime\"\n    },\n    {\n      label: \"Body\",\n      name: \"body\",\n      widget: \"markdown\"\n    },\n  ]\n}\n```\n\n## Create a files collection\n\n```ts\nimport f from \"./mod.ts\";\n\nconst posts = f.files(\"Pages\")\n  .file(\"Page 1\", \"page-1.md\", [\n    f.string(\"Title\"),\n    f.datetime(\"Published at\"),\n    f.markdown(\"Body\"),\n  ])\n  .file(\"Page 2\", \"page-2.md\", [\n    f.string(\"Title\"),\n    f.datetime(\"Published at\"),\n    f.markdown(\"Body\"),\n  ])\n  .toJSON();\n```\n\n## Default values\n\nTo avoid repetition, you can set default values:\n\n```ts\nimport f from \"./mod.ts\";\n\n// Special case to set the `required` option to false\n// applied to all fields\nf.defaultRequired = false;\n\n// Configure settings individually by field\nf.defaults.markdown.buttons([\"bold\", \"italic\", \"link\"]);\nf.defaults.list.collapsed(true).minimizeCollapsed(true);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarotero%2Fnetlify_cms_config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foscarotero%2Fnetlify_cms_config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foscarotero%2Fnetlify_cms_config/lists"}