Рубрики
Без рубрики

Как и почему я построил блоги с NextJS и MDX

Обо мне я потерпит JS-разработчик, который имеет большую любовь в решении проблем. Мои любимые стеки находятся на ноде, реагируют. Проблема, которую я хотел решить Next.js отлично, и я хочу что-то написать так, чтобы я …

Автор оригинала: duc mai.

Обо мне

Я потерпит JS-разработчик, у которого большая любовь в решении проблем. Мои любимые стеки находятся на ноде, реагируют.

Проблема, которую я хотел решить

Next.js отлично, и я хочу что-то написать, поэтому я пришел, чтобы найти решение для публикации моих блогов с помощью Next.js. Там есть тысячи блог готовых двигателей, но я выбрал Mext.js feat с Markdown, поскольку MD довольно прост в использовании.

Таким образом, преимущества, очевидно, блоги просты, гибкие для интеграции с компонентами реагирования и быстрыми по умолчанию по умолчанию, поскольку он не нуждается в DB под капотом.

Однако существует несколько ограничений с таким способом, подобным самому отметку имеет ограничение для добавления атрибутов, CSS, поэтому вам понадобятся плагины для обработки этого. Изображения также проблема. Чтобы добавить изображения в блог, вам нужно будет загрузить некоторые и добавить ссылки в блоги.

Этот блог изначально от моего личного сайта, https://hittaducmai.se/blogs/blogging-with-nextjs.

Что такое блоги с NextJS и MDX?

Блоги записываются в Markdown и опубликованы на сайте Nextjs. Блоги оснащены WebComponents

Tech Stack

  • Nextjs
  • MDX.
  • WebComponents
  • Развертывание в настоящее время

Процесс создания блогов с NextJS и MDX

Next.js обладает аккуратной интеграцией с MDX, вы можете прочитать больше об этом здесь https://mdxjs.com/getting-started/next.

В основном добавьте @ next/mdx @ mdx-js/loader

npm install --save @next/mdx @mdx-js/loader

next.config.js.

const withMDX = require('@next/mdx')({
  extension: /\.mdx?$/
})
module.exports = withMDX({
pageExtensions: ['js', 'jsx', 'md', 'mdx']
})

Добавьте макет для блога. Моя любимая настройка – добавить блогLayout под папкой компонентов. В макете вы можете указать общие вещи для блогов, таких как CSS, общая логика

Добавьте свой первый файл блога MD, например, blog.md под страницами. Neartjs и MDX Loader автоматически сделают файлы MD доступными в качестве других страниц.

В Blog.md добавьте следующий код, то ваш блог будет использовать вышеуказанную макет

Импортная макет из «../Components/bloglayout» Экспортная макет по умолчанию. Будет несколько вещей, которые вы можете добавить в свои блоги. Например:

Стили для блогов, я предлагаю использовать стилизованные компоненты и добавлять свои стили в макете. Класс или атрибуты для элементов, я предлагаю использовать следующие плагины «Примечание-attr attr», «Примечание-индивидуальные блоки» Таможенные компоненты, такие как аккордеон, я предлагаю использовать WebComponents. Я реализовал здесь https://etfeurope.net/education/etf-basics/all-you-need-to-know-about-european-etfs.

Проблемы я столкнулся

Как я уже упоминал в начале, это очень гладко и легко писать блоги, используя формат MD, и он более мощный с MDX, который может быть уполномочен реагированием, однако проблемы здесь:

  1. Как управлять изображениями. Я решил загрузить в бесплатный блог на WordPress.com
  2. Как иметь такие компоненты, как аккордеон, контур автоматически. Я решаю с помощью WebComponents.

Окончательные мысли и следующие шаги

Это решение подходит для некоторых сайтов, которые хотят добавить функцию блога как дополнительную функцию и хочет интегрировать к некоторым функциям, которые уже существуют на сайтах.