Question2Answer初体验
Question2Answer初体验
高质量的问答社区十分有价值,很多无法解决的问题能通过问答社区找到解决办法,而对于站长来说,垂直的问答社区也很有潜力。最近盯上问答这一块,发现和我的一些思路很符合,决定把手头的一个网站转成问答形式的社区。
最开始是想完全从头开始写一个,但个人精力有限,目前还有一些别的想法等待实施,只能尽量用更快的办法来搭建它。于是,在开源程序上做扩展就是最好的选择。
网上PHP的独立问答社区非常的少,找来找去,最后锁定question2answer(以下简称QA)。
QA是一套非常简洁的开源问答社区系统,由PHP实现,数据存储使用Mysql。包含最基本的注册、登陆、提问、回答、评论、积分、分类、TAG、邮件集 成(发送各种提醒邮件)、投票等功能。并提供了一些简单的后台选项,比如改个网站名字,改个URL路径风格等都可在线完成,虽然精致,但很完备。
除了核心功能,它还提供了插件开发接口和皮肤功能,这给个性化定制带来了很大的便利,不过可惜的是没有提供较好的模板引擎,开发模板需要懂得PHP这门语言,所以现成的模板很少,开发起来也并不容易。
对多语言支持倒是这套系统的一个亮点,官方提供了十二种语言可选,其中包括了简、繁体中文,能满足中文需求。
另外,它还能和Wordpress集成在一起,共享用户数据,现在WP的用户很多,这点确实能吸引很多朋友。
闻名不如见面,说了这么多,不如把QA下载下来,体验一下。
1、下载QA:
http://www.question2answer.org/question2answer-latest.zip
2、在MYSQL中创建一个数据库
3、将qa-config-example.php文件修改为qa-config.php,并填写配置信息
4、放入能够运行PHP的WEB服务器中,打开首页即可进入安装页面。
安装完成后,就能使用其基本功能了。
最后我们浏览下这个工程的目录结构,大概了解下这套系统的文件规划。
这套系统总共分了6个目录,依次为:
- qa-content
- qa-external-example
- qa-include
- qa-lang
- qa-plugin
- qa-theme
根据名字,我们大概可以判断其作用,这里我简单的说明下。
qa-content 是用来存放一些JS的脚本文件
qa-external-example 是QA团队提供的扩展示例
qa-include 存放的是QA的核心程序
qa-lang 存放是语言包,我们一般都会要安装中文包,可以在http://www.question2answer.org/addons.php 选择最新的中文包,下载后放入此目录后,即可在后台设置
qa-plugin 这里存放的是插件,我们可以自己编写插件,也可使用官方或第三方插件,不过所有的插件都放在这里
qa-theme 这里存放的是风格文件,可以看到系统默认提供了两套风格:Candy、Default,这在后台可以设置,我们也可以对其修改或新增
看到这里,基本上对QA这套系统已经有了初步的了解,基本功能已经很实用,再扩展扩展,就能实现非常酷的效果。
本文只是基本介绍,更多内容大家可以到官网了解:
Question2Answer初体验的更多相关文章
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
- Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验
Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...
随机推荐
- 2016 Multi-University Training Contest 5 Divide the Sequence
Divide the Sequence 题意: 给你一个序列A,问你最多能够分成多少个连续子序列,使得每个子序列的所有前缀和均不小于0 题解: 这题是比赛时候的水题,但我比的时候也就做出这一题, = ...
- Python 汉字转拼音库 pypinyin
一.初衷: 一些开源软件的配置文件中识别区分的部分用英文,那么我们在批量生成配置文件的时候,可以从CMDB导入汉字(idc_name), 然后将它转换成拼音,再或者拼接上IP地址,以便更准确的识别.例 ...
- DPI和像素
像素(Pixel) 对于计算机的屏幕设备而言,像素(Pixel)或者说px是一个最基本的单位,就是一个点.其它所有的单位,都和像素成一个固定的比例换算关系.所有的长度单位基于屏幕进行显示的时候,都统一 ...
- tuple解包给类的构造函数
首先我们的第一步当然是将tuple解包.tuple提供了一个get函数来获取第N个元素.例如: get<1>(make_tuple(...)); 要将一个tuple全部拆解,就可以使用通过 ...
- M2M
1, M2M (数据算法模型) M2M是将数据从一台终端传送到另一台终端,也就是机器与机器(Machine to Machine)的对话. M2M简介 但从广义上M2M可代表机器对机器(Machi ...
- ios统计代码行数
要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下 列出每个文件的行数: find . -name "*.m" -or -name "*.h" ...
- chkconfig : No such file or directory
sys_version:12.04LTS For example: #chkconfig --level mysql on /sbin/insserv:No such file or director ...
- 第5章 Posix 消息队列
5.1 概述 消息队列可以认为是一个链表.有写权限的线程可往消息队列中放置消息,有读权限的线程可以从消息队列中取走消息. 消息队列和管道/FIFO的区别: (1)消息队列往一个队列中写消息前,并不需要 ...
- SQL 锁的介绍
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏 ...
- POJ3264RMQ
http://poj.org/problem?id=3264 #include<stdio.h> #include<string.h> #include<algorith ...