Astro и переход на MDX

Седой старик, которым я являюсь, я видел оригинальную пьесу «Радуйся, Мария» когда это произошло1 ) обратно в , поэтому мне нравится думать, что я узнаю хорошее «Радуйся, Мария», когда я его вижу. На самом деле, я, возможно, сделал именно это. В апреле я написал «Готов ли Astro к вашему блогу?” В нем я отметил, что хотя Astro генератор статических сайтов (SSG) был ( как и по сей день), справедливо получив много любви за множество интересных функций и компактность сайтов, созданных Astro, он несколько пострадал в отношении опыта разработчиков на сайте, содержащем большое количество файлов Markdown:

. . . более крупные сайты не обновляются так быстро, когда вы редактируете Markdown или .astro файл . . . . что касается скорости обновления в режиме разработки, все остальные конкуренты в настоящее время имеют преимущество перед Astro для этого элемента с потрясающе быстрым Хьюго явно лидирует.

(Ссылка добавлена ​​в исходный текст.)Вот что я имел ввиду. Когда я запускаю Hugo в режиме разработки и сохраняю изменения в любом из «просматриваемых» файлов моего сайта (содержание, стиль, макет, и т.д.), я почти мгновенно вижу результат на экране; но в то время с Astro такие действия заставляли Astro «думать» об изменении в течение нескольких секунд, прежде чем отображать версию.

В последующем «Обдумываете миграцию?» post, я добавил больше деталей: Если на вашем текущем сайте всего несколько страниц, вы обнаружите, что сервер разработки Astro достаточно быстро обновляет браузер, чтобы вам было удобно. Тем не менее, после того, как ваш контент доходит до -страницы, даже довольно простое редактирование контента приведет к тому, что обновление займет несколько секунд, когда вы сохраните файл, который вы изменяете, и задержка будет увеличиваться по мере увеличения сайта.

)Разработчики Astro знают об этой проблеме — возможно, она связана с взаимодействие с Vite — но неизвестно, когда это будет исправлено. Таким образом, с большим сайтом вы можете привыкнуть писать свой контент за пределами режим разработки и только после этого активировать сервер Astro dev для проверки внешнего вида новой страницы.

Медлительность режима разработки не была основной причиной, как я уже писал Ближе к концу этого поста я переместил этот сайт с Astro на Hugo в мае всего через несколько недель с более новой SSG, но это не помогло. 2 Тем не менее, я сохранил интерес и любопытство к Astro, поэтому я продолжал время от времени заглядывать в его Сообщество Discord.

По пути я увидел, что запуск Astro 1.0, изначально запланированный на начало июня, несколько раз откладывался. На данный момент он назначен на следующую неделю, если текущий релиз-кандидат (RC) достаточен. Этот пост об одном ключевом решении, которое пришло очень поздно в процессе разработки: Astro переводит поддержку управления контентом с Markdown на МДС. (Хотя Markdown по-прежнему будет работать в Astro, по крайней мере, на данный момент, он будет работать под флагом «устаревшего».)

Что касается того, почему команда Astro приняла такое решение, особенно так близко к желаемой дате «отгрузки» v.1.0, один недавний комментарий к Astro Discord от одного из создателей Astro Фреда К. Шотта может быть особенно показательным. Когда пользователь задался вопросом о проблемах с использованием компонентов в Astro-flavored Markdown, Шотт ответил:

Да ты вроде попал вещь, на изучение которой у нас ушел год: действительно сложно создать собственную систему компонентов MD [plus] и синтаксис [.] 😅 Сейчас мы экспериментируем с MDX как с лучшим решением для компонентов в [Markdown;] вместо разработки собственной системы мы могли бы использовать MDX. У нас уже есть экспериментальная поддержка. . . но если все пойдет хорошо, это станет стандартом со временем для версии 1.0, когда мы потеряем приоритеты для наших собственных[.]

Это чем-то напоминает решение разработчиков Astro в конце прошлого года перевести Astro с собственного Платформа Snowpack для Vite. Это было непросто, но выигрыш в производительности был значительным. в игре с мячом большая авантюра. Тем не менее, с трудностями, с которыми столкнулись разработчики Astro, пытаясь заставить Markdown и Astro хорошо работать вместе, это имеет смысл, особенно если учесть, сколько из Astro raison d'être предполагает не только приятный DX, но и гладкое взаимодействие между разметкой и компонентами.

К этим выходным команда Astro, похоже, наладила работу MDX с последней версией RC, поэтому я провел несколько тестов. В частности, я хотел увидеть DX для сайта Astro с примерно таким же количеством файлов MDX, сколько на моем текущем сайте Hugo есть файлы Markdown. На самом деле, я даже немного увеличил колоду против Astro, дав тестовому проекту больше такие файлы. (Каждый файл MDX содержал множество абзацев стандартного шаблона «lorem ipsum», которых было достаточно, чтобы Astro мог справиться с большим количеством текста.) Судя по моим тестам, переход на MDX кажется выигрышным. В режиме разработки изменения в «просматриваемых» файлах отображаются практически сразу (я бы сказал, что MDX DX от Astro, так сказать, очень похож на что из Одиннадцать с простой уценкой). Это может упростить переход на Astro для некоторых людей с большими сайтами с большим количеством Markdown, людей, которые просто не могли переварить похожий на патоку DX, с которым они сталкивались до того, как интерактивность Astro / MDX стала вещью.

Так что же может быть не так с этой картинкой? Ну, тот, кто уже

перенесли существующий контент Markdown из другого SSG в Astro, особенно с учетом

изменить такой ход требуется — теперь нужно сделать так еще раз. Однако, для тех кто не было11, но внес это мучительное изменение, гораздо проще переместить обычные файлы Markdown на сайт Astro с MDX: вы просто меняете их расширения с .md в .mdx. Конечно, вам придется заняться всеми «особыми» вещами, которые вы, возможно, поместили в этот Markdown на другом SSG, точно так же, как если бы вы перемещались между любые два SSG; но теперь общий

Уценка как .mdx

будет отлично работают в Astro.Стабильность Astro, как и любой другой SSG (особенно на основе JavaScript), только так же хорошо, как и стабильность его многочисленных сторонних зависимостей; и некоторые из них все еще немного шатаются при написании этой статьи. Тем не менее, где готовность RC стать реальным v.1.0, команда довольно близка к финишной черте в этом отношении — и, на мой взгляд, новая совместимость с MDX — удивительно важная причина. Переключение вообще было смелым шагом, тем более на данном этапе подготовки к версии 1.0, но также и тем, что необходимо было сделать.

Хорошим людям из компании Astro Technology: я думаю, вы только что бросили один кит «Радуйся, Мария», когда часы четвертой четверти тикали до нуля. Мы надеемся, что версия 1.0 станет победным тачдауном. 05

Добавить комментарий

Ваш адрес email не будет опубликован.

Select menu by going to Admin > Appearance > Menus

Close

Send Message

image
Close

My favorites

image
image
arrow_left
arrow_right