Jadual Kandungan
Jadual Kandungan
Komponen asas Frontity
Bahagian 1: Memahami Struktur Tema Mars
Komponen Root Tema ( /src/index.js )
Komponen Tema ( /src/components/index.js )
Bahagian 2: Bekerja dengan Komponen Senarai
Memaparkan senarai catatan
Memasuki senarai jawatan
Memaparkan catatan tunggal
Bahagian 3: Pautan, Menu, dan Imej Pilihan
Komponen pautan ( src/components/link.js )
Menu Frontity ( src/components/nav.js )
Komponen Imej Pilihan ( /src/components/featured-media.js )
Bahagian 4: Menggayakan Projek Frontity
Menggunakan komponen gaya
Menggunakan prop CSS
Menggunakan komponen
Bahagian 5: Menyesuaikan tema Frontity Mars
Bahagian 6: Sumber dan Pengakuan
Kesimpulan: Pemikiran dan Refleksi Akhir
Rumah hujung hadapan web tutorial css Tema Mars: Melihat dalam Tema WordPress Headless Frontity

Tema Mars: Melihat dalam Tema WordPress Headless Frontity

Mar 20, 2025 am 09:18 AM

Tema Mars: Melihat dalam Tema WordPress Headless Frontity

Artikel ini dimulakan sebelum pengambilalihan Frontity dan pasukannya. Pengasas Frontity merancang untuk memindahkan rangka kerja ke dalam projek yang didorong oleh komuniti, memastikan kestabilannya, operasi bebas bug, dan dokumentasi komprehensif. Seperti projek sumber terbuka yang lain, Frontity akan tetap bebas, menawarkan peluang untuk sumbangan dan peningkatan masyarakat. Butiran lanjut boleh didapati di FAQ mereka.

Artikel terdahulu saya terperinci mewujudkan tapak WordPress tanpa kepala dengan Frontity dan secara ringkas memeriksa struktur failnya. Artikel ini memasuki pakej @frontity/mars-theme (tema Mars), menyediakan panduan langkah demi langkah untuk penyesuaian. Tema Mars berfungsi sebagai titik permulaan yang sangat baik, menjadi tema lalai Frontity, sama seperti WordPress's Twenty Twenty-One.

Kami akan meneroka komponen teras tema Mars, termasuk "blok bangunan" nya, dan memeriksa pelbagai komponen yang termasuk dalam pakej. Kami akan meliputi fungsi, operasi, dan gaya dengan contoh praktikal.

Mari mulakan!

Jadual Kandungan

  • Pengenalan: Memahami blok bangunan Frontity
  • Bahagian 1: Meneroka Struktur Tema Mars
  • Bahagian 2: Menggunakan komponen senarai
  • Bahagian 3: Pautan, Menu, dan Imej Pilihan
  • Bahagian 4: Menggayakan Projek Frontity
  • Bahagian 5: Menyesuaikan tema Frontity Mars
  • Bahagian 6: Sumber dan Pengakuan
  • Kesimpulan: Pemikiran dan Refleksi Akhir

Komponen asas Frontity

Mari kita kembali semula struktur fail projek frontity dari artikel sebelumnya, menonjolkan komponen teras Frontity: frontity.settings.js , package.json , dan folder packages/mars-theme . Fail package.json menyediakan maklumat projek penting, termasuk nama, penerangan, pengarang, dan kebergantungan. Pakej utama termasuk:

  • frontity : Pakej utama yang mengandungi kaedah pembangunan aplikasi depan dan CLI.
  • @frontity/core : Mengendalikan bundling, rendering, gabungan, transpiling, dan berkhidmat. Akses langsung biasanya tidak diperlukan untuk pembangunan aplikasi. Senarai lengkap adalah dalam dokumentasi depan.
  • @frontity/wp-source : Sambungkan ke API REST WordPress, mengambil data untuk tema Mars.
  • @frontity/tiny-router : Mengurus window.history and Routing.
  • @frontity/html2react : Menukar HTML untuk bertindak balas, menggunakan pemproses untuk menggantikan bahagian HTML dengan komponen React.

Inti Frontity, atau @frontity/package (juga dikenali sebagai "blok bangunan"), termasuk perpustakaan komponen React yang berguna di @frontity/components , mengeksport komponen seperti Link , Auto Prefetch , Image , Props , Iframe , Switch , dan fungsi dan objek lain. Deskripsi terperinci dan maklumat sintaks adalah dalam API Rujukan Pakej.

Dokumentasi Frontity menerangkan proses permulaan projek: semua pakej yang ditakrifkan di frontity.settings.js diimport oleh @frontity/file-settings , dan tetapan dan eksport mereka digabungkan oleh @frontity/core ke dalam satu kedai. Kedai ini membolehkan akses ke negeri dan tindakan pakej yang berbeza semasa pembangunan menggunakan @frontity/connect , Pengurus Negeri Frontity.

Seterusnya, kami akan mengkaji bagaimana blok bangunan ini digunakan dalam tema Mars untuk membuat projek frontity berfungsi dengan titik akhir WordPress tanpa kepala.

Bahagian 1: Memahami Struktur Tema Mars

Sebelum penyesuaian, mari kita membiasakan diri dengan struktur fail tema mars ( @frontity/mars-theme ):

 <code>packages/mars-theme/ |__ src/ |__ index.js |__ components/ |__ list/ |__ index.js |__ list-item.js |__ list.js |__ pagination.js |__ featured-media.js |__ header.js |__ index.js |__ link.js |__ loading.js |__ menu-icon.js |__ menu-model.js |__ menu.js |__ nav.js |__ page-error.js |__ post.js |__ title.js</code>
Salin selepas log masuk

Komponen utama tema Mars adalah: /src/index.js , src/list/index.js , dan src/components/index.js . Dokumentasi Frontity memberikan penjelasan terperinci tentang bagaimana komponen -komponen ini ditakrifkan dan saling berkaitan. Mari kita fokus pada tiga yang paling penting: akar, tema, dan senarai.

Komponen Root Tema ( /src/index.js )

Fail src/index.js (akar tema) adalah penting. Ia berfungsi sebagai titik masuk, mensasarkan a<div> Dalam markup tapak untuk menyuntik akar semua pakej yang dipasang. Tema Frontity mengeksport <code>root dan pakej yang diperlukan ke dalam DOM. Dokumentasi Frontity menggambarkan ini menggunakan slot dan mengisi corak extensibility. Contoh dari pakej tema Mars menunjukkan bagaimana ia memulakan komponen akar:

 // mars-theme/src/components/index.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk
Salin selepas log masuk

Pakej eksport komponen akar termasuk roots , fills , state , actions , dan libraries . Maklumat lanjut mengenai komponen root berada dalam dokumentasi frontity.

Komponen Tema ( /src/components/index.js )

Komponen tema frontity adalah komponen peringkat akar utama yang dieksport oleh ruang nama Theme . Ia dibalut dengan fungsi @frontity/connect , menyediakan akses kepada state , actions , dan libraries . Ini membolehkan komponen tema membaca keadaan, menggunakan tindakan, dan menggunakan kod dari pakej lain.

 // mars-theme/src/components/index.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk
Salin selepas log masuk

Contoh ini, dari tema Mars /src/components/index.js , menggunakan state.source.get() untuk mendapatkan data untuk membuat komponen seperti senarai dan pos.

Bahagian 2: Bekerja dengan Komponen Senarai

Bahagian sebelumnya meliputi komponen peringkat tema. Sekarang, mari kita periksa komponen tertentu: senarai.

Komponen Senarai dieksport oleh src/components/list/index.js , menggunakan @loadable/components untuk pemisahan kod. Komponen hanya memuat apabila pengguna melihat senarai; Ia tidak diberikan apabila melihat satu siaran.

Memaparkan senarai catatan

Komponen src/components/list/list.js membuat senarai jawatan menggunakan state.source.get(link) dan medan items .

 // src/komponen/senarai/senarai.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Fungsi connect menyediakan akses kepada keadaan global. list-item.js dan pagination.js juga diimport.

Memasuki senarai jawatan

Komponen Pagination ( src/components/list/pagination.js ) membolehkan pengguna menavigasi antara halaman jawatan.

 // src/komponen/senarai/pagination.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Fungsi connect memberikan akses kepada keadaan dan tindakan global.

Memaparkan catatan tunggal

Komponen Post memaparkan jawatan dan halaman tunggal. Strukturnya sama, kecuali jawatan termasuk metadata (pengarang, tarikh, kategori, dll.).

 // src/komponen/post.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Rendering bersyarat memastikan metadata dipaparkan hanya untuk jawatan, dan imej yang dipaparkan ditunjukkan berdasarkan tetapan tema.

Bahagian 3: Pautan, Menu, dan Imej Pilihan

Komponen senarai adalah penting untuk memaparkan jawatan. Mari kita periksa komponen penting lain.

Komponen MarsLink ( src/components/link.js ) adalah pembalut di sekitar komponen @frontity/components/link .

 // src/komponen/link.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Ia termasuk pengendali untuk menutup menu mudah alih apabila pautan diklik.

Komponen Nav ( src/components/nav.js ) melangkah ke atas item menu yang ditakrifkan di frontity.settings.js atau keadaan frontity, URL yang sepadan dan memaparkan komponen dalam tajuk.

 // src/komponen/nav.js
// ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Fungsi connect menyediakan akses kepada keadaan. Komponen menu tambahan ( menu.js dan menu-modal.js ) disediakan untuk paparan mudah alih.

Media yang diketengahkan ditakrifkan dalam theme.state.featured komponen root.state.featured. Kod penuh berada di /src/components/featured-media.js .

Bahagian 4: Menggayakan Projek Frontity

Gaya di frontity berbeza dari WordPress. Frontity menyediakan komponen yang boleh diguna semula yang dibina dengan komponen dan emosi gaya, perpustakaan CSS-in-JS.

Menggunakan komponen gaya

Komponen gaya dicipta menggunakan fungsi styled emosi. Contohnya:

 // Membuat komponen gaya butang
import {gaya} dari "frontity";

butang const = styled.div`
  Latar Belakang: LightBlue;
  Lebar: 100%;
  Teks-Align: Pusat;
  Warna: Putih;
`;
Salin selepas log masuk

Menggunakan prop CSS

Prop css membolehkan gaya inline menggunakan literals templat.

 / * Menggunakan sebagai css prop */
import {css} dari "frontity";

const pinkbutton = () => (
  <div css="{css`background:" pink>
    Butang merah jambu saya
  </div>
);
Salin selepas log masuk

Menggunakan<global></global> komponen

The<global></global> Komponen menggunakan gaya di seluruh tapak.

 // ... (kod yang ditinggalkan untuk keringkasan) ...
Salin selepas log masuk

Bahagian 5: Menyesuaikan tema Frontity Mars

Bahagian ini menunjukkan penyesuaian tema Marikh. (Contoh terperinci dan coretan kod yang ditinggalkan untuk keringkasan; rujuk respons asal untuk contoh kod lengkap.) Penyesuaian utama termasuk:

  • Menamakan semula pakej tema.
  • Navigasi refactoring dengan pengambilan menu dinamik (menggunakan plugin menu WP-Rest-API V2).
  • Mengubah struktur fail untuk organisasi yang lebih baik.
  • Menambah komponen footer tersuai.
  • Menyesuaikan tajuk tema.
  • Menambah<global></global> komponen gaya.
  • Melaksanakan tipografi cecair.
  • Menambah Webfonts.
  • Halaman dan jawatan gaya (termasuk gaya blok Gutenberg).

Bahagian 6: Sumber dan Pengakuan

(Senarai sumber dan kredit yang ditinggalkan untuk keringkasan; rujuk respons asal untuk senarai lengkap.)

Kesimpulan: Pemikiran dan Refleksi Akhir

Eksplorasi Frontity dan tema Mars ini menyoroti keramahan pemula, penyelenggaraan yang rendah, dan keserasian dengan tema blok eksperimen. Walau bagaimanapun, kos hosting semasa dan bidang untuk penambahbaikan dokumentasi diperhatikan. Penjelajahan lebih lanjut mengenai pembangunan tapak tanpa kepala menggunakan Gatsby dan Frontity, bersama -sama dengan evolusi tema blok WordPress, dirancang.

Atas ialah kandungan terperinci Tema Mars: Melihat dalam Tema WordPress Headless Frontity. 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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan 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)

Bekerja dengan Caching Graphql Bekerja dengan Caching Graphql Mar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Membina aplikasi Ethereum menggunakan redwood.js dan fauna Membina aplikasi Ethereum menggunakan redwood.js dan fauna Mar 28, 2025 am 09:18 AM

Dengan pendakian harga bitcoin baru -baru ini lebih dari 20k $ USD, dan baru -baru ini melanggar 30k, saya fikir ia patut mengambil menyelam yang mendalam kembali ke dalam mewujudkan Ethereum

Membuat Bragdoc anda sendiri dengan sebelas Membuat Bragdoc anda sendiri dengan sebelas Mar 18, 2025 am 11:23 AM

Tidak kira tahap tahap anda sebagai pemaju, tugas yang kami selesaikan -sama ada besar atau kecil -membuat kesan besar dalam pertumbuhan peribadi dan profesional kami.

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Ia &#039; s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That &#039; s seperti ini.

Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

Saya &#039;

Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

See all articles