gray-matter
marked
Our great sponsors
gray-matter | marked | |
---|---|---|
17 | 60 | |
3,762 | 31,845 | |
- | 0.8% | |
1.2 | 9.5 | |
5 days ago | about 18 hours ago | |
JavaScript | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gray-matter
-
Building a flat-file CMS with Angular
Writing in markdown is super convenient, and supported by just about any text editor. To convert these .md files to browser-ready HTML, I wrote a simple little Node.js script using two great npm packages called gray-matter and showdown.
-
Eleventy vs. Next.js for static site generation
Next, install gray-matter to extract metadata from the front matter of markdown files, and marked to convert the markdown files to HTML:
-
Exploring the code behind Docusaurus
It turns out that Docusaurus uses an open source JavaScript parser called gray-matter to parse the front matter from markdown files! After installing gray-matter using npm and them importing it into the markdownUtils.ts file, all it takes is calling the matter method and passing the markdown file contents to get returned an Object with data and content (the data being the front matter and the content being the rest of the markdown file contents).
-
Create an Interactive Table of Contents for a Next.js Blog with Remark
Although we are building a custom table of contents, we won't have to write everything from scratch. To separate the Markdown/MDX content from the front matter, we'll use the Gray-matter package. It is optional in case you don't have front matter in your Markdown files. To process the Markdown itself, we'll use the Remark package. We'll also need the unist-util-visit package for traversing node trees and mdast-util-to-string for getting the text content of a node.
-
Create your own blog with MDX and NextJS
In this article we walk you through the process of creating a simple blog app using the popular React framework NextJS, gray-matter and next-mdx-remote.
-
NextJS 13 Blog Starter
In order to get post information (such as author, title, date, etc.) from our HTML without having them be apart of our rendered post we need a way to parse YAML front matter, this is where gray-matter comes in hand.
-
Loading local markdown blog posts - part 12
To do this, we use the matter npm package.
-
Create a Markdown Editor with Rust and React
It’s actually not part of the CommonMark spec, so you’ll often need a 3rd party library to parse it out on top of your Markdown parser. In JavaScript we use gray-matter which converts frontmatter into a JS object we can more easily use.
-
Turn a Markdown blog to a simple SSG
Over the past few weeks, I mostly wrote on how to template a Node.js application with EJS using Express. Then, I wrote an article showing how to create a Markdown blog in Node.js using EJS, Express, gray-matter and markdown-it. Today, I'll combine those tutorials to turn the Markdown blog, from the last tutorial, into a simple SSG.
-
Markdown blog with EJS
gray-matter, to parse the front matter from the Markdown files
marked
-
Eleventy vs. Next.js for static site generation
Next, install gray-matter to extract metadata from the front matter of markdown files, and marked to convert the markdown files to HTML:
-
To learn svelte, I clone Github's issues page including useful features that you might consider reusing.
📑 Marked Markdown parser. Use it to create your own markdown editor.
-
🤖 AI Search and Q&A for Your Dev.to Content with Vrite
Vrite SDK provides a few built-in input and output transformers. These are functions, with standardized signatures to process the content from and into Vrite. In this case, gfmInputTransformer is essentially a GitHub Flavored Markdown parser, using Marked.js under the hood.
-
Better code highlighting on the web: rehype-tree-sitter
Another contestant in this realm is Bright[1]. It runs entirely on the server and doesn't increase bundle size as seen here[2]. Regarding parsing speed tree-sitter is without a doubt performant since it is written in Rust, but I don't have any problems "parsing on every keystroke" with a setup containing Marked[3], highlight.js[4] and a sanitizer. I did however experience performance issues with other Markdown parser libraries than Marked.
[1]: https://bright.codehike.org/
[2]: https://aihelperbot.com/test-suite
-
[Project Share] List dialog that supports complex HTML and Markdown format.
The project uses markedJS to convert markdown into HTML, this is their GitHub page.
-
Vrite Editor: Open-Source WYSIWYG Markdown Editor
To handle pasting block Markdown content like this, I had to tap into ProseMirror and implement a custom mechanism (though somewhat based on TipTap’s paste rules), detecting starting and ending points of the blocks and parsing them with Marked.js.
-
Help needed!
I am using marked for markdown parsing together with marked-highlighting to handle syntax highlighting and everything is working as it should.
-
Need help - sanitizeHtml with marked doesn't render special characters correctly (& is & and then &amp)
I'm trying to render user input using SvelteMarkdown (that uses marked).
-
Looking for a Comprehensive Guide for Building Complex Chatbots with GPT-4 API
GPT API returns data in markdown format. You can parse it using a Markdown library and string manipulation. On Electron app I developed https://jhappsproducts.gumroad.com/l/gpteverywhere, I used https://github.com/markedjs/marked and a code syntax highlighting package to display code blocks. And used JavaScript string manipulation to detect when code blocks start and end so I could add COPY/SAVE buttons to the blocks. I hope this helps, and happy coding! :)
-
How I put ChatGPT into a WYSIWYG editor
Again, with streaming enabled, you’ll now receive new tokens as soon as they’re available. Given that OpenAI’s API uses Markdown in its response format, a full message will need to be put together from the incoming tokens and parsed to HTML, as accepted by the replaceContent function. For this purpose, I’ve used the Marked.js parser.
What are some alternatives?
front-matter - Extract YAML front matter from strings
remark - markdown processor powered by plugins part of the @unifiedjs collective
react-markdown - Markdown component for React
markdown-it - Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
snarkdown - :smirk_cat: A snarky 1kb Markdown parser written in JavaScript
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
DOMPurify - DOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo:
docsify - 🃏 A magical documentation site generator.
MDsveX - A markdown preprocessor for Svelte.
next-markdown-blog - A lightly opinionated, full-featured Next.js blog managed through Git Workflows with markdown files.
js-yaml - JavaScript YAML parser and dumper. Very fast.