Giter VIP home page Giter VIP logo

banana-space's Introduction

Banana Space

Banana Space 是将 MediaWiki 与 TeX 语法结合的项目,给用户提供使用 TeX 语法写作和讨论的平台。

内容

除了包含 MediaWiki 源代码外,还有

  • 几个扩展,来自 mediawiki.org
  • Banana 扩展;
  • BananaSkin 皮肤。

目前 LocalSettings.php 除自动生成的部分外,还有如下设置。

wfLoadSkin( 'BananaSkin' );
$wgDefaultSkin = 'BananaSkin';

wfLoadExtension( 'Echo' );
wfLoadExtension( 'Flow' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'HeadScript' );
wfLoadExtension( 'Description2' );
wfLoadExtension( 'PdfHandler' );
wfLoadExtension( 'Scribunto' );
wfLoadExtension( 'TemplateStyles' );
wfLoadExtension( 'Elastica' );
wfLoadExtension( 'CirrusSearch' );
wfLoadExtension( 'Banana' );

$wgSearchType = 'CirrusSearch';
$wgCirrusSearchUseIcuFolding = true;

$wgObjectCaches['redis'] = [
    'class'                => 'RedisBagOStuff',
    'servers'              => [ '127.0.0.1:6379' ],
];
$wgMainCacheType = 'redis';
$wgSessionCacheType = 'redis';

$wgJobTypeConf['default'] = [
    'class'          => 'JobQueueRedis',
    'redisServer'    => '127.0.0.1:6379',
    'redisConfig'    => [],
    'claimTTL'       => 3600,
    'daemonized'     => true
];

$wgNamespaceContentModels[NS_TALK]           = 'flow-board';
$wgNamespaceContentModels[NS_USER_TALK]      = 'flow-board';
$wgNamespaceContentModels[NS_FILE_TALK]      = 'flow-board';
$wgNamespaceContentModels[NS_HELP_TALK]      = 'flow-board';
$wgNamespaceContentModels[NS_PROJECT_TALK]   = 'flow-board';
$wgNamespaceContentModels[NS_CATEGORY_TALK]  = 'flow-board';
$wgNamespaceContentModels[NS_TEMPLATE_TALK]  = 'flow-board';
$wgNamespaceContentModels[NS_MEDIAWIKI_TALK] = 'flow-board';
$wgNamespaceContentModels[829]               = 'flow-board'; // NS_MODULE_TALK

$wgNamespaceAliases['BS'] = NS_PROJECT;

$wgNamespacesToBeSearchedDefault[100] = true; // NS_NOTES

$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'svg' ];

$wgNamespaceProtection[828] = ['edit-module']; // NS_MODULE
$wgGroupPermissions['sysop']['edit-module'] = true;
$wgGroupPermissions['sysop']['deletelogentry'] = true;
$wgGroupPermissions['sysop']['deleterevision'] = true;

$wgPageLanguageUseDB = true;

$wgDefaultUserOptions['uselivepreview'] = 1;

$wgHiddenPrefs += [
	'editfont', 'editsection', 'editsectiononrightclick', 'fancysig', 'gender', 'language', 'nickname', 'numberheadings', 'previewontop', 'showtoc', 'skin', 'stubthreshold', 'underline'
];

运行步骤

  • 通过 MediaWiki 安装向导生成 LocalSettings.php 文件,在其末尾添加以上代码,然后放在项目目录。

  • 配置搜索引擎:

    • 安装 RedisElasticsearch 6.8.x。

    • 安装 Elasticsearch 插件 analysis-icuanalysis-smartcnanalysis-stconvert

    • (更新 MediaWiki 时注意,使用时无需操作) 在 extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php 末尾, 在原来的 zh 语言选项之后加入 zh-cn 语言选项。

    • 进入 extensions/CirrusSearch/maintenance,运行 php UpdateSearchIndexConfig.php --reindexAndRemoveOk --indexIdentifier=now

    • 检查 (wikiurl)/api.php?action=cirrus-settings-dump,确保 smartcn 已在运行。

  • 运行 bTeX

  • 运行 PHP 本地服务器进行调试。

如遇数据库错误,可在 maintenance 目录中运行

php update.php

以刷新数据库。

banana-space's People

Contributors

abccsss avatar alphagem avatar jdlrobson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

banana-space's Issues

我想在bananaspace之上开发一些东西,但是遇到了问题

我试图构建bananaspace,除了banana插件外一切顺利,但是banana插件出现了各种错误,这是没有开发完吗?
以及我应该怎么把btex-monaco嵌入进编辑帖子的界面?
我应该怎么使用btex和tikz2svg进行编译TeX的工作?就像banana-space做的那样?
感谢

我的环境:
mariaDB Apache2+php Debain11

mediawiki 更新?

https://www.mediawiki.org/wiki/Version_lifecycle/en
目前mediawiki 1.35.13 是legacy LTS,在今年11月已经到达维护生命周期的终点。不知道有没有安排升级到更新的版本。

假如有计划长期维持跟mediawiki同步,那么合理的代码管理方式是把现有repo拆分,把banana skin, static script之类的部分单列为独立的git repo。然后主体部分包含了对mediawiki源代码改动的部分作为一个mediawiki的Fork来维护。

假如没有计划与mediawiki同步,准备停留在1.35.1,那么最好的方式是在本repo只提供一个非生产环境的clean start代码, 用docker-compose等方式来部署生产环境。现有的代码对不接触生产环境的开发者而言是很难维护的

提供英文名词搜索功能

比如搜 fibration 给出纤维化这样。想要直接能跳转到词条的。如果是用现在的搜索的话,讲义里面会有很多 hit 的。

打印模式 CSS

目前打印时有可能框的顶部或者底部一小条会被分到另一页,这个应该可以通过CSS break-inside break-before break-after 属性禁止。

还有值得讨论的是是否应该允许定理和引用在分页时从中间断开。定理比较短,所以可能不允许断开会比较合理。

关于香蕉空间的内容审核

非常抱歉叨扰这个 Github 库, 我知道这个帖子最好应该发在香蕉空间网站的讨论室中, 但我一直没能收到验证邮件, 所以只好发在这里了.

最近注意到有些复旦大学的学生正在将香蕉空间作为分享作业答案的平台, 其发布的部分内容只包含答案而没有题目本身, 因此这些内容对于大部分用户是不可读的. 其发布的答案也有很多仅有最终结论而无解释, 这样的内容我认为是低质量的, 有悖于香蕉空间 "希望建成像 nLab 一样的包括数学百科与数学讲义的网站" 的创站初衷.

希望香蕉空间能对内容加以审核, 删除或督促修改这类低质量帖子.

自定义配色方案

是否可以加一个在参数设置里面调整配色方案的功能?
有一些人反应更喜欢前段时间更新之前的颜色。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.