免费的网络百科全书,适用于其自身引擎上的任何IT项目

介绍



当我试图推广我的最新项目(网络聊天)时,我遇到了一个事实,那就是无处可写。这种情况不仅涉及Wiki项目,而且涉及整个Runet。大型网站的政策是您无法撰写有关您的项目的信息-您必须购买广告,或者其他人必须撰写关于您的项目。如果我们专门考虑Wiki网站,那么即使进入Lurk或Wikireality也是一个问题,更不用说像Wikipedia这样的巨头了。虽然那时我发现了几个小型的未经审查的Wiki门户,但我在聊天室中为此写了两个独特的评论。他们启发了我为IT开发创建免费的Wiki资源。



有准备的时候为什么还要编写自己的Wiki引擎?



好吧,首先,这对我很有趣。只需单击几下即可使用模板创建现成的网站,这很无聊,并且不应该引起观众的注意。具有自己的界面的新开发可能会吸引更多的兴趣。另外,在我看来,从头开始为某些任务编写代码,以简化开发的任何框架为基础,比为自己重做别人的代码堆要容易。



图片



有关wikiclick.ru的更多信息



Wikiclick.ru是一个免费的基于Web的IT开发百科全书。您可以在此处写有关您的站点,应用程序,服务,游戏或其他开发的信息,例如有关您的框架或库的信息,您的文章将不会被视为垃圾邮件。导航器将通过h1-h6标题自动为您的页面创建树状目录。以评论树的形式进行的讨论也将在您的项目页面上进行。可以在版本历史记录,站点搜索,指定标签的选择或开发所属的相应部分中找到创建的页面。在项目概述中,您可以只进行少量描述,最终社区将对该文章进行补充。您还可以附加图片。



创建多语言站点现在很流行,但是上一个项目告诉我,我不知道如何在另一个国家/地区推广站点,以及在我只懂英语的情况下如何管理站点,因此我一开始就放弃了这个想法。尽管也许将来我会在引擎本身中实现多种语言。



关于WikiClick引擎



服务器的编写像一个大问题-大量重复的代码,完全没有注释,并且编写了一些绕过框架方法(例如可视化)的行。但是对于其余的内容,我进行了梳理:它的效果很好,可以快速进行自我调整(除非您对缺少管理面板不感到困惑)。WikiClick的整个开发花了我大约一个月的时间。



我喜欢WikiClick引擎的结果-它紧凑,美观,快速,服务器代码保持在1000行之内。仅当页面是从其他ip或在不同的日期编写的时,才会在版本日志中添加新条目-此机制使您可以保存页面的所有关键版本,而无需通过一个用户的编辑收集一堆相同的重复项。您的评论将保存在会话中,虽然尚未过期,但您可以对其进行编辑。良好的响应式布局几乎立即适合移动版本。在页面底部以评论树的形式进行的讨论似乎比在Wikipedia或Lurka上更方便(尽管我不是这些项目的积极参与者,而且我的看法有争议)。在页面内容中使用HTML代码看起来更加灵活,并且开发人员可能更熟悉。事实证明,标题导航器比我在Internet上找到的导航器简单得多,它可以在客户端运行,而不会在服务器上造成负担。尽管需要作者遵循标头的顺序,但它是用jquery制作的并且适合重复使用,但是:



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:我希望我的自行车能引起您的兴趣(我们会将其视为Beta测试)。



链接



GitHub上的wikiclick.ru

项目



All Articles