Skip to content
wxaxiaoyao edited this page Dec 28, 2016 · 22 revisions

关于动态页面与WIKI模块

我们的wiki页面是由模版+(自然语言+HTML+WIKI命令)组成的。

每个页面只能有一个模版,如果不添则为网站的默认全局模版, 模版可以包含其他页面(例如Github的WIKI页面,包含了bottom, side两个页面) 除了模版,整个页面是由(自然语言+HTML+WIKI命令) 类似糖葫芦一样, 是一串下来的。 通过插入WIKI命令实现其中某一截的动态显示 所有命令(模块)都提供编辑UI。

模块示例:

     ```/world
      {“path“:1, "world":2, "name":"wikicraft"}
     ```

参考:

[/template default]()
[/org_header]()
[/org_stats]()
[/org_recent_works]()

任意markdown文字

[/org_footer]()

注意:

  • 一般每个Module会对应一个Client的JS渲染文件(渲染最终页面以及命令编辑器)。Server提供接口。 全部由Client的JS生成
  • 部分模块是只有VIP才能使用的。 例如组织相关的。 保存页面时检查VIP即可。 即时VIP过期,也不影响正常查看。
  • 例如组织作品提交,审核等:这些都有对应模块,不是网站基础功能。 所以有些模块有自己的数据库文件。

Wiki Mod 编码规范

  • 每个WIKI Mod支持0个,1个或多个Markdown指令。
  • 每个WIKI Mod代码的代码需要统一放到目录wiki/mod/[modname] 下面。 例如: mod package manager
  • 每个Mod有一个./main.lua用于在服务器启动时注册markdown指令。
  • 每个Mod的markdown指令放到./markdown/cmd_[name].js. 每个命令一个文件。 都派生自基类cmd_base.js
    • 重载:render(text), renderEditor(text, mdDoc)

Markdown module

lesson 课程模块

[/lesson](title:"", teacher:"", hours:1, difficulty:1, desc:"some desc", image:"", content:[{url:""}])

template 模块

出现在第一行,指定页面模版。 每个页面只能有一个模版,如果不添则为网站的默认全局模版, 模版可以包含其他页面(例如Github的WIKI页面,包含了bottom, side两个页面)

org_header 模块

org_stats 模块

显示当前组织的统计信息。

package 模块

NPL和Paracraft的package管理。 WikiModPackageManager

works_list模块

liyu@2016.11.2

作品列表模块。

[/project_list](title:"",type:"",list:"",tag:"",number:"")
	title:列表的标题
	type
		all:全部作品
		new:	最新更新
		list:	显示list中指定的作品
		follow:关注的作品列表
		tag:关键字模式
	list:类型为list时,显示对应的内容,列表内容用唯一的作品名,使用逗号分隔
	tag:匹配的关键字内容,用逗号分割
	number:显示数量

示例:

[/works_list](title:"最近更新",type:"new",list:"",tag:"",number:"3")

计数器

liyu@2016.11.2

[/count](title:"",type:"")
	title:计数器的标题
	type
		project:包含的作品数
		follow:关注的内容数量
		fans:收藏者数量
		member:成员数量
		submit:提交作品数量

评论

liyu@2016.11.2

  • 为页面添加一个留言评论的功能
  • 页面作者可以删除全部
  • 提交者可以删除自己的
[/comment](allow:”“)
	state
		all:全部人可用
		mumber:会员可用
		none:仅显示已有内容,关闭回复

提交项目到组织

liyu@2016.11.2

组织作品提交、比赛提交参赛,点击后打开一个窗口,内容是自己作品的目录,选择要提交的项目,然后确认。自动模式不需要审核,手动模式,组织管理员会收到提醒,需要点击确认是同意还是拒绝。

[/submit_project](user:"",verify:"")
	user
		all:全部人
		mumber:组织成员
 verify
  auto:自动同意
  manual:手动审核

申请加入组织

liyu@2016.11.2

自动模式不需要审核,手动模式,组织管理员会收到提醒,需要点击确认是同意还是拒绝。

[/join_organization](verify:"")
 verify
  auto:自动同意
  manual:手动审核
Clone this wiki locally