Rumah hujung hadapan web tutorial css Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress

Apr 02, 2025 am 04:27 AM

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress

Perlu memaparkan dokumentasi secara langsung dalam editor WordPress? Artikel ini meneroka pendekatan yang optimum, memanfaatkan markdown untuk pengurusan dokumentasi dan penyetempatan dokumentasi yang diperkemas.

Walaupun komponen React dan HTML mungkin kelihatan intuitif, mereka dapat dengan cepat menjadi sukar dan sukar untuk dikekalkan untuk dokumentasi yang luas. Pertimbangkan contoh ini dari artikel sebelumnya yang menunjukkan dokumentasi dalam modal:

 const cacheControldescription = () => {
  kembali (
    <p>Pengepala kawalan cache akan mengandungi nilai maksimum maksimum minimum dari semua medan/arahan yang terlibat dalam permintaan, atau <code>no-store if the max-age is 0</code>
  )
}</p>

Markdown menawarkan penyelesaian yang lebih bersih. Di atas boleh diubahsuai ke dalam fail markdown ( /docs/cache-control.md ):

 Pengepala kawalan cache akan mengandungi nilai maksimum maksimum minimum dari semua bidang/arahan yang terlibat dalam permintaan, atau `no-store` jika max-usia 0

Markdown vs HTML: Kelebihan dan Kekurangan

Markdown memudahkan proses, tetapi tidak mempunyai sokongan penyetempatan terbina dalam, tidak seperti komponen React yang membolehkan terjemahan mudah menggunakan fail periuk. Oleh kerana penyetempatan adalah penting, kami akan menangani batasan ini. Artikel ini bertujuan untuk mencapai dua objektif utama:

  1. Menggunakan markdown untuk dokumentasi dalam blok editor WordPress.
  2. Melaksanakan terjemahan dokumentasi berdasarkan bahasa pengguna.

Memuatkan kandungan markdown

Dengan /docs/cache-control.md dicipta, kami boleh mengimport dan menjadikan kandungan HTML-convertednya:

 import cachecontroldocumentation dari '../docs/cache-control.md';

const cacheControldescription = () => {
  kembali (
    <div dangerouslysetinnerhtml="{{" __html: cachecontroldocumentation></div>
  );
}

Ini bergantung pada Webpack, modul modul teras editor WordPress (versi 4.42). Kami akan menyesuaikan konfigurasi WebPack untuk mengendalikan markdown dan pemuat HTML.

Buat webpack.config.js di akar blok:

 const defaultConfig = memerlukan ('@wordpress/scripts/config/webpack.config');

modul.exports = {
  ... defaultconfig,
  modul: {
    ... defaultconfig.module,
    Kaedah: [
      ... defaultconfig.module.rules,
      {
        Ujian: /\.md$/,
        Gunakan: [
          {loader: "html-loader"},
          {loader: "markdown-loader"}
        ]
      }
    ],
  },
};

Pasang pakej yang diperlukan:

 Pemasangan NPM--Save-Dev Markdown-Loader HTML-Loader

Untuk organisasi yang lebih baik, tambahkan alias webpack ( @docs menunjuk ke /docs ):

 const Path = memerlukan ('jalan');
config.resolve.alias ['@docs'] = path.resolve (process.cwd (), 'docs/');

Sekarang import mudah untuk:

 import CacheControldocumentation dari '@docs/cache-control.md';

Dokumentasi penyetempatan

Oleh kerana terjemahan markdown langsung tidak boleh dilaksanakan, kami membuat fail markdown khusus bahasa:

  • /docs/en/cache-control.md
  • /docs/fr/cache-control.md
  • /docs/zh/cache-control.md dll.

Pendekatan ini juga boleh mengendalikan variasi khusus rantau (misalnya, /docs/en_US/cache-control.md ).

Mengambil semula bahasa pengguna

Bahasa pengguna diperoleh menggunakan get_locale() dan dihuraikan untuk mengekstrak kod bahasa:

 fungsi get_locale_language (): string {
  $ localeparts = explode ('_', get_locale ());
  kembali $ localeparts [0];
}

Kod bahasa ini diluluskan ke blok melalui wp_localize_script() :

 wp_localize_script (
  $ blockscriptregistrationName,
  'GraphqlapacacheControl',
  [
    'userlang' => get_locale_language (),
  ]
);

Kini boleh diakses di blok sebagai window.graphqlApiCacheControl.userLang .

Import dinamik

Oleh kerana bahasa pengguna hanya diketahui semasa runtime, kami menggunakan import dinamik:

 const lang = window.graphqlapacachecontrol.userlang;
import (`@docs/$ {lang}/cache-control.md`) .then (module => {
  // ...
});

Kandungan diakses melalui obj.default :

 const CacheControlContent = import (`@docs/$ {lang}/cache-control.md`) .theTHen (obj => obj.default);

Ini terkandung dalam fungsi getMarkdownContent :

 const getmarkdowncontent = (fileName, lang) => {
  Kembali Import (/ * WebPackChunkName: "Docs/[Request]" */`@docs/$ {lang}/$ {fileName} .md`)
    .the (obj => obj.default);
};

The /* webpackChunkName: "docs/[request]" */ Comment Memastikan Pengurusan Bahagian Terorganisir.

Menetapkan jalan awam

publicPath adalah penting untuk webpack untuk mencari ketulan yang dimuatkan secara dinamik. Ini boleh dikodkan, ditetapkan melalui pembolehubah persekitaran, atau diluluskan pada masa runtime. Untuk contoh ini, kami akan lulus:

 $ blockPublicPath = plugin_dir_url (__ file__). '/blok/Cache-Control/binaan/';
wp_localize_script (
  $ blockscriptregistrationName,
  'GraphqlapacacheControl',
  [
    // ...
    'PublicPath' => $ BlockPublicPath,
  ]
);

Kemudian tetapkannya di sebelah JavaScript:

 __webpack_public_path__ = window.graphqlapicachecontrol.publicpath;

Sandaran bahasa lalai

Mekanisme sandaran mengendalikan terjemahan yang hilang:

 const getmarkdowncontentorusedefault = (fileName, defaultLang, lang) => {
  Kembali getmarkdownContent (nama fail, lang)
    .catch (err => getMarkDownContent (FileName, DefaultLang));
};

Mengintegrasikan dengan modal

Akhirnya, kandungan markdown diintegrasikan ke dalam modal:

 import {usestate, useeffect} dari '@wordpress/element';
// ... import lain

const CacheControlContentModal = (props) => {
  // ...
  const [page, setPage] = useState ([]);

  useeffect (() => {
    getmarkdownContentorusedefault (FileName, DefaultLang, Lang) .then (nilai => {
      setPage (nilai);
    });
  }, []);

  kembali (
    <contentmodal content="{page}"></contentmodal>
  );
};

Pendekatan ini menyediakan sistem dokumentasi yang mantap, dikekalkan, dan setempat dalam editor WordPress.

Atas ialah kandungan terperinci Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Mejiro Ryan Build Guide | Uma Musume Pretty Derby
1 bulan yang lalu By Jack chen
Rimworld Odyssey Cara Ikan
4 minggu yang lalu By Jack chen
Apakah had transaksi untuk pengguna asing di Alipay?
4 minggu yang lalu By 下次还敢

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1504
276
Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Apakah perbezaan antara paparan: inline, paparan: blok, dan paparan: blok sebaris? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Gaya yang dikunjungi pautan berbeza dengan CSS Gaya yang dikunjungi pautan berbeza dengan CSS Jul 11, 2025 am 03:26 AM

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Bagaimana untuk membuat imej responsif menggunakan CSS? Bagaimana untuk membuat imej responsif menggunakan CSS? Jul 15, 2025 am 01:10 AM

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Apakah ketidakkonsistenan penyemak imbas CSS biasa? Apakah ketidakkonsistenan penyemak imbas CSS biasa? Jul 26, 2025 am 07:04 AM

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Huraikan harta benda `opacity` Huraikan harta benda `opacity` Jul 15, 2025 am 01:23 AM

Opacity adalah atribut dalam CSS yang mengawal ketelusan keseluruhan elemen, dengan nilai dari 0 (sepenuhnya telus) hingga 1 (sepenuhnya legap). 1. Ia sering digunakan untuk kesan memudar imej, dan meningkatkan pengalaman interaktif dengan menetapkan peralihan kelegapan; 2. Membuat lapisan topeng latar untuk meningkatkan kebolehbacaan teks; 3. Maklum balas visual butang kawalan atau ikon dalam keadaan kurang upaya. Perhatikan bahawa ia memberi kesan kepada semua elemen kanak -kanak, tidak seperti RGBA, yang hanya mempengaruhi bahagian warna yang ditentukan. Animasi yang lancar boleh dicapai dengan peralihan, tetapi penggunaan yang kerap boleh menjejaskan prestasi. Adalah disyorkan untuk menggunakannya dalam kombinasi dengan perubahan atau perubahan. Aplikasi rasional kelegapan dapat meningkatkan hierarki halaman dan interaktiviti, tetapi ia harus mengelakkan campur tangan dengan pengguna.

Apakah harta tanah aksen? Apakah harta tanah aksen? Jul 26, 2025 am 09:25 AM

Accent-color adalah atribut yang digunakan dalam CSS untuk menyesuaikan warna-warna sorot elemen bentuk seperti kotak pilihan, butang radio dan slider; 1. Ia secara langsung mengubah warna lalai keadaan yang dipilih dari kawalan borang, seperti menukar tanda semak biru kotak semak menjadi merah; 2. Unsur yang disokong termasuk kotak input Type = "Checkbox", Type = "Radio" dan Type = "Range"; 3. Menggunakan warna aksen boleh mengelakkan gaya tersuai kompleks dan struktur dom tambahan, dan mengekalkan kebolehcapaian asli; 4. Ia umumnya disokong oleh pelayar moden, dan pelayar lama perlu diturunkan; 5. Set Accent-Col

Huraikan `: mempunyai ()` pseudo-class (pemilih induk) Huraikan `: mempunyai ()` pseudo-class (pemilih induk) Jul 15, 2025 am 12:32 AM

The: mempunyai () pseudo-classincsallowstargetingingaparentelementbasedonitschildelements.itworksbyusingthesyntaxparent: mempunyai (kanak-kanak-selektor) toapplyStylesconditionally.forexample, div: mempunyai (img)

Memahami harta saiz kotak CSS: kotak kandungan vs sempadan sempadan Memahami harta saiz kotak CSS: kotak kandungan vs sempadan sempadan Jul 12, 2025 am 03:21 AM

Mengapa kotak dengan lebar 100px dipaparkan lebih luas? Kerana model kotak kandungan digunakan secara lalai, lebar sebenar termasuk kandungan, padding dan sempadan. 1. Secara lalai, kotak-kotak adalah kotak kandungan, dan set lebar hanya merujuk kepada kawasan kandungan. Padding dan sempadan akan menambah lebar keseluruhan tambahan; 2. Gunakan kotak sempadan untuk membuat set lebar termasuk kandungan, padding dan sempadan, dan susun atur lebih intuitif; 3. Adalah disyorkan untuk menetapkan kotak-kotak: kotak sempadan di seluruh dunia untuk mengelakkan susun atur susun atur, yang sangat sesuai untuk reka bentuk responsif; 4. Conte boleh digunakan dalam senario khas

See all articles