Rumah >hujung hadapan web >tutorial js >Membina jargons.dev [# Skrip Editor Word

Membina jargons.dev [# Skrip Editor Word

Linda Hamilton
Linda Hamiltonasal
2024-12-13 08:07:10221semak imbas

Building jargons.dev [# The Word Editor Script

Ingat "The Word Editor"!? Berikut ialah skrip yang bertanggungjawab melaksanakan fungsi hujung ke hujungnya yang membenarkan menulis perubahan melalui antara muka pengguna kepada repositori bercabang pengguna.

Pecahan Fungsi

Editor Word yang diberi kuasa oleh skrip harus melaksanakan dua (2) fungsi, mengambil beberapa langkah tertentu

  1. Tulis Perkataan Baharu - pada asasnya untuk menambah perkataan baharu pada kamus; lakukan ini dalam langkah berikut...
    • Dapatkan fail templat perkataan (.md) yang telah ditetapkan
    • Isi pemegang tempat templat dengan tajuk dan kandungan perkataan yang dikumpul untuk mencipta fail word.mdx dalam direktori perkataan yang sesuai src/pages/browse
    • dan lakukan perubahan kepada cawangan/ref perubahan yang telah ditetapkan pada repositori bercabang pengguna
  2. Edit/Kemas kini Perkataan Sedia Ada - ubah suai perkataan sedia ada dalam kamus, ia melakukannya dalam langkah berikut...
    • Dapatkan perkataan sedia ada daripada jargons.dev pengguna (melihat dalam direktori perkataan src/pages/browse)
    • Menghuraikan kandungannya dan membuat suntingan yang diperlukan
    • dan dan lakukan perubahan kepada cawangan/ref perubahan yang telah ditetapkan pada repositori bercabang pengguna

Pecahan mengilhamkan penciptaan fungsi pembantu dan utiliti berikut.

  • writeNewWord - fungsi yang menerima tajuk perkataan dan kandungan antara lain, memanfaatkan contoh GitHub yang disahkan pengguna, ia melaksanakan operasi tulis iaitu menulis fail baharu (word.mdx) pada percabangan jargons.dev pada akaun pengguna bagi pihak mereka melalui "PUT /repos/{owner}/{repo}/contents/{path}" titik akhir.
  • getExistingWord - fungsi yang hanya mengambil semula kandungan fail perkataan sedia ada pada repositori bercabang pengguna, dengan tujuan untuk memanfaatkannya untuk diedit. Ia melakukan ini dengan mengambil perkataan sebagai hujah dan menggabungkannya dalam param laluan (contoh src/pages/browse/${normalizeAsUrl(word)}.mdx) permintaan yang dibuatnya ke titik akhir "GET /repos/{owner} /{repo}/contents/{path}"; Adalah penting untuk menyatakan bahawa saya terpaksa membuat beberapa pelarasan pada data yang dikembalikan daripada pembantu ini atas sebab penggunaan, pelarasan adalah seperti berikut

    • Menambahkan sifat tajuk: objek respons.data yang datang daripada pertanyaan kepada titik akhir "GET /repos/{owner}/{repo}/contents/{path}" tidak mempunyai sifat tajuk (ini ialah perkataan itu sendiri);
    • Menambahkan sifat content_decoded: sifat response.data.content memegang kandungan utama perkataan yang diambil, TETAPI ia datang dalam format "base64"; jadi saya fikir adalah lebih baik jika fungsi memanfaatkannya dalam format sedia penggunaan yang boleh digunakan serta-merta tanpa perlu menukar semasa penggunaan. Ini saya lakukan dengan kod di bawah...

      const { content, ...responseData } = response.data;
      
      return {
        title: word,
        content,
        content_decoded: Buffer.from(content, "base64").toString("utf-8"),
        ...responseData
      };
      
  • updateExistingWord - dengan nama awal editExistingWord dan ditukar kepada nama semasa dalam jargonsdev/jargons.dev#34, fungsi ini menjalankan operasi yang serupa dengan writeNewWord tetapi ia terlebih menulis kandungan perkataan sedia ada dalam fail tertentu dengan menggantikan fail dengan fail lain dengan kandungan yang dikemas kini. Ini juga dilakukan melalui akaun pengguna bagi pihak mereka melalui titik akhir "PUT /repos/{owner}/{repo}/contents/{path}".

  • writeFileContent - pembantu ini seperti yang tersirat dalam namanya melakukan satu perkara — ia menulis kandungan fail untuk perkataan yang diserahkan dalam permintaan yang dibuat oleh kedua-dua writeNewWord dan updateExistingWord ke API GitHub, ia melakukan ini dengan mengambil tajuk perkataan dan kandungan (iaitu definisi perkataan) sebagai pembolehubah dan menjana kandungan daripada templat yang memanfaatkannya menggantikan kandungan pemegang tempat dalam ia.

PR itu

Membina jargons.dev [# Skrip Editor Word feat: melaksanakan skrip `editor perkataan` #18

Membina jargons.dev [# Skrip Editor Word
babblebey disiarkan pada

Permintaan Tarik ini melaksanakan skrip editor perkataan; fungsi utama skrip ini adalah untuk membenarkan menambah perkataan baharu, mendapatkan semula dan mengemas kini perkataan sedia ada yang merupakan fail .mdx individu yang berada dalam direktori src/pages/browse projek. Skrip ini memanfaatkan kami semua fungsi pembantu yang diperlukan untuk melaksanakan operasi ini.

Perubahan Dibuat

  • Melaksanakan fungsi writeNewWord - fungsi ini mengambil 3 params iaitu userOctokit, forkedRepoDetails, dan perkataan; ia memanfaatkan contoh userOctokit untuk melaksanakan operasi tulis iaitu menulis fail baharu (newWord.mdx) pada percabangan projek kami pada akaun pengguna bagi pihak pengguna melalui "PUT /repos/{owner}/{repo}/ kandungan/{path}" titik akhir
  • Melaksanakan fungsi getExistingWord - fungsi ini membantu mendapatkan semula data perkataan sedia ada dalam garpu projek kami pada akaun pengguna dengan memanggil titik akhir "GET /repos/{owner}/{repo}/contents/{path}"; ia mengembalikan objek yang membawa sifat berikut yang paling kami minati...
    • tajuk - tajuk perkataan sedia ada - infak ini ialah data tersuai yang dilampirkan pada respons.data daripada panggilan yang dibuat ke titik akhir
    • laluan - laluan ke fail perkataan sedia ada
    • sha - SHA unik perkataan sedia ada
  • Melaksanakan fungsi editExistingWord - fungsi ini mengambil 3 params iaitu userOctokit, forkedRepoDetails, dan perkataan (memegang sifat: laluan, sha, tajuk dan kandungan); ia memanfaatkan contoh penggunaOctokit untuk melaksanakan operasi edit iaitu mengemas kini fail sedia ada pada percabangan projek kami pada akaun pengguna bagi pihak pengguna melalui "PUT /repos/{owner}/{repo}/contents/{path} yang sama " titik akhir
  • Fungsi pembantu writeFileContent yang dilaksanakan - fungsi ini membantu menulis kandungan untuk fail perkataan kamus kami yang menjananya daripada pemalar tambahan lain dalam src/lib/template/word.md.js

Siaran Skrin/Tangkapan Skrin

terlalu malas untuk merakam siaran skrin untuk yang ini ?, tetapi percayalah ? berkesan ?‍?

Lihat di GitHub

Atas ialah kandungan terperinci Membina jargons.dev [# Skrip Editor Word. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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