Coder Social home page Coder Social logo

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 Projects

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.