Enciclopedia web gratuita para cualquier proyecto de TI en su propio motor

Introducción



Cuando estaba tratando de promover mi último proyecto (chat web), me encontré con el hecho de que prácticamente no hay ningún lugar para escribir sobre él. La situación concierne no solo a los proyectos wiki, sino en general a todo el Runet. Los sitios grandes tienen una política de que no puede escribir sobre su proyecto: debe comprar publicidad o alguien más debe escribir sobre usted. Si consideramos específicamente los sitios wiki, incluso llegar a Lurk o Wikireality es problemático, sin mencionar a un gigante como Wikipedia. Aunque luego encontré un par de pequeños portales wiki sin censura, para los cuales escribí dos reseñas únicas en mi chat. Me inspiraron a crear un recurso wiki gratuito para el desarrollo de TI.



¿Por qué escribir tu propio motor wiki cuando hay alguno listo?



Bueno, antes que nada, fue interesante para mí. Crear un sitio web listo para usar usando una plantilla en unos pocos clics es aburrido y no merece la atención de la audiencia. Y es probable que un nuevo desarrollo con su propia interfaz atraiga más interés. Además, me parece más fácil escribir código para tareas específicas desde cero, tomando como base cualquier marco para simplificar el desarrollo, que rehacer los montones de código de otra persona por ti mismo.



imagen



Más sobre wikiclick.ru



Wikiclick.ru es una enciclopedia web gratuita sobre desarrollo de TI. Aquí puede escribir sobre su sitio, aplicación, servicio, juego u otro desarrollo, por ejemplo, sobre su marco o biblioteca, y su artículo no se considerará spam. Y el navegador creará automáticamente una tabla de contenido en forma de árbol para su página con encabezados h1-h6. Una discusión en forma de árbol de comentarios también estará disponible en la página con su proyecto. La página creada se puede encontrar en el historial de versiones, en la búsqueda del sitio, en la selección por las etiquetas especificadas, o en la sección correspondiente a la que pertenece su desarrollo. En la descripción general del proyecto, puede limitarse a una pequeña descripción y la comunidad eventualmente completará el artículo. También puede adjuntar imágenes.



Ahora está de moda crear sitios multilingües, pero el último proyecto me enseñó que no tengo idea de cómo promocionar un sitio en otro país, y cómo moderarlo cuando solo sé inglés técnico, así que dejé esta idea al principio. Aunque, quizás, en el futuro implemente el multilingüismo en el propio motor.



Acerca del motor WikiClick



El servidor está escrito como un error: mucho código duplicado, los comentarios están completamente ausentes y algunas líneas se escriben sin pasar por los métodos del marco, por ejemplo, la visualización. Pero por lo demás, lo peiné: funciona muy bien y se ajusta rápidamente por sí mismo (a menos que esté confundido por la falta de un panel de administración). Todo el desarrollo de WikiClick me llevó alrededor de un mes.



Me gusta cómo resultó el motor WikiClick: es compacto, hermoso, rápido, el código del servidor está dentro de las 1000 líneas. Se realiza una nueva entrada en el registro de versiones solo si la página se escribió desde una IP diferente o en un día diferente; este mecanismo le permite guardar todas las versiones clave de la página sin recopilar un montón de duplicados idénticos con ediciones de un usuario. Sus comentarios se guardan en la sesión y, aunque no haya caducado, puede editarlos. Un buen diseño receptivo se ajusta casi de inmediato a la versión móvil. La discusión en forma de árbol de comentarios al pie de la página parece más conveniente que en Wikipedia o en Lurk (aunque no soy un participante activo en estos proyectos y mi opinión es controvertida). El uso de código HTML en el contenido de la página parece más flexible y probablemente sea más familiar para los desarrolladores.Y el navegador de títulos resultó ser mucho más simple que los que encontré en Internet, y funciona en el lado del cliente sin crear una carga en el servidor. Está hecho en jquery y es apto para su reutilización, aunque requiere que el autor siga la secuencia de encabezados:



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);
      }
    });
  }
}


PD: Espero que mi bicicleta haya podido interesarte (consideraremos esto como una prueba beta).



Enlaces



Proyecto wikiclick.ru

en GitHub



All Articles