Memperluas Dreamweaver: Menyesuaikan penguraian tag pihak ketiga
Karena saya baru-baru ini mengembangkan plug-in Dreamweaver, hanya ada sedikit materi berbahasa Mandarin, dan bahasa Inggris saya buruk pusing. Setelah menerjemahkan beberapa konten penting ke dalam bahasa Mandarin, saya merasa lebih segar saat membacanya. Kutipan ini dikutip dari "Extending Dreamweaver 8" yang disertakan dengan Dreamweaver 8. Saat menerjemahkan, saya mengacu pada "Dreamweaver 4 Chinese Help" yang diterjemahkan oleh Xiakedao. Tapi sejujurnya, saya ragu bahwa beberapa bagian bantuan diterjemahkan menggunakan perangkat lunak seperti Kingsoft Translation. Lagi pula, lebih sulit dibaca daripada bahasa Inggris.
Teknologi sisi server seperti ASP, Macromedia ColdFusion, JSP, dan PHP menggunakan sintaks non-HTML khusus dalam file HTML, dan server membuat dan menyajikan konten berformat HTML berdasarkan kode-kode ini. Ketika Dreamweaver mendeteksi tag non-HTML, Dreamweaver membandingkannya dengan memanggil file definisi tag pihak ketiga, yang menentukan bagaimana Dreamweaver membaca dan menampilkan tag tersebut.
Misalnya, selain bahasa HTML standar, file ASP juga berisi kode ASP untuk diurai oleh server. Kode ASP terlihat mirip dengan tag HTML. Hal ini ditandai dengan sepasang tag, pembuka <% dan penutup %>. Ada file bernama Tags.xml di folder Configuration/ThirdPartyTags Dreamweaver. File ini digunakan untuk menjelaskan berbagai spesifikasi tag pihak ketiga termasuk ASP, dan mendefinisikan bagaimana Dreamweaver menampilkan kode-kode ini. Dengan menggunakan pendekatan ini, kode ASP telah distandarisasi dalam Tags.xml, sehingga Dreamweaver tidak akan lagi mencoba menguraikan kode apa pun di antara <%...%>. Namun, dalam tampilan Desain, akan muncul ikon yang menunjukkan bahwa ini adalah kode ASP. Anda dapat menentukan tag Anda sendiri dan membuat file perpustakaan tag baru untuk setiap kumpulan tag guna menentukan bagaimana Dreamweaver membaca dan menampilkan tag Anda.
Catatan: Bagian ini menjelaskan cara menentukan metode Dreamweaver untuk menampilkan label khusus, namun tidak menjelaskan cara mengedit konten atau properti label khusus. Lihat Pemeriksa Properti untuk informasi tentang cara membuat pemeriksa properti untuk memeriksa dan mengubah properti label khusus.
Setiap file pustaka tag menentukan nama, jenis, mode konten, spesifikasi tampilan, dan ikon dari satu atau beberapa tag khusus. Anda dapat membuat sejumlah file perpustakaan tag, tetapi file tersebut harus ditempatkan di folder Configuration/ThirdPartyTags agar dapat dibaca dan diproses oleh Dreamweaver. File pustaka tag menggunakan ekstensi file .xml.
Tip: Jika Anda bekerja di beberapa situs web berbeda secara bersamaan (dengan asumsi Anda seorang pekerja lepas), Anda dapat menentukan semua spesifikasi tag dalam sebuah file dan menyimpannya di situs khusus untuk digunakan oleh orang lain di masa mendatang. Ketika seseorang mengelola situs tersebut, Anda dapat menyerahkan perpustakaan tag lengkap, termasuk ikon khusus dan pemeriksa properti.
Anda perlu menentukan spesifikasi tag menggunakan tag XML yang disebut tagpec. Misalnya, kode berikut mewakili spesifikasi tag bernama happy.
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
Anda bisa menggunakan tagpec untuk mendefinisikan Dua jenis label:
·Tag umum dalam format HTML
Contoh tag happy adalah tag biasa yang berformat HTML. Diawali dengan tag <happy>, berisi data antara tag pembuka dan penutup, dan diakhiri dengan tag </happy>.
·Tag yang dipisahkan string Tag yang dipisahkan string dimulai dengan satu string dan diakhiri dengan string yang lain. Tag ini mirip dengan tag kosong HTML (seperti img) karena tidak mengandung konten maupun tag penutup. Jika happy juga merupakan tag yang dibatasi string, spesifikasi definisinya harus menyertakan dua atribut: start_string dan end_string. Tag ASP semuanya adalah tag yang dibatasi string, dimulai dengan <% dan diakhiri dengan %>, dan tidak ada tag penutup.
Informasi berikut mencantumkan berbagai atribut dan nilai valid dari tag tagpec. Atribut dengan tanda bintang ("*") menunjukkan bahwa atribut tersebut tidak berlaku untuk tag yang dibatasi string, dan atribut opsional ditandai dengan tanda kurung kurawal ({}); tidak sulit untuk menyimpulkan bahwa properti lain yang tidak ditandai dengan tanda kurung kurawal diperlukan properti.
<tagspec>
Menjelaskan
atribut
informasi defaulttentang tag pihak ketiga
tag_name, {tag_type}, {render_contents}, {content_model}, {start_string}, {end_string}, {detect_in_attribute}, {parse_attributes}, icon, icon_width, icon_height, { ekuivalen_tag}, {is_visual}, {server_model}
tag_name mewakili nama khusus. Untuk tag yang dibatasi string, tag_name hanya digunakan untuk memeriksa apakah pemeriksa properti tertentu dapat diterapkan pada tag tersebut. Jika baris pertama pemeriksa atribut berisi nama tag dalam posisi yang sesuai (sebenarnya, pada baris pertama deklarasi) dan ditandai dengan tanda bintang ("*"), maka pemeriksa akan diizinkan untuk memeriksa label jenis . Misalnya, nama tag kode ASP adalah ASP. Inspektur yang mengizinkan pemeriksaan kode ASP harus berisi *ASP* di baris pertama. Untuk informasi tentang API Inspektur Properti, lihat Inspektur Properti.
tag_type menentukan apakah tag tersebut kosong (seperti img yang disebutkan sebelumnya) atau mengizinkan konten ditempatkan di antara tag pembuka dan penutup (seperti tag kode). Atribut ini diperlukan untuk tag normal (yang tidak dibatasi string), namun tidak berpengaruh pada tag yang dibatasi string karena selalu kosong. Nilai yang valid mencakup "kosong" dan "tidak kosong".
render_contents menentukan apakah label menampilkan konten dalam tampilan desain, atau menggantinya dengan ikon tertentu. Atribut ini hanya diperlukan untuk tag yang tidak kosong dan tidak berpengaruh pada tag kosong (tag kosong itu sendiri tidak memiliki konten untuk ditampilkan). Atribut ini hanya berlaku untuk tag yang disisipkan di luar atribut. Jika sebuah tag dimasukkan ke dalam nilai atribut tag lain, isinya tidak akan ditampilkan (paragraf ini agak sulit untuk dipahami. Saya memikirkan Objek seperti RealMedia dan Flash . Di dalam tag param itu? Nilai yang valid adalah "benar" atau "salah".
content_model menjelaskan jenis konten apa yang dapat dikandung tag ini, dan di mana tag ini dapat dimasukkan ke dalam file HTML. Nilai yang valid meliputi "block_model", "head_model", "marker_model", dan "script_model":
·block_model berarti tag dapat berisi objek blok seperti div dan p, dan tag hanya dapat muncul di area body, atau disisipkan ke tag konten tubuh lainnya, seperti div, layer, dan td.
·head_model berarti label hanya dapat berisi teks dan hanya dapat muncul dalam rentang HEAD.
·marker_model berarti tag dapat berisi kode HTML apa pun yang valid dan dapat ditempatkan di mana saja dalam file HTML. Validator HTML bawaan Dreamweaver mengabaikan tag yang didefinisikan sebagai marker_model. Namun, konten yang terdapat dalam tag ini tidak diabaikan oleh validator; jadi, meskipun tag itu sendiri dapat ditempatkan di mana saja, kontennya dapat menyebabkan kesalahan di beberapa bagian HTML. Misalnya, teks biasa tidak dapat muncul (kecuali elemen legal head) di area head dokumen, sehingga Anda tidak dapat menempatkan tag marker_model yang berisi teks biasa di area head (jika ingin melakukannya, Anda harus mengubah model konten tag Diganti oleh marker_model dengan head_model). Tag yang menggunakan marker_model akan ditampilkan dalam satu baris (dalam elemen blok seperti p atau div - misalnya, dalam paragraf). Jika Anda ingin tag menampilkan paragrafnya sendiri, biarkan baris kosong sebelum dan sesudahnya disarankan untuk tidak menggunakan mode ini.
·script_model memungkinkan tag ini ditempatkan di mana saja di antara tag HTML dalam dokumen. Ketika Dreamweaver mendeteksi tag menggunakan mode ini, semua konten tag diabaikan. Dreamweaver tidak akan mengurai tag tersebut (seperti tag ColdFusion tertentu) saat digunakan.
start_string menentukan pembatas sebagai titik awal untuk label yang dibatasi string. Label yang dibatasi string dapat ditempatkan di mana pun komentar dapat disisipkan. Dreamweaver tidak akan mengurai, menyandikan, atau menghubungkan kode antara start_string dan end_string. Atribut ini diperlukan ketika end_string telah ditentukan.
end_string menentukan pembatas sebagai titik akhir dari label yang dibatasi string. Selain itu, atribut ini diperlukan ketika start_string telah ditentukan.
deteksi_in_attribute menentukan apakah akan mengabaikan semua kode antara start_string dan end_string (atau antara tag awal dan akhir, jika kedua string ini tidak ditentukan), terlepas dari apakah atribut atau nilai disisipkan di antara kode-kode ini. Nilai defaultnya adalah "false", tetapi secara umum tag yang dibatasi string harus menetapkan nilai ini ke "true". Misalnya, spesifikasi tag ASP menentukan deteksi_in_attribute="true", sehingga meskipun ada tanda kutip yang berisi nilai atribut di dalam tag ASP, kutipan tersebut akan diabaikan oleh Dreamweaver.
parse_attributes menunjukkan apakah akan mengurai atribut tag. Jika disetel ke "true" (default), Dreamweaver akan menguraikan properti ini; jika disetel ke "false", Dreamweaver akan mengabaikan semua kode sebelum ">" di luar tanda kutip. Misalnya, tag seperti cfif harus memiliki atribut yang disetel ke "false" (karena Dreamweaver tidak dapat mengurai tag seperti <cfif a is 1> sebagai pasangan nama/nilai atribut).
ikon menentukan jalur dan nama file ikon yang cocok dengan label ini. Properti ini diperlukan untuk tag kosong, serta untuk tag tidak kosong yang kontennya tidak dapat ditampilkan dalam tampilan desain jendela dokumen.
icon_width menentukan lebar piksel ikon.
icon_height menentukan tinggi piksel ikon.
ekuivalen_tag menentukan padanan HTML sederhana untuk tag tertentu yang terkait dengan formulir di ColdFusion. Atribut ini tidak dapat digunakan oleh tag lain.
is_visual menentukan apakah label terlihat di halaman. Misalnya, tag ColdFusion cfgraph tidak menentukan nilai untuk is_visual (sehingga nilai default "true" digunakan), dan tag ColdFusion cfset menentukan nilai untuk is_visual dari "false". Di kolom "Elemen tak terlihat" pada kotak dialog default, Anda dapat mengontrol visibilitas label server; visibilitas label server visual dan label server non-visual dapat diatur secara terpisah.
server_model, jika disetel, menunjukkan bahwa tag tagpec hanya dapat diterapkan ke halaman milik model server yang ditentukan. Jika tidak disetel, tagpec dapat diterapkan ke semua halaman. Misalnya, pembatas untuk ASP dan JSP adalah sama, tetapi tag tagpec yang berlaku untuk JSP menentukan mode server sebagai "JSP", jadi ketika Dreamweaver mendeteksi pembatas tertentu pada halaman JSP, ia akan menampilkan ikon JSP ketika sama kode terdeteksi di halaman non-JSP, ini akan menampilkan ikon ASP.
Tidak adakonten
(tag kosong).
Kontainer
Tidak Ada.
Contoh
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
Tag khusus dalam desain Bagaimana tampilan menampilkan
tag khusus dalam tampilan desain jendela dokumen bergantung pada nilai atribut tag_type dan atribut render_contents dari tag tagpec (lihat analisis tag khusus pihak ketiga). Jika nilai tag_type adalah "kosong", ikon tertentu yang ditentukan oleh atribut icon akan ditampilkan. Jika nilai tag_type adalah "nonempty" tetapi nilai render_contents adalah "false", ikon juga akan ditampilkan seperti tag kosong. Contoh berikut menunjukkan bagaimana sebuah instance dari tag happy yang baru saja kita definisikan dapat dimasukkan ke dalam kode HTML:
<p>Ini adalah paragraf yang menyertakan sebuah instance dari tag <code>happy</code> (<happy>Joe</ happy>).</p>
Karena render_contents telah disetel ke "false" dalam spesifikasi tag, tag happy (word joe) tidak akan ditampilkan, dan tag pembuka dan penutup termasuk konten di antara keduanya akan diganti dengan a Ikon sederhana.
Untuk tag yang tidak kosong dengan nilai render_contents "true", tampilan desain tidak akan menampilkannya sebagai ikon, tetapi akan menampilkan konten di antara tag pembuka dan penutup (seperti teks di antara tag, seperti ini: < mytag> Ini adalah isi antara tag pembuka dan penutup </mytag>). Jika Tampilan > Asisten Visual > Elemen Tak Terlihat dipilih dalam opsi menu, maka konten ini akan disorot menggunakan warna tag pihak ketiga yang ditentukan oleh parameter "Warna Kode" ("Warna Kode" hanya berlaku untuk file pustaka tag
Cara mengubahnya warna sorotan tag pihak ketiga:
1.
Pilih Edit > Preferensi di opsi menu, lalu pilih kolom "Warna Kode".
2. Klik kotak warna label pihak ketiga untuk menampilkan pemilih warna.
3. Pilih warna, lalu klik "OK" dan tutup kotak dialog preset. Untuk informasi tentang cara memilih warna, lihat juga Menggunakan Dreamweaver.
Hindari menulis ulang tag pihak ketiga
Dreamweaver akan memperbaiki kesalahan tertentu dalam kode HTML. Untuk informasi lebih lanjut, silakan lihat Menggunakan Dreamweaver. Secara default, Dreamweaver mencegah perubahan kode HTML pada file dengan ekstensi file tertentu, termasuk .asp (ASP), .cfm (ColdFusion), .jsp (JSP), dan .php (PHP). Pengaturan default ini adalah untuk memastikan bahwa Dreamweaver tidak secara tidak sengaja mengubah kode apa pun yang terdapat dalam tag non-HTML. Anda dapat mengubah perilaku penulisan ulang default Dreamweaver sehingga kode HTML ditulis ulang ketika file tersebut dibuka, dan Anda dapat menambahkan jenis file lain ke daftar jenis file yang dilarang ditulis ulang oleh Dreamweaver.
Saat Anda memasukkan karakter khusus tertentu ke dalam inspektur Properti, Dreamweaver mengkodekannya ke dalam nilai numerik. Secara umum, yang terbaik adalah membiarkan Dreamweaver melakukan pengkodean ini karena karakter khusus ini kemungkinan besar akan ditampilkan lebih baik di berbagai platform dan browser. Namun, karena pengkodean ini mempengaruhi tag pihak ketiga, Anda mungkin ingin mengubah perilaku pengkodean Dreamweaver saat Anda mengedit file yang menyertakan tag pihak ketiga.
Izinkan Dreamweaver untuk menulis ulang HTML di lebih banyak jenis file:
1. Pilih Edit > Preferensi di opsi menu, lalu pilih kolom "Penulisan Ulang Kode"
2. Pilih salah satu dari berikut ini:
·Perbaiki tag bersarang ilegal atau tag tak berujung ·Hapus tag penutup yang berlebihan
3. Lakukan salah satu hal berikut:
· Hapus satu atau lebih ekstensi file dari daftar "Jangan pernah menulis ulang kode: dalam file dengan ekstensi".
· Hapus centang pada opsi "Jangan pernah menulis ulang kode: dalam file dengan ekstensi". Harap diperhatikan: Ini memungkinkan Dreamweaver untuk menulis ulang kode HTML di semua jenis file.
Tambahkan jenis file yang dilarang ditulis ulang oleh Dreamweaver:
1. Pilih Edit > Preferensi di opsi menu, lalu pilih kolom "Penulisan Ulang Kode"
2. Pilih salah satu dari berikut ini:
·Perbaiki tag bersarang ilegal atau tag tak berujung ·Hapus tag penutup yang berlebihan
3. Konfirmasikan bahwa item "Jangan pernah menulis ulang kode: dalam file dengan ekstensi" dipilih dan tambahkan ekstensi file baru ke daftar di kotak teks.
Jika jenis file baru tidak muncul di menu pop-up kotak dialog File > Buka, Anda mungkin perlu menambahkannya ke folder Configuration/Extensions.txt. Untuk detailnya, lihat Mengubah Jenis File Default.
Matikan opsi pengkodean Dreamweaver:
1. Pilih Edit > Preferences pada opsi menu, lalu pilih kolom "Code Rewrite"
2. Batalkan salah satu dari dua opsi "Pengkodean Karakter Khusus".
Untuk informasi tambahan tentang memilih preferensi Code Rewrite, lihat Menggunakan Dreamweaver.