Skip to content
bhsd edited this page Dec 9, 2023 · 19 revisions
目录

Other Languages

简介

Title 对象由 Parser.normalizeTitle 方法生成,代表一个页面的标题。

✅ 在 MiniBrowser 版本中可用。

Properties

valid

✅ 展开

type: boolean
标题是否符合 MediaWiki 规则

// valid
Parser.config = 'zhwiki';
assert(!Parser.normalizeTitle('<').valid);
assert(!Parser.normalizeTitle('#a').valid);
assert(Parser.normalizeTitle('mw:').valid);

ns

✅ 展开

type: number
命名空间编号。

// ns
var title = Parser.normalizeTitle('A', 10);
assert.equal(title, 'Template:A');
assert.strictEqual(title.ns, 10);
title.ns = 0;
assert.equal(title, 'A');

fragment

✅ 展开

type: string | undefined
URI 片段

// fragment
var title = Parser.normalizeTitle('Wikitext');
assert.strictEqual(title.fragment, undefined);
title.fragment = 'Notes';
assert.equal(title, 'Wikitext#Notes');

interwiki

展开

type: string
跨维基前缀。注意不含:,且使用默认的解析设置时不会包含任何跨维基的信息。

// interwiki
Parser.config = 'zhwiki';
var title = Parser.normalizeTitle('mw:Main Page');
assert.strictEqual(title.interwiki, 'mw');
title.interwiki = 'metawiki';
assert.equal(title, 'metawiki:Main_Page');

main

展开

type: string
不含命名空间的标题主体部分。注意首字母将大写且下划线被替换为空格。

// main
var title = Parser.normalizeTitle('template:birth_date');
assert.strictEqual(title.main, 'Birth date');
title.main = 'birth_month';
assert.strictEqual(title.main, 'Birth month');

prefix

展开

type: string
命名空间标准前缀,只读。

// prefix
assert.strictEqual(Parser.normalizeTitle('Wikipedia:A').prefix, 'Project:');

title

展开

type: string
规范的完整标题,只读。注意首字母将大写且空格被替换为下划线。

// title
assert.strictEqual(
	Parser.normalizeTitle('template:birth date').title,
	'Template:Birth_date',
);

extension

展开

加入的版本: 1.1.0

type: string | undefined
小写的扩展名。

// extension
var title = Parser.normalizeTitle('A.CSS');
assert.strictEqual(title.extension, 'css');
title.extension = 'js';
assert.equal(title, 'A.js');

Methods

autoConvert

展开

执行单向转换。这会修改 main 属性。

// autoConvert
Parser.conversionTable.set('頁', '页');
var title = Parser.normalizeTitle('首頁');
assert.strictEqual(title.main, '首頁');
title.autoConvert();
assert.strictEqual(title.main, '首页');

toSubjectPage

展开

加入的版本: 1.1.0

切换为主页面。

// toSubjectPage
var title = Parser.normalizeTitle('file talk:a.jpg');
title.toSubjectPage();
assert.equal(title, 'File:A.jpg');

toTalkPage

展开

加入的版本: 1.1.0

切换为讨论页面。

// toTalkPage
var title = Parser.normalizeTitle('file:a.jpg');
title.toTalkPage();
assert.equal(title, 'File_talk:A.jpg');

isTalkPage

展开

加入的版本: 1.1.0

是否是讨论页面。

// isTalkPage
var title = Parser.normalizeTitle('file talk:a.jpg');
assert(title.isTalkPage());

toBasePage

展开

加入的版本: 1.1.0

切换为上一级页面。

// toBasePage
var title = Parser.normalizeTitle('A/AA/AAA');
title.toBasePage();
assert.equal(title, 'A/AA');
title.toBasePage();
assert.equal(title, 'A');

toRootPage

展开

加入的版本: 1.1.0

切换为根页面。

// toRootPage
var title = Parser.normalizeTitle('A/AA/AAA');
title.toRootPage();
assert.equal(title, 'A');
Clone this wiki locally