MediaWiki:Gadget-wikiEditorKnapper.js

Fra Wikipedia, den frie encyklopedi

Merk: Etter publisering vil det kanskje være nødvendig å slette mellomlageret i nettleseren din for å se endringene.

  • Firefox / Safari: Hold Shift mens du klikker på Oppdater, eller trykk enten Ctrl+F5 eller Ctrl+R (⌘+R på Mac)
  • Google Chrome: Trykk Ctrl+Shift+R (⌘+Shift+R på Mac)
  • Internet Explorer / Edge: Hold Ctrl mens du trykker på Oppdater eller trykk Ctrl+F5
  • Opera: Ttrykk Ctrl+F5.
/**
 * Tilleggsfunksjon som legger til ekstra knapper i redigeringsvinduet. Stort
 * sett kopiert og oppdatert fra MediaWiki:Common.js:
 * https://no.wikipedia.org/w/index.php?title=MediaWiki:Common.js&oldid=23668428
 * 
 * @author Jeblad
 * @author Jon Harald Søby
 * 
 * @version 1.0.1 (2023-06-30)
 */
( function() {
	if ( !mw.user.options.get( 'usebetatoolbar' ) ) {
		return;
	}

	if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
		/* Helper functions to avoid parser-related problems */
		// build complete label
		var label = function (msg, txt, before, after) {
			var str = '';
			if (before === undefined ? true : before) str += "{" + "{";
			str += msg;
			if (after === undefined ? true : after) str += "}" + "}";
			if (txt) str += " – " + txt;
			return str;
		};

		// build pre-parts of templates
		var pre = function (msg, txt, before) {
			var str = '';
			if (before === undefined ? true : before) str += "{" + "{";
			str += msg;
			if (txt) str += txt;
			return str;
		};

		// build peri parts of templates
		var peri = function (msg, txt, before, after) {
			var str = '';
			if (before === undefined ? true : before) str += "{" + "{";
			str += msg;
			if (txt) str += txt;
			if (after === undefined ? true : after) str += "}" + "}";
			return str;
		};

		// get timestamp for templates
		var now = new Date();
		var timestamp = now.getUTCFullYear()
			+ '-' + (now.getUTCMonth()<9 ? '0' : '') + (now.getUTCMonth()+1)
			+ '-' + (now.getUTCDate()<9 ? '0' : '') + now.getUTCDate();

		// Add a hook handler.
		mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) {
			/* Knapper i hovedmenyen */
			$textarea.wikiEditor( 'addToToolbar', {
				section: 'main',
				group: 'format',
				tools: {
					quote: {
						label: 'Anførselstegn',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/a/ac/Norwegian_quote_sign.png',
						action: {
							type: 'encapsulate',
							options: {
								pre: '«',
								post: '»'
							}
						}
					},
					link: {
						label: 'Klammeparenteser',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/b/ba/Norwegian_link_sign.png',
						action: {
							type: 'encapsulate',
							options: {
								pre: '[[',
								post: ']]'
							}
						}
					},
					template: {
						label: 'Krøllparenteser',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
						action: {
							type: 'encapsulate',
							options: {
								pre: '{' + '{',
								post: '}' + '}'
							}
						}
					},
					ndash: {
						label: 'Tankestrek',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/4/49/Toolbaricon_en_dash.png',
						action: {
							type: 'replace',
							options: {
								pre: '–',
							}
						}
					}
				}
			} );

			/* Knapper/funksjoner under «Avansert» */
			$textarea.wikiEditor( 'addToToolbar', {
				section: 'advanced',
				group: 'format',
				tools: {
					strikethrough: {
						label: 'Gjennomstrykning',
						type: 'button',
						icon: '//upload.wikimedia.org/wikipedia/commons/f/f9/Toolbaricon_regular_S_stroke.png',
						action: {
							type: 'encapsulate',
							options: {
								pre: '<s>',
								post: '</s>'
							}
						}
					}
				}
			} );

			$textarea.wikiEditor( 'addToToolbar', {
				section: 'advanced',
				groups: {
					heading: {
						tools: {
							heading: {
								label: 'Vedlikehold',
								type: 'select',
								list: {
									'template-neutral': {
										label: label( 'Nøytralitet', 'artikkelen gir ikke en nøytral framstilling' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Nøytralitet', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-verifiable': {
										label: label( 'Verifiserbar', 'artikkelen er ikke verifiserbar' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Verifiserbar', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-research': {
										label: label( 'Forskning', 'artikkelen inneholder original forskning' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Forskning', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-accuracy': {
										label: label( 'Nøyaktighet', 'artikkelen har ikke en nøyaktig framstilling' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Nøyaktighet', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-spelling': {
										label: label( 'Språkvask', 'språket i artikkelen trenger gjennomgang' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Språkvask', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-wikify': {
										label: label( 'Wikifisering', 'artikkelen trenger wikifisering' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Wikifisering', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-wip': {
										label: label( 'Arbeid pågår', 'artikkelen er under arbeid' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'Arbeid pågår', '|ts=' + timestamp + '|' ),
												post: '}}',
												ownline: false
											}
										}
									}
								}
							}
						}
					}
				}
			} );

			$textarea.wikiEditor( 'addToToolbar', {
				section: 'advanced',
				groups: {
					heading: {
						tools: {
							heading: {
								label: 'Maler',
								type: 'select',
								list: {
									'template-columns' : {
										label: label( 'kolonner', 'etterfølgende liste fordeles over flere kolonner' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'kolonner', '|' ),
												post: '}}',
												ownline: true
											}
										}
									},
									'template-sorted-columns' : {
										label: label( 'sorterte kolonner', 'etterfølgende liste fordeles over flere sorterbare kolonner' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre('sorterte kolonner', '|tittel='),
												post: '}}',
												ownline: true
											}
										}
									},
									'template-nowrap' : {
										label: label( 'nowrap', 'hindre linjeskift i tekst og tall' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'nowrap', '|' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-formatnum' : {
										label: label( 'formatnum', 'tall med mellomrom og desimalkomma' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'formatnum', ':' ),
												post: '}}',
												ownline: false
											}
										}
									},
									'template-defaultsort' : {
										label: label( 'STANDARDSORTERING', 'sortering på etternavn og lignende' ),
										action: {
											type: 'encapsulate',
											options: {
												pre: pre( 'STANDARDSORTERING', ':' ),
												post: '}}',
												ownline: false
											}
										}
									}
								}
							}
						}
					}
				}
			});

			$textarea.wikiEditor( 'addToToolbar', {
				section: 'advanced',
				groups: {
					heading: {
						tools: {
							heading: {
								label: 'Titler',
								type: 'select',
								list: {
									'titles-see-also' : {
										label: '== Se også == – interne lenker til andre prosjekter',
										action: {
											type: 'encapsulate',
											options: {
												pre: '== Se også ==',
												ownline: true
											}
										}
									},
									'titles-notes' : {
										label: '== Noter == – oppgitte noter i teksten',
										action: {
											type: 'encapsulate',
											options: {
												pre: '== Noter ==\n<references group="note" />\n',
												ownline: true
											}
										}
									},
									'titles-references' : {
										label: '== Referanser == – oppgitte referanser i teksten',
										action: {
											type: 'encapsulate',
											options: {
												pre: '== Referanser ==\n<references />\n',
												ownline: true
											}
										}
									},
									'titles-literature' : {
										label: '== Litteratur == – oppgitt litteratur',
										action: {
											type: 'encapsulate',
											options: {
												pre: '== Litteratur ==',
												ownline: true
											}
										}
									},
									'titles-links' : {
										label: '== Eksterne lenker == – lenker til nettsteder',
										action: {
											type: 'encapsulate',
											options: {
												pre: "== Eksterne lenker ==\n* {{Offisielle lenker}}\n",
												ownline: true
											}
										}
									}
								}
							}
						}
					}
				}
			} );
		} );
	}
} )();