{"id":19483728,"url":"https://github.com/indoorequal/parcel-transformer-markdown-front-matter","last_synced_at":"2025-04-25T16:32:46.003Z","repository":{"id":109745510,"uuid":"463210047","full_name":"indoorequal/parcel-transformer-markdown-front-matter","owner":"indoorequal","description":"📦@parcel-bundler plugin to load markdown files and YAML Front Matter","archived":false,"fork":false,"pushed_at":"2024-10-21T18:58:54.000Z","size":6463,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-23T08:19:57.015Z","etag":null,"topics":["markdown","markdown-front","parcel-bundler","parcel-plugin","parceljs"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/parcel-transformer-markdown-front-matter","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jaywcjlove/parcel-plugin-markdown-string","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/indoorequal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jaywcjlove"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"custom":"https://jaywcjlove.github.io/sponsor.html"}},"created_at":"2022-02-24T15:58:08.000Z","updated_at":"2024-10-21T18:58:57.000Z","dependencies_parsed_at":"2024-08-12T07:50:29.771Z","dependency_job_id":"1b7a6896-5ac4-4692-8aad-ed3891e00f61","html_url":"https://github.com/indoorequal/parcel-transformer-markdown-front-matter","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorequal%2Fparcel-transformer-markdown-front-matter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorequal%2Fparcel-transformer-markdown-front-matter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorequal%2Fparcel-transformer-markdown-front-matter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/indoorequal%2Fparcel-transformer-markdown-front-matter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/indoorequal","download_url":"https://codeload.github.com/indoorequal/parcel-transformer-markdown-front-matter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224007839,"owners_count":17240294,"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":["markdown","markdown-front","parcel-bundler","parcel-plugin","parceljs"],"created_at":"2024-11-10T20:16:30.804Z","updated_at":"2024-11-10T20:16:32.016Z","avatar_url":"https://github.com/indoorequal.png","language":"JavaScript","funding_links":["https://github.com/sponsors/jaywcjlove","https://jaywcjlove.github.io/sponsor.html"],"categories":[],"sub_categories":[],"readme":"# parcel-transformer-markdown-front-matter\n\n\n[![NPM Downloads](https://img.shields.io/npm/dm/parcel-transformer-markdown-front-matter.svg?style=flat)](https://www.npmjs.com/package/parcel-transformer-markdown-front-matter)\n[![Build \u0026 Deploy](https://github.com/indoorequal/parcel-transformer-markdown-front-matter/actions/workflows/ci.yml/badge.svg)](https://github.com/indoorequal/parcel-transformer-markdown-front-matter/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/parcel-transformer-markdown-front-matter.svg)](https://www.npmjs.com/package/parcel-transformer-markdown-front-matter)\n\nA [**`Parcel 2`**](https://parceljs.org/) plugin to load markdown file with YAML Front matter. It uses [Marked][] to render markdown.\n\n## Usage\n\nInstall the plugin\n\n```bash\nnpm install parcel-transformer-markdown-front-matter --save-dev\n```\nAdd `parcel-transformer-markdown-front-matter` transformer to the `.parcelrc`\n\n```js\n{\n  \"extends\": \"@parcel/config-default\",\n  \"transformers\": {\n    \"*.md\": [ \"parcel-transformer-markdown-front-matter\" ]\n  }\n}\n```\n\n`Markdown.md`:\n\n```markdown\n---\ntitle: My title\n---\n\n# Markdown content\n```\n\n**Output HTML string**\n\nImport your markdown file, and get the HTML content and the yaml front matter properties.\n\n```js\nimport file from './Markdown.md';\n\nconsole.log(file.__content) // =\u003e Output HTML string.\nconsole.log(file.title) // output title property\ndocument.body.innerHTML = file.__content;\n```\n\n**Output Markdown string**\n\n```js\n// .markedrc\n{\n  \"marked\": false\n}\n```\n\n```js\nimport file from './Markdown.md';\n\nconsole.log(file.__content) // =\u003e Output Markdown string.\ndocument.body.innerHTML = file.__content;\n```\n\n## Configuration\n\n[Marked](https://github.com/markedjs/marked) can be configured using a `.markedrc`, `.markedrc.js`, or `marked.config.js` file. See the [Marked API Reference](https://marked.js.org/using_advanced#options) for details on the available options.\n\n\u003e Note: `.markedrc.js` and `marked.config.js` are supported for JavaScript-based configuration, but should be avoided when possible because they reduce the effectiveness of Parcel's caching. Use a JSON based configuration format (e.g. `.markedrc`) instead.\n\nThere is a `marked` configuration that converts `markdown` to `HTML`. Otherwise just read the `markdown` string.\n\n```js\n{\n  \"marked\": {\n    \"breaks\": true,\n    \"pedantic\": false,\n    \"gfm\": true\n  }\n}\n```\n\n### Marked extensions\n\nTo use [marked extensions](https://marked.js.org/using_advanced#extensions), you must use a javascript configuration file. Install your extensions and instanciate in the configuration.\n\n```javascript\n/// .markedrc.js\nconst { gfmHeadingId } = require('marked-gfm-heading-id');\n\nmodule.exports = {\n extensions: [gfmHeadingId({ prefix: 'test-' })],\n};\n```\n\n## License\n\nMIT\n\n© 2024 François de Metz\n\n© 2022 [Kenny Wong](https://wangchujiang.com)\n\n[marked]: https://marked.js.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findoorequal%2Fparcel-transformer-markdown-front-matter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Findoorequal%2Fparcel-transformer-markdown-front-matter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Findoorequal%2Fparcel-transformer-markdown-front-matter/lists"}