introduction
Lorsque j'essayais de promouvoir mon dernier projet (chat Web), je me suis rendu compte qu'il n'y avait pratiquement nulle part où écrire à ce sujet. La situation ne concerne pas seulement les projets wiki, mais en général l'ensemble de Runet. Les grands sites ont une politique que vous ne pouvez pas écrire sur votre projet - vous devez soit acheter de la publicité, soit quelqu'un d'autre doit écrire sur vous. Si nous considérons spécifiquement les sites wiki, alors même accéder à Lurk ou à Wikireality est problématique, sans parler d'un géant tel que Wikipedia. Bien qu'alors, j'ai trouvé quelques petits portails wiki non censurés, pour lesquels j'ai écrit deux critiques uniques sur mon chat. Ils m'ont inspiré pour créer une ressource wiki gratuite pour le développement informatique.
Pourquoi écrire votre propre moteur de wiki quand il y en a déjà?
Eh bien, tout d'abord, c'était intéressant pour moi. Créer un site Web prêt à l'emploi à l'aide d'un modèle en quelques clics est ennuyeux et ne mérite pas l'attention du public. Et un nouveau développement avec sa propre interface est susceptible d'attirer plus d'intérêt. De plus, il me semble plus facile d'écrire du code pour certaines tâches à partir de zéro, en prenant comme base n'importe quel framework pour simplifier le développement, que de refaire les piles de code de quelqu'un d'autre pour soi.
En savoir plus sur wikiclick.ru
Wikiclick.ru est une encyclopédie Web gratuite du développement informatique. Ici, vous pouvez écrire sur votre site, application, service, jeu ou autre développement, par exemple sur votre framework ou bibliothèque, et votre article ne sera pas considéré comme du spam. Et le navigateur créera automatiquement une table des matières arborescente pour votre page par en-têtes h1-h6. Une discussion sous forme d'arbre de commentaires sera également disponible sur la page de votre projet. La page créée se trouve dans l'historique des versions, dans la recherche de site, dans la sélection par les balises spécifiées, ou dans la section correspondante à laquelle appartient votre développement. Dans l'aperçu du projet, vous pouvez vous limiter à une petite description, et la communauté finira par compléter l'article. Vous pouvez également joindre des images.
Il est maintenant à la mode de créer des sites multilingues, mais le dernier projet m'a appris que je n'ai aucune idée de comment promouvoir un site dans un autre pays, et comment le modérer quand je ne connais que l'anglais technique, j'ai donc abandonné cette idée au début. Bien que, peut-être, à l'avenir, je mettrai en œuvre le multilinguisme dans le moteur lui-même.
À propos du moteur WikiClick
Le serveur est écrit comme une gaffe - beaucoup de code dupliqué, les commentaires sont complètement absents et certaines lignes sont écrites en contournant les méthodes du framework, par exemple la visualisation. Mais pour le reste, je l'ai peigné: cela fonctionne très bien et s'ajuste rapidement (à moins que vous ne soyez pas dérouté par l'absence de panneau d'administration). L'ensemble du développement de WikiClick m'a pris environ un mois.
J'aime la façon dont le moteur WikiClick s'est avéré - il est compact, beau, rapide, le code serveur est conservé dans les 1000 lignes. Une nouvelle entrée est effectuée dans le journal des versions uniquement si la page a été écrite à partir d'une adresse IP différente ou à un autre jour - ce mécanisme vous permet d'enregistrer toutes les versions clés de la page sans collecter un tas de doublons identiques avec les modifications d'un utilisateur. Vos commentaires sont enregistrés dans la session et, même s'ils n'ont pas expiré, vous pouvez les modifier. Une bonne mise en page réactive s'adapte presque immédiatement à la version mobile. La discussion sous forme d'arbre de commentaires en bas de page semble plus pratique que sur Wikipédia ou sur Lurk (même si je ne suis pas un participant actif à ces projets et que mon avis est controversé). L'utilisation de code HTML dans le contenu des pages semble plus flexible et est susceptible d'être plus familière aux développeurs.Et le navigateur de titre s'est avéré beaucoup plus simple que ceux que j'ai trouvés sur Internet, et il fonctionne côté client sans créer de charge sur le serveur. Il est fait en jquery et peut être réutilisé, bien qu'il oblige l'auteur à suivre la séquence des en-têtes:
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: j'espère que mon vélo a pu vous intéresser (nous considérerons cela comme un beta test).
Liens
Projet wikiclick.ru
sur GitHub