{"id":13993766,"url":"https://github.com/banana-space/banana-space","last_synced_at":"2025-10-23T11:30:57.931Z","repository":{"id":39782928,"uuid":"311934592","full_name":"banana-space/banana-space","owner":"banana-space","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-17T11:27:57.000Z","size":70011,"stargazers_count":157,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-30T18:03:32.394Z","etag":null,"topics":["mediawiki","php"],"latest_commit_sha":null,"homepage":"https://www.bananaspace.org","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/banana-space.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-11T10:19:18.000Z","updated_at":"2025-01-28T18:55:22.000Z","dependencies_parsed_at":"2024-04-17T12:51:53.752Z","dependency_job_id":null,"html_url":"https://github.com/banana-space/banana-space","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banana-space%2Fbanana-space","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banana-space%2Fbanana-space/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banana-space%2Fbanana-space/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/banana-space%2Fbanana-space/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/banana-space","download_url":"https://codeload.github.com/banana-space/banana-space/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237811603,"owners_count":19370153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mediawiki","php"],"created_at":"2024-08-09T14:02:32.591Z","updated_at":"2025-10-23T11:30:52.877Z","avatar_url":"https://github.com/banana-space.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# Banana Space\n\nBanana Space 是将 MediaWiki 与 TeX 语法结合的项目，给用户提供使用 TeX 语法写作和讨论的平台。\n\n## 内容\n\n除了包含 MediaWiki 源代码外，还有\n\n* 几个扩展，来自 [mediawiki.org](https://www.mediawiki.org)；\n* `Banana` 扩展；\n* `BananaSkin` 皮肤。\n\n目前 `LocalSettings.php` 除自动生成的部分外，还有如下设置。\n\n``` php\nwfLoadSkin( 'BananaSkin' );\n$wgDefaultSkin = 'BananaSkin';\n\nwfLoadExtension( 'Echo' );\nwfLoadExtension( 'Flow' );\nwfLoadExtension( 'Nuke' );\nwfLoadExtension( 'ParserFunctions' );\nwfLoadExtension( 'HeadScript' );\nwfLoadExtension( 'Description2' );\nwfLoadExtension( 'PdfHandler' );\nwfLoadExtension( 'Scribunto' );\nwfLoadExtension( 'TemplateStyles' );\nwfLoadExtension( 'Elastica' );\nwfLoadExtension( 'CirrusSearch' );\nwfLoadExtension( 'Banana' );\n\n$wgSearchType = 'CirrusSearch';\n$wgCirrusSearchUseIcuFolding = true;\n\n$wgObjectCaches['redis'] = [\n    'class'                =\u003e 'RedisBagOStuff',\n    'servers'              =\u003e [ '127.0.0.1:6379' ],\n];\n$wgMainCacheType = 'redis';\n$wgSessionCacheType = 'redis';\n\n$wgJobTypeConf['default'] = [\n    'class'          =\u003e 'JobQueueRedis',\n    'redisServer'    =\u003e '127.0.0.1:6379',\n    'redisConfig'    =\u003e [],\n    'claimTTL'       =\u003e 3600,\n    'daemonized'     =\u003e true\n];\n\n$wgNamespaceContentModels[NS_TALK]           = 'flow-board';\n$wgNamespaceContentModels[NS_USER_TALK]      = 'flow-board';\n$wgNamespaceContentModels[NS_FILE_TALK]      = 'flow-board';\n$wgNamespaceContentModels[NS_HELP_TALK]      = 'flow-board';\n$wgNamespaceContentModels[NS_PROJECT_TALK]   = 'flow-board';\n$wgNamespaceContentModels[NS_CATEGORY_TALK]  = 'flow-board';\n$wgNamespaceContentModels[NS_TEMPLATE_TALK]  = 'flow-board';\n$wgNamespaceContentModels[NS_MEDIAWIKI_TALK] = 'flow-board';\n$wgNamespaceContentModels[829]               = 'flow-board'; // NS_MODULE_TALK\n\n$wgNamespaceAliases['BS'] = NS_PROJECT;\n\n$wgNamespacesToBeSearchedDefault[100] = true; // NS_NOTES\n\n$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'svg' ];\n\n$wgNamespaceProtection[828] = ['edit-module']; // NS_MODULE\n$wgGroupPermissions['sysop']['edit-module'] = true;\n$wgGroupPermissions['sysop']['deletelogentry'] = true;\n$wgGroupPermissions['sysop']['deleterevision'] = true;\n\n$wgPageLanguageUseDB = true;\n\n$wgDefaultUserOptions['uselivepreview'] = 1;\n\n$wgHiddenPrefs += [\n\t'editfont', 'editsection', 'editsectiononrightclick', 'fancysig', 'gender', 'language', 'nickname', 'numberheadings', 'previewontop', 'showtoc', 'skin', 'stubthreshold', 'underline'\n];\n```\n\n## 运行步骤\n\n* 通过 MediaWiki 安装向导生成 `LocalSettings.php` 文件，在其末尾添加以上代码，然后放在项目目录。\n\n* 配置搜索引擎:\n\n    * 安装 [Redis](https://redis.io/) 和 [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html)\n    6.8.x。\n\n    * 安装 Elasticsearch 插件 `analysis-icu`、`analysis-smartcn`、`analysis-stconvert`。\n\n    * (更新 MediaWiki 时注意，使用时无需操作) 在 `extensions/CirrusSearch/includes/Maintenance/AnalysisConfigBuilder.php` 末尾，\n    在原来的 `zh` 语言选项之后加入 `zh-cn` 语言选项。\n\n    * 进入 `extensions/CirrusSearch/maintenance`，运行 `php UpdateSearchIndexConfig.php --reindexAndRemoveOk --indexIdentifier=now`\n\n    * 检查 `(wikiurl)/api.php?action=cirrus-settings-dump`，确保 `smartcn` 已在运行。\n\n* 运行 [bTeX](https://github.com/banana-space/btex)。\n\n* 运行 PHP 本地服务器进行调试。\n\n如遇数据库错误，可在 `maintenance` 目录中运行\n``` bash\nphp update.php\n```\n以刷新数据库。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanana-space%2Fbanana-space","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbanana-space%2Fbanana-space","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbanana-space%2Fbanana-space/lists"}