Wikiotics是学习外语的网站。
Wikiootics项目成立于2008年,目的是创建一个自由许可的Wiki,人们可以为语言学习者合作。为此,我们构建了一个名为Douts的Wiki引擎,该引擎为从结构化内容构建交互式Wiki页面提供了一个框架,可以从Web浏览器中进行编辑。 2011年,Wikiotics与Wikibabel Project联合起来,Wikibabel Project具有类似的愿景,其开发商继续为艾基生物做出了巨大的贡献。几年后,我们对维护导管失去了兴趣,并开始忙于其他活动。
截至2020年7月,Wikiotics已转移到静态场地。虽然是Wiki,但Wikiotics.org收到了62个登录用户的贡献,以及仅通过其IP地址识别的匿名用户。总共有4064个此类贡献,每个捐款在此存储库中都有相应的提交(拉请求#4)。该存储库旨在作为社区工作的工作档案。考虑到足够的兴趣,也可以开发新内容。
内容有点混乱,正如世界上任何人都可以编辑的存储库所期望的那样,没有节制。最重要的是,看课程的唯一真正方法是将其保存到Wiki。
向前的第一步是清理内容。应该删除无用的课程和页面。 (如果我们想引用它们,它们将保留在GIT历史上。)任何尚未有用的课程都可以标记为draft = true
,从而在主要网站构建中隐藏了。当合并相同内容的多个副本时,应在任何旧位置留下一个别名,因为我们长期以来遵循了酷乌里斯不会改变的原则。
任何为Wiki做出贡献并在GitHub上有帐户的人都可以通过提交拉动请求来要求其捐款,该请求将适当的条目添加到本存储库中的.mailmap
文件中。本条目应将[email protected]
映射到与该人的GitHub帐户相关的电子邮件地址(或者,或者,或者是地址[email protected]
)。
以这种方式索取贡献将意味着用户的配置文件在该人贡献的任何页面的GitHub历史记录中链接(例如,此处)。不幸的是,目前,贡献图似乎没有考虑.mailmap
文件。这与有关堆栈溢出的报告不一致,但可能与有关GitHub的话语实例的讨论有关。有趣的是,Fasthub-libre应用程序完整地显示了正确的贡献图。
Wikiotics现在是由Hugo建造的静态网站。以下步骤允许一个人在本地进行编辑:
安装雨果。
在Ubuntu上,这很简单
$ sudo snap install hugo --channel=extended
目前,“扩展”版本不是必需的,但是我们将来可能会尝试其功能。
克隆这个存储库:
$ git clone https://github.com/wikiotics/wikiotics.org.git
启动Hugo开发服务器,然后将Web浏览器指向提供的URL:
$ cd wikiotics.org
$ hugo server
[...]
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
内容在content/
目录中。保存任何内容文件后,Web浏览器应使用更新的内容自动刷新。
每个课程完全由TOML Front Matter表示,该课程包含在+++
行之间。在编辑课程时,一个提示是在其前提中暂时设置grid = true
,这将显示课程的元素作为电子表格。这对于获得全球课程可能很有用。 draft = true
的课程也将显示为网格(即,如果启用了草稿)。
每个课程都可以用它教授的语言注释,如果适用,则按照这些术语的标准定义,在课程的前提中设置target-languages
和/或source-languages
来知道学习者知道的语言。在幕后,这些注释是雨果分类法的实例。
Wiki命名方案(对于URL/路线)正在#12中讨论。我们还计划记录(#9)并改进(#10)课程的TOML数据结构。
目前的最高优先级是改善现场存档的呈现。
添加新的课程媒体目前将涉及与Wikiotics Media存储库协调更改。有两种替代方案正在考虑:git大文件存储和IPF(#15中的详细信息)。
所有内容(即content/
目录中的所有内容,递归)均在Creative Commons归因于共享3.0许可下许可。某些课程媒体(该存储库中未包含但未包含)可在不同(但免费)的创意共享许可下获得。其他所有内容(例如,所有代码)可在GNU通用公共许可证版本3或任何以后的版本下获得。 {assets,static}/ductus/
的某些库可在更宽松的许可下获得。
在拥有相当复杂的技术堆栈之后,我们喜欢使事情变得简单。 (甚至在以前,我们设法避免了许多现代前端开发的过多。)保持简单的事物有助于最大化公共汽车因素,并最大程度地减少维护网站所花费的时间。应该没有或几乎没有活动部件,理想情况下没有服务器可以维护。
我们基于以下技术来帮助实现我们的目标: