Editing User:King of Herdaz/Toolbar customization

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 8: Line 8:
   
 
Changes you make to your [[Special:MyPage/common.js|common.js]] page only take effect after you save the page, so to check that the changes you have made worked you should save your [[Special:MyPage/common.js|common.js]] page and try to edit some other wiki page. If you see the default toolbar when you edit a page that means that your edits "broke" your toolbar. Consult the [[#General Guidelines|#general guidelines]] for help debugging your code.
 
Changes you make to your [[Special:MyPage/common.js|common.js]] page only take effect after you save the page, so to check that the changes you have made worked you should save your [[Special:MyPage/common.js|common.js]] page and try to edit some other wiki page. If you see the default toolbar when you edit a page that means that your edits "broke" your toolbar. Consult the [[#General Guidelines|#general guidelines]] for help debugging your code.
 
If the changes you made are not working, or if you would like assistance creating your own toolbar you can DM <code>kingofherdaz</code> on Discord for help.
 
   
 
== Basic ==
 
== Basic ==
Line 68: Line 66:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
code: {
+
"code": {
 
label: 'Art infobox',
 
label: 'Art infobox',
 
type: 'button',
 
type: 'button',
Line 99: Line 97:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
artistAttribution: {
+
"artist-attribution": {
 
label: 'Artist Attribution',
 
label: 'Artist Attribution',
 
type: 'button',
 
type: 'button',
Line 130: Line 128:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
artistPage: {
+
"artist-page": {
 
label: 'Artist Page',
 
label: 'Artist Page',
 
type: 'button',
 
type: 'button',
Line 160: Line 158:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
break: {
+
"break": {
 
label: 'Break tag',
 
label: 'Break tag',
 
type: 'button',
 
type: 'button',
Line 190: Line 188:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
category: {
+
"category": {
 
label: 'Category',
 
label: 'Category',
 
type: 'button',
 
type: 'button',
Line 221: Line 219:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
code: {
+
"code": {
 
label: 'Code',
 
label: 'Code',
 
type: 'button',
 
type: 'button',
Line 252: Line 250:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
columns: {
+
"columns": {
 
label: 'Columns',
 
label: 'Columns',
 
type: 'button',
 
type: 'button',
Line 283: Line 281:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
hidden: {
+
"hidden": {
 
label: 'Hidden text',
 
label: 'Hidden text',
 
type: 'button',
 
type: 'button',
Line 316: Line 314:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
image: {
+
"image": {
 
label: 'Image template',
 
label: 'Image template',
 
type: 'button',
 
type: 'button',
Line 347: Line 345:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
link: {
+
"link": {
 
label: 'Link',
 
label: 'Link',
 
type: 'button',
 
type: 'button',
Line 378: Line 376:
 
group: 'insert',
 
group: 'insert',
 
tools: {
 
tools: {
wikipedia: {
+
"wikipedia": {
 
label: 'Wikipedia',
 
label: 'Wikipedia',
 
type: 'button',
 
type: 'button',
Line 409: Line 407:
 
|
 
|
 
<pre>
 
<pre>
//Add new references dropdown to the "advanced" section
+
//Add new references dropdown to the "advanced" section
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
+
section: 'advanced',
groups: {
+
groups: {
list: {
+
list: {
tools: {
+
tools: {
references: {
+
references: {
label: 'refs',
+
label: 'references',
type: 'select',
+
type: 'select',
list: {
+
list: {
'book': {
+
'book-ref': {
label: '{' + '{book ref}}',
+
label: '{' + '{book ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{book ref|',
+
pre: '{' + '{book ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'wob': {
+
'wob-ref': {
label: '{' + '{wob ref}}',
+
label: '{' + '{wob ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{wob ref|',
+
pre: '{' + '{wob ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'ref': {
+
'ref-plaintext': {
label: '{' + '{ref}}',
+
label: '{' + '{ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{ref|text=',
+
pre: '{' + '{ref|text=',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'epigraph': {
+
'epigraph-ref': {
label: '{' + '{epigraph ref}}',
+
label: '{' + '{epigraph ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{epigraph ref|',
+
pre: '{' + '{epigraph ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'au': {
+
'au-ref': {
label: '{' + '{au ref}}',
+
label: '{' + '{au ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{au ref|',
+
pre: '{' + '{au ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'msh': {
+
'msh-ref': {
label: '{' + '{msh ref}}',
+
label: '{' + '{msh ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{msh ref|',
+
pre: '{' + '{msh ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'tes': {
+
'tes-ref': {
label: '{' + '{tes ref}}',
+
label: '{' + '{tes ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{tes ref|',
+
pre: '{' + '{tes ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'file': {
+
'file-ref': {
label: '{' + '{file ref}}',
+
label: '{' + '{file ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{file ref|',
+
pre: '{' + '{file ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'mapref': {
+
'map-ref': {
label: '{' + '{map ref}}',
+
label: '{' + '{map ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{map ref|',
+
pre: '{' + '{map ref|',
post: '}}'
+
post: '}}'
}
+
}
}
+
}
},
+
},
'url': {
+
'url-ref': {
label: '{' + '{url ref}}',
+
label: '{' + '{url ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{url ref|url=',
+
pre: '{' + '{url ref|url=',
post: '|text=|date=|site=}}'
+
post: '|text=|date=|site=}}'
}
+
}
}
+
}
},
+
},
'17s': {
+
'17s-ref': {
label: '{' + '{17s ref}}',
+
label: '{' + '{17s ref}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{17s ref|topic/news/post',
+
pre: '{' + '{17s ref|topic/news/post',
post: '|id#|description|date=}}'
+
post: '|id#|description|date=}}'
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
} );
+
} );
 
</pre>
 
</pre>
 
|}
 
|}
Line 549: Line 547:
 
|
 
|
 
<pre>
 
<pre>
//Add new build-a-box dropdown to the "advanced" section
+
//Add new build-a-box dropdown to the "advanced" section
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
+
section: 'advanced',
groups: {
+
groups: {
list: {
+
list: {
tools: {
+
tools: {
simplecharacterinfobox: {
+
simplecharacterinfobox: {
label: 'build-a-box',
+
label: 'build-a-box',
type: 'select',
+
type: 'select',
list: {
+
list: {
'start': {
+
'start': {
label: '{' + '{character',
+
label: '{' + '{character',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '{' + '{character'
+
pre: '{' + '{character'
}
+
}
}
+
}
},
+
},
'residence': {
+
'residence': {
label: '|residence=',
+
label: '|residence=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|residence='
+
pre: '\n' + '|residence='
}
+
}
}
+
}
},
+
},
'imageparam': {
+
'imageparam': {
label: '|image=',
+
label: '|image=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|image='
+
pre: '\n' + '|image='
}
+
}
}
+
}
},
+
},
'profession': {
+
'profession': {
label: '|profession=',
+
label: '|profession=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|profession='
+
pre: '\n' + '|profession='
}
+
}
}
+
}
},
+
},
'#profession': {
+
'#profession': {
label: '|#profession=',
+
label: '|#profession=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|#profession='
+
pre: '\n' + '|#profession='
}
+
}
}
+
}
},
+
},
'skills': {
+
'skills': {
label: '|skills=',
+
label: '|skills=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|skills='
+
pre: '\n' + '|skills='
}
+
}
}
+
}
},
+
},
'species': {
+
'species': {
label: '|species=',
+
label: '|species=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|species='
+
pre: '\n' + '|species='
}
+
}
}
+
}
},
+
},
'abilities': {
+
'abilities': {
label: '|abilities=',
+
label: '|abilities=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|abilities='
+
pre: '\n' + '|abilities='
}
+
}
}
+
}
},
+
},
'ethnicity': {
+
'ethnicity': {
label: '|ethnicity=',
+
label: '|ethnicity=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|ethnicity='
+
pre: '\n' + '|ethnicity='
}
+
}
}
+
}
},
+
},
'born': {
+
'born': {
label: '|born=',
+
label: '|born=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|born='
+
pre: '\n' + '|born='
}
+
}
}
+
}
},
+
},
'died': {
+
'died': {
label: '|died=',
+
label: '|died=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|died='
+
pre: '\n' + '|died='
}
+
}
}
+
}
},
+
},
'nationality': {
+
'nationality': {
label: '|nationality=',
+
label: '|nationality=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|nationality='
+
pre: '\n' + '|nationality='
}
+
}
}
+
}
},
+
},
'bonded': {
+
'bonded': {
label: '|bonded=',
+
label: '|bonded=',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|bonded='
+
pre: '\n' + '|bonded='
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
}
+
}
} );
+
} );
 
</pre>
 
</pre>
 
|}
 
|}
Line 696: Line 694:
 
|
 
|
 
<pre>
 
<pre>
//Add new infobox endings dropdown to the "advanced" section
+
//Add new infobox endings dropdown to the "advanced" section
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
+
section: 'advanced',
groups: {
+
groups: {
list: {
+
list: {
tools: {
+
tools: {
endings: {
+
endings: {
label: 'ends',
+
label: 'ends',
type: 'select',
+
type: 'select',
list: {
+
list: {
'sa': {
+
'sa': {
label: 'Stormlight',
+
label: 'Stormlight',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Roshar' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[The Stormlight Archive]]' + '\n' + '}}'
+
pre: '\n' + '|world=Roshar' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[The Stormlight Archive]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'mbe1': {
+
'mbe1': {
label: 'MB Era 1',
+
label: 'MB Era 1',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Scadrial' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Mistborn Era 1]]' + '\n' + '}}'
+
pre: '\n' + '|world=Scadrial' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Mistborn Era 1]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'mbe2': {
+
'mbe2': {
label: 'MB Era 2',
+
label: 'MB Era 2',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Scadrial' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Mistborn Era 2]]' + '\n' + '}}'
+
pre: '\n' + '|world=Scadrial' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Mistborn Era 2]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'wb': {
+
'wb': {
label: 'Warbreaker',
+
label: 'Warbreaker',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Nalthis' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Warbreaker]]' + '\n' + '}}'
+
pre: '\n' + '|world=Nalthis' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Warbreaker]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'ela': {
+
'ela': {
label: 'Elantris',
+
label: 'Elantris',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Sel' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Elantris (book)|Elantris]]' + '\n' + '}}'
+
pre: '\n' + '|world=Sel' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[Elantris (book)|Elantris]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'alc': {
+
'alc': {
label: 'Alcatraz',
+
label: 'Alcatraz',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|earth=Alcatraz' + '\n' + '|books=[[Alcatraz Versus the Evil Librarians (series)|Alcatraz Versus the Evil Librarians]]' + '\n' + '}}'
+
pre: '\n' + '|earth=Alcatraz' + '\n' + '|books=[[Alcatraz Versus the Evil Librarians (series)|Alcatraz Versus the Evil Librarians]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'ws': {
+
'ws': {
label: 'White Sand',
+
label: 'White Sand',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|world=Taldain' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[White Sand]]' + '\n' + '}}'
+
pre: '\n' + '|world=Taldain' + '\n' + '|universe=[[Cosmere]]' + '\n' + '|books=[[White Sand]]' + '\n' + '}}'
}
+
}
}
+
}
},
+
},
'first-born': {
+
'skyward': {
label: 'Firstborn',
+
label: 'Skyward',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '|nation=High Empire' + '\n' + '|books=[[Firstborn]]' + '\n' + '}}'
+
pre: '\n' + '|world=',
 
post: '\n' + '|universe=[[Cytoverse]]' + '\n' + '|books=[[Skyward (series)]]' + '\n' + '}}'
}
 
}
+
}
},
+
}
'skyward': {
+
}
label: 'Skyward',
+
}
action: {
+
}
 
}
type: 'encapsulate',
 
options: {
+
}
 
}
pre: '\n' + '|world=',
 
 
} );
post: '\n' + '|universe=[[Cytoverse]]' + '\n' + '|books=[[Skyward (series)]]' + '\n' + '}}'
 
}
 
}
 
}
 
}
 
}
 
}
 
}
 
}
 
} );
 
 
</pre>
 
</pre>
 
|}
 
|}
Line 806: Line 795:
 
|
 
|
 
<pre>
 
<pre>
//Add new page ends dropdown to the "advanced" section
+
//Add new page ends dropdown to the "advanced" section
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section: 'advanced',
+
section: 'advanced',
groups: {
+
groups: {
list: {
+
list: {
tools: {
+
tools: {
bottoms: {
+
bottoms: {
label: 'bottoms',
+
label: 'bottoms',
type: 'select',
+
type: 'select',
list: {
+
list: {
'pagename': {
+
'pagename': {
label: '{' + '{SUBST:PAGENAME}}',
+
label: '{' + '{SUBST:PAGENAME}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '\'\'\'{' + '{SUBST:PAGENAME}}\'\'\''
+
pre: '\n' + '\'\'\'{' + '{SUBST:PAGENAME}}\'\'\''
}
+
}
}
+
}
},
+
},
'subpagename': {
+
'notes': {
label: '{' + '{SUBST:SUBPAGENAME}}',
+
label: '== Notes ==',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '\'\'\'{' + '{SUBST:SUBPAGENAME}}\'\'\''
+
pre: '\n\n' + '== Notes =='
}
+
}
}
+
}
},
+
},
'notes': {
+
'refsection': {
label: '== Notes ==',
+
label: '<' + 'references/>',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n\n' + '== Notes =='
+
pre: '\n' + '<' + 'references />'
}
+
}
}
+
}
},
+
},
'refsection': {
+
'stub': {
label: '<' + 'references/>',
+
label: '{' + '{stub}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '<' + 'references />'
+
pre: '\n' + '{' + '{stub}}'
}
+
}
}
+
}
},
+
},
'stub': {
+
'partial': {
label: '{' + '{stub}}',
+
label: '{' + '{partial}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{stub}}'
+
pre: '\n' + '{' + '{partial}}'
}
+
}
}
+
}
},
+
},
'partial': {
+
'complete': {
label: '{' + '{partial}}',
+
label: '{' + '{complete}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{partial}}'
+
pre: '\n' + '{' + '{complete}}'
}
+
}
}
+
}
},
+
},
'complete': {
+
'alcatraz': {
label: '{' + '{complete}}',
+
label: '{' + '{Alcatraz}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{complete}}'
+
pre: '\n' + '{' + '{Alcatraz}}'
}
+
}
}
+
}
},
+
},
'alcatraz': {
+
'elantris': {
label: '{' + '{Alcatraz}}',
+
label: '{' + '{Elantris}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Alcatraz}}'
+
pre: '\n' + '{' + '{Elantris}}'
}
+
}
}
+
}
},
+
},
'elantris': {
+
'mbera1': {
label: '{' + '{Elantris}}',
+
label: '{' + '{Mistborn|Era 1}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Elantris}}'
+
pre: '\n' + '{' + '{Mistborn|Era 1}}'
}
+
}
}
+
}
},
+
},
'mbera1': {
+
'mbera2': {
label: '{' + '{Mistborn|Era 1}}',
+
label: '{' + '{Mistborn|Era 2}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Mistborn|Era 1}}'
+
pre: '\n' + '{' + '{Mistborn|Era 2}}'
}
+
}
}
+
}
},
+
},
'mbera2': {
+
'reckoners': {
label: '{' + '{Mistborn|Era 2}}',
+
label: '{' + '{Reckoners}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Mistborn|Era 2}}'
+
pre: '\n' + '{' + '{Reckoners}}'
}
+
}
}
+
}
},
+
},
'reckoners': {
+
'sky': {
label: '{' + '{Reckoners}}',
+
label: '{' + '{Skyward}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Reckoners}}'
+
pre: '\n' + '{' + '{Skyward}}'
}
+
}
}
+
}
},
+
},
'sky': {
+
'stormlight': {
label: '{' + '{Skyward}}',
+
label: '{' + '{Stormlight}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Skyward}}'
+
pre: '\n' + '{' + '{Stormlight}}'
}
+
}
}
+
}
},
+
},
'storm': {
+
'warbreaker': {
label: '{' + '{Stormlight}}',
+
label: '{' + '{Warbreaker}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Stormlight}}'
+
pre: '\n' + '{' + '{Warbreaker}}'
}
+
}
}
+
}
},
+
},
'warbreaker': {
+
'whitesand': {
label: '{' + '{Warbreaker}}',
+
label: '{' + '{White Sand}}',
action: {
+
action: {
type: 'encapsulate',
+
type: 'encapsulate',
options: {
+
options: {
pre: '\n' + '{' + '{Warbreaker}}'
+
pre: '\n' + '{' + '{White Sand}}'
}
+
}
}
+
}
},
+
}
'firstborn': {
+
}
label: '{' + '{Firstborn}}',
+
}
action: {
+
}
 
}
type: 'encapsulate',
 
 
}
options: {
 
 
} );
pre: '\n' + '{' + '{Firstborn}}'
 
}
 
} },
 
'whitesand': {
 
label: '{' + '{White Sand}}',
 
action: {
 
type: 'encapsulate',
 
options: {
 
pre: '\n' + '{' + '{White Sand}}'
 
}
 
}
 
}
 
}
 
}
 
}
 
}
 
}
 
} );
 
 
</pre>
 
</pre>
 
|}
 
|}
Line 1,013: Line 985:
 
//These next two reference templates are very long so they are done differently
 
//These next two reference templates are very long so they are done differently
 
{
 
{
action: {
+
'action': {
type: 'encapsulate',
+
'type': 'encapsulate',
 
options: {
 
options: {
 
pre: '{' + '{url ref|url=',
 
pre: '{' + '{url ref|url=',
Line 1,020: Line 992:
 
}
 
}
 
},
 
},
label: '{' + '{url ref}}'
+
'label': '{' + '{url ref}}'
 
},
 
},
 
{
 
{
action: {
+
'action': {
type: 'encapsulate',
+
'type': 'encapsulate',
 
options: {
 
options: {
 
pre: '{' + '{17s ref|topic/news/post',
 
pre: '{' + '{17s ref|topic/news/post',
Line 1,120: Line 1,092:
 
* To add a one line comment put <code>//</code> at the beginning of a line followed by the text of the comment. Whatever you write after a <code>//</code> on that line will not affect your code.
 
* To add a one line comment put <code>//</code> at the beginning of a line followed by the text of the comment. Whatever you write after a <code>//</code> on that line will not affect your code.
 
* For multi line comments put your comments between <code>/*</code> and <code>*/</code>.
 
* For multi line comments put your comments between <code>/*</code> and <code>*/</code>.
* Code for your toolbar must have the exact correct number of curly brackets (<code>{</code>), square brackets (<code>[</code>), apostrophes (<code>'</code>), parentheses (<code>(</code>), and commas (<code>,</code>) to work. If your toolbar breaks after you changed something check to see if you missed or added an extra one of these.
+
* Code for your toolbar must have the exact correct number of curly brackets (<code>{</code>), square brackets (<code>[</code>), apostrophes (<code>'</code>), and commas (<code>,</code>) to work. If your toolbar breaks after you changed something check to see if missed or added an extra one of these.
 
* While not strictly necessary, it is a good idea to split code in your toolbar over multiple lines and with whitespace differentiating each "level" of the toolbar in a manner similar to how it is done in the examples on this page. This will help you keep track of the different parts of your code and will help you keep track of the number of open and closed curly brackets in your code.
 
* While not strictly necessary, it is a good idea to split code in your toolbar over multiple lines and with whitespace differentiating each "level" of the toolbar in a manner similar to how it is done in the examples on this page. This will help you keep track of the different parts of your code and will help you keep track of the number of open and closed curly brackets in your code.
   
 
==== Strings ====
 
==== Strings ====
A string is a piece of text within the toolbar that is encased between two apostrophes {<code>'</code>). Strings are used in labels and actions. They should follow the following guidelines, though some of them are not relevant to labels.
+
A string is a piece of text within the toolbar. Strings used in labels and actions follow the following guidelines:
 
* Inserting <code>' + '</code> between two parts of a string can have effects on your [[Special:MyPage/common.js|common.js]] page (as will be discussed below), but will not appear on a page when the action is called. For example, both <code><nowiki><br /></nowiki></code> and <code><nowiki><' + 'br /></nowiki></code> will produce the same result (<code><nowiki><br /></nowiki></code>) on the page when they are called.
 
* Inserting <code>' + '</code> between two parts of a string can have effects on your [[Special:MyPage/common.js|common.js]] page (as will be discussed below), but will not appear on a page when the action is called, or be included in the label(s) on the actual toolbar. For example, both <code><nowiki>{{stub}}</nowiki></code> and <code><nowiki>{' + '{stub}}</nowiki></code> will produce the same result (<code><nowiki>{{stub}}</nowiki></code>) on the page when they are called.
 
 
* When writing out templates, whether for a label or an action, you must insert <code>' + '</code> between the first two curly brackets. For example, instead of writing <code><nowiki>{{Stormlight}}</nowiki></code> you should write <code><nowiki>{' + '{Stormlight}}</nowiki></code>. This prevents the template from applying categories to your [[Special:MyPage/common.js|common.js]] page and also prevents it from being listed on the relevant template's list of pages that use it.
 
* When writing out templates, whether for a label or an action, you must insert <code>' + '</code> between the first two curly brackets. For example, instead of writing <code><nowiki>{{Stormlight}}</nowiki></code> you should write <code><nowiki>{' + '{Stormlight}}</nowiki></code>. This prevents the template from applying categories to your [[Special:MyPage/common.js|common.js]] page and also prevents it from being listed on the relevant template's list of pages that use it.
 
* For the same reason you must also do this when writing category tags. For example, instead of writing <code><nowiki>[[Category: Stormlight]]</nowiki></code> you should write <code><nowiki>[' + '[Category: Stormlight]]</nowiki></code>.
 
* For the same reason you must also do this when writing category tags. For example, instead of writing <code><nowiki>[[Category: Stormlight]]</nowiki></code> you should write <code><nowiki>[' + '[Category: Stormlight]]</nowiki></code>.
 
* When writing code for substitutions this is even more important, since if you do not do it then the substitution will be performed when you save your [[Special:MyPage/common.js|common.js]] page. For example, instead of writing <code><nowiki>{{SUBST:PAGENAME}}</nowiki></code> you should write <code><nowiki>{' + '{SUBST:PAGENAME}}</nowiki></code>.
 
* When writing code for substitutions this is even more important, since if you do not do it then the substitution will be performed when you save your [[Special:MyPage/common.js|common.js]] page. For example, instead of writing <code><nowiki>{{SUBST:PAGENAME}}</nowiki></code> you should write <code><nowiki>{' + '{SUBST:PAGENAME}}</nowiki></code>.
   
==== Internal Names ====
+
==== Definitions ====
  +
;Internal Names:
 
Many things in the toolbar must be given internal names. Internal names help the program differentiate between different parts of the toolbar. What you use as an internal name will not affect the toolbar so you can use any string of characters.
 
Many things in the toolbar must be given internal names. Internal names help the program differentiate between different parts of the toolbar. What you use as an internal name will not affect the toolbar so you can use any string of characters.
   
Internal names must not contain any spaces. If you want an internal name to be more than one word you can use a dash (<code>-</code>) instead of a space. You should not reuse internal names within your entire toolbar. If you use the same internal name more than once then either strange things will happen or the toolbar will simply break.
+
Internal names must not contain any spaces. If you want an internal name to be more than one word you can use a dash (<code>-</code>) instead of a space. You should not reuse internal names within your entire toolbar. If you use the same internal name multiple times then either strange things will happen or the toolbar will simply break.
   
==== Labels ====
+
;Labels:
A label is the name of an element that will be displayed on the toolbar. For dropdowns these are displayed in the dropdown itself, while with buttons the label is shown when you hover your cursor over the icon for the button. Unlike internal names labels can be reused.
+
A label is the name of an element that will be displayed on the toolbar. Unlike internal names these can be reused.
   
 
{{anchor|action}}{{anchor|actions}}
 
{{anchor|action}}{{anchor|actions}}
 
==== Actions ====
 
==== Actions ====
While there are other types of actions that you can do, in this guide we focus on the <code>encapsulate</code> action as it is the easiest to understand and use. This action pastes one string before the highlighted text (or you cursor) and a second string after the highlighted text. The second string (after <code>post:</code>) is optional and can be deleted if you only want to insert one string.
+
While there are other types of actions that you can do, in this guide we focus on the <code>encapsulate</code> action as it is the easiest to understand and use. This action pastes one snippet of text before the highlighted text (or you cursor) and a second snippet after the highlighted text. The second snippet (<code>post:</code>) can be deleted if you only want to insert one string of text.
   
 
The code for this action is as follows, and this format is the same for dropdowns, booklets and buttons.
 
The code for this action is as follows, and this format is the same for dropdowns, booklets and buttons.
Line 1,155: Line 1,127:
 
<code>XXXX</code> is replaced by the string that goes before the highlighted text/cursor, and <code>YYYY</code> is replaced by the string that goes after the highlighted text/cursor.
 
<code>XXXX</code> is replaced by the string that goes before the highlighted text/cursor, and <code>YYYY</code> is replaced by the string that goes after the highlighted text/cursor.
   
* To have an action include a line break insert <code>\n</code> into the string at the place you want it to be. For stylistic reasons some people will put <code>' + '</code> between instances of <code>\n</code> and other text in their strings, but this does not have any effect on the output of the action and can be omitted if you want.
+
* To have an action include a line break insert <code>\n</code> into the snippet at the place you want it to be. For stylistic reasons some people will put <code>' + '</code> between instances of <code>\n</code> and other text in their snippets, but this does not have any effect on the output of the action and can be omitted if you want.
* To have an action include an apostrophe (<code>'</code>) within the string that it inserts, place <code>\'</code> into your code at the place you want the apostrophe to go. If you do not include the backslash (<code>\</code>) and type additional apostrophes in your code it will cause the toolbar to break. You must put an additional backslash with each additional apostrophe you add to a string.
+
* To have an action include an apostrophe (<code>'</code>) within the string that it inserts, place <code>\'</code> into your code at the place you want the apostrophe to go. If you do not include the backslash (<code>\</code>) and type additional apostrophes in your code it will cause the toolbar to break.
   
 
=== Creating Your Own Buttons ===
 
=== Creating Your Own Buttons ===
Line 1,174: Line 1,146:
 
group: 'BBBB',
 
group: 'BBBB',
 
tools: {
 
tools: {
CCCC: {
+
"CCCC": {
 
label: 'DDDD',
 
label: 'DDDD',
 
type: 'button',
 
type: 'button',
Line 1,211: Line 1,183:
 
type: 'select',
 
type: 'select',
 
list: {
 
list: {
WWWW: {
+
'WWWW': {
 
label: 'XXXX',
 
label: 'XXXX',
 
action: {
 
action: {
Line 1,236: Line 1,208:
 
<pre>
 
<pre>
 
},
 
},
WWWW: {
+
'WWWW': {
 
label: 'XXXX',
 
label: 'XXXX',
 
action: {
 
action: {
Line 1,259: Line 1,231:
 
<pre>
 
<pre>
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
sections: {
+
'sections': {
 
'AAAA': {
 
'AAAA': {
type: 'toolbar',
+
'type': 'toolbar',
label: 'BBBB'
+
'label': 'BBBB'
 
}
 
}
 
}
 
}
Line 1,275: Line 1,247:
 
<pre>
 
<pre>
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
section:: 'CCCC',
+
'section': 'CCCC',
 
'groups': {
 
'groups': {
 
'DDDD': {
 
'DDDD': {
label: 'EEEE'
+
'label': 'EEEE'
 
}
 
}
 
}
 
}
Line 1,287: Line 1,259:
 
Here we will tell you how to create booklets that contain pages of characters. For other things you can do with booklets see [https://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization Mediawiki's guide].
 
Here we will tell you how to create booklets that contain pages of characters. For other things you can do with booklets see [https://www.mediawiki.org/wiki/Extension:WikiEditor/Toolbar_customization Mediawiki's guide].
   
A key difference between dropdowns and booklets is that while with dropdowns every option must be an action, with booklets that is not the case. Booklets contain <code>pages</code> of <code>characters</code> that when clicked paste text into the page. Characters can be either simple strings or [[#actions]]. This can make it easier to add items to booklets than to dropdowns, though booklets do have their complexities.
+
A key difference between dropdowns and booklets is that while with dropdowns every option must be an action, with booklets that is not the case. Booklets contain <code>pages</code> of <code>characters</code> that when clicked paste text into the page. Characters can be either simple snippets of code or [[#actions]]. This can make it easier to add items to booklets than to dropdowns, though booklets do have their complexities.
   
 
To create a new booklet section add the following code to your [[Special:MyPage/common.js|common.js]] page between the two [[#Basic]] sections and change the following things:
 
To create a new booklet section add the following code to your [[Special:MyPage/common.js|common.js]] page between the two [[#Basic]] sections and change the following things:
Line 1,296: Line 1,268:
 
//Optional description
 
//Optional description
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
sections: {
+
'sections': {
 
'AAAA': {
 
'AAAA': {
type: 'booklet',
+
'type': 'booklet',
label: 'BBBB',
+
'label': 'BBBB',
pages: {
+
'pages': {
 
</pre>
 
</pre>
   
Line 1,321: Line 1,293:
 
<pre>
 
<pre>
 
//Optional description
 
//Optional description
CCCC: {
+
'section-CCCC': {
label: 'DDDD',
+
'label': 'DDDD',
layout: 'characters',
+
'layout': 'characters',
characters: [
+
'characters': [
 
</pre>
 
</pre>
   
Line 1,349: Line 1,321:
 
<pre>
 
<pre>
 
{
 
{
action: {
+
'action': {
type: 'encapsulate',
+
'type': 'encapsulate',
options: {
+
'options': {
pre: 'XXXX',
+
'pre': 'XXXX',
post: 'YYYY'
+
'post': 'YYYY'
 
}
 
}
 
},
 
},
label: 'ZZZZ'
+
'label': 'ZZZZ'
 
},
 
},
 
</pre>
 
</pre>
Line 1,374: Line 1,346:
 
//Remove the default <ref> button
 
//Remove the default <ref> button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'main',
+
'section': 'main',
group:: 'insert',
+
'group': 'insert',
tool:: 'reference'
+
'tool': 'reference'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,389: Line 1,361:
 
//remove the bulleted list button
 
//remove the bulleted list button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'advanced',
+
'section': 'advanced',
group:: 'format',
+
'group': 'format',
tool:: 'ulist'
+
'tool': 'ulist'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,404: Line 1,376:
 
//remove the numbered list button
 
//remove the numbered list button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'advanced',
+
'section': 'advanced',
group:: 'format',
+
'group': 'format',
tool:: 'olist'
+
'tool': 'olist'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,419: Line 1,391:
 
//remove the default <br> button (to replace it with a <br/> button which is preferred on the Coppermind)
 
//remove the default <br> button (to replace it with a <br/> button which is preferred on the Coppermind)
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'advanced',
+
'section': 'advanced',
group:: 'format',
+
'group': 'format',
tool:: 'newline'
+
'tool': 'newline'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,434: Line 1,406:
 
//remove table button
 
//remove table button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'advanced',
+
'section': 'advanced',
group:: 'insert',
+
'group': 'insert',
tool:: 'table'
+
'tool': 'table'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,449: Line 1,421:
 
//remove File button
 
//remove File button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'main',
+
'section': 'main',
group:: 'insert',
+
'group': 'insert',
tool:: 'file'
+
'tool': 'file'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,464: Line 1,436:
 
//remove original link button
 
//remove original link button
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'main',
+
'section': 'main',
group:: 'insert',
+
'group': 'insert',
tool:: 'link'
+
'tool': 'link'
 
});</pre>
 
});</pre>
 
|}
 
|}
Line 1,479: Line 1,451:
 
<pre>
 
<pre>
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
 
$( '#wpTextbox1' ).wikiEditor( 'removeFromToolbar', {
section:: 'XXXX',
+
'section': 'XXXX',
group:: 'YYYY',
+
'group': 'YYYY',
tool:: 'ZZZZ'
+
'tool': 'ZZZZ'
 
});</pre>
 
});</pre>
 
|}
 
|}

Please note that all contributions to The Coppermind are considered to be released under the CC4 by-nc-nd (see Coppermind:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)

Templates used on this page: