pengantar
Ketika saya mencoba untuk mempromosikan proyek terbaru saya (obrolan web), saya menemukan fakta bahwa hampir tidak ada tempat untuk menulis tentang itu. Situasi ini tidak hanya menyangkut proyek wiki, tetapi seluruh Runet secara umum. Situs besar memiliki kebijakan yang tidak boleh Anda tulis tentang proyek Anda - Anda harus membeli iklan, atau orang lain harus menulis tentang Anda. Jika kita secara khusus mempertimbangkan situs wiki, maka masuk ke Lurk atau Wikireality bermasalah, belum lagi raksasa seperti Wikipedia. Meskipun kemudian saya menemukan beberapa portal wiki kecil tanpa sensor, yang untuknya saya menulis dua ulasan unik di obrolan saya. Mereka menginspirasi saya untuk membuat sumber wiki gratis untuk pengembangan TI.
Mengapa menulis mesin wiki Anda sendiri jika sudah ada yang siap?
Pertama-tama, itu menarik bagi saya. Membuat website yang sudah jadi dengan menggunakan template dalam beberapa klik memang membosankan dan tidak pantas mendapat perhatian audiens. Perkembangan baru dengan antarmukanya sendiri kemungkinan akan menarik lebih banyak minat. Selain itu, menurut saya lebih mudah untuk menulis kode untuk tugas-tugas tertentu dari awal, dengan menggunakan kerangka kerja apa pun untuk menyederhanakan pengembangan, daripada mengulang tumpukan kode orang lain untuk Anda sendiri.
Lebih lanjut tentang wikiclick.ru
Wikiclick.ru adalah ensiklopedia pengembangan TI berbasis web gratis. Di sini Anda dapat menulis tentang situs, aplikasi, layanan, game, atau pengembangan Anda lainnya, misalnya tentang framework atau library Anda, dan artikel Anda tidak akan dianggap sebagai spam. Dan navigator secara otomatis akan membuat daftar isi seperti pohon untuk halaman Anda dengan judul h1-h6. Diskusi dalam bentuk pohon komentar juga akan tersedia di halaman proyek Anda. Halaman yang dibuat dapat ditemukan di riwayat versi, di pencarian situs, di pemilihan oleh tag yang ditentukan, atau di bagian yang sesuai dengan pengembangan Anda. Dalam ikhtisar proyek, Anda dapat membatasi diri Anda hanya pada deskripsi kecil, dan komunitas pada akhirnya akan melengkapi artikel tersebut. Anda juga bisa melampirkan gambar.
Sekarang menjadi mode untuk membuat situs multibahasa, tetapi proyek terakhir mengajari saya bahwa saya tidak tahu bagaimana mempromosikan situs di negara lain, dan bagaimana memoderasinya ketika saya hanya tahu bahasa Inggris teknis, jadi saya membatalkan ide ini di awal. Meskipun, mungkin, di masa depan saya akan menerapkan multilingualisme di mesin itu sendiri.
Tentang mesin WikiClick
Server ditulis seperti kesalahan besar - banyak kode duplikat, komentar sama sekali tidak ada, dan beberapa baris ditulis melewati metode kerangka kerja, misalnya, visualisasi. Tetapi untuk sisanya, saya menyisirnya: ini berfungsi dengan baik dan dengan cepat menyesuaikan diri (kecuali Anda bingung dengan kurangnya panel admin). Seluruh pengembangan WikiClick membutuhkan waktu sekitar satu bulan.
Saya suka cara mesin WikiClick ternyata - ringkas, indah, cepat, kode server berada dalam 1000 baris. Entri baru dibuat ke log versi hanya jika halaman ditulis dari ip yang berbeda atau pada hari yang berbeda - mekanisme ini memungkinkan Anda untuk menyimpan semua versi kunci halaman tanpa mengetik banyak duplikat identik dengan suntingan dari satu pengguna. Komentar Anda disimpan ke sesi, dan meskipun belum kedaluwarsa, Anda dapat mengeditnya. Tata letak responsif yang baik hampir segera sesuai dengan versi seluler. Diskusi dalam bentuk pohon komentar di bagian bawah halaman tampaknya lebih nyaman daripada di Wikipedia atau di Lurk (Meskipun saya bukan peserta aktif dalam proyek ini dan pendapat saya kontroversial). Menggunakan kode HTML dalam konten halaman terlihat lebih fleksibel dan cenderung lebih familiar bagi pengembang.Dan navigator judul ternyata jauh lebih sederhana daripada yang saya temukan di Internet, dan berfungsi di sisi klien tanpa membuat beban di server. Itu dibuat di jquery dan cocok untuk digunakan kembali, meskipun membutuhkan penulis untuk mengikuti urutan tajuk:
if ($('.cords').length) {
$h = 'h1, h2, h3, h4, h5, h6';
$ah = $('article').find($h);
if ($ah.length >=3) {
$('.cords').html('<div></div><ul class="level0" data-level="0"><ul>');
$ol = $('.level0');
$str = '';
$.each($ah, function(i, elm) {
if (i < $ah.length-1) {
a = $ah.eq(i).prop('tagName'); b = $ah.eq(i+1).prop('tagName');
}
$(this).html('<selection id="H'+i+'">'+$(this).html()+'</selection>');
$str += '<li><a href="#H'+i+'">'+$(this).text()+'</li>';
if (i < $ah.length-1 && a>b) $str+='</ul>';
if (a<b && !(a=='H1' && b=='H2')) $str += '<ul>';
if (i == $ah.length-1) {
for (i = parseInt($(this).prop('tagName').substring(1)); i>=3; i--) {
$str += '</ul>';
}
console.log($str);
$ol.html($str);
}
});
}
}
PS: Saya harap motor saya bisa menarik minat Anda (kami akan menganggap ini sebagai pengujian beta).
Tautan
wikiclick.ru
Proyek di GitHub