Markdownで簡単改行!remark-breaksプラグインの使い方

Markdownで(改段落ではなく)改行するには、行末に半角スペースを2つ入れるか、<br/>タグを使用する必要があり、煩わしさを感じさせます。
remark-breaksは、このような問題を解決する、remark.jsのプラグインです。remark.jsの公式のプラグインとして提供されており、remark.jsを使っているプロジェクトであれば、簡単に導入できます。
なぜremark-breaksが必要なのか?
Markdownで文書を作成しているときは、改行ではなく改段落を用いることが多いですが、改行を手軽に使いたいときもあります。たとえば、ブログの文章では、人によっては改行を多用することがあります。
そのような場合、従来の改行方法では非常に手間がかかります。Markdownでは、段落を変えるためには空行を挿入しますが、行内での改行(改段落ではない)をするには、行末に半角スペース2つを追加するか、<br/>タグを用いる必要があります。
また、コードフォーマッターは、しばしば行末のスペースを削除してしまいます。これによって、意図的に挿入した改行が消えてしまうという問題も存在します。
remark-breaksプラグインを使用すると、改行したい場所で単純にエンターキーを押すだけで、自然な改行がMarkdown文書に反映されるようになります。Word文書のように直感的に改行できるようになるため、Markdownで改行を多用する場合は非常に便利です。
remark-breaksの導入方法
remark-breaksを使うには、Markdownパーサーとしてremark.jsを使っている必要があります。remark.jsは、Markdown文書を解析し、変換するためのJavaScriptライブラリです。
既存のプロジェクトに導入するにはまず、remark-breaksをインストールします。次に、remark.jsの設定にremark-breaksをプラグインとして追加します。
npm install remark-breaksimport rehypeStringify from "rehype-stringify";import remarkBreaks from "remark-breaks";import remarkParse from "remark-parse";import remarkRehype from "remark-rehype";import { unified } from "unified";
const markdown = `# Hello, world!
This is a paragraph.This is another paragraph.`.trim();
const result = await unified() .use(remarkParse) .use(remarkBreaks) .use(remarkRehype) .use(rehypeStringify) .process(markdown);
console.log(result.toString());Astroを使っている場合は、astro.config.mjsにremark-breaksを追加します。
import { defineConfig } from "astro/config";import remarkBreaks from "remark-breaks";
// https://astro.build/configexport default defineConfig({ site: "https://example.com", integrations: [ // ... ], markdown: { remarkPlugins: [ remarkBreaks ], rehypePlugins: [ // ... ] }});これにより、Markdown中での改行がそのまま反映されるようになります。
まとめ
remark-breaksは、Markdown文書中で簡単に改行できるようにするremark.jsのプラグインです。従来の改行方法では手間がかかるため、改行を多用する場合には非常に便利です。
remark-breaksを使うには、remark.jsを使っている必要があります。既存のプロジェクトに導入するには、remark-breaksをインストールし、remark.jsの設定にremark-breaksをプラグインとして追加します。
remark-breaksを使うことで、Markdown文書中での改行が直感的になります。これにより、Markdown文書の作成がより快適になります。
記事をシェア
フォローして最新情報を入手
Googleの優先ソースに追加すると、このサイトの記事をGoogleで見つけやすくなります。また、ぜひXやRSSフィードもフォローしてください。
次の記事
-1.png&w=1080&q=75)
生まれた時から、母国語よりも先にJavaScriptを使っていました。ネットの海のどこにもいなくてどこにでもいます。
Webフロントエンドプログラマーとして、TypeScriptを用いたWebアプリやブラウザー拡張機能を制作。Xのシャドウバン検知ツール「Shadowban Scanner」やリンクカード復活ツール「Restore Link Card」を公開し、国内外のメディアで紹介されました。iGEM 2023ではJapan-UnitedチームのWikiを制作してGrand Prizeの獲得に貢献。ブログではXやSNSの最新ニュース、不具合の検証と対処法、フロントエンド開発の知見を発信しています。




![npmのパッケージの設定画面のスクリーンショット。[Trusted Publisher]セクションの[Select your publisher]に[GitHub Actions]と[GitLab CI/CD]の2つのボタンが表示されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fnpm-trusted-publishing-settings.png&w=3840&q=75)






![Discordの[プロフィールのプライバシー]設定のスクリーンショット](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Fdiscord-profile-privacy-settings.png&w=3840&q=75)
![スマートフォンのホーム画面の[Social]フォルダーを表示した写真。フォルダー内にはFacebook、Instagram、Threads、X、LinkedIn、TikTok、YouTubeのアイコンが配置されている](/_next/image/?url=%2Fapi%2Fmedia%2Ffile%2Ffacebook-instagram-threads-x-twitter-linkedin-tiktok-youtube-mobile-app-unsplash.jpg&w=3840&q=75)

