Jadual Kandungan
reka bentuk
Menetapkan pemprosesan
Sapukan tema
Tentukan fungsi
Alat dan perpustakaan yang saya gunakan
Rumah hujung hadapan web tutorial css Bagaimana saya membuat cantik kod dalam dua hari

Bagaimana saya membuat cantik kod dalam dua hari

Apr 19, 2025 am 10:19 AM

Bagaimana saya membuat cantik kod dalam dua hari

Baru -baru ini, saya merancang gambarajah wireframe alat pengindahan kod. Keesokan harinya, saya memutuskan untuk menjadikannya alat sebenar. Seluruh projek telah siap dalam masa kurang dari dua hari.

Saya telah berfikir tentang membina alat pengindahan kod baru. Idea ini tidak unik, tetapi setiap kali saya menggunakan alat orang lain, saya mendapati diri saya memohon semula tetapan yang sama berulang kali dan mengelakkan iklan setiap kali . ?? ‍

Saya mahukan alat yang mudah dan mudah digunakan tanpa sebarang masalah, jadi minggu lepas saya mengambil beberapa kertas dan mula melukis wireframe. Saya sangat suka melukis wireframes dengan tangan. Direka dengan pensil dan kertas, otak saya berfungsi lebih baik daripada menatap skrin.

Saya segera diilhamkan selepas melukis wireframe. Keesokan harinya, saya mengambil masa keluar dari kerja harian saya dan menjadikannya realiti. ??‍?

Lihat Keputusan

reka bentuk

Saya tahu saya mahu editor kod menjadi tumpuan alat, jadi saya membuat bar menu tipis di bahagian atas untuk mod kawalan (mis. HTML, CSS, JavaScript) dan tetapan. Saya juga menambah butang "Mengenai".

Editor itu sendiri mengambil sebahagian besar skrin, tetapi ia menggabungkan dengan baik dengan latar belakang supaya anda tidak menyedarinya. Daripada menggunakan arahan untuk membuang ruang, saya menggunakan pemegang tempat yang hilang apabila anda mula menaip.

Di bahagian bawah, saya mencipta bar status yang memaparkan statistik masa nyata mengenai kod, termasuk mod semasa, tetapan lekukan, kiraan talian, bilangan aksara, dan saiz dokumen dalam bait. Terdapat butang yang jelas dan bersih dan salin di sebelah kanan bar status. Di tengah -tengah adalah logo yang memamerkan perkhidmatan saya sendiri.

Saya tidak fikir ramai pemaju akan menulis kod pada telefon mereka, tetapi saya masih mahu alat ini dijalankan pada peranti mudah alih. Sebagai tambahan kepada teknik responsif yang biasa digunakan, saya juga perlu memantau saiz tetingkap dan menyesuaikan kedudukan tab apabila skrin menjadi terlalu sempit.

Saya menggunakan unit Flexbox dan Viewport untuk saiz semula menegak. Ini sebenarnya mudah dilakukan kecuali sedikit masalah iOS. Berikut adalah pen yang menunjukkan wireframe asas. Perhatikan bagaimana kawasan teks terbentang untuk mengisi ruang yang tidak digunakan antara tajuk dan footer.

Jika anda melihat tab JavaScript, anda akan melihat masalah dan penyelesaian iOS. Saya tidak pasti bagaimana untuk mengesan ciri sedemikian, jadi sekarang ini hanya pemeriksaan peranti mudah.

Menetapkan pemprosesan

Saya mahu tetapan yang paling biasa digunakan untuk menjadi mudah diakses, tetapi juga mendedahkan tetapan lanjutan untuk setiap mod. Untuk melakukan ini, saya membuat butang Tetapan ke dalam pop timbul dengan pautan ke tetapan yang lebih maju. Selepas menukar tetapan, UI akan dikemas kini dengan serta -merta dan tetapan akan disimpan ke LocalStorage untuk masa yang lama.

Saya menggunakan vue.js di sini. Setiap tetapan dipetakan ke harta data, dan apabila salah satu daripada mereka berubah, kemas kini UI (jika diperlukan) dan saya panggil SaveSettings (). Ia kira -kira seperti ini.

 fungsi savesettings () {
  tetapan const = {};

  // SettingStortore adalah pelbagai nama atribut yang akan berterusan // "ini" merujuk kepada model Vue semasaStostore.map (key => tetapan [key] = ini [kunci]);
  localStorage.setItem ('Tetapan', JSON.Stringify (Tetapan));
}
Salin selepas log masuk

Setiap tetapan adalah harta data yang disegerakkan dengan localStorage. Ini adalah cara penyimpanan negara yang agak primitif, jadi saya boleh mengemas kini permohonan kemudian menggunakan perpustakaan pengurusan negeri seperti VUEX.

Untuk memulihkan tetapan, saya mempunyai fungsi pemulihan () yang berjalan apabila aplikasi bermula.

 fungsi restoresettings () {
  const json = localStorage.getItem ('Tetapan');

  jika (json) {
    Cuba {
      setting const = json.parse (json);

      Object.keys (tetapan) .foreach (key => {
        jika (settingStortore.includes (kunci)) {
          Ini [kunci] = tetapan [kunci];
        }
      });
    } menangkap (err) {
      window.alert ('Ralat memuatkan tetapan sebelumnya');
    }
  }
}
Salin selepas log masuk

Fungsi ini mendapat tetapan dari LocalStorage dan menggunakannya satu demi satu, pastikan hanya tetapan yang sah di settostore diimport.

Pautan Tetapan Lanjutan membuka dialog dengan setiap tab Mod. Walaupun lebih daripada 30 tetapan secara keseluruhan, semuanya dianjurkan dan boleh diakses supaya pengguna tidak merasa terharu.

Sapukan tema

Mod gelap sangat popular pada hari -hari ini, jadi ia didayakan secara lalai. Bagi mereka yang menyukainya, terdapat juga tema warna yang cerah. Seluruh UI akan berubah kecuali popup dan dialog.

Saya telah mempertimbangkan untuk menggunakan prefers-color-scheme , yang berlaku di Firefox 67 baru-baru ini, tetapi saya memutuskan untuk menukar butang mungkin lebih baik. Sokongan penyemak imbas untuk pertanyaan keutamaan tema warna tidak begitu baik, dan pemaju pelik. (Sebagai contoh, saya menggunakan macOS dengan tema yang cerah, tetapi editor teks saya gelap.)

Tentukan fungsi

Sangat mudah untuk menghasilkan titik ciri. Sukar untuk mengehadkan ciri -ciri versi awal. Berikut adalah ciri -ciri yang paling relevan yang saya hantar segera:

  • Mencantikkan kod HTML, CSS dan JavaScript
  • Sintaks yang menyoroti dengan padanan label/pendakap
  • Tampal atau seret dan jatuhkan fail untuk memuatkan kod
  • Mengesan keutamaan lekukan secara automatik berdasarkan kod yang disisipkan atau fail drag-and-drop
  • Tema cerah dan gelap
  • Satu klik pembersihan dan penyalinan
  • Pintasan papan kekunci
  • Kebanyakan pilihan JS mencantikkan boleh dikonfigurasikan
  • Tetapan disimpan di localStorage selama -lamanya
  • UI yang minimum, tiada iklan (hanya publisiti yang tidak mencolok untuk perkhidmatan saya sendiri)?

Saya juga menambah beberapa telur Paskah untuk bersenang -senang. Cuba menyegarkan halaman, meneroka pintasan, dan berkongsi di Facebook atau Twitter untuk mencari mereka. ?

Alat dan perpustakaan yang saya gunakan

Saya sangat suka vue.js. Ia mungkin terlalu banyak untuk projek ini, tetapi Vue CLI membolehkan saya memulakan bangunan dengan semua alat terkini dengan arahan yang mudah.

 Vue membuat kod cantik
Salin selepas log masuk

Saya tidak perlu membuang masa membina perancah, yang membantu saya membina alat ini dengan cepat. Di samping itu, VUE sangat mudah dalam statistik masa nyata, menukar tema, tetapan menukar, dan lain-lain. Saya telah menggunakan pelbagai komponen UI elemen seperti butang, elemen bentuk, popup, dan dialog.

Editor ini dikuasakan oleh Codemirror dan menggunakan gaya tersuai. Ini adalah projek yang disokong dengan baik dan hebat yang saya sangat mengesyorkan untuk penyuntingan kod dalam penyemak imbas.

Perpustakaan yang melakukan semua pengindahan dipanggil JS Beautify, yang mengendalikan JavaScript, HTML, dan CSS. JS Beautify berjalan di sisi pelanggan, jadi aplikasi ini sebenarnya tidak mempunyai backend - penyemak imbas anda melakukan semua kerja!

JS Beautify sangat mudah digunakan. Pasangnya menggunakan npm install js-beautify dan jalankan kod anda melalui fungsi yang sepadan.

 Import Kecantikan dari 'JS-Beautify';

const code = 'kod anda di sini';
tetapan const = {
  // Tetapan anda di sini
};

// html
const html = cantik.html (kod, tetapan)

// css
const css = cantik.css (kod, tetapan)

// JavaScript
const js = cantik.js (kod, tetapan)
Salin selepas log masuk

Setiap fungsi mengembalikan rentetan yang mengandungi kod cantik. Anda boleh menukar kaedah output setiap bahasa dengan lulus dalam tetapan anda sendiri.

Saya telah ditanya beberapa kali tentang Prettier, yang merupakan alat yang sama, jadi patut disebutkan bahawa saya memilih JS mencantikkan kerana ia tidak terlalu sewenang -wenang dan lebih dikonfigurasikan. Jika permintaan cukup besar, saya akan mempertimbangkan untuk menambah pilihan untuk beralih antara JS mencantikkan dan lebih cantik.

Saya telah menggunakan perpustakaan ini sebelum ini, jadi integrasi sebenarnya sangat mudah. ?

Projek ini adalah terima kasih kepada permohonan saya Surreal CMS. Jika anda mencari CMS yang sangat baik untuk laman web statik, periksa - ia percuma untuk laman peribadi, pendidikan dan bukan keuntungan!

Oh, jika anda ingin tahu editor mana yang saya gunakan ... ia adalah kod studio visual. ??‍?

Atas ialah kandungan terperinci Bagaimana saya membuat cantik kod dalam dua hari. 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

Video Face Swap

Video Face Swap

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

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 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 Java
1666
14
Tutorial PHP
1273
29
Tutorial C#
1252
24
Perbandingan pembekal bentuk statik Perbandingan pembekal bentuk statik Apr 16, 2025 am 11:20 AM

Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Bukti konsep untuk menjadikan sass lebih cepat Bukti konsep untuk menjadikan sass lebih cepat Apr 16, 2025 am 10:38 AM

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Berita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow Dom Berita Platform Mingguan: Atribut Memuat HTML, Spesifikasi ARIA Utama, dan Bergerak Dari IFRAME ke Shadow Dom Apr 17, 2025 am 10:55 AM

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Perjanjian dengan elemen seksyen Perjanjian dengan elemen seksyen Apr 12, 2025 am 11:39 AM

Dua artikel diterbitkan pada hari yang sama:

Bagaimana kami menandakan font Google dan mencipta goofonts.com Bagaimana kami menandakan font Google dan mencipta goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts adalah projek sampingan yang ditandatangani oleh isteri pemaju dan suami pereka, kedua-duanya peminat besar tipografi. Kami telah menandakan Google

Beberapa tangan dengan elemen dialog HTML Beberapa tangan dengan elemen dialog HTML Apr 16, 2025 am 11:33 AM

Ini saya melihat elemen HTML untuk kali pertama. Saya telah menyedarinya untuk seketika, tetapi Haven &#039; t mengambilnya untuk putaran lagi. Ia mempunyai cukup keren dan

Slider Multi-Thumb: Kes Umum Slider Multi-Thumb: Kes Umum Apr 12, 2025 am 10:52 AM

Bahagian pertama siri dua bahagian ini terperinci bagaimana kita boleh mendapatkan slider dua thumb. Sekarang kita akan melihat kes multi-thumb umum, tetapi dengan yang berbeza dan

Di manakah 'Langgan Podcast' pautan ke? Di manakah 'Langgan Podcast' pautan ke? Apr 16, 2025 pm 12:04 PM

Untuk sementara waktu, iTunes adalah anjing besar dalam podcasting, jadi jika anda mengaitkan "Langgan Podcast" untuk suka:

See all articles