Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

以刷新数据库。

Morty Proxy This is a proxified and sanitized view of the page, visit original site.