搜尋

gutenberging

Apr 09, 2025 am 10:49 AM

gutenberging

Gutenberg,WordPress的新編輯器,發布已逾一年。如今,圍繞它的爭議似乎已平息。充足的時間讓其用戶體驗和易用性得到提升,人們也更清晰地看到了它的潛力。我們無法回頭。

像Haris Zulfiqar這樣的作者表示看好它,而Nick Hamze則認為區塊是下一代編輯器的方向。

雖然我認為它仍然存在一些不足(例如,為什麼不能在塊引用中添加列表?為什麼不能為鏈接添加類?為什麼不能用方向鍵瀏覽塊選擇器?),但我總體上非常喜歡它。而且不僅僅是概念上的喜歡。我將CSS-Tricks遷移到Gutenberg列為2020年的目標之一,並在1月份立即著手實施。

已初嘗甜頭

由於我們已將新聞稿創作體驗轉換為新編輯器,因此我們已經積累了一些Gutenberg的使用經驗。我們的新聞稿是CSS-Tricks上的自定義文章類型,發佈在公共URL上,擁有自定義RSS feed,並由MailChimp抓取和讀取該RSS feed。

我們可以通過Gutenberg Ramp插件輕鬆為新聞稿啟用Gutenberg。這對於自定義文章類型和具有單個ID的文章非常有效,但我希望僅為新內容啟用Gutenberg。最終我修改了該插件。如果您認為這是一個好主意,可以查看我的pull request。

這對我來說很重要,因為我們有數万篇使用舊編輯器創建的舊文章,即使Gutenberg不會在打開它們進行編輯時損壞它們,但它為這些文章提供的編輯體驗也不如“經典”編輯器(例如,我們有用於特殊代碼塊等的特殊按鈕)。

處理舊內容

如果Gutenberg能夠在打開舊文章時將其轉換為合適的區塊,那就太好了,但這目前看來像是一個夢想。這意味著它必須解析HTML,識別哪些塊看起來像區塊,識別哪個區塊最合適,包括我們最重要的自定義區塊,並且以一種不會出錯的方式準確地做到這一點。

目前,舊內容仍然使用舊編輯器。甚至沒有一種簡單的方法可以從編輯器中為單個文章啟用Gutenberg。 (我可以將值硬編碼到Gutenberg Ramp的使用中,但這有點繁瑣。)

我有點擔心舊編輯器會嚴重惡化。例如,我開始著手這項工作的一個主要原因是,在這個網站上,舊編輯器會隨機滾動到頁面底部。我完全不明白為什麼,但這讓我覺得創作非常痛苦。只是一個微不足道的小bug,卻讓我想要使用正在積極開發的編輯器體驗。

但即使舊編輯器真的變得很糟糕,為所有內容啟用Gutenberg也不是那麼糟糕。所有舊內容都將位於一個大型“經典”塊中,一切都會正常。

總之——它運行良好!

為新文章啟用Gutenberg本身就是一個不小的挑戰,但我們已經啟用它了,並且我們正在使用它創建所有新內容。我在這裡只是代表我自己發言,但我太喜歡它了。它對內容創作來說是一個巨大的升級,我有點痴迷於它。團隊也很高興。

創建自定義塊

看看我們這個花哨的文本塊:

你可能會想,哦,酷,一個創建自定義塊的機會。事實上,我們甚至在一個大型系列中介紹了學習和製作Gutenberg塊的方法。但這提出了一個非常相關的問題:何時構建塊。這個塊唯一獨特之處在於它有一個特殊的類名,我們的CSS使用它來為該塊設置樣式。僅此而已。添加類名是每個塊的內置功能,因此這裡不需要自定義塊。

事實上,我們可以更進一步,創建一個具有此確切類的文本塊作為“可重複使用的塊” ,這樣我們甚至不必記住或輸入該類名。在我創建了一個具有此類的文本塊後,我從kebab菜單中選擇“轉換為可重複使用的塊”,現在它將永久保存為可重複使用的塊。

我們現在已經將其用於其他一些事情,例如我們的“文章系列”塊(一個帶有特殊<div>-with-a-class包裝器的<code><ul></ul><ol></ol>)和腳註塊等等。但我們確實也需要一些自定義塊,為此我使用了create-guten-block來創建一個特殊的插件¹來創建它們。我認為對我們來說非常重要的一個塊是代碼塊。已經有一個用於代碼塊的原生塊。它基本上將代碼放在一個

<code>标签中,并且来自Gutenberg的内容默认情况下已经转义。</code>我們花哨的代碼塊允許我們選擇它的語言,突出顯示某些行,並提供自定義標籤。這在我們舊的編輯器中通過HTML屬性都是可能的,因此這個塊只是在所有這些之上提供了一個不錯的UI。



<p>該塊非常特定於CSS-Tricks,因此開源它並沒有多大意義。但我創建的另一個塊是開源的,那就是CodePen嵌入塊。我在CodePen博客上寫過關於它的事情。</p>



<p>它允許你粘貼一個CodePen URL,它會轉換成一個CodePen嵌入。 oEmbed默認情況下已經這樣做了,但是使用這個插件,你可以控制所有內容,例如高度、主題和默認選項卡。</p>



<p>在創作時實際看到嵌入的Pens非常棒!</p>



<h3 id="未解決的挑戰">未解決的挑戰</h3>



<p>目前最大的挑戰是處理圖像。在舊的編輯器中,我們集成了一個非常非常花哨的Cloudinary設置。圖像會自動上傳到Cloudinary,斷點會以編程方式確定,會創建多個尺寸,會創建響應式圖像語法,最終出現在HTML中的是具有Cloudinary託管圖像的完美的響應式圖像語法。這使我們能夠利用CDN並以最佳格式提供圖像。</p>



<p>使用Gutenberg創建的文章中沒有發生這種情況。 ?</p>



<p>我需要找到或開發一個新的系統,該系統可以在網站的任何地方很好地處理圖像,並且理想情況下使用更易於維護的非定制系統。我可能會使用Cloudinary來解決這個問題,我可能會嘗試其他服務,我可能會讓WordPress直接處理它,由Jetpack Site Accelerator支持。還不確定。總是有事情要做。</p>



<ol><li>我看到WordPress本身也參與了塊腳手架遊戲。他們的“create-wordpress-block”概念已經進入Gutenberg存儲庫本身,你可以用`npm init @wordpress/block [options] [slug]`啟動它。</li></ol>

以上是gutenberging的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
什麼是CSS網格?什麼是CSS網格?Apr 30, 2025 pm 03:21 PM

CSS網格是創建複雜,響應式Web佈局的強大工具。它簡化了設計,提高可訪問性並提供了比舊方法更多的控制權。

什麼是CSS Flexbox?什麼是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

我們如何使用CSS使網站迅速響應?我們如何使用CSS使網站迅速響應?Apr 30, 2025 pm 03:19 PM

本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

CSS盒裝屬性有什麼作用?CSS盒裝屬性有什麼作用?Apr 30, 2025 pm 03:18 PM

本文討論了CSS盒裝屬性,該屬性控制了元素維度的計算方式。它解釋了諸如Content-Box,Border-Box和Padding-Box之類的值,以及它們對佈局設計和形式對齊的影響。

我們如何使用CSS動畫?我們如何使用CSS動畫?Apr 30, 2025 pm 03:17 PM

文章討論使用CSS,關鍵屬性並與JavaScript結合創建動畫。主要問題是瀏覽器兼容性。

我們可以使用CSS向我們的項目添加3D轉換嗎?我們可以使用CSS向我們的項目添加3D轉換嗎?Apr 30, 2025 pm 03:16 PM

文章討論了Web項目的3D轉換,關鍵屬性,瀏覽器兼容性和性能注意事項的討論。 (角色計數:159)

我們如何在CSS中添加梯度?我們如何在CSS中添加梯度?Apr 30, 2025 pm 03:15 PM

文章討論了使用CSS梯度(線性,徑向,重複)來增強網站視覺效果,添加深度,焦點和現代美學。

CSS中的偽元素是什麼?CSS中的偽元素是什麼?Apr 30, 2025 pm 03:14 PM

文章討論了CSS中的偽元素,它們在增強HTML樣式方面的使用以及與偽級的差異。提供實用的例子。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器