1
0
Markus-Rost 3 жил өмнө
parent
commit
b782c28e2c

+ 6 - 0
util/default.json

@@ -711,6 +711,12 @@
 			"regex": "(wiki\\.teamfortress\\.com)",
 			"articlePath": "/wiki/",
 			"scriptPath": "/w/"
+		},
+		{
+			"name": "lain.wiki",
+			"regex": "((?:www\\.)?lain\\.wiki)",
+			"articlePath": "/wiki/",
+			"scriptPath": "/"
 		}
 	]
 }

+ 1 - 1
util/newMessage.js

@@ -103,7 +103,7 @@ export default function newMessage(msg, lang, wiki = defaultSettings.wiki, prefi
 			else invokeWiki = 'https://' + invoke.substring(2) + '.wikia.org/';
 			return cmdmap.LINK(lang, msg, args.join(' '), new Wiki(invokeWiki), invoke + ' ');
 		}
-		if ( invoke.startsWith( '!!' ) && /^!!(?:[a-z\d-]{1,50}\.)?[a-z\d-]{1,50}\.[a-z\d-]{1,10}$/.test(domainToASCII(invoke.split('/')[0])) ) {
+		if ( invoke.startsWith( '!!' ) && /^!!(?:[a-z\d-]{1,50}\.)?(?:[a-z\d-]{1,50}\.)?[a-z\d-]{1,50}\.[a-z\d-]{1,10}$/.test(domainToASCII(invoke.split('/')[0])) ) {
 			let project = wikiProjects.find( project => invoke.split('/')[0].endsWith( project.name ) );
 			if ( project ) {
 				let regex = invoke.match( new RegExp( '^!!' + project.regex + '$' ) );

+ 4 - 2
util/wiki.js

@@ -177,9 +177,11 @@ export default class Wiki extends URL {
 	 * @returns {String}
 	 */
 	toLink(title = '', querystring = '', fragment = '', isMarkdown = false) {
-		if ( this.mainpageisdomainroot && title === this.mainpage && !querystring ) return this.origin + '/' + Wiki.toSection(fragment, true, this.spaceReplacement);
 		querystring = new URLSearchParams(querystring);
-		if ( !querystring.toString().length ) title = ( title || this.mainpage );
+		if ( !querystring.toString().length ) {
+			title = ( title || this.mainpage );
+			if ( this.mainpageisdomainroot && title === this.mainpage ) return this.origin + '/' + Wiki.toSection(fragment, true, this.spaceReplacement);
+		}
 		title = title.replace( / /g, this.spaceReplacement ).replace( /%/g, '%2525' );
 		let link = new URL(this.articleURL);
 		link.pathname = link.pathname.replace( '$1', title.replace( /\\/g, '%5C' ) );